飞思卡尔8位单片机MC9S86CAN通信接口ppt课件

上传人:m**** 文档编号:568827713 上传时间:2024-07-27 格式:PPT 页数:30 大小:272.50KB
返回 下载 相关 举报
飞思卡尔8位单片机MC9S86CAN通信接口ppt课件_第1页
第1页 / 共30页
飞思卡尔8位单片机MC9S86CAN通信接口ppt课件_第2页
第2页 / 共30页
飞思卡尔8位单片机MC9S86CAN通信接口ppt课件_第3页
第3页 / 共30页
飞思卡尔8位单片机MC9S86CAN通信接口ppt课件_第4页
第4页 / 共30页
飞思卡尔8位单片机MC9S86CAN通信接口ppt课件_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《飞思卡尔8位单片机MC9S86CAN通信接口ppt课件》由会员分享,可在线阅读,更多相关《飞思卡尔8位单片机MC9S86CAN通信接口ppt课件(30页珍藏版)》请在金锄头文库上搜索。

1、第十五章第十五章 CAN通信接口通信接口主要内容v 现场总线概述v CAN技术规范v MSCAN08模块及其外围接口硬件电路v MSCAN08模块的编程结构v MSCAN08编程实例淤褐砌键捷车夯号奉务武好贤况硒淄魏袖肥镑站骸自讽苍宦斜卤紧熄湃盖飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.1 现场总线概述现场总线概述 现场总线现场总线是一种应用于生产现场,在现场设备之间、现场设备是一种应用于生产现场,在现场设备之间、现场设备与控制装置之间实行双向、串行、多节点数字通信的技术。它是一项与控制装置之间实行双向、串行、多节点数字通

2、信的技术。它是一项以智能传感、控制、计算机、数据通信为主要内容的综合技术,是当以智能传感、控制、计算机、数据通信为主要内容的综合技术,是当今自动化领域发展的热点之一,被誉为自动化领域的局域网。今自动化领域发展的热点之一,被誉为自动化领域的局域网。 目前国际上存在几十种现场总线标准,比较流行的主要有目前国际上存在几十种现场总线标准,比较流行的主要有FF(基基金会现场总线金会现场总线)、CAN(控制器局域网控制器局域网)、LonWorks、Profibus等。等。返回返回首慢迷峰叙丈路砍蛔业邵俗羡窘束啃答狡创叫驹劈工酞呢喧掐韦芋否肤掺飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8

3、位单片机MC9S86CAN通信接口ppt课件15.1 现场总线概述15.2 CAN技术规范技术规范15.2.1 CAN的基本概念的基本概念(1)报文)报文(Messages) 总线上传输的信息即为报文,它们以若干个不同的固定格式发送,但长总线上传输的信息即为报文,它们以若干个不同的固定格式发送,但长度受限。当总线空闲时,总线上任何单元均可发送新报文。度受限。当总线空闲时,总线上任何单元均可发送新报文。(2)信息路由)信息路由(Information Routing) 在在CAN系统中,系统中,CAN不对单元分配站地址,报文的寻址内容由报文的标不对单元分配站地址,报文的寻址内容由报文的标识符指定

4、。标识符不指出报文的目的地,但是这个数据的特定含义使得总线识符指定。标识符不指出报文的目的地,但是这个数据的特定含义使得总线上所有单元可以通过报文滤波来判断该数据是否与它们相符合。上所有单元可以通过报文滤波来判断该数据是否与它们相符合。(3)位速率)位速率(Bit Rate) 即总线的传输速率。在一个给定的即总线的传输速率。在一个给定的CAN系统中,位速率是唯一的,也是系统中,位速率是唯一的,也是固定的。固定的。(4)优先权)优先权(Priorities) 在总线访问期间,标识符定义一个静态的报文优先权。在总线访问期间,标识符定义一个静态的报文优先权。 夏贫紫厌镜撒雹尊呛絮突宁赋党两琶崎蓑弘轮

5、革釜狗侥帽蕉赛窖艺标枯功飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范(5)远程数据请求)远程数据请求(Remote Data Request) 当总线上某单元需要请求另一单元发送数据时,可通过发送远程当总线上某单元需要请求另一单元发送数据时,可通过发送远程帧实现远程数据请求。帧实现远程数据请求。(6)多主机)多主机(Multimaster) 总线空闲时,总线上任何单元都可以开始向总线上传送报文,但总线空闲时,总线上任何单元都可以开始向总线上传送报文,但只有最高优先权报文的单元可获得总线访问权。只有最高优先权

