DZ60的CAN总线开发方法343

上传人:n**** 文档编号:56860527 上传时间:2018-10-16 格式:PPT 页数:50 大小:3.05MB
返回 下载 相关 举报
DZ60的CAN总线开发方法343_第1页
第1页 / 共50页
DZ60的CAN总线开发方法343_第2页
第2页 / 共50页
DZ60的CAN总线开发方法343_第3页
第3页 / 共50页
DZ60的CAN总线开发方法343_第4页
第4页 / 共50页
DZ60的CAN总线开发方法343_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《DZ60的CAN总线开发方法343》由会员分享,可在线阅读,更多相关《DZ60的CAN总线开发方法343(50页珍藏版)》请在金锄头文库上搜索。

1、第14章 DZ60的CAN总线开发方法,主要内容,14.1 CAN总线通用知识 14.2 MC9S08DZ60硬件最小系统 14.3 MSCAN模块概述与编程结构 14.4 MSCAN功能描述 14.5 MSCAN初始化、报文发送与接收的函数设计,14.1 CAN总线通用知识,14.1.1 CAN总线协议的历史概况 控制器局域网(Controller Area Network,CAN),是德国Bosch公司为简化汽车电子中信号传输方式并减少日益增加的信号线而提出的 1991年9月Bosch公司制定并发布了CAN技术规范Version2.0 1992在欧洲成立了CiA(CAN in Automa

2、tion)。在CiA的努力推广下,CAN技术在汽车电子、电梯控制、安全监控、医疗仪器、船舶运输等方面均得到了广泛的应用,目前已经成为国际上应用最广泛的现场总线之一,14.1.2 CAN硬件系统的典型电路,最简明的CAN硬件连接方法,无需CAN收发器芯片的电路连接,常用的CAN硬件系统的组成,常用的CAN硬件系统组成,带隔离的典型CAN硬件系统电路 该电路连接需要特别注意以下几个问题: 6N137部分的电路所采用的两个电源VCC1和VCC2须完全隔离 PCA82C250的CANH 和CANL 引脚通过一个5的限流电阻与CAN总线相连,保护PCA82C250免受过流的冲击,带隔离的典型CAN硬件系

3、统电路,不带隔离的典型CAN硬件系统电路,不带隔离的典型CAN硬件系统电路,14.1.3 CAN总线的有关基本概念,CAN总线上的数据表示 CAN总线由单一通道(Single Channel)组成,借助数据再同步实现信息传输 CAN总线上用显性(Dominant)和隐性(Recessive)分别表示逻辑0和逻辑1,总线数据表示,报文、信息路由、位速率、位填充 报文(Message):是指在总线上传输的固定格式的信息,其长度是有限制的 信息路由(Information Routing):在CAN系统中,CAN不对通信节点分配地址,报文的寻址内容由报文的标识符ID指定 位速率(Bit Rate):

4、是指CAN总线的传输速率 位填充(Bit Stuffing):是为防止突发错误而设定的功能,CAN总线上任意两节点最大距离及位速率对应表,多主机、标识符、优先权、仲裁 多主机(Multimaster):CAN总线是一个多主机(Multimaster)系统 标识符ID:CAN节点的唯一标识 优先权(Priorities):在总线访问期间,报文的标识符ID定义了一个静态的报文优先权 仲裁(Arbitration):总线空闲时,总线上任何节点都可以开始发送报文,若同时有两个或两个以上节点开始发送,总线访问冲突运用逐位仲裁规则,借助于标识符ID解决 远程数据请求、应答 远程数据请求(Remote Da

5、ta Request):当总线上某节点需要请求另一节点发送数据时,这种情况,在CAN总线协议术语中叫远程数据请求(Remote Data Request) 应答(Acknowledgment):所有接收器对接收到的报文进行一致性(Consistency)检查,故障界定、错误标定和恢复时间 故障界定(Fault Confinement):CAN节点能够把永久故障和短暂的干扰区别开来,故障节点会被关闭 错误标定和恢复时间(Error Signaling and Recovery Time):任何检测到错误的节点会标志出已被损坏的报文 CAN的分层结构 物理层(The Physical Layer)

