CAN总线的原理及使用教程_第1页
CAN总线的原理及使用教程_第2页
CAN总线的原理及使用教程_第3页
CAN总线的原理及使用教程_第4页
CAN总线的原理及使用教程_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、2MSCAN12模块模块 MSCAN12MSCAN12模块的编程结构模块的编程结构 MSCAN12MSCAN12的自环测试实例的自环测试实例MSCAN08/MSCAN124uCANCAN通信协议主要描述设备之间的信息传递方式。通信协议主要描述设备之间的信息传递方式。uCANCAN各层的定义与开放系统互连模型各层的定义与开放系统互连模型OSIOSI一致。一致。CANCAN技技术规范定义了模型的最下面两层:数据链路层和物理术规范定义了模型的最下面两层:数据链路层和物理层,是设计层,是设计CANCAN应用系统的基本依据。应用系统的基本依据。u19911991年年9 9月月BoschBosch公司发布

3、了公司发布了CANCAN技术规范技术规范Version2.0Version2.0。该 技 术 规 范 包 括该 技 术 规 范 包 括 A A 和和 B B 两 部 分 ,两 部 分 , 2 . 0 A2 . 0 A 给 出 了 在给 出 了 在Version1.2Version1.2中定义的中定义的CANCAN报文格式,而报文格式,而2.0B2.0B给出了标给出了标准的和扩展的两种报文格式。准的和扩展的两种报文格式。u规范主要是针对规范主要是针对CANCAN控制器的设计者,对大多数应用控制器的设计者,对大多数应用系统设计人员来说,只需对系统设计人员来说,只需对Version2.0Versio

4、n2.0版技术规范的版技术规范的基本结构、概念、规则作一般了解,知道一些基本参基本结构、概念、规则作一般了解,知道一些基本参数和可访问的硬件即可。数和可访问的硬件即可。CAN技术规范技术规范MSCAN08/MSCAN125CAN的基本概念的基本概念MSCAN08/MSCAN126报文和信息路由报文和信息路由报文报文(Messages)(Messages) 在总线上传输的信息。在总线上传输的信息。信息路由信息路由(Information Routing)(Information Routing) CAN CAN不对通信单元分配地址,报文的寻不对通信单元分配地址,报文的寻址内容由报文的址内容由报文

5、的标识符标识符指定。所有指定。所有CANCAN节节点通过点通过报文滤波报文滤波来判断是否接收报文。来判断是否接收报文。 MSCAN08/MSCAN127位速率位速率位速率位速率(Bit Rate)(Bit Rate) 指总线的传输速率,下表列出了距离与指总线的传输速率,下表列出了距离与位速率的相关数据。这里的最大距离是指位速率的相关数据。这里的最大距离是指不接中继器的两个单元之间的距离。不接中继器的两个单元之间的距离。MSCAN08/MSCAN128位定位与同步位定位与同步u标称位速率标称位速率(Nominal Bit RateNominal Bit Rate):理想的发送):理想的发送器在没

6、有重新同步的情况下每秒发送的位数量。器在没有重新同步的情况下每秒发送的位数量。u标称位时间标称位时间(Nominal Bit TimeNominal Bit Time):是标称位速):是标称位速率的倒数。分成几个不重叠的片段:率的倒数。分成几个不重叠的片段:同步段同步段(SYNC_SEG(SYNC_SEG)、)、传播段传播段(PROG_SEG)(PROG_SEG)、相位段相位段1 1(PHASE_SEG1)(PHASE_SEG1)、相位段相位段2 2(PHASE_SEG2)(PHASE_SEG2)。 同步段 相位段1 相位段2 传播段 采样点 标称位时间 MSCAN08/MSCAN129优先权

7、优先权优先权优先权(Priorities)(Priorities) 在在CANCAN总线上发送的每一个报文都具有总线上发送的每一个报文都具有唯一的一个唯一的一个1111位或位或2929位的标识符,位的标识符,标识标识符越小符越小,则报文,则报文优先权越高优先权越高,因此一个,因此一个为全为全0 0标识符的报文具有最高级优先权。标识符的报文具有最高级优先权。MSCAN08/MSCAN1210单通道单通道单通道单通道(Single Channel)(Single Channel) CAN CAN总线由单一通道组成,借助数据的总线由单一通道组成,借助数据的同步实现信息传输,可以是单线同步实现信息传输

