CAN总线及应用

上传人:hao****021 文档编号:244867448 上传时间:2024-10-06 格式:PPT 页数:40 大小:1,015KB
返回 下载 相关 举报
CAN总线及应用_第1页
第1页 / 共40页
CAN总线及应用_第2页
第2页 / 共40页
CAN总线及应用_第3页
第3页 / 共40页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,MSCAN08/MSCAN12,*,CAN总线及应用,苏州大学计算机科学与技术学院 王宜怀,2008年8月V1.0,1,MSCAN08/MSCAN12,一、目标定位,目标:,以MSCAN08和MSCAN12为示例,讲述CAN现场总线,初步掌握CAN总线技术的应用。,基本要求:,了解CAN通信协议基本概念,掌握CAN通信接口硬件设计和MSCAN08和MSCAN12编程方法,2,MSCAN08/MSCAN12,二、主要内容,CAN,技术规范,MSCAN08,模块,MSCAN08,通信接口硬件电路,MSCAN08,模块的编程结构,MSCAN08,通信子函数与测试实例,MSCAN12,模块,MSCAN12,模块的编程结构,MSCAN12,的自环测试实例,3,MSCAN08/MSCAN12,CAN,通信协议主要描述设备之间的信息传递方式。,CAN,各层的定义与开放系统互连模型,OSI,一致。,CAN,技术规范定义了模型的最下面两层:数据链路层和物理层,是设计,CAN,应用系统的基本依据。,1991,年,9,月,Bosch,公司发布了,CAN,技术规范,Version2.0,。该技术规范包括,A,和,B,两部分,,2.0A,给出了在,Version1.2,中定义的,CAN,报文格式,而,2.0B,给出了标准的和扩展的两种报文格式。,规范主要是针对,CAN,控制器的设计者,对大多数应用系统设计人员来说,只需对,Version2.0,版技术规范的基本结构、概念、规则作一般了解,知道一些基本参数和可访问的硬件即可。,CAN技术规范,4,MSCAN08/MSCAN12,CAN的基本概念,报文,信息,路由,位速率,优先权,远程数据,请求,多主机,仲裁,错误标志和,恢复时间,故障,界定,连接,单通道,总线数据,表示,应答,5,MSCAN08/MSCAN12,报文和信息路由,报文(Messages),在总线上传输的信息。,信息路由(Information Routing),CAN不对通信单元分配地址,报文的寻址内容由报文的,标识符,指定。所有CAN节点通过,报文滤波,来判断是否接收报文。,6,MSCAN08/MSCAN12,位速率,位速率(Bit Rate),指总线的传输速率,下表列出了距离与位速率的相关数据。这里的最大距离是指不接中继器的两个单元之间的距离。,7,MSCAN08/MSCAN12,位定位与同步,标称位速率,(,Nominal Bit Rate,):理想的发送器在没有重新同步的情况下每秒发送的位数量。,标称位时间,(,Nominal Bit Time,):是标称位速率的倒数。分成几个不重叠的片段:,同步段,(SYNC_SEG,)、,传播段,(PROG_SEG),、,相位段,1,(PHASE_SEG1),、,相位段,2,(PHASE_SEG2),。,8,MSCAN08/MSCAN12,优先权,优先权(Priorities),在CAN总线上发送的每一个报文都具有唯一的一个11位或29位的标识符,,标识符越小,,则报文,优先权越高,,因此一个为全0标识符的报文具有最高级优先权。,9,MSCAN08/MSCAN12,单通道,单通道(Single Channel),CAN总线由单一通道组成,借助数据的同步实现信息传输,可以是单线(加地线)、两条差分线、光纤等,通常使用双绞线。,10,MSCAN08/MSCAN12,总线表示,总线数据表示(Bus Values),CAN总线上用,显性(Dominant),和,隐性(Recessive),表示,0,和,1,。当在总线上出现同时发送显性位和隐性位时,总线上数值将出现显性。总线上的信号使用差分电压传送,两条信号线被称为,CAN_H,和,CAN_L,。,11,MSCAN08/MSCAN12,标识符检验滤波,当总线上有报文到达时,,MSCAN08,会将该报文的,标识符,与,本地的标识符校验寄存器中,进行比较,,本地标识符屏蔽寄存器,则是用于指定比较结果是否有影响,,1,表示相应位的比较结果,不影响,报文的接收。,12,MSCAN08/MSCAN12,报文传输类型,报文传输由4种不同的帧类型表示和控制:,数据帧:,数据帧将数据从发送器传输到接收器。,远程帧:,总线单元发出远程帧,请求发送具有同一标识符的数据帧。,错误帧:,任何单元检测到总线错误就发出错误帧。,过载帧:,过载帧用于在先行和后续数据帧(或远程帧)之间提供一附加的延时。,13,MSCAN08/MSCAN12,数据帧结构,数据帧组成,14,MSCAN08/MSCAN12,远程帧结构,远程帧的组成,帧间空间,仲裁场,控制场,CRC场,帧结束,远程帧,帧起始,应答场,帧间空间,或过载帧,15,MSCAN08/MSCAN12,错误帧结构,错误帧的组成,16,MSCAN08/MSCAN12,过载帧结构,过载帧的组成,17,MSCAN08/MSCAN12,MSCAN08特性,MSCAN08-Freescale可升级控制器局域网(,Motorola scalable controller area network,MSCAN,):,符合,CAN2.0A/B,协议标准,支持,标准,和,扩展,数据帧,位速率可编程,最大,1Mbps,数据帧长度为,08,字节,支持远程请求帧,1,个,FIFO,接收,缓冲区,,3,个,具有局部优先级的,FIFO,发送,缓冲区,标识符验收,模式可配置成,1,个,32,位过滤码、,2,个,16,位过滤码、,4,个,8,位过滤码,或者关闭滤波器,内置低通滤波的远程唤醒功能,自环,工作模式,18,MSCAN08/MSCAN12,MSCAN08外部引脚,MSCAN08,有,2,根外部引脚:,CANRX,(,输入,),和,CANTX,(,输出,),CANTX,代表,CAN,上的逻辑电平:,0,为高电平,(,显性,),,,1,为低电平,(,隐性,),。,MSCAN08,模块构建的典型的,CAN,系统如图所示:,19,MSCAN08/MSCAN12,MSCAN08通信接口电路,20,MSCAN08/MSCAN12,MSCAN08的编程结构内存映射,21,MSCAN08/MSCAN12,MSCAN08的编程结构报文收发缓冲区,22,MSCAN08/MSCAN12,MSCAN08的编程结构寄存器,23,MSCAN08/MSCAN12,MSCAN08通信实现,初始化,24,MSCAN08/MSCAN12,MSCAN08通信实现,发送和接收函数,25,MSCAN08/MSCAN12,MSCAN08自环通信测试实例,(1)回环工作方式测试工程文件列表,26,MSCAN08/MSCAN12,MSCAN08自环通信测试实例,(2)回环工作方式C语言主程序,27,MSCAN08/MSCAN12,MSCAN08正常通信测试实例,(1)查询方式服务器节点C语言主程序,28,MSCAN08/MSCAN12,MSCAN08正常通信测试实例,(2)查询方式客户节点C语言主程序,29,MSCAN08/MSCAN12,MSCAN12模块简介,MSCAN12特性(与MSCAN08几乎相同):,符合,CAN2.0A/B,协议标准,支持,标准,和,扩展,数据帧格式,数据长度为,08,字节,位速率可编程,最大,1Mbps,支持,远程帧,拥有,5,个,FIFO,机制的,接收,缓冲区,,3,个,具有局部优先级的,发送,缓冲区,具有灵活的,标识符验收,模式,30,MSCAN08/MSCAN12,MSCAN12模块框图,31,MSCAN08/MSCAN12,MSCAN12外部引脚,32,MSCAN08/MSCAN12,MSCAN12报文缓冲区结构,报文缓冲区组织图,33,MSCAN08/MSCAN12,MSCAN12编程结构内存映射,34,MSCAN08/MSCAN12,MSCAN12编程结构寄存器,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发送错误计数寄存器(CANTXERR),15)MSCAN标识符验收码寄存器(CANIDAR07),16)MSCAN标识符屏蔽寄存器(CANIDMR07),35,MSCAN08/MSCAN12,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)查找空闲发送缓冲区:,INT8U GetSNDBUF(void),(4)CAN接收1帧数据:,INT8U CANRCV1FRM(INT8U*CANRCVBUF),36,MSCAN08/MSCAN12,MSCAN12模块的自环通信实例,1.自环通信方式测试工程主函数文件main.c,第1步:定义常量,初始化变量,第2步:禁止总中断,第3步:芯片初始化,第4步:模块初始化(串口初始化、MSCAN12初始化),第5步:开放SCI0接收中断,第6步:开放总中断,37,MSCAN08/MSCAN12,MSCAN12模块的自环通信实例,1.自环通信方式测试工程主函数文件main.c,第7步:等待时间增加1。若等待时间到转第8步,否则转第7步。,第8步:发送Hello!,若发送成功转第9步,否则转第10步。,第9步:CAN等待接收数据,若接收到则通过SCI向PC发送数据,否则发送“ReceiveError!”。转第11步。,第10步:通过SCI向PC发送“SendError!”,第11步:等待时间清零,转第7步。,38,MSCAN08/MSCAN12,MSCAN12模块的自环通信实例,2.自环通信方式测试工程MT环境的工程结构,39,MSCAN08/MSCAN12,MSCAN12模块的自环通信实例,3.,自环通信方式测试工程CW环境的工程结构,40,MSCAN08/MSCAN12,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!