6、:CAN规范没有定义具体的物理层,允许用户根据具体需要定制物理层 数据链路层又分为逻辑链路控制子层和介质访问控制子层: 逻辑链路控制子层(Logic Link Control,LLC):负责报文滤波、过载通知和恢复管理。 介质访问控制子层(Media Access Control,MAC):MAC是CAN协议的核心,14.1.4 帧结构,数据帧 帧起始SOF:标志数据帧和远程帧的起始,仅由一个单独的“0”位组成 仲裁场:在CAN2.0B中定义标准帧与扩展帧两种帧格式,数据帧组成,数据帧标准格式中的仲裁场结构,数据帧扩展格式中的仲裁场结构,6位控制场:标准帧中控制场包括:数据长度代码DLC、 I

7、DE位(为0)、保留位r0 4位数据长度代码DLC:指示了数据场中字节数, DLC=00001000(即十进制的08,0000代表空)表示 数据场中字节数 数据场:数据场为实际要发送的数据,远程帧 错误帧 错误帧由CAN控制器的硬件进行处理,与用户编程无关,远程帧的组成,错误帧组成,过载帧 有三种过载的情况会引发过载帧的传送: 接收器的内部情况(此接收器对于下一数据帧或远程帧需要有一延时)。 在间歇的第一和第二字节检测到一个“0”位。 如果CAN节点在错误界定符或过载界定符的第8位(最后一位)采样到一个0位,节点会发送一个过载帧(不是错误帧),过载帧的组成,14.1.5 位时间,所谓位时间,是

8、指发送一位所需要的时间实际工作过程的位时间与系统设定的位时间少有偏差,把理想情况下位时间称为标称位时间(Nominal Bit Time),相应的位速率(每秒发送的位数)称为标称位速率。标称位速率=1/标称位时间,标称位时间组成示意图,14.2 MC9S08DZ60硬件最小系统,DZ60的主要特性 总线时钟可达20MHz 支持多达32个外围设备中断/复位源 4K字节的内部SRAM 60K字节的片上Flash存储器 MSCAN模块 2个串行通信接口(SCI) 1个内部集成电路控制器(Inter-Integrated Circuit,I2C) 1个24通道、12位AD转换器(Analog-to-D

9、igital Converter,ADC) 8个通道的定时及脉宽调制器(TPM) 1路串行外围设备接口(SPI) 1个极性可选的键盘中断(KBI)引脚 53个通用输入/输出(I/O)管脚和1个专用输入管脚 多功能时钟触发器(MCG) 1个可编程软件看门狗定时器 Flash块保护 单线后台调试接口,DZ60管脚分配,DZ60的32引脚LQFP封装图,DZ60的最小系统,DZ60存储器映像,14.3 MSCAN模块概述与编程结构,14.3.1 MSCAN特性 完全支持CAN协议2.0A/B版:标准和扩展数据帧/0-8字节数据长度/高达1Mbps的可编程比特率/支持远程帧 5个具有FIFO存储机制的

10、接收缓冲器 3个具有使用“本地优先”概念的内部优先顺序的发送缓冲器 灵活的掩码标识符滤波器支持2个全尺寸(32位)扩展标识符滤波器或4个16位滤波器或8个8位滤波器 集成低通滤波器的可编程唤醒功能r 可编程闭环模式支持自测操作 可编程监听模式用于CAN总线监控 可编程总线脱离恢复功能 独立的信号和中断功能适用于所有CAN接收器和发射器错误状态(警报、被动错误、总线脱离) 可编程MSCAN时钟源,采用总线时钟或振荡器时钟 内部计时器提供给接收和发送的报文的时间标签 三种低功耗模式:睡眠、关机和MSCAN使能 配置寄存器的全局初始化,14.3.2 运行模式,正常模式 特殊模式 仿真模式 监听模式

11、保密模式 闭环自测模式,14.3.3 低功耗选项,MSCAN睡眠模式,睡眠请求/确认周期,进入/退出睡眠模式的简单状态转换,MSCAN初始化模式,初始化请求/确认周期,MSCAN断电模式 CPU处于停止模式 CPU处于等待模式且设置了CSWAI位 可编程唤醒功能 只要检测到CAN总线有效,就可以对MSCAN进行编程以唤醒MSCAN,14.3.4 中断,中断矢量 发送中断 接收中断 唤醒中断 错误中断 中断响应,14.3.5 MSCAN模块寄存器定义,MSCAN控制寄存器0(CANCTL0) D7,D6,D4:未定义 D7RXFRM位,已收到帧标记 D6RXACT位,接收器使能状态 D5CSWA