8、,可以是单线( (加地加地线线) )、两条差分线、光纤等,通常使用双、两条差分线、光纤等,通常使用双绞线。绞线。MSCAN08/MSCAN1211总线表示总线表示总线数据表示总线数据表示(Bus Values)(Bus Values) C A N C A N 总 线 上 用总 线 上 用 显 性显 性 ( D o m i n a n t )( D o m i n a n t ) 和和 隐 性隐 性(Recessive)(Recessive)表示表示0 0和和1 1。当在总线上出现同时发。当在总线上出现同时发送显性位和隐性位时,总线上数值将出现显性。送显性位和隐性位时,总线上数值将出现显性。总线

9、上的信号使用差分电压传送,两条信号线被总线上的信号使用差分电压传送,两条信号线被称为称为CAN_H CAN_H 和和CAN_LCAN_L。MSCAN08/MSCAN1212标识符检验滤波标识符检验滤波u 当总线上有报文到达时,当总线上有报文到达时,MSCAN08MSCAN08会将该报文的会将该报文的标标识符识符与与本地的标识符校验寄存器中本地的标识符校验寄存器中进行比较进行比较,本地,本地标识符屏蔽寄存器标识符屏蔽寄存器则是用于指定比较结果是否有影则是用于指定比较结果是否有影响,响,1 1表示相应位的比较结果表示相应位的比较结果不影响不影响报文的接收。报文的接收。MSCAN08/MSCAN12

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

11、 帧间空间 仲裁场 控制场 数据场 CRC场 帧结束 数据帧 帧起始 应答场 帧间空间 或过载帧 数据帧组成数据帧组成MSCAN08/MSCAN1215远程帧结构远程帧结构远程帧的组成远程帧的组成帧间空间帧间空间仲裁场仲裁场控制场控制场CRC场场帧结束帧结束远程帧远程帧帧起始帧起始应答场应答场帧间空间帧间空间或过载帧或过载帧MSCAN08/MSCAN1216错误帧结构错误帧结构错误帧的组成错误帧的组成 数据帧 错误标志 错误标志的重叠 错误界定符 错误帧 帧间空间 或过载帧 MSCAN08/MSCAN1217过载帧结构过载帧结构过载帧的组成过载帧的组成 数据帧 过载标志 过载标志的重叠 过载界

12、定符 过载帧 帧间空间 或过载帧 MSCAN08/MSCAN1218MSCAN08特性特性MSCAN08-Freescale可升级控制器局域网(可升级控制器局域网(Motorola scalable controller area network,MSCAN):):u 符合符合CAN2.0A/B协议标准,支持协议标准,支持标准标准和和扩展扩展数据帧数据帧u 位速率可编程,最大位速率可编程,最大1Mbpsu 数据帧长度为数据帧长度为08字节字节u 支持远程请求帧支持远程请求帧u 1个个FIFO接收接收缓冲区,缓冲区,3个个具有局部优先级的具有局部优先级的FIFO发发送送缓冲区缓冲区u 标识符验收

13、标识符验收模式可配置成模式可配置成1个个32位过滤码、位过滤码、2个个16位过位过滤码、滤码、4个个8位过滤码,或者关闭滤波器位过滤码,或者关闭滤波器u 内置低通滤波的远程唤醒功能内置低通滤波的远程唤醒功能u 自环自环工作模式工作模式MSCAN08/MSCAN1219MSCAN08外部引脚外部引脚u MSCAN08MSCAN08有有2 2根外部引脚:根外部引脚:CANRXCANRX( (输入输入) )和和CANTXCANTX( (输出输出) )u CANTXCANTX代表代表CANCAN上的逻辑电平:上的逻辑电平:0 0为高电平为高电平( (显性显性) ),1 1为为低电平低电平( (隐性隐性

14、) )。MSCAN08MSCAN08模块构建的典型的模块构建的典型的CANCAN系统如系统如图所示:图所示:MSCAN08/MSCAN1220MSCAN08通信接口电路通信接口电路MSCAN08/MSCAN1221MSCAN08的编程结构的编程结构内存映射内存映射MSCAN08/MSCAN1222MSCAN08的编程结构的编程结构报文收发缓冲区报文收发缓冲区MSCAN08/MSCAN1223MSCAN08的编程结构的编程结构寄存器寄存器MSCAN08/MSCAN1224MSCAN08通信实现通信实现u 初始化初始化MSCAN08/MSCAN1225MSCAN08通信实现通信实现u 发送和接收函

15、数发送和接收函数MSCAN08/MSCAN1226MSCAN08自环通信测试实例自环通信测试实例(1)(1)回环工作方式测试工程文件列表回环工作方式测试工程文件列表MSCAN08/MSCAN1227MSCAN08自环通信测试实例自环通信测试实例(2)(2)回环工作方式回环工作方式C C语言主程序语言主程序MSCAN08/MSCAN1228MSCAN08正常通信测试实例正常通信测试实例(1)(1)查询方式服务器节点查询方式服务器节点C C语言主程序语言主程序MSCAN08/MSCAN1229MSCAN08正常通信测试实例正常通信测试实例(2)(2)查询方式客户节点查询方式客户节点C C语言主程序

