已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第14章DZ60的CAN总线开发方法,1,主要内容,14.1CAN总线通用知识14.2MC9S08DZ60硬件最小系统14.3MSCAN模块概述与编程结构14.4MSCAN功能描述14.5MSCAN初始化、报文发送与接收的函数设计,2,14.1CAN总线通用知识,14.1.1CAN总线协议的历史概况控制器局域网(ControllerAreaNetwork,CAN),是德国Bosch公司为简化汽车电子中信号传输方式并减少日益增加的信号线而提出的1991年9月Bosch公司制定并发布了CAN技术规范Version2.01992在欧洲成立了CiA(CANinAutomation)。在CiA的努力推广下,CAN技术在汽车电子、电梯控制、安全监控、医疗仪器、船舶运输等方面均得到了广泛的应用,目前已经成为国际上应用最广泛的现场总线之一,3,14.1.2CAN硬件系统的典型电路,最简明的CAN硬件连接方法,无需CAN收发器芯片的电路连接,4,常用的CAN硬件系统的组成,常用的CAN硬件系统组成,5,带隔离的典型CAN硬件系统电路该电路连接需要特别注意以下几个问题:6N137部分的电路所采用的两个电源VCC1和VCC2须完全隔离PCA82C250的CANH和CANL引脚通过一个5的限流电阻与CAN总线相连,保护PCA82C250免受过流的冲击,带隔离的典型CAN硬件系统电路,6,不带隔离的典型CAN硬件系统电路,不带隔离的典型CAN硬件系统电路,7,14.1.3CAN总线的有关基本概念,CAN总线上的数据表示CAN总线由单一通道(SingleChannel)组成,借助数据再同步实现信息传输CAN总线上用显性(Dominant)和隐性(Recessive)分别表示逻辑0和逻辑1,总线数据表示,8,报文、信息路由、位速率、位填充报文(Message):是指在总线上传输的固定格式的信息,其长度是有限制的信息路由(InformationRouting):在CAN系统中,CAN不对通信节点分配地址,报文的寻址内容由报文的标识符ID指定位速率(BitRate):是指CAN总线的传输速率位填充(BitStuffing):是为防止突发错误而设定的功能,CAN总线上任意两节点最大距离及位速率对应表,9,多主机、标识符、优先权、仲裁多主机(Multimaster):CAN总线是一个多主机(Multimaster)系统标识符ID:CAN节点的唯一标识优先权(Priorities):在总线访问期间,报文的标识符ID定义了一个静态的报文优先权仲裁(Arbitration):总线空闲时,总线上任何节点都可以开始发送报文,若同时有两个或两个以上节点开始发送,总线访问冲突运用逐位仲裁规则,借助于标识符ID解决远程数据请求、应答远程数据请求(RemoteDataRequest):当总线上某节点需要请求另一节点发送数据时,这种情况,在CAN总线协议术语中叫远程数据请求(RemoteDataRequest)应答(Acknowledgment):所有接收器对接收到的报文进行一致性(Consistency)检查,10,故障界定、错误标定和恢复时间故障界定(FaultConfinement):CAN节点能够把永久故障和短暂的干扰区别开来,故障节点会被关闭错误标定和恢复时间(ErrorSignalingandRecoveryTime):任何检测到错误的节点会标志出已被损坏的报文CAN的分层结构物理层(ThePhysicalLayer):CAN规范没有定义具体的物理层,允许用户根据具体需要定制物理层数据链路层又分为逻辑链路控制子层和介质访问控制子层:逻辑链路控制子层(LogicLinkControl,LLC):负责报文滤波、过载通知和恢复管理。介质访问控制子层(MediaAccessControl,MAC):MAC是CAN协议的核心,11,14.1.4帧结构,数据帧帧起始SOF:标志数据帧和远程帧的起始,仅由一个单独的“0”位组成仲裁场:在CAN2.0B中定义标准帧与扩展帧两种帧格式,数据帧组成,数据帧标准格式中的仲裁场结构,12,数据帧扩展格式中的仲裁场结构,6位控制场:标准帧中控制场包括:数据长度代码DLC、IDE位(为0)、保留位r04位数据长度代码DLC:指示了数据场中字节数,DLC=00001000(即十进制的08,0000代表空)表示数据场中字节数数据场:数据场为实际要发送的数据,13,远程帧错误帧错误帧由CAN控制器的硬件进行处理,与用户编程无关,远程帧的组成,错误帧组成,14,过载帧有三种过载的情况会引发过载帧的传送:接收器的内部情况(此接收器对于下一数据帧或远程帧需要有一延时)。在间歇的第一和第二字节检测到一个“0”位。如果CAN节点在错误界定符或过载界定符的第8位(最后一位)采样到一个0位,节点会发送一个过载帧(不是错误帧),过载帧的组成,15,14.1.5位时间,所谓位时间,是指发送一位所需要的时间实际工作过程的位时间与系统设定的位时间少有偏差,把理想情况下位时间称为标称位时间(NominalBitTime),相应的位速率(每秒发送的位数)称为标称位速率。标称位速率=1/标称位时间,标称位时间组成示意图,16,14.2MC9S08DZ60硬件最小系统,DZ60的主要特性总线时钟可达20MHz支持多达32个外围设备中断/复位源4K字节的内部SRAM60K字节的片上Flash存储器MSCAN模块2个串行通信接口(SCI)1个内部集成电路控制器(Inter-IntegratedCircuit,I2C)1个24通道、12位AD转换器(Analog-to-DigitalConverter,ADC)8个通道的定时及脉宽调制器(TPM)1路串行外围设备接口(SPI)1个极性可选的键盘中断(KBI)引脚53个通用输入/输出(I/O)管脚和1个专用输入管脚多功能时钟触发器(MCG)1个可编程软件看门狗定时器Flash块保护单线后台调试接口,17,DZ60管脚分配,DZ60的32引脚LQFP封装图,18,DZ60的最小系统,19,DZ60存储器映像,20,14.3MSCAN模块概述与编程结构,14.3.1MSCAN特性完全支持CAN协议2.0A/B版:标准和扩展数据帧/0-8字节数据长度/高达1Mbps的可编程比特率/支持远程帧5个具有FIFO存储机制的接收缓冲器3个具有使用“本地优先”概念的内部优先顺序的发送缓冲器灵活的掩码标识符滤波器支持2个全尺寸(32位)扩展标识符滤波器或4个16位滤波器或8个8位滤波器集成低通滤波器的可编程唤醒功能r可编程闭环模式支持自测操作可编程监听模式用于CAN总线监控可编程总线脱离恢复功能独立的信号和中断功能适用于所有CAN接收器和发射器错误状态(警报、被动错误、总线脱离)可编程MSCAN时钟源,采用总线时钟或振荡器时钟内部计时器提供给接收和发送的报文的时间标签三种低功耗模式:睡眠、关机和MSCAN使能配置寄存器的全局初始化,21,14.3.2运行模式,正常模式特殊模式仿真模式监听模式保密模式闭环自测模式,22,14.3.3低功耗选项,MSCAN睡眠模式,睡眠请求/确认周期,23,进入/退出睡眠模式的简单状态转换,24,MSCAN初始化模式,初始化请求/确认周期,25,MSCAN断电模式CPU处于停止模式CPU处于等待模式且设置了CSWAI位可编程唤醒功能只要检测到CAN总线有效,就可以对MSCAN进行编程以唤醒MSCAN,26,14.3.4中断,中断矢量发送中断接收中断唤醒中断错误中断中断响应,27,14.3.5MSCAN模块寄存器定义,MSCAN控制寄存器0(CANCTL0)D7,D6,D4:未定义D7RXFRM位,已收到帧标记D6RXACT位,接收器使能状态D5CSWAI位,在等待模式中CAN停止D4SYNCH位,同步状态D3TIME位,计时器使能D2WUPE位,唤醒使能D0INITRQ位,初始化模式请求,28,MSCAN控制寄存器1(CANCTL1)D1,D0:未定义D7CANE位,MSCAN使能D6CLKSRC位,MSCAN时钟源D5LOOPB位,闭环自测模式D4LISTEN位,监听模式D3BORM位,总先脱离恢复模式D2WUPM位,唤醒模式D1SLPAK位,睡眠模式确认D0INITAK位,初始化模式确认,29,MSCAN总线定时寄存器0(CANBTR0)D7D6SJW1:0,同步跳转宽度D5D0BRP5:0,波特率预分频器,30,MSCAN总线定时寄存器1(CANBTR1)D7SAMP位,采样D6D4TSEG22:0位,时间段2D3D0TSEG13:0位,时间段1,31,MSCAN接收器标志寄存器(CANRFLG)D5,D4,D3,D2:未定义D7WUPIF位,唤醒中断标D6CSCIF位,CAN状态变化中断标志D5D4RSTAT1:0位,接收器状态位D3D2TSTAT1:0位,发送器状态位D1OVRIF位,溢出中断标志D0RXF位,接收缓冲器已满标志,32,MSCAN接收器中断使能寄存器(CANRIER)D7WUPIE位,唤醒中断使能D6CSCIE位,CAN状态变化中断使能D5D4RSTATE1:0,位接收器状态变化使能D3D2TSTATE1:0,发送器状态变化使能D1OVRIE位,溢出中断使能D0RXFIE位,总接收器已满中断使能,33,MSCAN发送器标志寄存器(CANTFLG)D7D3未定义D2D0TXE2:0位,发送器缓冲器空,34,MSCAN发送器中断使能寄存器(CANTIER)D7D3未定义D2D0TXEIE2:0位,发送器空中断使能MSCAN发送器报文中止请求寄存器(CANTARQ)D7D3未定义D2D0ABTRQ2:0位,中止请求,35,MSCAN发送器报文中止确认寄存器(CANTAAK)D7D0未定义D2D0ABTAK2:0位,中止确认MSCAN发送缓冲器选择寄存器(CANTBSEL)D7D3未定义D2D0TX2:0位,发送缓冲器选择,36,14.4MSCAN功能描述,14.4.1报文发送/接收功能描述MSCAN模块共有8个报文缓冲区,其中5个报文接收缓冲区(Rx0Rx4)和3个发送缓冲区(Tx0Tx2),支持发送与接收标准/扩展数据帧和远程帧,报文缓冲器结构的用户模型,37,14.4.2报文发送基础,现代应用层软件的建立基于两个基本假设:AN节点都能够发送出安排好的报文流,而不需要在两条报文间释放CAN总线AN节点内的内部报文队列,这样,如果有多条报文准备发送时,最高优先级报文首先发出无论在什么情况下,至少需要三个发送缓冲器来满足上述第一个要求,38,14.4.3发送结构,MSCAN三重发送缓冲器机制允许提前建立多条报文,从而优化了实时性能,三个缓冲器的安排在上图中已经给出MSCAN然后安排报文发送,并通过设置相关TXE标志,通知缓冲器成功发送当应用软件安排了高优先级报文时,可能有必要中止三个发送缓冲器的某一个低优先级报文MSCAN通过以下方式同意该请求:在CANTAAK寄存器中设置相应的中止确认标志(ABTAK)。设置相关的TXE标志来释放缓冲器。生成发送中断。发送中断处理程序软件能够根据ABTAK标志的设置确定是报文中止(ABTAK=1)还是已发送(ABTAK=0),39,14.4.4接收结构,收到的报文保存在5级输入FIFO中接收时,检查每条报文,看看它是否通过滤波器,同时被写入有效RxBG当MSCAN模块正在发送报文时,MSCAN把其自己发送的报文接收到后台接收缓冲器RxBG,但不会将它转移到接收器FIFO,生成接收中断或在CAN总线上响应其自己的报文当FIFO中的所有接收报文缓冲器充满了带有已接收标识符的正确接收报文,且从CAN总线中正确接收到另外一条带有已接收标识符的报文时,就会出现溢出,40,14.4.5时钟系统,MSCAN时钟发生结构图,CANCTL1寄存器中的时钟源位(CLKSRC)决定内部CANCLK是连接到晶体振荡器(振荡器时钟)输出还是连接到总线时钟。必须选择能满足CAN协议的振荡器精度要求(高达0.4%)的时钟源。此外,对于高CAN总线速率(1Mbps)来说,要求45%-55%的时钟占空比。可编程预分频器从CANCLK生成时间冲量(Tq)时钟。时间冲量是MSCAN所处理时间的原子单位,fTq=fCANCLK/(Prescalervalue),41,位时间再分成三段SYNC_SEG:该段有一个长度固定的时间冲量,信号边沿预计出现在本段。时段1:本段包括CAN标准的PROP_SEG和PHASE_SEG1。通过设置参数TSEG1,使之包含4-16个时间冲量,可以对其进行编程。时段2:本段表示CAN标准的PHASE_SEG2。通过设置TSEG2参数,使之具有2-8个时间冲量长,可以对其进行编程,42,14.5MSCAN初始化、报文发送与接收的函数设计,14.5.1MSCAN初始化过程判断CANE,是否处于启动状态。写入处于初始化模式的配置寄存器。清除INITRQ,离开初始化模式,进入正常模式当MSCAN模块处于正常模式下,需要更改只能在初始化模式中写入的寄存器:CAN总线空闲后,通过设置SLPRQ并等待SLPAK进行确认,将模块置入睡眠模式。进入初始化模式:确定INITRQ并等待INITAK。写入处于初始化模式的配置寄存器。清除INITRQ,离开初始化模式,继续保持正常模式,43,14.5.2MSCAN报文发送/接收过程,MACAN数据帧的发送和接收使用相同的结构体:typedefstructCanMsguint32sendID;/msg发送方IDuint8IDE;/是否为扩展ID格式uint8RTR;/是否为远程帧uint8data8;/帧数据uint8dataLen;/帧数据长度uint8priority;/发送优先级CANMsg;,44,数据帧发送的过程检查数据长度是否符合发送缓冲区数据长度要求检查总线时钟寻找空闲的发送缓冲区,并置位发送器缓冲器空(TXEx)标志CPU写入CANTBSEL寄存器,为该缓冲器设置一个指针,使缓冲器能够在CANTXFG地址空间内访问CPU将标识符、控制位和数据内容保存到一个发送缓冲器清除相关TXE标志,缓冲器标志为发送准备就绪数据帧接收的过程检测接收标志检测CAN协议报文模式标识符读标识符、数据长度、标识符清RXF标志位,45,14.5.3MSCAN测试实例,本实例的功能是实现MSCAN的闭环自测功能Main函数的代码如下:/-*/工程名:CAN_self*/硬件连接:连接串口1,用于向PC发送接收到的CAN数据*/程序描述:CAN模块工作在闭环测试模式,接收采用中断方式*/目的:初步掌握CAN通信的基本知识*/说明:CAN通信频率选择为800k,使用SCI1通信速率为9600*/-苏州大学飞思卡尔嵌入式系统研发中心2011年-*voidmain(void)uint
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年清洁能源行业绿色能源在建筑领域的应用展望报告
- 2025年道路运输企业安全生产应急物资清单考核试卷
- 2025年金融衍生品风险管控(中小企业商品衍生品应用门槛风险)考核试卷
- 2025年智能传感器网络攻击防护考核试卷
- 2025年哈尔滨松北区审计局、松北区机关服务中心招聘编外聘用人员4人考试笔试备考试题及答案解析
- 2025安徽六安市金寨县消防救援局政府专职消防员招聘10人考试笔试备考题库及答案解析
- 2025年湖北农商行新员工社会招录笔试考试备考题库及答案解析
- 合江县卫生健康局2025年下半年公开招聘卫生医疗机构编外工作人员考试笔试模拟试题及答案解析
- 2025广西自然资源职业技术学院下半年招聘工作人员150人考试笔试备考题库及答案解析
- 2025年湖南吉利汽车职业技术学院招聘考试笔试备考题库及答案解析
- 2024年广东省政工师理论知识考试参考题库(含答案)
- 预防校园欺凌:我们与恶的距离
- 蜜雪冰城是如何实现成本领先的
- 电子商务公司薪资体系
- 幼儿教资(综合素质)及答案
- 列车电子防滑器-电子防滑器原理
- 钣金加工过程作业指导书
- 电子元器件标示及实物对照
- 耕地合法永久转让协议书
- 芜湖仅一机械有限公司年产500万套汽车零部件及通讯设备压轴件生产线项目(承诺制项目)环境影响报告表
- 压力管道强度计算书
评论
0/150
提交评论