控制器局域网总线——CAN
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 82C200对于微控制器以两部分独立工作的 存储器映像外围设备出现,下面介绍各寄存 器地址分配及功能。
①地址分配
82C200的地址域由控制段和报文缓存器组 成。被发送的报文必须写入发送缓存器,成 功接收后,微控制器可从接收缓存器读取报 文,然后释放它,准备下次使用。
②控制段
微控制器与82C200之间的状态、控制和命 令信号的交换在控制段中完成。
CPU通过4个特殊功能寄存器CANADR, CANDAT,CANCON和CANSTA可以访问 CAN控制器,也可以访问DMA逻辑。
(1)帧起始(SOF)标志数据帧和远程帧的起始, 它仅请求位(RTR) 组成。
(3)控制场由6位组成,控制场包括数据长度码 和两个保留位,这两个保留位必须发送显 性位,但接收器认可显位与隐位的全部组 合。
(4)数据场由数据帧中被发送的数据组成,它 可包括0~8个字节,每个字节8位。首先发 送的是最高有效位。
• 测试输出方式:对于引脚CTX0,这种方式 与正常方式相同。为测试发送和接收之间 的延迟时间,这种方式将输入比较器的输 出端与CTXl输出驱动器的输入端连接起来, 此方式仅用于测试。
10、测试寄存器 测试寄存器仅用于生产测试
③发送缓存层
该缓存区用于存储由微控制器送至82C200的被发 送报文。
9.输出控制寄存器(OCR)
在软件的控制下,输出控制寄存器可建立输 出驱动器的不同配置。
若82C200处于睡眠方式(Sleep位为高),隐 性电平在引脚CTX0和CTXl输出。
若82C200处于复位状态(复位请求位为高), 则输出驱动器悬浮。
由输出控制寄存器中两位输出方式 (OCMODE1,OCMODE0)可确定的4种输 出方式:
• 正常输出方式:
位序列(TXD)通过CTX0和CTXl被传送。
• 时钟输出方式:对于引脚CTX0,这种方式 与正常输出方式相同。而CTXl的数据流被 发送时钟代替,发送时钟的上升沿标志位 周期的开始,时钟脉冲宽度为tSCL。
• 双相输出方式:与正常输出方式相反,位 出现时间是可变的,并且是可触发的。
检测错误 • 出错标注和恢复时间
已损报文由检出错误的任何节点进行标注。 如果不存在新的错误,自检出错误至下一个 报文开始发送的恢复时间最多为29个位时间。
• 故障界定 CAN节点有能力识别永久性故障和短暂扰 动,可自动关闭故障节点。
• 连接 • 单通道
由单一进行双向位传送的通道组成的总线, 借助数据重同步实现信息传输。
⑤帧间空间
帧间空间包括间歇场和总线空闲场,对于 前面已经发送报文的“错误认可”站还有 暂停发送场。
间歇场由3个隐位组成。 总线空闲周期可为任意长度。
4、错误类型和界定
CAN总线中存在5种错误类型 • 位错误 • 填充错误 • CRC错误 • 形式错误 • 应答错误
• CAN总线中,任何一个单元可能处于下列三 种故障状态之一:错误激活、错误认可和总 线关闭。
44脚PLCC封装,引脚与82526兼容。
3、带有CAN总线接口的微控制器及I/O器件 ①8位微控制器P8XC592
8位微控制器;
Philips现有微控制器P8XC552和CAN通信 控制器82C200的功能组合;
与8XC552微控制器的不同之处是:
CAN总线取代了原PC总线;在片程序存储 器扩展至16KB;增加了256字节内部RAM, 并在CAN发送/接收缓存器与内部RAM之 间建立了DMA,为便于访问CAN发送/接 收缓存器,在内部专用寄存器块中增加了4 个特殊功能寄存器。
• 报文传送由4种不同类型的帧表示和控制
数据帧携带数据由发送器至接收器;远程 帧通过总线单元发送,以请求发送具有相 同标识符的数据帧;出错帧由检测出总线 错误的任何单元发送;超载帧用于提供当 前的和后续的数据帧的附加延迟。
①数据帧
• 数据帧由7个不同的位场组成,即帧起始、 仲裁场、控制场、数据场、CRC场、应答 场和帧结束。
错误标志具有两种形式,一种是活动错误 标志,一种是认可错误标志,活动错误标 志由6个连续的显位组成,而认可错误标志 由6个连续的隐位组成。
④超载帧 超载帧包括两个位场:超载标志和超载界定 符。 超载条件: A、一个是要求延迟下一个数据帧或远程帧 的接收器的内部条件; B、另一个是在间歇场检测到显位。 超载标志由6个显位组成。 超载界定符由8个隐位组成。
5.验收码寄存器(ACR)
验收码寄存器是82C200的验收滤波器的一 部分,若复位请求位被置为高,该寄存器 可被访问。
6.验收屏蔽寄存器(AMR)
7.总线定时寄存器0(BTR0)
总线定时寄存器0的内容决定波特率预分频 器(BRP)和同步跳转宽度(SJW)的数值。
8.总线定时寄存器1(BTR1)
总线定时寄存器1的内容为周期宽度、采样 点位置和在每个采样点获取采样的数目。
输出功能,以使总线上其他节点的操作不受 影响。
二、CAN的技术规范
• 技术规范包括A和B两部分。 给出了CAN报文标准格式,而给出了标准 的和扩展的两种格式。
1、CAN的基本概念 • 报文
总线上的信息以不同格式的报文发送,但 长度有限制。 • 位速率
• 信息路由 CAN系统中,一个CAN节点不使用有关系统结 构的任何信息(如站地址)。 它以包含下列重要概念:
系统灵活性、报文通信、成组、数据相容性
• 优先权 在总线访问期间,标识符定义了一个报文静 态的优先权。
• 远程数据请求 通过发送一个远程帧,需要数据的节点可以请 求另一个节点发送一个相应的数据帧,该数据 帧与对应的远程帧以相同标识符ID命名。
• 多主站 • 仲裁
总线访问冲突运用逐位仲裁规则。 • 安全性
它分为描述符和数据场。发送缓存器可借助微控制 器写入或读出。
A、描述符 (1)标识符(1D) (2)远程发送请求位(RTR) (3)数据长度码(DLC)
数据字节计数的范围为。0—8个字节,并被编码为: 数据字节数 =8×DLC.3+4×DLC.2+2×DLC.1+DLC.0
B、数据场 发送数据字节的数目由数据长度码决定。
3.状态寄存器(SR)
状态寄存器的内容影响总线控制器的状态。 状态寄存器对于微控制器作为只读存储 器 出现。
4.中断寄存器(IR)
中断寄存器允许识别中断源,当寄存器的一 个或更多位被置位时,INT引脚被激活。在 该寄存器被微控制器读出后,所有位被 82C200复位。该寄存器对于微控制器作为 只读 存储器出现。
地址单元12中的数据字节1的最高位将首先 被发送。
④接收缓存器层
接收缓存器有两个物理存储区,对应同一 个逻辑地址空间。
⑤时钟分频寄存器
用来控制微控制器的CLKOUT输出频率。
2、Intel 82527CAN通信控制器
①独立的CAN控制器。它可通过并行总线 与各种微控制器接口,也可通过串行口与 无并行总线的微控制器接口。 ②一种可按CAN规程完成串行通信的高集 成度器件 。 ③82527是支持CAN规程标准和扩展报文格 式的第一个器件。
• 在CAN技术规范2.0A的版本中,数据链路 层的LLC和MAC子层的服务和功能被描述为 “目标层”和“传送层”。
• LLC子层的主要功能 物理层的功能
• CAN技术规范2.0B定义了数据链路中的 MAC子层和LLC子层的一部分,并描述与 CAN有关的外层。
• MAC子层是CAN协议的核心,它描述由 LLC子层接收到的报文和对LLC子层发送的 认可报文。
具有15个信息缓冲区,每个信息长度为8字 节,包括14个TX/RX缓冲区,1个带可程控 屏蔽的RX缓冲区;
可变CPU接口,包括多路8位总线(Intel或 Motorola方式)、多路16位总线、8位非多路 总线(同步/异步)、串行接口(如SPl);
可程控位速率并有可程控时钟输出;
可变中断结构;
可设置输出驱动器和输入比较器结构;·两 个8位双向I/O口;
④82527具有一个强功能的CPU接口 。 ⑤可提供15个8字节数据长度的报文目标。 ⑥具有实现报文滤波的全局屏蔽功能 。
• 82527的CAN控制器通过在片双端口RAM与 微控制器进行数据交换。其主要特性可概括 如下:
支持CAN 2.0B规范,包括标准和扩展数据 帧和远程帧;
可程控全局屏蔽,包括标准和扩展标识符;
• 总线数值表示 总线上具有两种互补逻辑数值;显性电平 或隐性电平。
• 应答
所有接收器均对接收报文的相容性进行检 查,回答一个相容报文,并标注一个不相 容报文。
• 睡眠方式及唤醒
为降低系统功耗,CAN器件可被置于无任 何内部活动的睡眠方式,相当于未连接总 线的驱动器。
2、CAN节点的分层结构
• CAN分为数据链路层(包括逻辑链路控制子层 LLC和媒体访问控制子层MAC)和物理层。
控制器局域网总线——CAN
• CAN属于总线式串行通信网络,由于其采用了 许多新技术及独特的设计,其数据通信具有突 出的可靠性、实时性和灵活性。特点:
①CAN为多主方式工作 ,可方便地构成多机 备份系统。
②CAN网络上的节点信息分成不同的优先级。
③CAN采用非破坏性总线仲裁技术,在网络负 载很重的情况下也不会出现网络瘫痪情况。
• LLC子层的主要功能是报文滤波、超载通知 和恢复管理。
3、报文传送及其帧结构
• 发送器 接收器
• 构成一帧的帧起始、仲裁场、控制场、数据场 和CRC序列均借助位填充规则进行编码。
• 数据帧和远程帧的其余位场采用固定格式,不 进行填充。出错帧和超载帧也是采用固定格式, 也不进行位填充。
• 报文中的位流按照非归零(NRZ)码方法编码 。
三、 CAN总线有关器件介绍
1、CAN通信控制器82C200 CAN的通信协议主要由CAN控制器完成。 CAN控制器主要由实现CAN总线协议部分 和与微控制器接口部分电路组成。 82C200有PCA 82C200和PCF82C200两 种类型。
控制器主要由下述几部分构成: (1)接口管理逻辑 (2)发送缓存器 (3)接收缓存器 (4)位流处理器 (5)位定时逻辑 (6)收发逻辑 (7)错误管理逻辑 (8)控制器接口逻辑
1.控制寄存器(CR)
控制寄存器的内容用于改变82C200的状态, 控制位可被微控制器置位或复位,它将 控 制寄存器作为读写存储器。
2.命令寄存器(CMR)
命令位在82C200的传输层内初始化一种作 用,命令寄存器对于82C200作为读写存储 器出现,若对地址进行读访问,则返回字 节11111111B。
④CAN只需通过报文滤波即可实现点对点、一 点对多点及全局广播等几种方式传 送接收数 据,无需专门的“调度”。
⑤CAN上的节点数主要取决于总线驱动电路 。 ⑥采用短帧结构,具有极好的检错效果。
⑦CAN的每帧信息都有CRC校验及其他检错措 施,保证了数据出错率极低。
⑧CAN的通信介质可选择灵活。 ⑨CAN节点在错误严重的情况下具有自动关闭
• 为了界定故障,在每个总线单元中都设有两 种计数:
发送出错计数和接收出错计数。
这些计数按照(书94-95)规则进行(在给定 报文传送期间,可应用其中一个以上的规则)。
5、位定时与同步
6、CAN总线媒体装置特性 (基于双绞线的建议 )
将连接于总线的每个节点称为电子控制装置 (ECU)。总线每个末端均接有以RL表示的抑 制反射的终端负载电阻,而位于ECU内部 的RL应予取消。总线驱动可采用单线上拉、 单线下拉或双线驱动,接收采用差分比较器。 总线可具有两种逻辑状态:隐性或显性
(5)CRC场包括CRC序列,后随CRC界定符。 (6)应答场(ACK)为两位,包括应答间隙和应答
界定符。 (7)帧结束:每个数据帧和远程帧均由7个隐位
组成的标志序列界定。
②远程帧 远程帧由6个不同分位场组成:帧起始、仲 裁场、控制场、CRC场、应答场和帧结束。
③出错帧
出错帧由两个不同场组成,第一个场由来 自各站的错误标志叠加得到,后随的第二 个场是出错界定符。
• 在中存在两种不同的帧格式,其主要区别 在于标识符的长度,具有11位标识符的帧 称为标准帧,而包括29位标识符的帧称为 扩展帧。
• 新型控制器必须执行标准格式,但不要求 必需执行完全的扩展格式 。至少具有下列 特性,则可被认为同CAN技术规范兼容:
A、每个控制器均支持标准格式;
B、每个控制器均接受扩展格式报文,即不 至于因为它们的格式而破坏扩展帧。