CAN 协议通信格式

更新时间:2023-07-17 18:10:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CAN 协议通信格式

CA N 协议通信格式 中有 四种帧格式 : 数据 帧、

远程帧、 出错帧和超载帧。其中断帧和远程帧的发

送需要在 CPU 控制下进行 , 而 出错帧和超载帧的

发送则是在错误发生或超载时 自动进行的。数据

帧结构如图 1 所示 。

个完整的数据帧格式 , 除了仲裁场 、 控制场 、

数据场外都是 CA N 控制器发送数据时 自动加上去

的, 而仲裁场 、 控制场 、 数据场则必须 由 CPU 控制

给出。用 SJA 1000 时, 写出发送缓 冲器 的 TX ID0 、

TX ID 1 即设定 了相应 的仲裁场 和控制场。TX ID0

即为仲裁场的高 8 位 , TX ID 1 的高 3 位为仲裁场的

低 3 位 , 组成共 11 位 的仲裁 场。TX ID 1 的第 5 位

为 RTR 位, 即远程请求位。其在数据帧中为“ 0” ;

TX D 1 低 4 位标示数据场所含字节数的多少 , 称 为

D LC 。R TR 和 D LC 共同构成控制场。发送的数据

组成数据场, 最多不超过 8 个字节。远程帧和数据

帧的形式差别在于没有数据场 。除此之外 , 在远程

帧中RTR 位必须置“ 1” , 表示请求数据源节点向它

的目的节点(即发送远程帧的节点 )发送数据。源

节点接收到该帧后, 把要发磅数据用帧发给目的节

点 , 完成数据请求。CR C 场与 A CK 场都是在低层

次上为提高传输的可靠性 而 自动进行 的。任何 帧

与帧之间是帧间空间。

帧起始l f 中裁场 制场l 数据场I CRC场l AcK场1 帧结

图 1 数据帧结构

3。 3 CA N 总线系统的构成

从原理和实现的角度 , 只要有两个 CA N 节点

和将它们连接成一体 的通信媒体就可 以构成一个

CA N 总线 系统 , 这两个节点之间通过通信媒体交

换信息。而由 CA N 总线构成的控制网络的结构一

般 由控制器节点、 传感器节点 、 执行器节点以及其

他的监控节点如人机界组成 , CAN 作 为控制局域

网还可 以通过 网关 和其他网络如以太 网互联构成

维普资讯

170 杨春英 : CA N 现场总线系统设计技术及实现 总第 160 期

大型复杂的控制网络结构 , 如图2 所示。

图 2 CA N 总线控制 网络结构图

4 CA N 接 口模块的设计

R

CA N 接 口模块是实现上位机 系统和 CA N 总

线的连接接 口, 它 的作用和 以太 网卡相 同。CAN

接 口模块 的设计选用 CA N 专业芯 片 一CA N 网络

控制器。CA N 网络控制器具有完成 CA N 通信协

议所要求的物理层和数据链路层的几乎所有功能。

C AN 网络控制器芯片发展至今 , 已有 多个厂家 的

各种类型的产 品。按照控制器芯片的功能来分 , 既

有独立 的 CA N 控制器芯片, 如 Philips 的 SJA 1000 ,

又有集成到微控制器中的控制芯片 , 这样的芯片中

有 8 位控制器芯片, 如 Phil ips 的 P8X C59X 系列芯

片 , 16 位控制器芯片 , 如 M otorola 的 68H C912 系列

以及 32 位微控制器芯片 , 如 M otorol a 的 M C6837X

系 列 芯 片 和 带 有 CA N 的 DSP 芯 片, 如 TI 的

TM S320LF24 系列 芯片。下 面就 以 SJA 1000 为例

介绍 CA N 接 口模块的设计。

4. 1 SJA 1000 简介

SJA 1000 是一种 I/ O 设备基于 内存编址 的微

控制器。双设备 的独立操作是通过象 R A M 一样

的片内寄存器修正来实现的。在BASIC CAN 模式

下 SJA 1000 的寄存器结构及地址分配见表 2 。

表 2 SJA IO00 的寄存器结构及地址分配表

SJA 1000 有两种不同的工作模式 : 复位模式和

工作模式 , 在不 同模 式下访 问寄存器 是不 同的。

CA N 控制器工作模式 的设定 、 数据的发送 和接 收

