background image

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 协议的层次结构