当前位置:文档之家› 飞思卡尔8位单片机MC9S08第15章 CAN通信接口

飞思卡尔8位单片机MC9S08第15章 CAN通信接口

工作模式 高速模式 斜率模式 待机模式 Rs接法 接低电平 过16.5kΩ-140kΩ 的电阻接地 接高电平 TXD ---- 1 GND ---- 2 Vcc ----- 3 RXD --- 4 8 ---- Rs 7 ---- CANH 6 ---CANL 5 ---- Vref
PCA82C250引脚图 说明
6N137
390Ω CANTx VCC2 390Ω GND2 CANRx VCC2 GND2 0.1uF 5 GND 6 OUT 7 EN 8 Vcc 3 2 IN Vdd Vcc EN OUT GND 8 0.1uF 7 6 5 GND1 390Ω Vdd IN 2 3 VCC1 390Ω VCC1 0.1uF GND1 GND1 VCC1 1 4
(4)过载帧
过载帧包括两个位场:过载标志和过载界定符。过载帧的组成如 下图。
数据帧 过载标志 过载标志的重叠
图15-7过载帧组成
过载帧
帧间空间 或过载帧 过载界定符
15.2 CAN技术规范
15.2.4 错误处理
1)错误检测( 5种不同的错误类型)
位错误:单元在发送位的同时也对总线进行监视。如果所发送 的位值与所监视的位值不相同,则在位时间里检测到一个位错误。 填充错误:如果在使用位填充法进行编码的信息中,出现了6个 连续相同的电平时,将检测到一个填充错误。 CRC错误:CRC序列包括发送器的CRC计算结果。如果计算结 果与接收到的CRC序列的结果不相符,则检测到一个CRC错误。 形式错误:当一个固定的位场含有1个或多个非法位,则检测到 一个形式错误。 应答错误:只要在应答间隙期间所监视的位不为显性,则发送 器会检测到一个应答错误。
15.2 CAN技术规范
15.2.3 报文传输和帧结构
报文传输由以下4个不同的帧类型表示和控制: 数据帧:数据帧将数据从发送器传输到接收器。 远程帧:总线单元发出远程帧,请求发送具有同一标识符的数 据帧。 错误帧:任何单元检测到总线错误就发出错误帧。 过载帧:过载帧用于在先行和后续数据帧(或远程帧)之间提 供一附加的延时。 数据帧和远程帧可以使用标准帧及扩展帧两种格式。它们用一 个帧间空间与前面的帧分隔。
(13)应答(Acknowledgment)
所有接收器对接收到的报文进行一致性检查。对于一致的报文,接 收器给予应答;对于不一致的报文,接收器做出标志。
15.2 CAN技术规范
15.2.2 CAN总线的位数值表示与通信距离
V VCANH Vdiff VCAN-L 隐性位 时间t
Vdiff Vdiff 隐性位 显性位 总线位的数值表示
15.1 现场总线概述
返回
15.2 CAN技术规范
15.2.1 CAN的基本概念
(1)报文(Messages)
总线上传输的信息即为报文,它们以若干个不同的固定格式发送,但长 度受限。当总线空闲时,总线上任何单元均可发送新报文。
(2)信息路由(Information Routing)
在CAN系统中,CAN不对单元分配站地址,报文的寻址内容由报文的标 识符指定。标识符不指出报文的目的地,但是这个数据的特定含义使得总线 上所有单元可以通过报文滤波来判断该数据是否与它们相符合。
(3)位速率(Bit Rate)
即总线的传输速率。在一个给定的CAN系统中,位速率是唯一的,也是 固定的。
(4)优先权(Priorities)
在总线访问期间,标识符定义一个静态的报文优先权。
15.2 CAN技术规范
(5)远程数据请求(Remote Data Request)
当总线上某单元需要请求另一单元发送数据时,可通过发送远程 帧实现远程数据请求。
模块化的设计 符合CAN2.0A/B协议标准,支持标准和扩展数据帧格式 高达1Mbps的可编程通信速率 一帧最多8字节数据 支持远程请求帧 4个先进先出结构的收发缓冲区,其中3个为具有局部优先级的发送缓冲区 灵活的标识符验收模式,可配置成1个32位过滤码、2个16位过滤码和4个8位过 滤码 内置低通滤波的远程唤醒功能 可编程为方便调试的自环工作模式
支持最大总线长度/速率。 当使用非屏蔽的总线电缆时可考虑使用这种模式。 该模式的输出转换速度可以被降低以减少电磁辐射。 慢速模式,适用于电池供电场合。
15.3 MSCAN08模块及其外围接口硬件电路
15.3.3 MSCAN08通信接口硬件电路
MSCAN08构建CAN总线系统智能节点的硬件电路如下图见微处 理器采用带有MSCAN08模块的MC68HC908GZ60,CAN总线驱动器 采用PCA82C250。GZ60负责MSCAN08的初始化,并通过读取 MSCAN08模块的报文缓冲区收发数据。GZ60的CANTx和CANRx与 PCA82C250通过高速光耦6N137后再与PCA82C250相连。
任何检测到错误的单元会标志出已被损坏的报文。此报文会失效 并将自动重传。如果不再出现错误,则从检测到错误到下一报文的传 送开始为止,恢复时间最多为31位的时间。
15.2 CAN技术规范
(9)故障界定(Fault Confinement)
CAN单元能够把永久故障和短暂的干扰区别开来。
(10)连接(Connection)
15.2 CAN技术规范
15.2.6 位定时与同步
位定时与同步定义CAN总线的通信速率,相关名词有: 标称位速率(Nominal Bit Rate):一理想的发送器在没有重新同步 的情况下每秒发送的位数量。 标称位时间(Nominal Bit Time):1/标称位速率。标称位时间可分 成几个不重叠的片段,分别是:同步段(SYNC_SEG)、传播段 (PROG_SEG)、相位缓冲段1(PHASE_SEG1)、相位缓冲段 2(PHASE_SEG2)。 同步段(SYNC_SEG):用于同步总线上不同的节点,这一段内要有 一个跳变沿。 传播段(PROG_SEG):用于补偿网络内的物理延时时间。它是总线 上输入比较器延时和输出驱动器延时总和的2倍。 相位缓冲段1(PHASE_SEG1)、相位缓冲段2(PHASE_SEG2):用 于补偿边沿阶段的误差。这两个段可以通过重新同步加长或缩短。
15.2 CAN技术规范
15.2.6 位定时与同步
采样点(Sample Point):读总线电平并解释各位的值的一个时间点。 采样点位于相位缓冲段1之后。 信息处理时间(Information Processing Time):信息处理时间是 以一个采样点作为起始的时间段。采样点用于计算后续位的位电平。 时间份额(Time Quanta):时间份额是派生于振荡器周期的固定时 间单元。存在一个可编程的预比例因子,将整体数值范围为1-32的整数, 以最小时间份额为起点,时间份额的长度为: 时间份额=m * 最小时间份额,其中,m为预比例因子 时间段长度(Length of Segments):同步段为1个时间份额,传播 段的长度可设置成1、2…8个时间份额,相位缓冲段1的长度可设置成1、 2…8个时间份额,相位缓冲段2的长度为相位缓冲段1和信息处理时间 之间的最大值,信息处理时间少于或等于2个时间份额。 一个位时间总的时间份额值可以设置在8~25的范围。

