需要确认注册邮箱后才能开通博客,立即确认我的邮箱
文章 搜索 高级搜索 ?3? ?3?
  • 滤波器new!
  • LED驱动 new!
  • 新能源 new!
  • PLL
  • PCIE协议
  • 可穿戴
  • LSI
  • FCI
文章 论坛 博客 小组 研讨会
EDN China>EDN论坛>Linear 技术论坛专区>如何进行LTC680X的PEC计算
楼主 问题:

如何进行LTC680X的PEC计算

发布时间:2011-8-4 下午2:38

作者: playwind

等级: 初学者

积分: 125分

发帖数: 3次

网站总积分: 180分

85分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
其实LTC6803的数据手册上, 给出了详细的算法并举了一个例子。 只是其表达很晦涩,反而把人弄糊涂了。

原文如下:
To calculate the 8-bit PEC value, a simple procedure can
be established:
1. Initialize the PEC to 0100 0001.
2. For each bit DIN coming into the register group, set IN0
= DIN XOR PEC[7], then IN1 = PEC[0] XOR IN0, IN2 =
PEC[1] XOR IN0.
3. Update the 8-bit PEC as PEC[7] = PEC[6], PEC[6] =
PEC[5],……PEC[3] = PEC[2], PEC[2] = IN2, PEC[1]
= IN1, PEC[0] = IN0.
4. Go back to step 2 until all data are shifted. The 8-bit
result is the final PEC byte.

举例如下:
An example to calculate the PEC is listed in Table 1 and
Figure 4. The PEC of the 1 byte data 0x01 is computed as
0xC7 after the last bit of the byte streamed in.

结合那个例子我们可以更好地理解PEC的计算过程.
首先,明确我们的任务, 我们需要传输一个字节的数据。 其值是0x01, 我们设定PEC的初始值是0x41 即 0100 0001. (注意: LTC6802的PEC的初始值是0x00)。 我们需要确定这个数据传输完了, 其PEC应该为多少。(新的PEC值应该是0xC7)

如表1所显示的那样, DIN的数值一共8位,从时钟0到时钟7, 分别传输的位是: 0000 0001, 即为我们需要传输的那个数据0x01.
如表1所显示的那样, 每传输一位DIN, 我们需要计算PEC。 其初始值为0100 0001。
在时钟0, 对应的DIN=0, IN0=DIN XOR PEC[7]= 0 XOR 0 = 0, IN1= PEC[0] XOR IN0 = 1 XOR 0 =1, IN2= PEC[1] XOR IN0 = 0 XOR 0 =0.
在时钟1, 对应的DIN=0, PEC[7]=PEC[6]=1, PEC[6]=PEC[5]=0,……PEC[3]=PEC[2]=0, PEC[2]=IN2=0, PEC[1]=IN1=1, PEC[0]=IN0=0. 然后我们再更新,IN0=DIN XOR PEC[7]= 0 XOR 1 = 1, IN1= PEC[0] XOR IN0 = 0 XOR 1 =1, IN2= PEC[1] XOR IN0 = 1 XOR 1 =0.
在时钟2, 3, 4, 5, 6, 基本上按时钟1的方式, 不断更新。
在时钟7, 对应的DIN=1, PEC[7]=PEC[6]=0, PEC[6]=PEC[5]=1,……PEC[3]=PEC[2]=0, PEC[2]=IN2=0, PEC[1]=IN1=0, PEC[0]=IN0=0. 然后我们再更新,IN0=DIN XOR PEC[7]= 1 XOR 0 = 1, IN1= PEC[0] XOR IN0 = 0 XOR 1 =1, IN2= PEC[1] XOR IN0 = 0 XOR 1 =1.
在时钟8, 我们得到最终的PEC的值: PEC[7]=PEC[6]=1, PEC[6]=PEC[5]=1,……PEC[3]=PEC[2]=0, PEC[2]=IN2=1, PEC[1]=IN1=1, PEC[0]=IN0=1.即0xC7.

如上所述, 每次传输一个字节的数据后, PEC都需要按此方法更新。 对于多字节的数据, PEC也是同样更新的。

另外, 数据手册中还简单说明了其PEC的基本原理, 即多项式 x8 + x2 + x + 1. 涉及到CRC的检验的一些数学理论. 有兴趣的同仁可以参考网络上更多这方面的资料。
分享到:? 新浪微博 ?? 微信 ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
qq空间 ?? 腾讯微博 ?? 人人网 ?? 百度搜藏 ??
引用 回复 收藏 推荐到小组 ( 4) ( 0) 关注

EDN China电子设计技术Google的这款AI芯片TPU凭什么自称“超级”?与传统CPU有何差异?
第1楼

回复主题:如何进行LTC680X的PEC计算

发布时间:2011-11-12 上午0:45

作者: hfhlb

等级: 新新人类

积分: 202分

发帖数: 38次

网站总积分: 202分

0分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
如果是数据包呢??比如写配置命令CFGR0~CFGR5,后面的PEC怎么计算呢??谢谢
引用 回复
( 2) ( 0)


EDN China电子设计技术从常见的处理器结构出发,Google的AI芯片原来还有这幅面孔
第2楼 回复主题:如何进行LTC680X的PEC计算 发布时间:2011-11-14 下午9:27

