CAN口波特率计算工具

CAN口波特率计算工具

ID:38666622

大小:385.60 KB

页数:5页

时间:2019-06-17

CAN口波特率计算工具_第1页
CAN口波特率计算工具_第2页
CAN口波特率计算工具_第3页
CAN口波特率计算工具_第4页
CAN口波特率计算工具_第5页
资源描述:

《CAN口波特率计算工具》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、CAN口波特率计算工具CAN口波特率计算工具,CAN总线计算波特率BTR0,BTR1,方便计算出NXP系列CAN控制器(不包括NXPARM内嵌的CAN控制器)的波特率。这款工具软使用简单方便,按以下步骤操作即可轻松实现波特率计算。在软件右边的第一个框(clock)中填写CAN控制器的系统时钟。例如实际使用中SJA1000的晶体振荡器为的16Mhz,则需要填入“16000”;在软件右边的第二个框(Baudrate)中埴写用户需要的实际波特率。例如用户需要500Kbps的波特率,则需填入“500”;如果允许计算出来的波特率有1%的误差(

2、根据CAN协议1%的误差在容许的范围内),那么就勾选复选框“Match+1%”;在软件左上角选择采样率(samples)。采样率可以选择采样一次或采样三次,通常情况下,在低波特率(低于40Kbps)的情况下使用三次采样,这样可以有效的消除总线毛刺。在高波特率的情况下,通常使用一次采样;以上对波特率的要求填写完成之后,点击计算按钮(Calculate),在边的表格中就会计算出用户所使用的波特率。表格中罗列出来的结果由图2所示的6部分参数组成,它们表示的意思如下。1.Btr0,总线定时器0,其中高两位为同步跳转宽度,低六位为波特率预设值

3、;2.Btr1,总线定时器1,其中低四位为相位缓冲段1,每四位至第六位为相位缓冲段1,最高位为采样次数选择;3.BTLCycles,总线定时器的所占单位时间份额的数量,总线定时器长度=单位时间*BTLCycle,即有BTLCycle=(同步段+传播段+相位缓冲段1+相位缓冲段2),通常同步段和传播段为1个时间份额;4.SJW,总线重同步跳转宽度,通常情况下其数值范围是1~4;5.samplingpoint,总线采样点的位置,即采样总线时采样点占整个位时间的位置;6.Actual,按照该组数据的算出来的准确波特率值。表格中所罗列出来的

4、数值,按照CAN的协议都是満足要求的,用户可以任挑一组数据作为当前波特率的数值。但是如果在点击了计算按钮,表格中没有计算出数据,则表示根据用户设置的晶体振荡器频率和需要的波特率无法计算出満足要求的结果,这种情况下用户可以试着改变晶体振荡频率或波特率来重新计算。CAN总线控制波特率的手工计算方法Can控制器器只需要进行少量的设置就可以进行通信,就可以像RS232那样使用。其中较难设置的部分就是通信波特率的计算。CAN总线能够在一定的范围内容忍总线上CAN节点的通信波特率的偏差,这种机能使得CAN总线有很强的容错性,同时也降低了对每个节

5、点的振荡器精度要求。实际上,CAN总线的波特率是一个范围。假设定义的波特率是250KB/S,但是实际上根据对寄存器的设置,实际的波特率可能为200~300KB/S(具体值取决于寄存器的设置)。简单介绍一个波特率的计算,在CAN的底层协议里将CAN数据的每一位时间(TBit)分为许多的时间段(Tscl),这些时间段包括:A.位同步时间(Tsync)CAB.时间段1(Tseg1)C.时间段2(Tseg2)其中位同步时间占用1个Tscl;时间段2占用(Tseg1+1)个Tscl;时间段2占用(Tseg2+1)个Tscl,所以CAN控制器的

6、位时间(TBit)就是:TBit=Tseg1+Tseg2+Tsync=(TSEG1+TSEG2+3)*Tscl,那么CAN的波特率:(CANbps)就是1/TBit。(------------1)但是这样计算出的值是一个理论值。在实际的网络通信中由于存在传输的延时、不同节点的晶体的误差等因素,使得网络CAN的波特率的计算变得复杂起来。CAN在技术上便引入了重同步的概念,以更好的解决这些问题。这样重同步带来的结果就是要么时间段1(Tseg1)增加TSJW(同步跳转宽度SJW+1),要么时间段减少TSJW,因此CAN的波特率实际上有一个

7、范围:1/(Tbit+Tsjw)≤CANbps≤1/(Tbit-Tsjw)(------------2)CAN波特率的值四以下几个元素决定:A.最小时间段Tscl;B.时间段1TSEG1;C.时间段2TSEG2;D.同步跳转宽度SJW那么Tscl又是怎么计算的呢?这是总总线时序寄存器中的预分频寄存器BRP派上了用场,Tscl=(BRP+1)/FVBP。FVBP为微处理器的外设时钟。而TSEG1与TSEG2又是怎么划分的呢?TSEG1与TSEG2的长度决定了CAN数据的采样点,这种方式允许宽范围的数据传输延迟和晶体的误差。其中TSEG

8、1用来调整数据传输延迟时间造成的误差,而TSEG2则用来调整不同点节点晶体频率的误差。但是他们由于过于灵活,而使初次接触CAN的人有点无所适从。TSEG1与TSEG2的是分大体遵循以下规则:Tseg2≥Tscl2,Tseg2≥2TSJ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。