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

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

 

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

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

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

 

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

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

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