原创 CAN总线学习记录一

2011-9-27 08:59 2124 4 4 分类: 工程师职场

1、CAN总线的传输:

CAN总线上某个节点,发送报文在总线上,这时报文以广播的方式在总线上传输,如果当中有两个节点,它们拥有与报文标示符一样的接受代码,经过验收滤波后,报文就会存入RXFIFO中。

在CAN通讯中,要注意:报文发送时必须先申请发送请求,然后报文才可能会发在总线上。

2、CAN的自检模式

CAN的自检模式就是节点自己来测试自己。在自检模式中要在发送报文的时候设置“自接受请求-self reception request”否则自检模式将失败。

在自检模式中节点的特性:

1) 可以孤立的一个节点存在

2) 必须要设置自接受请求命令发送报文

3) 验收滤波无视,也就是说无视ACR,AMR的设置

4) 报文提示符无视

5) 节点依然参与总线

 

自检测模式需要对SJA1000_Init()函数和CAN_TXD()函数进行修改。 在初始化函数中要注意最后设置确保进入自检测的模式,即将MODR设置为0X04;

do

{

//确保进入自接收模式

SJA_MODE = 0x04;

Judge = SJA_MODE;

}

while(!(Judge & 0x04));

在发送函数中最后是要设置为自动接收请求,而不是之前的发送请求。

SJA_CMR = 0x10;//置位自发送请求位

   

参考:

1、akuei2_CAN学习笔记

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条