飞思卡尔CAN总线培训课件.ppt

上传人:本田雅阁 文档编号:2574969 上传时间:2019-04-11 格式:PPT 页数:40 大小:1.46MB
返回 下载 相关 举报
飞思卡尔CAN总线培训课件.ppt_第1页
第1页 / 共40页
飞思卡尔CAN总线培训课件.ppt_第2页
第2页 / 共40页
飞思卡尔CAN总线培训课件.ppt_第3页
第3页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《飞思卡尔CAN总线培训课件.ppt》由会员分享,可在线阅读,更多相关《飞思卡尔CAN总线培训课件.ppt(40页珍藏版)》请在三一文库上搜索。

1、CAN总线及应用,MSCAN08/MSCAN12,2,一、目标定位,目标:以MSCAN08和MSCAN12为示例,讲述CAN现场总线,初步掌握CAN总线技术的应用。 基本要求:了解CAN通信协议基本概念,掌握CAN通信接口硬件设计和MSCAN08和MSCAN12编程方法,MSCAN08/MSCAN12,3,二、主要内容,CAN技术规范 MSCAN08模块 MSCAN08通信接口硬件电路 MSCAN08模块的编程结构 MSCAN08通信子函数与测试实例 MSCAN12模块 MSCAN12模块的编程结构 MSCAN12的自环测试实例,MSCAN08/MSCAN12,4,CAN通信协议主要描述设备之

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

3、概念,MSCAN08/MSCAN12,6,报文和信息路由,报文(Messages) 在总线上传输的信息。 信息路由(Information Routing) CAN不对通信单元分配地址,报文的寻址内容由报文的标识符指定。所有CAN节点通过报文滤波来判断是否接收报文。,MSCAN08/MSCAN12,7,位速率,位速率(Bit Rate) 指总线的传输速率,下表列出了距离与位速率的相关数据。这里的最大距离是指不接中继器的两个单元之间的距离。,MSCAN08/MSCAN12,8,位定位与同步,标称位速率(Nominal Bit Rate):理想的发送器在没有重新同步的情况下每秒发送的位数量。 标称

4、位时间(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表示相应位的比较结果不影响报文的接收。,MSCAN08/MSCAN1

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

7、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根外部引脚:CANRX(输入)和CANTX(输出

8、) 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通信实现,发送和接收函数,MSCAN08/MSCAN12,26

9、,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字节 位速率可编程,最大1Mb

10、ps 支持远程帧 拥有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(CANBT

11、R0) 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发送错

12、误计数寄存器(CANTXERR) 15) 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,INT8

13、U * DataBUF, INT8U LEN) (3)查找空闲发送缓冲区: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. 自环通信

14、方式测试工程主函数文件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备18001539号-1