6、报文的单元可获得总线访问权。(7)仲裁)仲裁(Arbitration) 总线空闲时,若同时有两个或两个以上单元开始发送报文,总线总线空闲时,若同时有两个或两个以上单元开始发送报文,总线访问冲突运用逐位仲裁规则,借助标识符访问冲突运用逐位仲裁规则,借助标识符ID解决。解决。(8)错误标定和恢复时间)错误标定和恢复时间(Error Signaling and Recovery Time) 任何检测到错误的单元会标志出已被损坏的报文。此报文会失效任何检测到错误的单元会标志出已被损坏的报文。此报文会失效并将自动重传。如果不再出现错误,则从检测到错误到下一报文的传并将自动重传。如果不再出现错误,则从检测

7、到错误到下一报文的传送开始为止,恢复时间最多为送开始为止,恢复时间最多为31位的时间。位的时间。烁竟极呻懈术睬嘻溢斯旨巫帘奏吾坟前俐莹材耪谅忌滤夕蛰正撑藐旬戴鲍飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范(9)故障界定)故障界定(Fault Confinement) CAN单元能够把永久故障和短暂的干扰区别开来。单元能够把永久故障和短暂的干扰区别开来。(10)连接)连接(Connection) CAN通信链路是一条可连接多单元的总线。理论上,总线上单元数通信链路是一条可连接多单元的总线。理论上,总线上单元数

8、目是无限制的,实际上,单元数受限于延迟时间和总线的电气负载能力。目是无限制的,实际上,单元数受限于延迟时间和总线的电气负载能力。(11)单通道)单通道(Single Channel) CAN总线由单一通道组成,借助数据重同步实现信息传输。总线由单一通道组成,借助数据重同步实现信息传输。(12)总线数据表示总线数据表示(Bus Values) CAN总线上有两种互补逻辑数值:显性总线上有两种互补逻辑数值:显性(Dominant)电平和隐性电平和隐性(Recessive)电平。若显性位与隐性位同时发送,总线上数值将是显性。电平。若显性位与隐性位同时发送,总线上数值将是显性。(13)应答)应答(Ac

9、knowledgment) 所有接收器对接收到的报文进行一致性检查。对于一致的报文,接所有接收器对接收到的报文进行一致性检查。对于一致的报文,接收器给予应答;对于不一致的报文,接收器做出标志。收器给予应答;对于不一致的报文,接收器做出标志。 博减拌酬司唐仪骸陀糟斡哨并墨瑚痕啪坏丛陇桩周衡魔念雷翱疽菱瑶裹盆飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范15.2.2 CAN总线的位数值表示与通信距离总线的位数值表示与通信距离 CAN总线上用显性总线上用显性(Dominant)和隐性和隐性(Recessive)两个

10、互补的逻两个互补的逻辑值表示辑值表示0和和1。当在总线上出现同。当在总线上出现同时发送显性位和隐性位时,总线上时发送显性位和隐性位时,总线上数值将出现显性。如左图。数值将出现显性。如左图。 V时间时间t隐性位隐性位显性位显性位隐性位隐性位VdiffVdiffVCAN-HVCAN-L总线位的数值表示总线位的数值表示VdiffCAN总线上任意两单元最大距离及位速率对应表总线上任意两单元最大距离及位速率对应表位速率位速率/kbps10005002501251005020105最大距离最大距离/m4013027053062013003300670010000勃艺郸颖丑腾洽矫檬巧泥却昼稳烫稀瘸前邀账斩铆

11、孺稚咎渺开耗眠让惶论飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范15.2.3 报文传输和帧结构报文传输和帧结构报文传输由以下报文传输由以下4个不同的帧类型表示和控制:个不同的帧类型表示和控制:数据帧数据帧:数据帧将数据从发送器传输到接收器。:数据帧将数据从发送器传输到接收器。远程帧远程帧:总线单元发出远程帧,请求发送具有同一标识符的数据:总线单元发出远程帧,请求发送具有同一标识符的数据帧。帧。错误帧错误帧:任何单元检测到总线错误就发出错误帧。:任何单元检测到总线错误就发出错误帧。过载帧过载帧:过载帧用于在先

12、行和后续数据帧(或远程帧)之间提供:过载帧用于在先行和后续数据帧(或远程帧)之间提供一附加的延时。一附加的延时。数据帧和远程帧可以使用标准帧及扩展帧两种格式。它们用一个数据帧和远程帧可以使用标准帧及扩展帧两种格式。它们用一个帧间空间与前面的帧分隔。帧间空间与前面的帧分隔。充酌敛乓卯没肺却欣补铸梢沾吮咀锻悟斌沃鞍拯级三服财迄砍湿惩炼妹拂飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范(1)数据帧)数据帧 数据帧由数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据个不同的位场组成:帧起始、仲裁场、控制场、数据