16、语言主程序MSCAN08/MSCAN1230MSCAN12模块简介模块简介MSCAN12特性(与特性(与MSCAN08几乎相同):几乎相同):符合符合CAN2.0A/B协议标准协议标准支持支持标准标准和和扩展扩展数据帧格式数据帧格式数据长度为数据长度为08字节字节位速率可编程,最大位速率可编程,最大1Mbps支持支持远程帧远程帧拥有拥有5个个FIFO机制的机制的接收接收缓冲区,缓冲区,3个个具有局具有局部优先级的部优先级的发送发送缓冲区缓冲区具有灵活的具有灵活的标识符验收标识符验收模式模式MSCAN08/MSCAN1231MSCAN12模块框图模块框图 晶振时钟 总线时钟 发送中断请求 接收中

17、断请求 错误中断请求 唤醒中断请求 配置 寄存器 控制和 状态 唤醒 低通滤波 消息过滤和缓冲 接收/发送驱动器 CAN 时钟 Tq 时钟 预 分频 MSCAN12 模块 CAN 接收 CAN 发送 时钟 选择 MSCAN08/MSCAN1232MSCAN12外部引脚外部引脚 120 MCU CAN 控制器 ( MSCAN12) 收发器 CANH CANL CANRX CAN 节点 1 CAN 节点 2 CAN 节点 3 120 CANH CANL CANH CANL CANTX MSCAN08/MSCAN1233MSCAN12报文缓冲区结构报文缓冲区结构 接 收 发 送 报文缓冲区组织图报文

18、缓冲区组织图MSCAN08/MSCAN1234MSCAN12编程结构编程结构内存映射内存映射控制寄存器 12个字节 错误计数器 2个字节 标识符过滤器 16个字节 接收缓冲区 16个字节(窗口机制) 发送缓冲区 16个字节(窗口机制) 保留 2个字节 地址偏移量 MSCAN08/MSCAN1235MSCAN12编程结构编程结构寄存器寄存器1) MSCAN控制寄存器控制寄存器0(CANCTL0)2) MSCAN控制寄存器控制寄存器1(CANCTL1)3) MSCAN总线时钟寄存器总线时钟寄存器0(CANBTR0)4) MSCAN总线时钟寄存器总线时钟寄存器1(CANBTR1)5) MSCAN接收

19、器标志寄存器接收器标志寄存器(CANRFLG)6) MSCAN接收器中断使能寄存器接收器中断使能寄存器(CANRIER)7) MSCAN发送器标志寄存器发送器标志寄存器(CANTFLG)8) MSCAN发送器中断使能寄存器发送器中断使能寄存器(CANTIER)9) MSCAN发送器消息中止控制寄存器发送器消息中止控制寄存器(CANTARQ)10) MSCAN发送器消息中止控制寄存器发送器消息中止控制寄存器(CANTAAK)11) MSCAN发送缓冲区选择寄存器发送缓冲区选择寄存器(CANTBSEL)12) MSCAN标识符验收控制寄存器标识符验收控制寄存器(CANTIDAC)13) MSCAN

20、接收错误计数寄存器接收错误计数寄存器(CANRXERR)14) MSCAN发送错误计数寄存器发送错误计数寄存器(CANTXERR)15) MSCAN标识符验收码寄存器标识符验收码寄存器(CANIDAR07)16) MSCAN标识符屏蔽寄存器标识符屏蔽寄存器(CANIDMR07)MSCAN08/MSCAN1236MSCAN12模块的自环通信实例模块的自环通信实例MSCAN12通信头文件(通信头文件(MSCAN12.h)(1)CAN通信寄存器及标志位定义通信寄存器及标志位定义(2)CAN通信用到的设置量定义通信用到的设置量定义(3)CAN通信相关函数声明通信相关函数声明(4)CAN通信初始化通信初

21、始化MSCAN12通信函数文件(通信函数文件(MSCAN12.c )(1)CAN通信初始化:通信初始化:void CANInit(void)( 2 ) C A N 发 送发 送 1 帧 数 据 :帧 数 据 : I N T 8 U CANSND1DFRM(INT16U ID,INT8U * DataBUF, INT8U LEN)(3)查找空闲发送缓冲区:)查找空闲发送缓冲区:INT8U GetSNDBUF(void)(4)CAN接收接收1帧数据:帧数据:INT8U CANRCV1FRM(INT8U * CANRCVBUF)MSCAN08/MSCAN1237MSCAN12模块的自环通信实例模块的自环通信实例1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论