配色: 字号:
CAN总线的原理及使用教程
2018-05-21 | 阅:  转:  |  分享 
  
MSCAN08/MSCAN12MSCAN12外部引脚MSCAN08/MSCAN12MSCAN12报文缓冲区结构报文缓冲区组织
图MSCAN08/MSCAN12MSCAN12编程结构—内存映射MSCAN08/MSCAN12MSCAN12编程结
构—寄存器1)MSCAN控制寄存器0(CANCTL0)2)MSCAN控制寄存器1(CANCTL1)3)MSCAN总线时
钟寄存器0(CANBTR0)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发送错误计数寄存器(CANTXER
R)15)MSCAN标识符验收码寄存器(CANIDAR0~7)16)MSCAN标识符屏蔽寄存器(CANIDMR0~7)M
SCAN08/MSCAN12MSCAN12模块的自环通信实例MSCAN12通信头文件(MSCAN12.h)(1)CAN通
信寄存器及标志位定义(2)CAN通信用到的设置量定义(3)CAN通信相关函数声明(4)CAN通信初始化MSCAN12通信函
数文件(MSCAN12.c)(1)CAN通信初始化:voidCANInit(void)(2)CAN发送1帧数据:INT8U
CANSND1DFRM(INT16UID,INT8UDataBUF,INT8ULEN)(3)查找空闲发送缓冲区:I
NT8UGetSNDBUF(void)(4)CAN接收1帧数据:INT8UCANRCV1FRM(INT8UCANRCV
BUF)MSCAN08/MSCAN12MSCAN12模块的自环通信实例1.自环通信方式测试工程主函数文件main.c
第1步:定义常量,初始化变量第2步:禁止总中断第3步:芯片初始化第4步:模块初始化(串口初始化、MSCAN12初始化)第5
步:开放SCI0接收中断第6步:开放总中断MSCAN08/MSCAN12MSCAN12模块的自环通信实例1.自环通
信方式测试工程主函数文件main.c第7步:等待时间增加1。若等待时间到转第8步,否则转第7步。第8步:发送"Hello!!!
",若发送成功转第9步,否则转第10步。第9步:CAN等待接收数据,若接收到则通过SCI向PC发送数据,否则发送“Receive
Error!”。转第11步。第10步:通过SCI向PC发送“SendError!”第11步:等待时间清零,转第7步。MS
CAN08/MSCAN12MSCAN12模块的自环通信实例2.自环通信方式测试工程MT环境的工程结构MSCAN08/MS
CAN12MSCAN12模块的自环通信实例3.自环通信方式测试工程CW环境的工程结构CAN总
线及应用MSCAN08/MSCAN12一、目标定位目标:以MSCAN08和MSCAN12为示例,讲述CAN现场总线,初步
掌握CAN总线技术的应用。基本要求:了解CAN通信协议基本概念,掌握CAN通信接口硬件设计和MSCAN08和MSCAN12编程方
法MSCAN08/MSCAN12二、主要内容CAN技术规范MSCAN08模块MSCAN08通信接口硬件电路MSCA
N08模块的编程结构MSCAN08通信子函数与测试实例MSCAN12模块MSCAN12模块的编程结构MSCAN12的自环测
试实例MSCAN08/MSCAN12CAN通信协议主要描述设备之间的信息传递方式。CAN各层的定义与开放系统互连模型OS
I一致。CAN技术规范定义了模型的最下面两层:数据链路层和物理层,是设计CAN应用系统的基本依据。1991年9月Bosch公司发
布了CAN技术规范Version2.0。该技术规范包括A和B两部分,2.0A给出了在Version1.2中定义的CAN报文格式,而
2.0B给出了标准的和扩展的两种报文格式。规范主要是针对CAN控制器的设计者,对大多数应用系统设计人员来说,只需对Version
2.0版技术规范的基本结构、概念、规则作一般了解,知道一些基本参数和可访问的硬件即可。CAN技术规范MSCAN08/MSCAN
12CAN的基本概念报文信息路由位速率优先权远程数据请求多主机仲裁错误标志和恢复时间故障界定连接
单通道总线数据表示应答MSCAN08/MSCAN12报文和信息路由报文(Messages)在总线上传输
的信息。信息路由(InformationRouting)CAN不对通信单元分配地址,报文的寻址内容由报文的标识符指定
。所有CAN节点通过报文滤波来判断是否接收报文。MSCAN08/MSCAN12位速率位速率(BitRate)
指总线的传输速率,下表列出了距离与位速率的相关数据。这里的最大距离是指不接中继器的两个单元之间的距离。MSCAN08/M
SCAN12位定位与同步标称位速率(NominalBitRate):理想的发送器在没有重新同步的情况下每秒发送的位数量
。标称位时间(NominalBitTime):是标称位速率的倒数。分成几个不重叠的片段:同步段(SYNC_SEG)、传播段(
PROG_SEG)、相位段1(PHASE_SEG1)、相位段2(PHASE_SEG2)。MSCAN08/MSCAN12优先
权优先权(Priorities)在CAN总线上发送的每一个报文都具有唯一的一个11位或29位的标识符,标识符越小,则报
文优先权越高,因此一个为全0标识符的报文具有最高级优先权。MSCAN08/MSCAN12单通道单通道(SingleCh
annel)CAN总线由单一通道组成,借助数据的同步实现信息传输,可以是单线(加地线)、两条差分线、光纤等,通常使用双绞
线。MSCAN08/MSCAN12总线表示总线数据表示(BusValues)CAN总线上用显性(Domina
nt)和隐性(Recessive)表示0和1。当在总线上出现同时发送显性位和隐性位时,总线上数值将出现显性。总线上的信号使用差分电
压传送,两条信号线被称为CAN_H和CAN_L。MSCAN08/MSCAN12标识符检验滤波当总线上有报文到达时,MS
CAN08会将该报文的标识符与本地的标识符校验寄存器中进行比较,本地标识符屏蔽寄存器则是用于指定比较结果是否有影响,1表示相应位的
比较结果不影响报文的接收。MSCAN08/MSCAN12报文传输类型报文传输由4种不同的帧类型表示和控制:数据帧:数据
帧将数据从发送器传输到接收器。远程帧:总线单元发出远程帧,请求发送具有同一标识符的数据帧。错误帧:任何单元检测到总线错误就发出
错误帧。过载帧:过载帧用于在先行和后续数据帧(或远程帧)之间提供一附加的延时。MSCAN08/MSCAN12数据帧结构
数据帧组成MSCAN08/MSCAN12远程帧结构远程帧的组成帧间空间仲裁场控制场CRC场帧结束远程帧帧起
始应答场帧间空间或过载帧MSCAN08/MSCAN12错误帧结构错误帧的组成MSCAN08/MSCAN12
过载帧结构过载帧的组成MSCAN08/MSCAN12MSCAN08特性MSCAN08---Freescale可升级控
制器局域网(Motorolascalablecontrollerareanetwork,MSCAN):符合CAN2.0A
/B协议标准,支持标准和扩展数据帧位速率可编程,最大1Mbps数据帧长度为0~8字节支持远程请求帧1个FIFO接收缓冲区,
3个具有局部优先级的FIFO发送缓冲区标识符验收模式可配置成1个32位过滤码、2个16位过滤码、4个8位过滤码,或者关闭滤波器
内置低通滤波的远程唤醒功能自环工作模式MSCAN08/MSCAN12MSCAN08外部引脚MSCAN08有2根外部引脚
:CANRX(输入)和CANTX(输出)CANTX代表CAN上的逻辑电平:0为高电平(显性),1为低电平(隐性)。MSCAN08
模块构建的典型的CAN系统如图所示:MSCAN08/MSCAN12MSCAN08通信接口电路MSCAN08/MSCAN1
2MSCAN08的编程结构—内存映射MSCAN08/MSCAN12MSCAN08的编程结构—报文收发缓冲区MSCA
N08/MSCAN12MSCAN08的编程结构—寄存器MSCAN08/MSCAN12MSCAN08通信实现初始化
MSCAN08/MSCAN12MSCAN08通信实现发送和接收函数MSCAN08/MSCAN12MSCAN08自环
通信测试实例(1).回环工作方式测试工程文件列表MSCAN08/MSCAN12MSCAN08自环通信测试实例(2).回
环工作方式C语言主程序MSCAN08/MSCAN12MSCAN08正常通信测试实例(1).查询方式服务器节点C语言主程序
MSCAN08/MSCAN12MSCAN08正常通信测试实例(2).查询方式客户节点C语言主程序MSCAN08/MSCAN12MSCAN12模块简介MSCAN12特性(与MSCAN08几乎相同):符合CAN2.0A/B协议标准支持标准和扩展数据帧格式数据长度为0~8字节位速率可编程,最大1Mbps支持远程帧拥有5个FIFO机制的接收缓冲区,3个具有局部优先级的发送缓冲区具有灵活的标识符验收模式…………MSCAN08/MSCAN12MSCAN12模块框图
献花(0)
+1
(本文系聊宅舫首藏)