13、场、场、CRC 场、应答场、帧结尾。数据帧组成如下图。场、应答场、帧结尾。数据帧组成如下图。 帧间空间帧间空间仲裁场仲裁场控制场控制场数据场数据场CRC场帧结束帧结束数据帧数据帧帧起始帧起始应答场应答场帧间空间帧间空间或过载帧或过载帧(2)远程帧)远程帧 远程帧也有标准格式和扩展格式,而且都由远程帧也有标准格式和扩展格式,而且都由6 个不同的位场组成:个不同的位场组成:帧起始、仲裁场、控制场、帧起始、仲裁场、控制场、CRC 场、应答场、帧结尾。远程帧的组场、应答场、帧结尾。远程帧的组成如下图。成如下图。 帧间空间帧间空间仲裁场仲裁场控制场控制场CRC场场帧结束帧结束远程帧远程帧帧起始帧起始应答

14、场应答场帧间空间帧间空间或过载帧或过载帧症木铃露锦浸似喳扳贷岸持根匣甸收吓嘿敏爬樟认亦棱莆胳旱枣狰聪毡粗飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范(3)出错帧)出错帧 错误帧由两个不同的场组成。第一个场是由不同站提供的错误标错误帧由两个不同的场组成。第一个场是由不同站提供的错误标志(志(ERROR FLAG)的叠加;第二个场是错误界定符。出错帧的组成)的叠加;第二个场是错误界定符。出错帧的组成如下图。如下图。 (4)过载帧)过载帧 过载帧包括两个位场:过载标志和过载界定符。过载帧的组成如过载帧包括两个位场

15、:过载标志和过载界定符。过载帧的组成如下图。下图。数据帧数据帧错误标志错误标志错误标志的重叠错误标志的重叠错误界定符错误界定符 错误帧错误帧帧间空间帧间空间或过载帧或过载帧数据帧数据帧过载标志过载标志过载标志的重叠过载标志的重叠过载界定符过载界定符 过载帧过载帧帧间空间帧间空间或过载帧或过载帧图15-7过载帧组成归坊稻矛店斑韶桃末梯篷甲醚试违胯工邯颅品蔼侍犯戳棺诛绿澳论雄束京飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范15.2.4 错误处理错误处理1)错误检测(错误检测( 5种不同的错误类型)种不同的错误类

16、型)位错误位错误:单元在发送位的同时也对总线进行监视。如果所发送的:单元在发送位的同时也对总线进行监视。如果所发送的位值与所监视的位值不相同,则在位时间里检测到一个位错误。位值与所监视的位值不相同,则在位时间里检测到一个位错误。填充错误填充错误:如果在使用位填充法进行编码的信息中,出现了:如果在使用位填充法进行编码的信息中,出现了6个个连续相同的电平时,将检测到一个填充错误。连续相同的电平时,将检测到一个填充错误。CRC错误错误:CRC序列包括发送器的序列包括发送器的CRC计算结果。如果计算结计算结果。如果计算结果与接收到的果与接收到的CRC序列的结果不相符,则检测到一个序列的结果不相符,则检

17、测到一个CRC错误。错误。形式错误形式错误:当一个固定的位场含有:当一个固定的位场含有1个或多个非法位,则检测到个或多个非法位,则检测到一个形式错误。一个形式错误。应答错误应答错误:只要在应答间隙期间所监视的位不为显性,则发送器:只要在应答间隙期间所监视的位不为显性,则发送器会检测到一个应答错误。会检测到一个应答错误。2)错误标定错误标定检测到错误条件的站通过发送错误标志指示错误。对于检测到错误条件的站通过发送错误标志指示错误。对于“错误主错误主动动”的节点,错误信息为的节点,错误信息为“主动错误标志主动错误标志”,对于,对于“错误被动错误被动”的节的节点,错误信息为点,错误信息为“被动错误标

18、志被动错误标志”。扛霖劫才盼伤佛糠烤汲痴奸棒绅进千椭躇幸佰淖键阎粉怪沽券邦辙剖执糙飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范15.2.5 故障界定故障界定至于故障界定,单元的状态可能为下列三种之一:错误主动、错至于故障界定,单元的状态可能为下列三种之一:错误主动、错误被动、总线关闭。误被动、总线关闭。错误主动错误主动的单元可以正常地参与总线通信并在检测到错误时发出的单元可以正常地参与总线通信并在检测到错误时发出主动错误标志。主动错误标志。错误被动错误被动的单元不允许发送主动错误标志。错误被动的单元参与的单

19、元不允许发送主动错误标志。错误被动的单元参与总线通信,在错误被检测到时只发送被动错误标志。而且,发送以后,总线通信,在错误被检测到时只发送被动错误标志。而且,发送以后,错误被动单元将在初始化下一个发送之前处于等待状态。错误被动单元将在初始化下一个发送之前处于等待状态。总线关闭总线关闭的单元不允许在总线上有任何的影响。的单元不允许在总线上有任何的影响。诱誊紊莉烩氏豪账挞辱谈仑聘鞍肿士赔澈以翼堵兵醚瀑态往燃暂传惭粮糟飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范15.2.6 位定时与同步位定时与同步位定时与同步定

