第
5 期
·
109·
3 AMS-CAN 通信协议
本节以
AMS 中 TTEC 和 JMDC 的通信介绍
AMS-CAN 通信协议的设计。CAN 通信
[5]
采用
15byte 的消息报文 CAN Message(7byte 消息头
+8byte 消息体),AMS-CAN 的信息载体即为 CAN
Message。在 AMS 中 CAN Message 的消息头和消
息体分别被视为
AMS CAN Block Header 和 AMS
CAN Block Body,以适配 AMS Data Block(AMS
数据块),运行统一的
AMS 传输协议。AMS-CAN
通信协议栈包括:物理层
/数据链路层/网络和传输
层
/应用层。图 2 给出了 AMS-CAN 协议的层次结
构,在
TTCS 的 CAN 通信中,通信事件由 JMDC
(
Master)发起,每个通信事件又包含多个信息
报文(
CAM message)
[4]
。信息报文主要包括
29bit
CAN 标识符号(ID)和 8byte 应用数据。一个信
息报文中同时包含了
AMS-CAN 链路层、网络传
输层和应用层协议。
AMS-CAN 协议栈中链路层
以下支持
CAN2.0 规范,即总线拓扑、短帧结构、
非破坏性总线仲裁和基于
CAN 29bit 扩展 ID 的报
文标识符滤波。
CAN 消息报文首中的 29bit ID 用
于支持
AMS-CAN 的链路层和传输层协议。
3.1 AMS-CAN 传输协议
AMS-CAN 网络传输层遵循 AMS Master/Slave
模型,该传输协议主要包含
2 种类型的数据传输:
Write(写)和 Read(读),传输类型的定义都是以
Master 为出发点,在 TTCS 中 JMDC 和 TTEC 分别
定义为
Master 和 Slave。
每一次
Master/Slave 通信过程都包括一个或
多个事 务, 每个事 务包 括一对 信息 ,一个 是从
Master 到 Slave,另一个是从 Slave 到 Master。每
次通信过程都是由
Master 方发出 Write/Read 请
求包开始,然后接收
Slave 方发回的回复包后,
再进行后续信息的交换。交互信息中除了主要的
Write 和 Read 外,还包括:Next 表示正常可继续
工作;
Error 表示有错误发生且错误可通过重发纠
正;
Abort 表示发生了不可纠正的错误;End 表示
通信过程的结束。图
3 给出了 AMS-CAN 传输层
协议中几种典型的事物流程,其中“
f&l”表示“首
个和最后”,用于单个包交换;“
f”、“i”和“l”
分别表示“首个”、
“中间”和“最后”,用于多个
包的交换。
如图
2 所示,29bit 扩展 CAN ID 中的如下位
用于支持
AMS-CAN 传输层协议:ID25 表示当前
图
2 AMS-CAN 协议的层次结构