CAN 协议通信格式

发布时间:2015-01-02 16:24:15   来源:文档文库   
字号:

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 CRCl AcK1 帧结

1 数据帧结构

3 3 CA N 总线系统的构成

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

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

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

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

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

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

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

维普资讯 http://www.cqvip.com

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 所示。

维普资讯 http://www.cqvip.com

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.2haoxitong.net/k/doc/55be88f271fe910ef02df842.html

《CAN 协议通信格式.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式