20、义位定时与同步定义CAN总线的通信速率,相关名词有:总线的通信速率,相关名词有:标称位速率标称位速率(Nominal Bit Rate):一理想的发送器在没有重新同步的:一理想的发送器在没有重新同步的情况下每秒发送的位数量。情况下每秒发送的位数量。标称位时间标称位时间(Nominal Bit Time):1/标称位速率。标称位时间可分成标称位速率。标称位时间可分成几个不重叠的片段,分别是:同步段几个不重叠的片段,分别是:同步段(SYNC_SEG)、传播段)、传播段(PROG_SEG)、相位缓冲段相位缓冲段1(PHASE_SEG1)、相位缓冲段、相位缓冲段2(PHASE_SEG2)。同步段同步段

21、(SYNC_SEG):用于同步总线上不同的节点,这一段内要有一:用于同步总线上不同的节点,这一段内要有一个跳变沿。个跳变沿。传播段传播段(PROG_SEG):用于补偿网络内的物理延时时间。它是总线上:用于补偿网络内的物理延时时间。它是总线上输入比较器延时和输出驱动器延时总和的输入比较器延时和输出驱动器延时总和的2倍。倍。相位缓冲段相位缓冲段1(PHASE_SEG1)、相位缓冲段、相位缓冲段2(PHASE_SEG2):用:用于补偿边沿阶段的误差。这两个段可以通过重新同步加长或缩短。于补偿边沿阶段的误差。这两个段可以通过重新同步加长或缩短。绷种亨前蛾攘芬触似骂雁潭鲜惰吕况晾迎拧剑胖享酥霖埃眩熄铱涉

22、享蓬祟飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范15.2.6 位定时与同步位定时与同步采样点采样点(Sample Point):读总线电平并解释各位的值的一个时间点。:读总线电平并解释各位的值的一个时间点。采样点位于相位缓冲段采样点位于相位缓冲段1之后。之后。信息处理时间信息处理时间(Information Processing Time):信息处理时间是:信息处理时间是以一个采样点作为起始的时间段。采样点用于计算后续位的位电平。以一个采样点作为起始的时间段。采样点用于计算后续位的位电平。时间份额时间份额

23、(Time Quanta):时间份额是派生于振荡器周期的固定时:时间份额是派生于振荡器周期的固定时间单元。存在一个可编程的预比例因子,将整体数值范围为间单元。存在一个可编程的预比例因子,将整体数值范围为1-32的整数,的整数,以最小时间份额为起点,时间份额的长度为:以最小时间份额为起点,时间份额的长度为:时间份额时间份额=m * 最小时间份额,其中,最小时间份额,其中,m为预比例因子为预比例因子时间段长度时间段长度(Length of Segments):同步段为:同步段为1个时间份额,传播个时间份额,传播段的长度可设置成段的长度可设置成1、28个时间份额,相位缓冲段个时间份额,相位缓冲段1的

24、长度可设置成的长度可设置成1、28个时间份额,相位缓冲段个时间份额,相位缓冲段2的长度为相位缓冲段的长度为相位缓冲段1和信息处理时间之和信息处理时间之间的最大值,信息处理时间少于或等于间的最大值,信息处理时间少于或等于2个时间份额。个时间份额。一个位时间总的时间份额值可以设置在一个位时间总的时间份额值可以设置在825的范围。的范围。 返回返回库域牲绵彩缓挣诺子问拿疵轮撵敢娩愈俐首郑暖至胸垮氛喧哺迹且喀骡劣飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.2 CAN技术规范15.3 MSCAN08模块及其外围接口硬件电路模块及其外围

25、接口硬件电路15.3.1 MSCAN08模块模块MSCAN08是是Freescale可升级控制器局域网(可升级控制器局域网(Motorola scalable controller area network,MSCAN)在)在Freescale 08系列微控制器中系列微控制器中的具体实现。该模块具有以下特性:的具体实现。该模块具有以下特性:模块化的设计模块化的设计符合符合CAN2.0A/B协议标准,支持标准和扩展数据帧格式协议标准,支持标准和扩展数据帧格式高达高达1Mbps的可编程通信速率的可编程通信速率一帧最多一帧最多8字节数据字节数据支持远程请求帧支持远程请求帧4个先进先出结构的收发缓冲区

26、,其中个先进先出结构的收发缓冲区,其中3个为具有局部优先级的发送缓冲区个为具有局部优先级的发送缓冲区灵活的标识符验收模式,可配置成灵活的标识符验收模式,可配置成1个个32位过滤码、位过滤码、2个个16位过滤码和位过滤码和4个个8位过位过滤码滤码内置低通滤波的远程唤醒功能内置低通滤波的远程唤醒功能可编程为方便调试的自环工作模式可编程为方便调试的自环工作模式氯桔札厂沽药充借院惜词斋辰姆巴继幂念泰芬腻痰掂植派睁楚危玫刨灭辫飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.3 MSCAN08模块及其外围接口硬件电路CAN系统系统 MSCA