(6)多主机(Multimaster)
总线空闲时,总线上任何单元都可以开始向总线上传送报文,但 只有最高优先权报文的单元可获得总线访问权。
(7)仲裁(Arbitration)
总线空闲时,若同时有两个或两个以上单元开始发送报文,总线 访问冲突运用逐位仲裁规则,借助标识符ID解决。
(8)错误标定和恢复时间(Error Signaling and Recovery Time)
15.3 MSCAN08模块及其外围接口硬件电路
CAN系统
MSCAN08使用2个外部引脚,一个输入(CANRX),一个输出 (CANTX)。CANTX 输出引脚代表了CAN上的逻辑电平:0为显性, 1为隐性。由MSCAN08模块构建的典型的CAN系统如下图。
CAN节点 MCU CAN控制器 (MSCAN08) CANTX CANRX CANH CANL 120Ω CANL CANH CANL CAN节点 CAN节点
2)错误标定
检测到错误条件的站通过发送错误标志指示错误。对于“错误 主动”的节点,错误信息为“主动错误标志”,对于“错误被动” 的节点,错误信息为“被动错误标志”。
15.2 CAN技术规范
15.2.5 故障界定
至于故障界定,单元的状态可能为下列三种之一:错误主动、 错误被动、总线关闭。 错误主动的单元可以正常地参与总线通信并在检测到错误时发 出主动错误标志。 错误被动的单元不允许发送主动错误标志。错误被动的单元参 与总线通信,在错误被检测到时只发送被动错误标志。而且,发送 以后,错误被动单元将在初始化下一个发送之前处于等待状态。 总线关闭的单元不允许在总线上有任何的影响。
第十五章 CAN通信接口
主要内容

现场总线概述 CAN技术规范 MSCAN08模块及其外围接口硬件电路 MSCAN08模块的编程结构 MSCAN08编程实例
15.1 现场总线概述
现场总线是一种应用于生产现场,在现场设备之间、现场设备
与控制装置之间实行双向、串行、多节点数字通信的技术。它是一项 以智能传感、控制、计算机、数据通信为主要内容的综合技术,是当 今自动化领域发展的热点之一,被誉为自动化领域的局域网。 目前国际上存在几十种现场总线标准,比较流行的主要有FF(基 金会现场总线)、CAN(控制器局域网)、LonWorks、Profibus等。
返回
15.2 CAN技术规范
15.3 MSCAN08模块及其外围接口硬件电路
15.3.1 MSCAN08模块
MSCAN08是Freescale可升级控制器局域网(Motorola scalable controller area network,MSCAN)在Freescale 08系列微控制器中 的具体实现。该模块具有以下特性:
相关主题