版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP原理与应用第9章CAN器模块9.19.29.39.49.59.69.79.8CAN总线技术概述CAN总线邮箱CAN总线器模块概述寄存器CAN总线状态寄存器CAN总线的中断CAN模块的配置CAN器应用2第9章CAN器模块9.1CAN总线技术概述测控系统向着网络化方向发展。CAN总线的出现,使系统的网络化成为可能,是国际公认的一种现场总线协议。CAN(ControllerAreaNetwork)总线是德国Bosch(奔驰)公司为解决现代汽车中众多的单元与测试仪器之间的开发的串行数据通信协议。3第9章CAN器模块CAN总线问世以来,以高效率、低成本和快速性等特点迅速在应用。、测量仪器、系统得到
2、广泛的CAN协议一般用来管理器、传感器、执行器和人机接口之间的数据传输。由于协议本身的优点,总线上的数据绝对发生、数据遗失等现象,使得CAN广泛用于环境恶劣的工业现场和自动化生产线。4第9章CAN器模块CAN总线是一种多主总线,通信介质可以是绞线、同轴电缆或光导。CAN协议用于分布式测控,已成为IS011898标准,特性如下:(1)结构简单,只有两根线与外部相连,且内部含有错误探测和管理模块。(2)CAN是一种有效支持分布式串行通信网络。和实时的5第9章CAN器模块(3)CAN可以多主模式工作,网络上任意一个节点均可在任意时刻主动地向网络上的其它节点信息,而不分主从,节点之间有优先级之分,因而
3、通信活。(4)CAN采用非破坏性位仲裁技术,优先级,可以大大节省总线的性能。仲裁时间,在重负荷下表现出良好(5)CAN可以点对点、一点对多点(成组)及全局广播等几种方式传送和接收数据。6第9章CAN器模块(6)CAN的直接通信距离最远可达10km(传输速率为5Kbps);最高通信速率可达1Mbps(传输距离为40m)。(7)(8)CAN上的节点数实际可达110个。CAN数据链路层采用短帧结构,每一帧为8个字节,易于纠错。可满足通常工业领域中命令、工作状态及测试数据的一般要求,同时,8个字节线时间过长,从而保证了通信的实时性。占用总7第9章CAN器模块(9)CAN每帧信息都有CRC校验及其它检错
4、措施,有效地降低了数据的错误率。(10)CAN节点在错误严重的情况下,具有自动关闭的功能,使总线上其它节点不受影响。(11)信号调制解调方式采用NBZ(非归零)编码方式,并且采用填充位(位填充)技术。8第9章CAN器模块CAN协议支持用于通信的4种不同的帧类型:数据帧:从节点到接收节点传送数据。帧:主要用于请求信息,当节点A向节点B一个帧,如果节点B中的数据帧信息与节点A有相同的标识符,节点B将做出应答,并据帧到总线上。相应的数错误帧:在总线检测错误时,任意一个节点所的帧。过载帧:在前后两个数据帧或额外的延时。帧之间提供一个9第9章CAN器模块CAN标准数据帧包含44到108位,而CAN扩展数
5、据帧包含64到128位,另外,多达23个填充位可以到一个标准数据帧中,多达28个填充位可以到扩展数据帧中,这要根据数据流的代码来定。标准数据帧的最大长度为131位,扩展数据帧的最大长度为156位。10第9章CAN器模块数据帧包含如下内容:11第9章CAN器模块CAN总线所具有的卓越性能、极高的可靠性,设计独特,特别适合工业设备测控单元相连。因此,备受工业界的重视,并已被公认为工业界最有前途的现场总线之一。12第9章CAN器模块器模块概述9.2CAN总线LF240x为第一个具有片上CAN模块的DSP,给用户设计分布式或网络化运动系统提供了方便。CAN器是一个16位的外设模块,具有以下特性:(1)
6、完全支持CAN2.0B协议。(2)提供6个邮箱给对象,其数据长度为0-8个字节。(3)邮箱0、1和2、3有局域接收寄存器。13第9章CAN器模块(4)可编程波特率。(5)可编程中断配置。(6)可编程的CAN总线唤醒功能。(7)自动回复请求。(8)当出现错误或仲裁丢失数据时能自动重发。(9)总线错误诊断功能。(10)自测试模式。(11)两引脚通信,即CANTX和CANRX。14第9章CAN器模块CAN器结构框图15第9章CAN器模块16第9章CAN器模块9.3邮箱邮箱ram邮箱标志符邮箱域寄存器信息缓冲器写邮箱ram17第9章CAN器模块邮箱配置CAN接收滤波器邮箱接收邮箱帧的处理18第9章CA
7、N器模块19第9章CAN器模块20第9章CAN器模块CAN总线9.4寄存器CAN总线总共有15个寄存器,这些寄存器着CAN的位定时器、邮箱的和接收使能、错误状态及CAN的中断等。21第9章CAN器模块邮箱方向/使能寄存器寄存器接收寄存器主寄存器位配置寄存器22第9章CAN器模块23CAN的位定时第9章CAN器模块CAN总线状态寄存器9.5错误状态寄存器全局状态寄存器错误计数寄存器24第9章CAN器模块CAN总线的中断能引起中断:9.6下列邮箱操作确认放弃写拒绝唤醒接收报文丢失总线关闭错误界限25第9章CAN器模块CAN中断标志寄存器CAN中断寄存器26第9章CAN器模块CAN模块的配置9.7初
8、始化位配置寄存器BCR1和BCR2初始化邮箱中的寄存器27第9章CAN器模块位配置寄存器的初始化28第9章CAN器模块9.8CAN器应用器的操作步骤9.8.1CANCAN器的操作分成以下三大步:1初始化CAN2信息的3信息的接收器29第9章CAN器模块9.8.2CANCAN器扩展硬件接口器扩展硬件接口如下图所示,DSP需要通过一个CAN收发器连接到CAN总线上。DSP片内CAN器模块CANTXCANRXCAN收发器CAN总线CAN器扩展硬件接口框图30第9章CAN器模块PCA82C25031第9章CAN器模块硬件接口32第9章CAN器模块9.8.3CAN程序实例1、CAN模块一个帧请求33第9
9、章CAN器模块34第9章CAN器模块35第9章CAN器模块36第9章CAN器模块37第9章CAN器模块38第9章CAN器模块39第9章CAN器模块40第9章CAN器模块2、CAN模块自动应答一个帧请求41第9章CAN器模块42第9章CAN器模块43第9章CAN器模块44第9章CAN器模块45第9章CAN器模块46第9章CAN器模块47第9章3 、CAN程序如下:CAN器模块器的程序设计(C语言)1建立中断向量表(汇编).ref_nothing,_c_int0,_GRIS5;在其他定义;并在本需要使用的变量或标号.sect".vectors";定义主向量段;复位向量;中断向量
10、1;中断向量2;中断向量3;中断向量4;中断向量5;中断向量6RSVECT INT1 INT2 INT3 INT4 INT5INT6B B B B B B B B B_c_int0_nothing_nothing_nothing_nothing_GRIS5_nothing_nothing_nothingSW_INT8SW_INT31B_nothing48第9章CAN器模块2C语言程序#include "f2407_c.h" int CAN_FLAG; void sytem_init();void CANMBX_ISR();void CAN_INIT(); void inli
11、ne disable()asm(" setc INTM");void inline enable()asm(" clrc INTM");/头部文件/ 定义标志寄存器/在需要用到的函数/ 中断子程序/ 中断使能子程序49第9章CAN器模块(1)main()主程序sytem_init();CAN_FLAG=0X00;/ 系统初始化程序/ 清CAN用户标志,/CAN_FLAG=01表示接收到数据/ CAN初始化程序/ 中断使能CAN_INIT();enable();for(;)*TCR=0X20;while(*TCR&0X2000=0) continu
12、e;/ MBX3请求/ 等待应答50第9章CAN器模块*TCR=0X2000;while(CAN_FLAG=0) continue;CAN_FLAG=0;*MDER=0X0000;*MCR=0X0140;*MBX3A=*MBX2A+1;*MBX3B=*MBX2B+1;*MBX3C=*MBX2C+1;*MBX3D=*MBX2D+1;*MCR=0X04C0;*MDER=0X04C;/ 清 TA3 和MIF3标志位/ 等待接收数据/ 清接收到标志/ 邮箱不使能/ CDR=1,数据改变请求/ 邮箱2中数据加1用来更新邮箱3中的数据/ DBO=1,CDR=0,ABO=1,STM=1/ ME2=ME3=1
13、,MBX2接收, MBX351第9章CAN器模块(2)系统初始化子程序void sytem_init()asm(" setc INTM");asm(" setc SXM");asm(" clrc OVM");asm(" clrc CNF");*IMR=0x0010;*IFR=0xFFFF;*SCSR1=0x81FE;*WDCR=0xE8;/ 开中断优先级5/ 清中断标志位52第9章CAN器模块(3)CAN初始化子程序void CAN_INIT()*MCRB=*MCRB|0X0C0;*CAN_IFR=0XFFFF;*
14、LAM1_H=0X7FFF;*LAM1_L=0XFFFF;*MCR=0X1040;/ 设置IOPC6、IOPC7 为 CANRX,CANTX/ 清所有CAN中断标志/ 设置邮箱2、3的/ 0则ID必须匹配ID寄存器/ CCR=1 改变配置请求while(*GSR&0X0010=0)continue;/ 当CCE=1 时即可配置 BCR2,BCR1 寄存器*BCR2=0X01;*BCR1=0X033;*MCR=*MCR&0XEFFF;/ 波特率预分频寄存器/ 波特率设置为1M/ CCR=0 改变配置结束请求while(*GSR&0X0010!=0)continue; /
15、只有当CEE=0时,BCR2,BCR1 置寄存器配*MDER=0X040;*MCR=0X0143;*MSGID2H=0X2447; AME=0,/ 不使能邮箱,邮箱2设为接收方式/CDR=1,数据区改变请求设 置 邮 箱 2 的字 及 ID,IDE=0,/AAM=0, 标准方式为MSGID2H12-253第9章CAN器模块*MSGID2L=0XFFFF;*MSGCTRL2=0X08;*MBX2A=0X0000;*MBX2B=0X0000;*MBX2C=0X0000;*MBX2D=0X0000;*MSGID3H=0X2447;*MSGID3L=0XFFFF;*MSGCTRL3=0X08;*MBX3A=0X2211;*MBX3B=0X4433;*MBX3C=0X6655;*MBX3D=0X8877;*MCR=0X04C0;*MDER=0X4C;*CAN_IMR=0XF7FF;*CAN_IFR=0XFFFF;/ 设置域,数据长度DCL = 8,RTR=0 数据帧/ 邮箱2信息初始化/ 设置邮箱3的标识符/ RTR=0,DCL=8/ 邮箱3信息初始化/ DBO=1,ABO=1,STM=1设置为自测试模式/ ME3=1,MBX3, ME2=1 接收/ 中断MBX3 不使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版高新技术企业研发项目采购合同2篇
- 二零二五年度高校与公益组织合作办学合同3篇
- 二零二五版家庭健康养生及食疗服务合同3篇
- 二零二五年度生态鸡养殖基地购销合同标准版3篇
- 二零二五版桉树生物质能源开发合同2篇
- 二零二五年房地产销售代理合同中止及终止协议6篇
- 二零二五版智能仓储货物承包运输一体化合同3篇
- 二零二五年智能空调销售及绿色环保安装合同样本3篇
- 二零二五年度车库产权买卖及物业服务合同范本3篇
- 二零二五年文化艺术品油漆保护修复合同3篇
- 春节文化常识单选题100道及答案
- 2024年杭州师范大学附属医院招聘高层次紧缺专业人才笔试真题
- 24年追觅在线测评28题及答案
- TGDNAS 043-2024 成人静脉中等长度导管置管技术
- 《陆上风电场工程概算定额》NBT 31010-2019
- 罐区自动化系统总体方案(31页)ppt课件
- BIQS评分表模板
- 工程建设项目内外关系协调措施
- 招投标法考试试题及答案
- 皮带输送机工程施工电气安装措施要点
- 药房(冰柜)温湿度表
评论
0/150
提交评论