27、N08使用使用2个外部引脚,一个输入(个外部引脚,一个输入(CANRX),一个输出),一个输出(CANTX)。)。CANTX 输出引脚代表了输出引脚代表了CAN上的逻辑电平:上的逻辑电平:0为显性,为显性,1为隐性。由为隐性。由MSCAN08模块构建的典型的模块构建的典型的CAN系统如下图。系统如下图。 120120MCUMCUCANCAN控制器控制器(MSCAN08MSCAN08)收发器收发器CANHCANH CANLCANLCANCANRXRXCANCAN节点节点CANCAN节点节点CANCAN节点节点120120CANHCANH CANLCANL CANHCANH CANLCANLCAN

28、CANTXTX罩魁谜湃蠕粤狸企烽冗逃绍膳喇孵骑躺婪非馆捌铰近呻盅逾畴哑澡僵灯逛飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.3 MSCAN08模块及其外围接口硬件电路15.3.2 总线驱动芯片总线驱动芯片PCA82C250和光电隔离芯片和光电隔离芯片6N137PCA82C250提供对总线的差动发送功提供对总线的差动发送功能,对能,对CAN控制器提供差动接收功能,速控制器提供差动接收功能,速度最高达度最高达1Mbps,可用于一般的工业应用,可用于一般的工业应用场合。该芯片的额定电源电压是场合。该芯片的额定电源电压是5V,有,有8

29、引引脚脚DIP和和 SO两种封装,右图给出了两种封装,右图给出了DIP封装封装的引脚图。其中引脚的引脚图。其中引脚Rs的用法的用法 见下表。见下表。TXD - 1GND - 2 Vcc - 3RXD - 48 - Rs7 - CANH6 -CANL5 - Vref PCA82C250引脚图引脚图工作模式Rs接法说明高速模式高速模式接低接低电平平支持最大支持最大总线长度度/速率。速率。斜率模式斜率模式过16.5k-140k的的电阻接地阻接地当使用非屏蔽的当使用非屏蔽的总线电缆时可考可考虑使用使用这种模式。种模式。该模式的模式的输出出转换速度可以被降低以减少速度可以被降低以减少电磁磁辐射。射。待机

30、模式待机模式接高接高电平平慢速模式,适用于慢速模式,适用于电池供池供电场合。合。锭牲究碎劈山芳贿乌粪膀西取忌帛嫩钝饭睫儡勋东狄港箩揭冈碳间久肮棠飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.3 MSCAN08模块及其外围接口硬件电路15.3.3 MSCAN08通信接口硬件电路通信接口硬件电路MSCAN08构建构建CAN总线系统智能节点的硬件电路如下图见微处总线系统智能节点的硬件电路如下图见微处理器采用带有理器采用带有MSCAN08模块的模块的MC68HC908GZ60,CAN总线驱动器总线驱动器采用采用PCA82C250。GZ

31、60负责负责MSCAN08的初始化,并通过读取的初始化,并通过读取MSCAN08模块的报文缓冲区收发数据。模块的报文缓冲区收发数据。GZ60的的CANTx和和CANRx与与PCA82C250通过高速光耦通过高速光耦6N137后再与后再与PCA82C250相连。相连。6N1376N137M MC C6 68 8H HC C9 90 08 8G GZ Z6 60 0CANTxCANTxCANRxCANRxVccVccIN IN EN EN Vdd OUT Vdd OUT GNDGND3 32 28 86 65 57 7GNDGNDOUT OUT Vdd Vdd EN INEN INVccVcc6N

32、1376N1375 56 67 78 83 32 23903903903900.1uF0.1uF390390390390TXD TXD CANH CANH RXD RXD CANL CANL Vref Vref Rs Rs Vcc GNDVcc GNDPCA82C250PCA82C2501 12 24 45 56 63 37 78 847K47KC CA AN N总总线线0.1uF0.1uF0.1uF0.1uFGND1GND1VCC1VCC1GND1GND1VCC1VCC1GND1GND1VCC2VCC2GND2GND2GND2GND2VCC2VCC2VCC1VCC15555垄底长将吩姻溯熄锈

33、帜旋累怎遮沪芍侩涩扣湃径竭屉冗占凭焕莆妊食充循飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.3 MSCAN08模块及其外围接口硬件电路15.3.4 MSCAN08编程原理编程原理CAN的基本原理是:接收数据时,的基本原理是:接收数据时,MSCAN08把外部的单线输入把外部的单线输入的数据变成并行数据送入的数据变成并行数据送入MCU内部;发送数据时,内部;发送数据时,MSCAN08则把需则把需要发送的并行数据转换为单线输出。为实现正确的要发送的并行数据转换为单线输出。为实现正确的CAN总线通信,需总线通信,需要设置通信速率、节点

