CAN总线使用总结
接收:数据帧或远程帧通过总结接口,到CAN节点,位流控制器对其进行CRC域进行检测,验证数据的
一致性,当检测到错误时,产生一个“最近错误”中断请求,并产生一个错误帧,发送到总线上。对一个无
错误的帧,位流处理器将它分解成数据部分和标识符部分,列表控制器将其以链表的形式存储于报文缓存
中,执行远程帧或数据帧处理。
在上述数据传送和处理过程中,会出现一些状态字,指示操作完成或出现错误,这些状态字或引发中
断,进行中断处理。
二,从上述结构框图可以看出,主要包括:CAN节点,报文控制器,中断处理单元
(一),CAN节点
(1),位流控制器(Bitstream Prosessor)
主要任务:处理数据帧,远程帧,错误帧和过载帧,同时还进行串行数据流与输入/输出寄存器之间
转换工作(Perdiv data frame ,remote frame ,error frame and overload,conversion thd seiral data
stream and the input/output register)。
详述:位流控制器:对于发送:根据报文缓存中的报文对象,由位流处理器产生通过CAN总线的数据
帧和远程帧。该的控制器控制CRC产生器,且给新的远程帧和数据帧加上校验和信息。在加入‘帧起始
位’和‘帧
结束域’之后,位流处理器开始CAN总线仲裁过程,且当发现总线空闲时连续进行帧发送。进行数据发送
的同时,位流控制器连续地监测I/O线的的电平和发送移位寄存器当前送出位的逻辑状态之间检测到失配,
产生一个‘最近错误’中断请求,错误码由位域NSRX.LEC给出。
对于接收:通过验证CRC相关域,确定接收到的帧是否有问题,或有问题,产生一个‘最近错
误’中断请求,同时产生一个错误帧,并发送到总线上。若接收的帧无错误,将接收到的帧分解成标志符和
数据部分,并将接收到的信息传给报文缓存,执行远程帧或数据帧处理,中断产生和状态处理。
(2),位时序单元(Bit timing unit)
考虑到传播延迟和相移,根据用户设置确定采样点和位时间长度,同时也处理再同步操作(define a
length of a bit time and the location of the sample point according to the user settings,takeing into
accout propration delays and phase shift errors and re-sychronization).
(3),错误处理单元(error handling unit)
对发送和接收过程中错误进行计数,当计数值达到一定时,进入不同的错误指示状态:错误激活,错
误认可,关闭总线。
(4),节点控制单元(Node control unit)
A,使能/禁止节点的传送
B,使能/禁止可引发中断的特定节点事件
C帧计数管理
(5),中断控制单元(interrupt control unit)
控制CAN产生的不同类型的事件的中断
(二),报文控制器
(三),列表控制器
(四),中断处理单元
评论