12、I位,在等待模式中CAN停止 D4SYNCH位,同步状态 D3TIME位,计时器使能 D2WUPE位,唤醒使能 D0INITRQ位,初始化模式请求,MSCAN控制寄存器1(CANCTL1) D1,D0:未定义 D7CANE位,MSCAN使能 D6CLKSRC位,MSCAN时钟源 D5LOOPB位,闭环自测模式 D4LISTEN位,监听模式 D3BORM位,总先脱离恢复模式 D2WUPM位,唤醒模式 D1SLPAK位,睡眠模式确认 D0INITAK位,初始化模式确认,MSCAN总线定时寄存器0(CANBTR0) D7D6SJW1:0,同步跳转宽度 D5D0BRP5:0,波特率预分频器,MSCAN

13、总线定时寄存器1(CANBTR1) D7SAMP位,采样 D6D4TSEG22:0位,时间段2 D3D0TSEG13:0位,时间段1,MSCAN接收器标志寄存器(CANRFLG) D5,D4,D3,D2:未定义 D7WUPIF位,唤醒中断标 D6CSCIF位,CAN状态变化中断标志 D5D4RSTAT1:0位,接收器状态位 D3D2TSTAT1:0位,发送器状态位 D1OVRIF位,溢出中断标志 D0RXF位,接收缓冲器已满标志,MSCAN接收器中断使能寄存器(CANRIER) D7WUPIE位,唤醒中断使能 D6CSCIE位,CAN状态变化中断使能 D5D4RSTATE1:0,位接收器状态变

14、化使能 D3D2TSTATE1:0,发送器状态变化使能 D1OVRIE位,溢出中断使能 D0RXFIE位,总接收器已满中断使能,MSCAN发送器标志寄存器 (CANTFLG) D7D3未定义 D2D0TXE2:0位,发送器缓冲器空,MSCAN发送器中断使能寄存器 (CANTIER) D7D3未定义 D2D0TXEIE2:0位,发送器空中断使能 MSCAN发送器报文中止请求寄存器 (CANTARQ) D7D3未定义 D2D0ABTRQ2:0位,中止请求,MSCAN发送器报文中止确认寄存器(CANTAAK) D7D0未定义 D2D0ABTAK2:0位,中止确认 MSCAN发送缓冲器选择寄存器(CA

15、NTBSEL) D7D3未定义 D2D0TX 2:0位,发送缓冲器选择,14.4 MSCAN功能描述,14.4.1 报文发送/接收功能描述 MSCAN模块共有8个报文 缓冲区,其中5个报文接 收缓冲区(Rx0Rx4)和3 个发送缓冲区(Tx0Tx2), 支持发送与接收标准/扩 展数据帧和远程帧,报文缓冲器结构的用户模型,14.4.2 报文发送基础,现代应用层软件的建立基于两个基本假设: AN节点都能够发送出安排好的报文流,而不需要在两条报文间释放CAN总线 AN节点内的内部报文队列,这样,如果有多条报文准备发送时,最高优先级报文首先发出 无论在什么情况下,至少需要三个发送缓冲器来满足上述第一个

16、要求,14.4.3 发送结构,MSCAN三重发送缓冲器机制允许提前建立多条报文,从而优化了实时性能,三个缓冲器的安排在上图中已经给出 MSCAN然后安排报文发送,并通过设置相关TXE标志,通知缓冲器成功发送 当应用软件安排了高优先级报文时,可能有必要中止三个发送缓冲器的某一个低优先级报文 MSCAN通过以下方式同意该请求: 在CANTAAK寄存器中设置相应的中止确认标志(ABTAK)。 设置相关的TXE标志来释放缓冲器。 生成发送中断。发送中断处理程序软件能够根据ABTAK标志的设置确定是报文中止(ABTAK = 1)还是已发送(ABTAK = 0),14.4.4 接收结构,收到的报文保存在5级输入FIFO中 接收时,检查每条报文,看看它是否通过滤波器,同时被写入有效RxBG 当MSCAN模块正在发送报文时, MSCAN把其自己发送的报文接收到后台接收缓冲器 RxBG,但不会将它转移到接收器FIFO,生成接收中断或在CAN总线上响应其自己的报文 当FIFO中的所有接收报文缓冲器充满了带有已接收标识符的正确接收报文,且从CAN总线中正确接收到另外一条带有已接收标识符的报文时,就会出现溢出,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号