CAN口波特率计算工具,CAN总线计算波特率BTR0,BTR1,方便计算出NXP系列CAN控制器(不包括NXP ARM内嵌的CAN控制器)的波特率。
这款工具软使用简单方便,按以下步骤操作即可轻松实现波特率计算。
在软件右边的第一个框(clock)中填写CAN控制器的系统时钟。例如实际使用中SJA1000的晶体振荡器为的16Mhz,则需要填入“16000”;
在软件右边的第二个框(Baudrate)中埴写用户需要的实际波特率。例如用户需要500Kbps的波特率,则需填入“500”;
如果允许计算出来的波特率有1%的误差(根据CAN协议1%的误差在容许的范围内),那么就勾选复选框“Match +1%”;
在软件左上角选择采样率(samples)。采样率可以选择采样一次或采样三次,通常情况下,在低波特率(低于40Kbps)的情况下使用三次采样,这样可以有效的消除总线毛刺。在高波特率的情况下,通常使用一次采样;
以上对波特率的要求填写完成之后,点击计算按钮(Calculate),在左边的表格中就会计算出用户所使用的波特率。
表格中罗列出来的结果由图 2所示的6部分参数组成,它们表示的意思如下。
1. Btr0,总线定时器0,其中高两位为同步跳转宽度,低六位为波特率预设值;
2. Btr1,总线定时器1,其中低四位为相位缓冲段1,每四位至第六位为相位缓冲段 1,最高位为采样次数选择;
3. BTLCycles,总线定时器的所占单位时间份额的数量,总线定时器长度 = 单位时 间*BTLCycle,即有BTLCycle=(同步段+传播段+相位缓冲段1+相位缓冲段2),通常同步段和传播段为1个时间份额;
4. SJW,总线重同步跳转宽度,通常情况下其数值范围是1~4;
5. sampling point,总线采样点的位置,即采样总线时采样点占整个位时间的位置;
6. Actual,按照该组数据的算出来的准确波特率值。 表格中所罗列出来的数值,按照CAN的协议都是満足要求的,用户可以任挑一组数据作为当前波特率的数值。但是如果在点击了计算按钮,表格中没有计算出数据,则表示根据用户设置的晶体振荡器频率和需要的波特率无法计算出満足要求的结果,这种情况下用户可以试着改变晶体振荡频率或波特率来重新计算。