仪器社区

关于CAN总线的一些问题

gal274746746 2011-04-13
1.CAN2.0A标准中一个报文有多少字节?其中包含哪些内容?2.11位标识符可起到什么作用?3.对CAN总线通信控制器SJA1000初始化时要初始化哪些寄存器?4.如果某个CAN节点希望接收所有节点... 1.CAN2.0A标准中一个报文有多少字节?其中包含哪些内容? 2.11位标识符可起到什么作用? 3.对CAN总线通信控制器SJA1000初始化时要初始化哪些寄存器? 4.如果某个CAN节点希望接收所有节点的报文,它的屏蔽寄存器如何设置? 5.如果某个CAN节点只接收所有高8位标识符为9的报文,它的接收码寄存器和屏蔽寄存器如何设置? 6.若CAN通信控制器是用16M晶振,CAN总线的波特率为125kbps,对BTR0和BTR1进行设置。 ZD回答后三个问题,万分感谢~
评论
全部评论
爱笑的韩娅芳
1.标准格式数据帧包括:
1位帧起始位,11位ID位+1IRQ位,8个控制位,8字节的数据位,2字节的CRC校验位,7个终止位(记得不一定全面)
同时有码流控制功能,即位填充功能。当出现4个相同电平的位时,会在中间插入1个不同的位。
码流填充区域包括从起始位一直到数据位结束。
具体细节可以参见《现场总线CAN原理与应用》一书,北京航空航天大学出版社。
2.11位标识符与屏蔽寄存器和代码寄存器组成了CAN总线的滤波模式。
3.初始化总线定时寄存器,控制寄存器,输出寄存器,中断寄存器。
4.屏蔽寄存器全部为0xFF,使滤波位“无关”
5. 高8位为9,即为0000_1001,CODE0= 0000_1001 MASK0 = 1111_0110 (二进制表示)
6. 这个我以前算过,《现场总线CAN原理与应用》一书中有详细介绍,现在书没有在手边,印象里是
BTR0 = 0x43;
BTR1 = 0x1c;
13 0 2016-01-01 0条评论 回复
20113310046544
式(PeliCAN)的选择是通过设置“时钟分频寄存器CDR”的第7位来确定的。这两种模式的“主要的”区别是BasicCAN仅支持11位的ID,PeliCAN通过选择标准帧和扩展帧分别具有13位的ID和29位的ID。

2、两者晶振可以互不相干,一个非常实用的建议是请将SJA1000的晶振采用16M,方便利用现有的资料和波特率计算工具来计算波特率,避免用其他频率自己来算,对于初学,算波特率是一个稍微复杂的事情。

3、采样率如果没有猜错的话说的还是波特率计算当中的事情。用了16M就省了。做通了再慢慢去理解都OK。

4、diyi个问题中已经有答案

补充问题回复:
关于复位模式:复位模式是软件的(SJA1000的复位引脚控制的是硬件复位),通过置位模式寄存器的第0位(MOD.0)进入复位模式 ,清0则进入正常工作模式。(只要通过改变该位就可以实现两种模式的切换)

在复位模式时候该节点的CAN总线是关闭的,部分控制器参数需要在这个模式下才能进行初始化,而在正常模式时候就不能被修改。

当总线出错关闭时候也会自动进入复位模式,这时候需要清除错误,并恢复到正常工作模式。
1 0 2011-04-14 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论