作者: Linear_Tech

等级: 技术经理

积分: 2614分

发帖数: 1141次

网站总积分: 3787分

2094分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
可参考具体指令对应的PEC的值。 你也可以自己计算。
引用 回复
( 2) ( 2)


EDN China电子设计技术换个角度分析VR中的光学定位及姿态捕捉技术,难点在哪?
第3楼 回复主题:如何进行LTC680X的PEC计算 发布时间:2011-12-22 上午11:02

作者: 模拟人生

等级: 初学者

积分: 166分

发帖数: 20次

网站总积分: 167分

35分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
怎么计算啊
引用 回复
( 2) ( 0)


EDN China电子设计技术高通、大唐、大疆联手“搅混”无人机这潭水,剑指何方?
第4楼 回复主题:如何进行LTC680X的PEC计算 发布时间:2012-1-4 下午12:37

作者: Linear_Tech

等级: 技术经理

积分: 2614分

发帖数: 1141次

网站总积分: 3787分

2094分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
算法就是上文列出来的过程啊。
引用 回复
( 2) ( 1)


EDN China电子设计技术Google的这款AI芯片TPU凭什么自称“超级”?与传统CPU有何差异?
第5楼 回复主题:如何进行LTC680X的PEC计算 发布时间:2012-7-5 上午9:45

作者:山东省青岛市的游客

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
只是计算数据的最后一个字节吗?
引用 回复
( 2) ( 0)


EDN China电子设计技术全球通用的紧凑型100W、150W电源
第6楼 回复主题:如何进行LTC680X的PEC计算 发布时间:2012-7-5 上午9:46

作者:山东省青岛市的游客

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
只是计算数据包的最后一个字节的pec吗?
引用 回复
( 2) ( 0)


EDN China电子设计技术这次我们不回顾,我们要评判苹果WWDC16推了哪些“鸡肋”
第7楼 回复主题:如何进行LTC680X的PEC计算 发布时间:2012-7-9 上午11:00

作者: Linear_Tech

等级: 技术经理

积分: 2614分

发帖数: 1141次

网站总积分: 3787分

2094分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
如果是数据包,也需要对每一位数据进行PEC。
引用 回复
( 2) ( 0)


EDN China电子设计技术除了特斯拉,还有哪些企业在开发无人驾驶技术?
第8楼 回复主题:如何进行LTC680X的PEC计算 发布时间:2012-11-15 上午11:46

作者: 乱麻缠刀

等级: 初学者

积分: 107分

发帖数: 3次

网站总积分: 107分

107分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
以下是引用Linear_Tech在2012-7-9 上午11:00的发言

主题:如果是数据包,也需要对每一位数据进行PEC。

不太明白这个“每一位数据进行PEC”的意思。 比如写寄存器CFGR[6],CFGR[0]=0x01,CFGR[1]=0x02……这6个数据该怎么计算? 我将CFGR[0]的PEC 0xC7计算出来后,在计算CFGR[1]时,0xC7怎么处理?请指教。
乱麻缠刀 编辑于 2012-11-15 下午2:26
引用 回复
( 2) ( 0)


EDN China电子设计技术NXP FTF 2016:打造一个安全帝国,推动全自主驾驶
第9楼 回复主题:如何进行LTC680X的PEC计算 发布时间:2012-11-17 下午11:26

作者:香港的游客

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
每传输一个指令或者数据, 就按照上面的计算公式算一遍,得到新的PEC值。对于多字节的数据,需要计算到这些字节的最后一位。 你将CFGR[0]的PEC 0xC7计算出来后,在计算CFGR[1]时,0xC7继续作为初始值参与CFGR[1]的计算,直到CFGR5发完后,将最后的PEC值发出来。
引用 回复
( 2) ( 0)


EDN China电子设计技术动态功耗调节介绍
第10楼 回复主题:如何进行LTC680X的PEC计算 发布时间:2012-11-18 下午7:21

版主

作者: EvelynZhang

等级: 殿堂级工程师

积分: 20335分

发帖数: 5913次

网站总积分: 33066分

16431分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
Linear_Tech回复如下: 每传输一个指令或者数据, 就按照上面的计算公式算一遍,得到新的PEC值。对于多字节的数据,需要计算到这些字节的最后一位。 你将CFGR[0]的PEC 0xC7计算出来后,在计算CFGR[1]时,0xC7继续作为初始值参与CFGR[1]的计算,直到CFGR5发完后,将最后的PEC值发出来。
引用 回复
( 3) ( 0)

lt3502样片使用????下一帖??

快速回复 高级回复
用户名:?
美国的游客?????? (您将以游客身份发表,请登陆 | 注册) ?
标题: * 标题还可以输入80
评论: * 你还可以输入30000
验证码: ?*?
分享: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
维护专业、整洁的论坛环境需要您的参与,请及时举报违规帖子,如果举报属实,我们将给予相应的积分奖励。
谢谢您的热心参与!
返回Linear 技术论坛 | 返回IC厂商技术交流区
本论坛仅陈述专家或个人观点,并不代表EDN China 电子技术设计互动社区网站立场。
有问题请反馈