CAN总线及应用.ppt

上传人:牧羊曲112 文档编号:5418616 上传时间:2023-07-05 格式:PPT 页数:40 大小:1,015KB
返回 下载 相关 举报
CAN总线及应用.ppt_第1页
第1页 / 共40页
CAN总线及应用.ppt_第2页
第2页 / 共40页
CAN总线及应用.ppt_第3页
第3页 / 共40页
CAN总线及应用.ppt_第4页
第4页 / 共40页
CAN总线及应用.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《CAN总线及应用.ppt》由会员分享,可在线阅读,更多相关《CAN总线及应用.ppt(40页珍藏版)》请在三一办公上搜索。

1、MSCAN08/MSCAN12,1,CAN总线及应用,苏州大学计算机科学与技术学院 王宜怀2008年8月V1.0,MSCAN08/MSCAN12,2,一、目标定位,目标:以MSCAN08和MSCAN12为示例,讲述CAN现场总线,初步掌握CAN总线技术的应用。基本要求:了解CAN通信协议基本概念,掌握CAN通信接口硬件设计和MSCAN08和MSCAN12编程方法,MSCAN08/MSCAN12,3,二、主要内容,CAN技术规范MSCAN08模块MSCAN08通信接口硬件电路MSCAN08模块的编程结构MSCAN08通信子函数与测试实例MSCAN12模块MSCAN12模块的编程结构MSCAN12

2、的自环测试实例,MSCAN08/MSCAN12,4,CAN通信协议主要描述设备之间的信息传递方式。CAN各层的定义与开放系统互连模型OSI一致。CAN技术规范定义了模型的最下面两层:数据链路层和物理层,是设计CAN应用系统的基本依据。1991年9月Bosch公司发布了CAN技术规范Version2.0。该技术规范包括A和B两部分,2.0A给出了在Version1.2中定义的CAN报文格式,而2.0B给出了标准的和扩展的两种报文格式。规范主要是针对CAN控制器的设计者,对大多数应用系统设计人员来说,只需对Version2.0版技术规范的基本结构、概念、规则作一般了解,知道一些基本参数和可访问的硬

3、件即可。,CAN技术规范,MSCAN08/MSCAN12,5,CAN的基本概念,MSCAN08/MSCAN12,6,报文和信息路由,报文(Messages)在总线上传输的信息。信息路由(Information Routing)CAN不对通信单元分配地址,报文的寻址内容由报文的标识符指定。所有CAN节点通过报文滤波来判断是否接收报文。,MSCAN08/MSCAN12,7,位速率,位速率(Bit Rate)指总线的传输速率,下表列出了距离与位速率的相关数据。这里的最大距离是指不接中继器的两个单元之间的距离。,MSCAN08/MSCAN12,8,位定位与同步,标称位速率(Nominal Bit Ra

4、te):理想的发送器在没有重新同步的情况下每秒发送的位数量。标称位时间(Nominal Bit Time):是标称位速率的倒数。分成几个不重叠的片段:同步段(SYNC_SEG)、传播段(PROG_SEG)、相位段1(PHASE_SEG1)、相位段2(PHASE_SEG2)。,MSCAN08/MSCAN12,9,优先权,优先权(Priorities)在CAN总线上发送的每一个报文都具有唯一的一个11位或29位的标识符,标识符越小,则报文优先权越高,因此一个为全0标识符的报文具有最高级优先权。,MSCAN08/MSCAN12,10,单通道,单通道(Single Channel)CAN总线由单一通道

5、组成,借助数据的同步实现信息传输,可以是单线(加地线)、两条差分线、光纤等,通常使用双绞线。,MSCAN08/MSCAN12,11,总线表示,总线数据表示(Bus Values)CAN总线上用显性(Dominant)和隐性(Recessive)表示0和1。当在总线上出现同时发送显性位和隐性位时,总线上数值将出现显性。总线上的信号使用差分电压传送,两条信号线被称为CAN_H 和CAN_L。,MSCAN08/MSCAN12,12,标识符检验滤波,当总线上有报文到达时,MSCAN08会将该报文的标识符与本地的标识符校验寄存器中进行比较,本地标识符屏蔽寄存器则是用于指定比较结果是否有影响,1表示相应位

6、的比较结果不影响报文的接收。,MSCAN08/MSCAN12,13,报文传输类型,报文传输由4种不同的帧类型表示和控制:数据帧:数据帧将数据从发送器传输到接收器。远程帧:总线单元发出远程帧,请求发送具有同一标识符的数据帧。错误帧:任何单元检测到总线错误就发出错误帧。过载帧:过载帧用于在先行和后续数据帧(或远程帧)之间提供一附加的延时。,MSCAN08/MSCAN12,14,数据帧结构,数据帧组成,MSCAN08/MSCAN12,15,远程帧结构,远程帧的组成,MSCAN08/MSCAN12,16,错误帧结构,错误帧的组成,MSCAN08/MSCAN12,17,过载帧结构,过载帧的组成,MSCA

