文档介绍:第11章: CAN控制器模块
CAN控制器模块概述
邮箱
CAN控制寄存器
CAN控制器的操作
CAN控制器模块概述
1、CAN技术简介
CAN总线的出现,使控制系统的网络化成为可能,是国际公认的一种现场总线协议。
CAN (Controller work)总线是德国Bosch公司为解决现代汽车中众多的控制单元与测试仪器之间的数据交换而开发的一种串行数据通信协议。
CAN总线问世以来,以高效率、低成本和快速性等特点迅速在汽车电子、测量仪器、控制系统得到广泛的应用。
CAN协议一般用来管理控制器、传感器、执行器和人机接口之间的数据传输;使用双绞线,给用户提供了一种低成本的系统连网方案。
由于协议本身的优点,总线上的数据绝对不会发生冲突、数据遗失等现象,使得CAN广泛用于环境恶劣的工业现场和自动化生产线。
CAN控制器模块概述
CAN协议对于许多领域的分布式测控是很有吸引力的,目前CAN已成为IS011898标准,其特性如下:
(1)结构简单,只有两根线与外部相连,且内部含有错误探测和管理模块。
(2)CAN是一种有效支持分布式控制和实时控制的串行通信网络。
(3)CAN可以多主模式工作,网络上任意一个节点均可在任意时刻主动地向网络上的其它节点发送信息,而不分主从,节点之间有优先级之分,因而通信方式灵活。
(4)CAN采用非破坏性位仲裁技术,优先级发送,可以大大节省总线冲突仲裁时间,在重负荷下表现出良好的性能。
(5)CAN可以点对点、一点对多点(成组)及全局广播等几种方式传送和接收数据。
CAN控制器模块概述
(6)CAN的直接通信距离最远可达10km(传输速率为5Kbps);最高通信速率可达1Mbps(传输距离为40m)。
(7)CAN上的节点数实际可达110个。
(8)CAN数据链路层采用短帧结构,每一帧为8个字节,易于纠错。可满足通常工业领域中控制命令、工作状态及测试数据的一般要求,同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。
(9)CAN每帧信息都有CRC校验及其它检错措施,有效地降低了数据的错误率。
(10)CAN节点在错误严重的情况下,具有自动关闭的功能,使总线上其它节点不受影响。
(11)信号调制解调方式采用NBZ(非归零)编码解码方式,并且采用插入填充位(位填充)技术。
CAN控制器模块概述
CAN协议
支持用于通信的4种不同的帧类型:
数据帧:从发送节点到接收节点传送数据。
远程帧:主要用于请求信息,当节点A向节点B发送一个远程帧,如果节点B中的数据帧信息与节点A有相同的标识符,节点B将做出应答,并发送相应的数据帧到总线上。
错误帧:在总线检测错误时,任意一个节点所发送的帧。
过载帧:在前后两个数据帧或远程帧之间提供一个额外的延时。
CAN控制器模块概述
数据帧包含如下内容
(1)帧的起始; (2)包含标志符和被发送信息类型的仲裁域;
(3)包含数据位数的控制域; (4)多达8个字节的数据域;
(5)循环冗余检查(CRC)位; (6)应答位; (7)帧结束位
CAN标准数据桢和扩展数据桢
包含位数
可填充位
最大长度
标准桢
44~108
23
131
扩展桢
64~128
28
156
CAN控制器模块概述
2、LF240x系列CAN控制器概述
LF240x为第一个具有片上CAN控制模块的DSP芯片,给用户设计分布式或网络化运动控制系统提供了方便。
CAN控制器是一个16位的外设模块,具有以下特性:
(1);
(2)提供6个邮箱对象,其数据长度为0-8个字节。
(3)针对邮箱0、1和2、3有局域接收屏蔽寄存器。
(4)可编程波特率; ★(5)可编程中断配置;
(6)可编程的CAN总线唤醒功能; ★(7)自动回复远程请求;
(8)当发送出现错误或仲裁丢失数据时能自动重发;
(9)总线错误诊断功能; ★(10)自测试模式;
(11)两引脚通信,即CANTX和CANRX。
CAN控制器模块概述
CAN控制器结构框图
CAN控制器模块概述
CAN控制器模块的内存空间分配
邮箱
1、CAN信息对象
CAN允许通过数据桢来发送、接收和保存信息。LF2407的CAN控制器支持两种不同的帧格式,即标准格式和扩展格式。
SOF:数据帧的起始,表示数据桢从此处开始
Identifier(标志符):
信息优先:当两个或更多节点竞争总线时,决定了信息的优先级;
信息过滤:决定一个传输的信息能否被CAN模块收到。