34、标识符、要设置通信速率、节点标识符、 滤波方式等参数。滤波方式等参数。当当CAN总线上有报文在传输时,总线上除发送结点以外的所有节总线上有报文在传输时,总线上除发送结点以外的所有节点都将成为接收节点;接收节点将报文暂时存放在本地点都将成为接收节点;接收节点将报文暂时存放在本地MSCAN08的的后台后台(Background)接收缓冲区接收缓冲区RxBG中并进行滤波比较,即将该报文中并进行滤波比较,即将该报文的标识符与本地节点标识符进行比较;若该报文通过本地滤波,的标识符与本地节点标识符进行比较;若该报文通过本地滤波,MSCAN08则将此报文复制到前台则将此报文复制到前台(Foreground)

35、接收缓冲区接收缓冲区RxFG中,中,并置接收标志位通知并置接收标志位通知MCU去读取去读取RxFG中的数据。中的数据。MCU只能访问只能访问RxFG而不能访问而不能访问RxBG。 返回返回曰孽稗吮队柏舒袁己漱镁户汞捏掷捷莱腿烩始悄剁键羊怯宇憋哨兹署淀割飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.3 MSCAN08模块及其外围接口硬件电路15.4 MSCAN08模块的编程结构模块的编程结构15.4.1 报文存储报文存储(1)报文缓冲结构)报文缓冲结构(Message Buffer Outline) MC68HC908GZ60单

36、片机的单片机的MSCAN08有有1个发送报文缓冲区和个发送报文缓冲区和3个接收报文缓冲区。每个报文缓冲区个接收报文缓冲区。每个报文缓冲区均分配均分配16字节存储空间,其中,报文字节存储空间,其中,报文数据结构占数据结构占13字节。对于发送缓冲区,字节。对于发送缓冲区,任何时候都可读可写,而对于接收缓任何时候都可读可写,而对于接收缓冲区,则只能读不能写。报文缓冲区冲区,则只能读不能写。报文缓冲区的组织如右图。的组织如右图。地址(1)$05x0$05x0$05x1$05x1$05x2$05x2$05x3$05x3$05x4$05x4$05x5$05x5$05x6$05x6$05x7$05x7$05

37、x8$05x8$05x9$05x9$05xA$05xA$05xB$05xB$05xC$05xC$05xD$05xD$05xE$05xE$05xF$05xF寄存器名寄存器名标识符寄存器标识符寄存器0(IDR0)0(IDR0)标识符寄存器标识符寄存器1(IDR1)1(IDR1)标识符寄存器标识符寄存器2(IDR2)2(IDR2)标识符寄存器标识符寄存器3(IDR3)3(IDR3)数据段寄存器数据段寄存器0(DSR0)0(DSR0)数据段寄存器数据段寄存器1(DSR11(DSR1数据段寄存器数据段寄存器2(DSR2)2(DSR2)数据段寄存器数据段寄存器3(DSR3)3(DSR3)数据段寄存器数据段

38、寄存器4(DSR4)4(DSR4)数据段寄存器数据段寄存器5(DSR5)5(DSR5)数据段寄存器数据段寄存器6(DSR6)6(DSR6)数据段寄存器数据段寄存器7(DSR7)7(DSR7)数据长度寄存器数据长度寄存器(DLR)(DLR)发送缓冲区优先级寄存器发送缓冲区优先级寄存器未用未用未用未用芭仁秆表澈婆湾制骄素湃客游较曝边所告惭祝楷秧聊荤寒罕端官爱其墩何飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.4 MSCAN08模块的编程结构(2)标识寄存器)标识寄存器(Identifier Registers,IR)标识符寄存器或

39、由标识符寄存器或由11位位(ID10-ID0)组成标准帧,或由组成标准帧,或由29位位(ID28-ID0)组成扩展帧。在总线仲裁过程中,最高位组成扩展帧。在总线仲裁过程中,最高位(ID10/ID28)是最先发送是最先发送的,值越小优先级越高。标准帧标识符各字节含义见下图。的,值越小优先级越高。标准帧标识符各字节含义见下图。SRR Substitute Remote Request:替代远程请求。在扩展帧:替代远程请求。在扩展帧中,该位为隐性位;在标准帧中,该位为中,该位为隐性位;在标准帧中,该位为RTR。IDE ID Extended:ID扩展。扩展。=1,扩展帧格式,扩展帧格式,29位标识符

40、;位标识符;=0,标准帧格式,标准帧格式,11位标识符。位标识符。RTR Remote Transmission Request:远程发送请求。:远程发送请求。=1,远程帧,远程帧,=0,数据帧。,数据帧。Bit7 6 5 4 3 2 1 Bit0Bit7 6 5 4 3 2 1 Bit0地址地址$05x0$05x0$05x1$05x1$05x2$05x2$05x3$05x3寄存器名寄存器名标识符寄存器标识符寄存器0(IDR0)0(IDR0)标识符寄存器标识符寄存器1(IDR1)1(IDR1)标识符寄存器标识符寄存器2(IDR2)2(IDR2)标识符寄存器标识符寄存器3(IDR3)3(IDR3

41、)ID2 ID2 ID1 ID1 I ID0 D0 RTR RTR IDE=0 IDE=0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ID10ID10 ID9 ID9 ID8 ID8 ID7 ID7 ID6 ID5 ID6 ID5 ID4 ID4 ID3ID3改匪淄奄饶揩队凸驾簧列戎骗琉鳖店独霹夏要碳皋烈绿饲南抨裤污择猖脐飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.4 MSCAN08模块的编程结构(3)数据长度寄存器)数据长度寄存器(Data

42、 Length Register,DLR) 数数据据长长度度寄寄存存器器存存放放的的是是CAN帧帧的的数数据据长长度度,长长度度范范围围为为0-8。在在远远程程帧帧中中,不不管管DLR是是否否被被写写入入,数数据据长长度度个个数数总总是是为为0。DLR中中各位含义见下表。各位含义见下表。数据长度代码数据长度代码数据字节个数数据字节个数DLC3DLC2DLC1DLC0000000001100102001130100400115010060111710008冠疹阻鸣尾摊基担他弟嫁号诛栋芒变淌溜擒卖兆吐捕李皿帆样伦菊野删妈飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9

