新闻| 论坛| 博客| 在线研讨会
CAN总线学习心得一:CAN总线波特率计算
0750long| 2009-04-06 10:32:19 阅读:18397 发布文章

CAN总线学习心得一:CAN总线波特率计算

看了很多资料,都迷迷糊糊的。

整理了一下,附件是在网上找的3篇文章里面的计算方法,和周立功的波特率计算软件。ziprar

CAN总线有两个定时器。

定时寄存器0的位

7 6 5 4 3 2 1 0

SJW.1 SJW.0 BRP.5 BRP.4 BRP.3 BRP.2 BRP.1 BRP.0

定时寄存器1的位

7 6 5 4 3 2 1 0

SAM TSEG2.2 TSEG2.1 TSEG2.0 TSEG1.3 TSEG1.2 TSEG1.1 TSEG1.0

CAN系统时钟公式

tscl=2*tclk*(32*BRP.5+16*BRP.4+8*BRP.3+4*BRP.2+2*BRP.1+BRP.0+1)

其中tclk=1/晶振频率

同步跳转宽度 tSJW="tscl"*(2*SJW.1+SJW.0+1)

位周期T=tSYNCSEG+tTSEG1+tTSEG2

tTSEG1=tscl*(8*TSEG1.3+4*TSEG1.2+2*TSEG1.1+TSEG1.0+1)

tTSEG2=tscl*(4*TSEG2.2+2*TSEG2.1+TSEG2.0+1)

比如定时器0为0x31 定时器1为0x1c,那么波特率为10K

周立功有篇文章就是讲这个的,这个和整个系统的优化有很大的关系的。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客