关于CAN波特率寄存器的几个参数

来源:互联网 发布:win10找不到com端口 编辑:程序博客网 时间:2024/05/16 20:27

这个文章不仅仅是采样点啦。

(1)关于CANopen采样点,如果是250KBPS,铁定放在了87.5%。

(2)还有关于SJW, 这个值如果是具体比较长,比如100米(250KBPS最长好像是200米),那么最好设置成3或者4(周立功说“我们选择3/4可以使总线获得更宽的波特率容忍度”)。我一般设置成了3.

(3)关于采样次数,250KBPS选用1次采样。 周立功网上说3次采样经常影响SJW的跳转。好像有资料说波特率叫小时候可以用3次采样。

(4)关于SJW,有资料说是这个参数可以延长段1、缩短段2.  所以周立功的软件配置有个选项,可以选择符不符合TSEG2>=SJW规则。就是说可以选符合也可以选不符合。我看如果选87.5的话,那么段2 对应的值要么是1要么是2,而又要求线路较长时候SJW为3或者4,所以有矛盾。这时候我优先考虑满足SJW.

(5)还有个参数叫做PROPAG 可以设置为1到8. 这个我设置为比较大。这个参数和线缆的传输延迟& 线缆长度之类的有关,《C_CAN USER'S MANUAL REVISION 1.2》page42 说40米线缆是220ns。 我司用的线缆是4.77ns每米。据说“”我们实际测量得到数据为106米是509ns。

关于CANopen采样点,如果是250BPS,铁定放在了87.5%

关于CANopen采样点,如果是250BPS,铁定放在了87.5%关于CANopen采样点,如果是250BPS,铁定放在了87.5%

(5)有就是SJW<=段1,这个一定要满足.

(6)翻了下《C_CAN USER'S MANUAL REVISION 1.2》的PAGE35 说的太清楚了。比我上面讲的好

这么说的

BRP[1,32],定义了Tq的长度

Sync_Seg ,1tq,fixed length,

prop-seg,[1tq,8tq],补偿物理延迟时间

phase_seg1[1tq,8tq],may be lengthened temporarily by synchronisation

phase_seg2[1tq,8tq],may be shortened temporarily by synchronisation

SJW[1tq,8tq],may not be longer than either phase buffer segment


看样子关注的关键就是波特率容忍度。晶振精度&物理延时都是要考虑进去的。