7、N08/MSCAN12,18,MSCAN08特性,MSCAN08-Freescale可升级控制器局域网(Motorola scalable controller area network,MSCAN):符合CAN2.0A/B协议标准,支持标准和扩展数据帧位速率可编程,最大1Mbps数据帧长度为08字节支持远程请求帧1个FIFO接收缓冲区,3个具有局部优先级的FIFO发送缓冲区标识符验收模式可配置成1个32位过滤码、2个16位过滤码、4个8位过滤码,或者关闭滤波器内置低通滤波的远程唤醒功能自环工作模式,MSCAN08/MSCAN12,19,MSCAN08外部引脚,MSCAN08有2根外部引脚:C

8、ANRX(输入)和CANTX(输出)CANTX代表CAN上的逻辑电平:0为高电平(显性),1为低电平(隐性)。MSCAN08模块构建的典型的CAN系统如图所示:,MSCAN08/MSCAN12,20,MSCAN08通信接口电路,MSCAN08/MSCAN12,21,MSCAN08的编程结构内存映射,MSCAN08/MSCAN12,22,MSCAN08的编程结构报文收发缓冲区,MSCAN08/MSCAN12,23,MSCAN08的编程结构寄存器,MSCAN08/MSCAN12,24,MSCAN08通信实现,初始化,MSCAN08/MSCAN12,25,MSCAN08通信实现,发送和接收函数,MS

9、CAN08/MSCAN12,26,MSCAN08自环通信测试实例,(1)回环工作方式测试工程文件列表,MSCAN08/MSCAN12,27,MSCAN08自环通信测试实例,(2)回环工作方式C语言主程序,MSCAN08/MSCAN12,28,MSCAN08正常通信测试实例,(1)查询方式服务器节点C语言主程序,MSCAN08/MSCAN12,29,MSCAN08正常通信测试实例,(2)查询方式客户节点C语言主程序,MSCAN08/MSCAN12,30,MSCAN12模块简介,MSCAN12特性(与MSCAN08几乎相同):符合CAN2.0A/B协议标准支持标准和扩展数据帧格式数据长度为08字节

10、位速率可编程,最大1Mbps支持远程帧拥有5个FIFO机制的接收缓冲区,3个具有局部优先级的发送缓冲区具有灵活的标识符验收模式,MSCAN08/MSCAN12,31,MSCAN12模块框图,MSCAN08/MSCAN12,32,MSCAN12外部引脚,MSCAN08/MSCAN12,33,MSCAN12报文缓冲区结构,报文缓冲区组织图,MSCAN08/MSCAN12,34,MSCAN12编程结构内存映射,MSCAN08/MSCAN12,35,MSCAN12编程结构寄存器,1)MSCAN控制寄存器0(CANCTL0)2)MSCAN控制寄存器1(CANCTL1)3)MSCAN总线时钟寄存器0(CA

11、NBTR0)4)MSCAN总线时钟寄存器1(CANBTR1)5)MSCAN接收器标志寄存器(CANRFLG)6)MSCAN接收器中断使能寄存器(CANRIER)7)MSCAN发送器标志寄存器(CANTFLG)8)MSCAN发送器中断使能寄存器(CANTIER)9)MSCAN发送器消息中止控制寄存器(CANTARQ)10)MSCAN发送器消息中止控制寄存器(CANTAAK)11)MSCAN发送缓冲区选择寄存器(CANTBSEL)12)MSCAN标识符验收控制寄存器(CANTIDAC)13)MSCAN接收错误计数寄存器(CANRXERR)14)MSCAN发送错误计数寄存器(CANTXERR)15)

12、MSCAN标识符验收码寄存器(CANIDAR07)16)MSCAN标识符屏蔽寄存器(CANIDMR07),MSCAN08/MSCAN12,36,MSCAN12模块的自环通信实例,MSCAN12通信头文件(MSCAN12.h)(1)CAN通信寄存器及标志位定义(2)CAN通信用到的设置量定义(3)CAN通信相关函数声明(4)CAN通信初始化MSCAN12通信函数文件(MSCAN12.c)(1)CAN通信初始化:void CANInit(void)(2)CAN发送1帧数据:INT8U CANSND1DFRM(INT16U ID,INT8U*DataBUF,INT8U LEN)(3)查找空闲发送缓冲

13、区:INT8U GetSNDBUF(void)(4)CAN接收1帧数据:INT8U CANRCV1FRM(INT8U*CANRCVBUF),MSCAN08/MSCAN12,37,MSCAN12模块的自环通信实例,1.自环通信方式测试工程主函数文件main.c第1步:定义常量,初始化变量第2步:禁止总中断第3步:芯片初始化第4步:模块初始化(串口初始化、MSCAN12初始化)第5步:开放SCI0接收中断 第6步:开放总中断,MSCAN08/MSCAN12,38,MSCAN12模块的自环通信实例,1.自环通信方式测试工程主函数文件main.c第7步:等待时间增加1。若等待时间到转第8步,否则转第7步。第8步:发送Hello!,若发送成功转第9步,否则转第10步。第9步:CAN等待接收数据,若接收到则通过SCI向PC发送数据,否则发送“ReceiveError!”。转第11步。第10步:通过SCI向PC发送“SendError!”第11步:等待时间清零,转第7步。,MSCAN08/MSCAN12,39,MSCAN12模块的自环通信实例,2.自环通信方式测试工程MT环境的工程结构,MSCAN08/MSCAN12,40,MSCAN12模块的自环通信实例,3.自环通信方式测试工程CW环境的工程结构,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号