等都是通过这些寄存器来实现的。时钟分频寄存

器 O CR 用 于设定 SJA 1000 工作 于 BA SIC CA N 还

是 PeliCA N , 还用于 CLK O UT 引脚输出时钟频率的

设定 , 在上 电初始化控制器时必须首先设定 。通

常 , 在系统初始化时, 先使 C R . 0 = 1, SJA 1000 进入

复位 模 式。在 此 模 式 下 IR 、 A CR 、 A M R 、 BTR 0、

BTR 1 及 O CR 均可读可 写, 此时设 置相应 的初始

值。当退出复位模式时, SJA1000 即按复位时设定

的相应情况工作于工作模式 , 除非再次使芯片复

位 , 否则上次设定的值不变。当需要发送信息时 ,

若发送缓冲器空闲, 由CPU 控制信息写入 TXB , 再

由 CM R 控制发送 ; 当接收缓冲器 RX FIF O 未满且

接收信 息通 过 了 A SP , 则接 收 到 的信 息 被 写入

FIFO 。读取接收到的信息有两种办法。一种方法

是, 在中断被使能的情况下, 由SJA1000 向CPU 发

中断信号, CPU 通过 SR 及 IR 可以识别该中断 , 并

读取数据释放接收缓冲器 ; 另一种方法是直接读取

SR , 查询 RX FIF O 的状态, 当有信息接收时 , 读取该

信息并释放接收缓 冲器。当接收缓 冲器中有多条

信息时, 当前的信息被读取后 , 接收缓冲器中有多

条信息时, 当前 的信息被读取后 , 接 收缓冲器有效

信号会再次有效 , 通过 中断方式或查询方式可以再

次读取信息 , 直到 RX FIF O 中的信息被全部读 出为

止。当RXFI F O 已满, 如还有信息被接收, 此信息

不被保存 , 且发 出相应 的缓 冲器溢 出信 号供 C PU

读取处理。

4. 2 原理框 图

CA N 控制器 接 口芯片采用 Phihips 公 司生产

的 PCA 82C250 , 它是 CA N 总线控制器和物理总线

的接 口, 可以提供对 CA N 总线的差动发送和接受

能力 , 具有抗瞬间干扰 、 保护总线的能力 , 可以通过

调整 CA N 总线上通讯脉冲边沿斜率来降低射频干

扰。其原理框图如图3 所示。

维普资讯

2007 年第 4期 舰 船 电 子 工 程 171

图 3 CA N 接 口模块的原理框图

在该设计中的关键是要完成计算机总线地址/ 现场总线作为过程 自动化、 制造 自动化 、 楼宇、

数据分开与 SJA 1000 地址/ 数据复用的转换 , 方法 交通等领域现场智能设备之间的互联通信网络 , 沟

之一是把数据线作为 CA N 控制器的数据地址复用 通了生产过程现场控制设备之间及其与更高管理

线 , 用 A 0 作为 地址 、 数 据选 择线。CA N 总 线 的 层网络之间的联系。 目前 国际上存在的多种现场

CA N H 、 CAN L 与地之间并联 了两个 30P 的小电容 , 总线 , 有各 自的组织 、 标准、 芯片和应用领域 。但还

可以起到滤除总线上 的高频干扰和一定 的防电磁 没有一种现场总线能够完全适用于所有的应用领

辐射的能力。另外在两根 CA N 总线接入端与地之 域 。因此应用层 的用户要根据 自身系统的实际情

问分别反接了一个保护二级管, 当CAN 总线有较 况、 工程的具体要求和经济实力选择适合自身的现

高的负电压时, 通过二极管的短路可起到一定的过 场总线, 使其能充分地发挥长处, 同时也使我们的

压保护作用。82C250 的 RS 脚上接有一个斜率 电 工作达到最好的效果。

阻, 电阻大小可根据总线通讯速度适 当调整 , 一般

在 16K ~140K 之间。为进一步提高抗干扰能力 ,

在 SJA 1000 和 82C250 之问加接光 电隔离 , 电源采

用 DC —D C 变换器 。在复位电路设计中, 考虑到便

于电路调试和处理整体运行时出现的问题的需要 ,

采用三种复位方式, 即上 电复位 、 手动复位 (调试

本文来源:https://www.bwwdw.com/article/8081.html

Top