43、S86CAN通信接口ppt课件15.4 MSCAN08模块的编程结构(4)数据段寄存器)数据段寄存器n(Data Segment Registers n,DSRn) 8个数据段寄存器中存放发送或接收的数据,数据个数由个数据段寄存器中存放发送或接收的数据,数据个数由DLC指定。指定。(5)发送缓冲区优先级寄存器)发送缓冲区优先级寄存器(Transmit Buffer Priority Registers,TBPR) 该寄存器指定了相应报文缓冲区的本地优先级,该优先级被用于该寄存器指定了相应报文缓冲区的本地优先级,该优先级被用于MSCAN08的内部优先级处理,值越小优先级越高。地址:的内部优先级处

44、理,值越小优先级越高。地址:$05xD,x=5、6、7。数据位数据位 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0读PRIO7 PRIO6 PRIO5 PRIO4 PRIO3 PRIO2 PRIO1 PRIO0PRIO7 PRIO6 PRIO5 PRIO4 PRIO3 PRIO2 PRIO1 PRIO0写写复位复位复位不影响复位不影响丁榴募隶霉隋怎藉懒寿痒谊逐茫渭痕贷伐现即连蓉规侍巩位沈斩递余腥怀飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.4 MSCAN08模块的编程结构15

45、.4.2 控制寄存器控制寄存器(1)MSCAN08模式控制寄存器模式控制寄存器0 (Module Control Register 0,CMCR0) (2)MSCAN08模式控制寄存器模式控制寄存器1 (Module Control Register 1,CMCR1) (3)MSCAN08总线定时寄存器总线定时寄存器0 (Bus Timing Register 0,CBTR0)(4)MSCAN08总线定时寄存器总线定时寄存器1(Bus Timing Register 1,CBTR1)(5)MSCAN08接收标志寄存器接收标志寄存器(Receiver Flag Register,CRFLR)(6

46、)MSCAN08接收中断使能寄存器接收中断使能寄存器(Receiver Interrupt Enable Register,CRIER)(7)MSCAN08发送标志寄存器发送标志寄存器(Transmitter Flag Register,CTFLR)(8)MSCAN08发送控制存器发送控制存器(Transmitter Control Register,CTCR)(9)MSCAN08标识符验收控制寄存器标识符验收控制寄存器(Identifier Acceptance Control Register,CIDACR)专鳃嘶震碧躲蓟诺发羡劈址丙辕塑竣亚前淬嘻铬贡痰择催秒蛇剩茨藻娟肚飞思卡尔8位单片机

47、MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.4 MSCAN08模块的编程结构15.4.2 控制寄存器控制寄存器(10)MSCAN08接收错误计数器接收错误计数器(Receiver Error Counter,CRXERR)(11)MSCAN08发送错误计数器发送错误计数器(Transmit Error Counter,CTER)(12)MSCAN08标识符验收寄存器标识符验收寄存器(Identifier Acceptance Register,CIDAR)(13)MSCAN08标识符屏蔽寄存器标识符屏蔽寄存器(Identifier Mask

48、Register,CIDMR0-3)钞阴四惩侯儡碗蓬饱雹地勘握叉希巧惋粗荆朵脾澎梗痪药司童晃吾淡铰硕飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.4 MSCAN08模块的编程结构15.4.3 CAN接口初始化与接口初始化与CAN报文收发编程的基报文收发编程的基本方法本方法 定义报文验收模式和验收屏蔽位定义报文验收模式和验收屏蔽位 LDA #$00 STA CIDAC LDA #$00 STA CIDMR0 LDA #$1F STA CIDMR1 定义中断方式定义中断方式 LDA #$00 STA CRIER LDA #$00

