哈尔滨工业大学_第1页
哈尔滨工业大学_第2页
哈尔滨工业大学_第3页
哈尔滨工业大学_第4页
哈尔滨工业大学_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章:CAN控制器模块11.1

CAN控制器模块概述11.2

邮箱11.3

CAN控制寄存器11.4

CAN控制器的操作11.1

CAN控制器模块概述·

1、CAN技术简介CAN总线的出现,使控制系统的网络化成为可能,是国际公认的一种现场总线协议。CAN

(Controller

Area

Network)总线是德国Bosch公司为解决现代汽车中众多的控制单元与测试仪器之间的数据交换而开发的一种串行数据通信协议。CAN总线问世以来,以高效率、低成本和快速性等特点迅速在汽车电子、测量仪器、控制系统得到广泛的应用。CAN协议一般用来管理控制器、传感器、执行器和人机接口之间的数

据传输;使用双绞线,给用户提供了一种低成本的系统连网方案。由于协议本身的优点,总线上的数据绝对不会发生冲突、数据遗失等现象,使得CAN广泛用于环境恶劣的工业现场和自动化生产线。11.1

CAN控制器模块概述CAN协议对于许多领域的分布式测控是很有吸引力的,目前CAN已成为IS011898标准,其特性如下:

(1)结构简单,只有两根线与外部相连,且内部含有错误探测和管理模块。(2)CAN是一种有效支持分布式控制和实时控制的串行通信网络。

(3)CAN可以多主模式工作,网络上任意一个节点均可在任意时刻主动地向网络上的其它节点发送信息,而不分主从,节点之间有优先级之分,因而通信方式灵活。

(4)CAN采用非破坏性位仲裁技术,优先级发送,可以大大节省总线冲突仲裁时间,在重负荷下表现出良好的性能。

(5)CAN可以点对点、一点对多点(成组)及全局广播等几种方式传送和接收数据。11.1

CAN控制器模块概述

(6)CAN的直接通信距离最远可达10km(传输速率为5Kbps);最高通信速率可达1Mbps(传输距离为40m)。(7)CAN上的节点数实际可达110个。

(8)CAN数据链路层采用短帧结构,每一帧为8个字节,易于纠错。可满足通常工业领域中控制命令、工作状态及测试数据的一般要求,同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。

(9)CAN每帧信息都有CRC校验及其它检错措施,有效地降低了数据的错误率。

(10)CAN节点在错误严重的情况下,具有自动关闭的功能,使总线上其它节点不受影响。

(11)信号调制解调方式采用NBZ(非归零)编码解码方式,并且采用插入填充位(位填充)技术。11.1

CAN控制器模块概述·

CAN协议支持用于通信的4种不同的帧类型:数据帧:从发送节点到接收节点传送数据。

远程帧:主要用于请求信息,当节点A向节点B发送一个远程帧,如果节点B中的数据帧信息与节点A有相同的标识符,节点B将做出应答,并发送相应的数据帧到总线上。错误帧:在总线检测错误时,任意一个节点所发送的帧。

过载帧:在前后两个数据帧或远程帧之间提供一个额外的延时。11.1

CAN控制器模块概述·

数据帧包含如下内容(1)帧的起始;

(2)包含标志符和被发送信息类型的仲裁域;(3)包含数据位数的控制域;

(4)多达8个字节的数据域;(5)循环冗余检查(CRC)位;

(6)应答位;

(7)帧结束位CAN标准数据桢和扩展数据桢包含位数可填充位最大长度标准桢44~10823131扩展桢64~1282815611.1

CAN控制器模块概述2、LF240x系列CAN控制器概述LF240x为第一个具有片上CAN控制模块的DSP芯片,给用户设计分布式或网络化运动控制系统提供了方便。CAN控制器是一个16位的外设模块,具有以下特性:(1)完全支持CAN2.0B协议;(2)提供6个邮箱对象,其数据长度为0-8个字节。(3)针对邮箱0、1和2、3有局域接收屏蔽寄存器。(4)可编程波特率;

★(5)可编程中断配置;(6)可编程的CAN总线唤醒功能;★(7)自动回复远程请求;(8)当发送出现错误或仲裁丢失数据时能自动重发;(9)总线错误诊断功能;

(10)自测试模式;(11)两引脚通信,即CANTX和CANRX。11.1

CAN控制器模块概述·

CAN控制器结构框图11.1

CAN控制器模块概述·

CAN控制器模块的内存空间分配11.2邮箱·

1、CAN信息对象CAN允许通过数据桢来发送、接收和保存信息。LF2407的CAN控制器支持两种不同的帧格式,即标准格式和扩展格式。SOF:数据帧的起始,表示数据桢从此处开始Identifier(标志符):信息优先:当两个或更多节点竞争总线时,决定了信息的优先级;信息过滤:决定一个传输的信息能否被CAN模块收到。11.2邮箱RTR:远程传输请求位。用来区分来自远程帧的数据桢SRR:替代远程请求位。占用了标准数据桢的RTR位IDE:标准扩展位。区分标准和扩展帧r0和r1:保留DLC:数据长度代码,表示在数据桢中字节的个数(0~8位)Data:4个16位字用于保存一个CAN信息的8字节数据域

CRC:包含一个16位循环冗余检查计算,绝大部分信息均进行循环冗余检查ACK:数据应答

EOF:数据桢的结束11.2邮箱2、CAN邮箱寄存器邮箱标识符寄存器➢MSGIDnH:标识符扩展位;接受屏蔽使能位,只与接收邮箱有关;自动应答模式位,只与配置为发送的2、3邮箱有关;标识符,扩展帧高13位、标准帧11位。➢MSGIDnL:标识符,扩展帧低16位。·

邮箱控制寄存器(MSGCTRLn)➢RTR:远程发送请求位。➢DLC[3~0]:数据长度选择位,只对发送邮箱有效。11.3

CAN控制寄存器···

1、邮箱方向/使能控制寄存器(MDER):决定邮箱的使能位(ME)和邮箱2、3的方向。MD3/2:邮箱3/2发送/接收配置位,上电时复位为0;MEn:邮箱使能位。初始化时必须禁止使能位。·

2、发送控制寄存器(TCR):控制信息的发送,发送请求设置和复位位(TRS和TRR)可进行独立写操作,只对发送邮箱有效。·TA5~2:发送应答位;TRS5~2:邮箱发送请求位;★

AA5~2:忽略应答位;★

TRR5~2:发送请求复位位。····

3、接收控制寄存器(RCR):控制信息的接收和远程帧的处理,仅对接收邮箱有效。RFP3~0:远程请求悬挂位;

RLM3~0:接收信息丢失标志位;RMP3~0:接收信息悬挂位;

OPC3~0:信息覆盖保护使能位。11.3

CAN控制寄存器··

4、主控制寄存器(MCR):用于控制CAN内核模块的属性SUSP:仿真挂起操作选择位,对接收邮箱无效;·CCR:改变配置请求位;·PDR:低功耗模式请求位;·DBO:数据字节次序;·WUBA:总线唤醒伟;·CDR:数据域改变请求位;·ABO:自动恢复总线位;·STM:自测试模式使能位;·MBNR:邮箱2、3选择位,对它们的数据域进行写操作及配置远程帧悬挂。11.3

CAN控制寄存器

5、位配置寄存器(BCR1和BCR2):使用合适的网络定时参数配置CAN节点。只有在CAN处于复位模式下(CCR=1),才能对位定时器进行配置。

6、错误状态寄存器(ESR):用于显示在操作期间发生的错误,系统只保留第一个错误,后续错误不会改变寄存器的状态。

7、全局状态寄存器(GSR):反映CAN控制器的一些功能状态。

8、错误计数寄存器(CEC):包含两个错误计数器,即接收(REC)和发送(TEC),他们的值都可以通过

CPU接口从CEC读取。11.3

CAN控制寄存器·

9、CAN中断逻辑从CAN外设模块到外设中断扩展(PIE)控制有两个中断请求:邮箱中断和错误中断。下列CAN信息处理事件会产生一个中断:➢邮箱中断:成功接收或发送了一个信息后,该事件会产生一个邮箱中断中止应答中断:一个发送信息操作被中止,该事件会产生一个错误中断写拒绝中断:CPU试图写访问一个邮箱,但是被拒绝,就会产生一个错误中断唤醒中断:CAN唤醒后,产生该中断。当时钟没有工作时,该事件会产生一个错误中断接收信息丢失中断:一个旧信息被新信息所覆盖,该事件会产生一个错误中断总线关中断:CAN模块进入总线关状态,该事件会产生一个错误中断消极错误中断:CAN模块进入消极错误模式,该事件会产生一个错误中断警告级别中断:一个或两个错误计数器的值大于或等于96,该事件会产生一个错误中断➢➢➢➢➢➢➢注意:当产生CAN中断时,用户应该检查CAN中断标志寄存器(CAN_IFR)的所有位,确定是否有1个或多个标志位被置位。如果有1或多个标志位被置位,则执行相应的中断服务程序(ISR)。即使CAN_IFR有多个标志位被置位,也仅产生一次核心中断。11.3

CAN控制寄存器·······CAN中断标志寄存器(CAN_IFR)MIFx(x=5~0):邮箱5~0中断标志位;

RMLIF:接收信息丢失中断标志位;

AAIF:中止应答中断标志位;WDIF:写拒绝中断标志位;WUIF:唤醒中断标志位;BOIF:总线关闭中断标志位;EPIF:消极错误中断标志位;WLIF:错误警告中断标志位·

CAN中断屏蔽寄存器(CAN_IMR):设置同CAN_IFR

类似,但是中断优先级选择位MIL和不一样。如果一个屏蔽位被置位,则PIE控制的相应中断请求被使能。11.3

CAN控制寄存器局部接收中断屏蔽高/低位寄存器n(LAMn_H/L)CAN控制器在接收信息时,先将要接收的信息的标识符与相应接收邮箱的标识符进行比较,只有标识符相同的信息才能被接收。CAN控制器的接收滤波器使得接收邮箱可以忽略更多的位来接收信息。LAMI:局部接收屏蔽标识符扩充位。LAMn[28~16]:高13位局部接收屏蔽位。LAMn[15~0]:低16位局部接收屏蔽位。11.4

CAN控制器的操作·

CAN控制器的操作分成以下三大步1.初始化CAN控制器2.信息的发送3.信息的接收11.4

CAN控制器的操作1.初始化CAN控制器初始化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论