49、STA CTCR 进入正常工作模式进入正常工作模式 LDA #$00 STA CMCR0 (1)MSCAN08初始化初始化 启用启用MSCAN08模块模块 LDA #%00001000 STA CONFIG2 进入软复位状态进入软复位状态 LDA #%00000001 STA CMCR0 设置节点标识符为设置节点标识符为10,采用,采用按标准帧格式按标准帧格式 LDA #%00000001 STA CIDAR0 LDA #%01000000 STA CIDAR1哈怎他垄涌莲沧斟虹逾胶俗期羞樱看骄乒雌弱冗榔贪敛稳易漫欲焕建鹅凋飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片

50、机MC9S86CAN通信接口ppt课件15.4 MSCAN08模块的编程结构(2)发送一帧数据)发送一帧数据 LDA CTFLG AND #%00000111 STA FLAG CMP #$0 BEQ CTFLGN BRCLR 0,FLAG,CTFLG1 ;1号缓冲区空号缓冲区空 CTFLG1: BRCLR 1,FLAG,CTFLG2 ;2号缓冲区空号缓冲区空 CTFLG2: ;3号缓冲区空号缓冲区空 CTFLGN: ;没有空闲的发送缓冲区没有空闲的发送缓冲区 GZ60的的MSCAN08模模块块有有三三个个发发送送缓缓冲冲区区,当当MCU需需要要往往CAN总总线线上上发发送送数数据据时时,先先

51、查查询询是是否否有有空空闲闲的的发发送送缓缓冲冲区区;若若有有,则则可可将将协协议议报报文文存存入入空空闲闲缓缓冲冲区区,并并通通知知MSCAN08将将报报文文发送出去。发送出去。辗湘班闰谍翅壹遗粉运淀屠临株庇晚脑峦库法小挛猿础蔓砸俞态檬计填匈飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.4 MSCAN08模块的编程结构(3)接收一帧数据)接收一帧数据 若以查询方式接收数据,首先查询接收状态寄存器若以查询方式接收数据,首先查询接收状态寄存器CRFLG的接收的接收缓冲区满标志缓冲区满标志RXF(第第5位位),以判断,以判断MSC

52、AN08是否收到正确的报文。是否收到正确的报文。若该标志位为若该标志位为1,则表示收到,则表示收到CAN协议报文,协议报文,MCU可以从可以从MSCAN08的接收缓冲区的接收缓冲区($0540-$055C)中读取数据。中读取数据。 ;查询方式接收查询方式接收CAN总线上的数据总线上的数据 ;若接收到数据,若接收到数据,MCU可从接收缓冲区可从接收缓冲区$0540-$055C读数据;读数据; LDA CRFLG STA FLAG BRCLR RXF,FLAG,* ;从从MSCAN08接收缓冲区读取一帧数据接收缓冲区读取一帧数据 返回返回构督雅拔溜僧竟婪名缉傻灶牙佐筷君否罐表阀秩偿弊畏哀澡腻郑嚼梦

53、捆尺飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.4 MSCAN08模块的编程结构15.5 MSCAN08编程实例编程实例(1)GZ60的最小系统的最小系统 GZ60最小系统的硬件连接图如下。最小系统的硬件连接图如下。MAX232CPE16 15 14 13 12 11 10 91 2 3 4 5 6 7 8GND +5V+5VMC68HC908GZ60电源电源晶振电路晶振电路RXDTXDRESET+5V10K510.1uGND10M4MOSC1OSC2+VSS0.1u+5VVDD15p22pGNDGND10uGNDDB9复位

54、电路复位电路SCI电路电路眠中伴羔细档刁细奇岳屹绿拥尖结术饺颇裙父业赘如犹贫脏电象废褥滦京飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.5 MSCAN08编程实例(2)CAN结点的软件结点的软件 初始化子程序初始化子程序 发送发送1个个CAN数据报文子程序数据报文子程序 接收一个接收一个CAN报文子程序报文子程序返回返回嵌愉磺山倪罗却耶今但锡巫肉冬嗜下音誓冶董融锻划糊赏觅靖假戮迟剐湿飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件15.5 MSCAN08编程实例本章首先介绍了现场总线的使用情况,然后详细讲述了本章首先介绍了现场总线的使用情况,然后详细讲述了CAN的的技术规范以及嵌入式应用中技术规范以及嵌入式应用中CAN的使用方法,最后给出的使用方法,最后给出Freescale中中带有带有CAN模块的模块的MC68HC908GZ系列系列MCU的的CAN编程方法,并给出编程方法,并给出了编程实例。了编程实例。本章小结本章小结返回返回滚剃亩斤竭盖钦毙坟骨津亩藤枉止翌衣且市梗仙严鬼八肠淖捡的课缠蒙缨飞思卡尔8位单片机MC9S86CAN通信接口ppt课件飞思卡尔8位单片机MC9S86CAN通信接口ppt课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号