当前位置:文档之家› (完整版)24V系统-CAN通讯协议说明书

(完整版)24V系统-CAN通讯协议说明书

24V系统-CAN通讯协议说明书

(内部文件)

2. 范围 (2)

3. 网络拓扑 (3)

3.1 模块地址表: (3)

4. 报文格式 (4)

4.1 状态信息报文 (4)

4.1.1 开关量消息组1 (4)

4.1.2 开关量消息组2 6

4.1.3 各种数值量消息 (7)

4.1.4 故障消息 (8)

4.1.5 仪表指示灯消息组 1 (10)

4.1.6 仪表指示灯消息组 2 (11)

4.2 控制类报文 (11)

4.3 网络管理类报文 (14)

4.3.1 系统休眠消息 (14)

4.3.2 系统唤醒消息 (14)

4.3.3 模块重启通知消息 (14)

4.3.4 请求模块重启消息 (15)

4.3.5 请求模块软件版本消息 (15)

4.3.6 请求模块硬件版本消息 (16)

4.3.7 模块网络心跳消息 (17)

4.3.8 网络时钟消息 (17)

4.4 其他报文 (18)

4.4.1 应答消息 (18)

5. 仪表相关报文 (18)

1. 目的

24V网关和车身控制系统(以下简称24系统)是基于CAN网连结而成的,CAN网络是整个系统的基础。所以很有必要详细说明下该系统中的CAN 网络协议,这也是编写本文档的主旨。本文档仅供内部开发人员使用,包括NCM 组和仪表组。

2. 范围

本文编写的范围仅仅限于24V系统中采用的基于CAN的J1939应用协议的报文格式,不适用所有的网关和车身控制系统。本文档并不是介绍CAN网络和J1939应用协议

文档,而了解文档中设计的J1939协议关联的术语,请参看相关的技术文档。

3. 网络拓扑

24V系统的详细介绍详见其他相关文档,如系统概要设计,详细设计等,在这里简单介绍一下系统的网络拓扑图,使读者有一个简单直白的了解,以便于更好的理解文档中涉及的CAN网络和J1939协议。

总所周知,CAN协议早在80年代就已经由德国的博世公司开发应用于汽车电子领域了,到了1991年,Philips Semiconductors公司制定发布了CAN技术规范2.0版本,分为A 和B两部分,2.0A部分给出了CAN报文的标准格式,2.0B部分为扩展部分。J1939 协议有SAE 组织(美国汽车工程协会)于2000年提出的,基于CAN的2.0B规范。

500K

M - Network Conlml Mudulp

ICM ■ lufrunmi Clttiter Modal*

I1HCM * From Etodv Conirol MMute

KIU M 二Kvsir Hud) C otitrvl Module

3.1模块地址表:

4. 报文格式

F表为J1939协议报文单元的具体格式:

24V系统中的涉及众多的报文,为了方便读者更方便的找到自己所需要的报文格式,本文按照功能分类进行一一叙述。

分为3大类报文:

1. 状态信息报文。

2. 控制命令报文。

3. 网络管理报文。

4.1状态信息报文

状态信息报文有自己单独PF值,其PF值为OxFF,它主要有以下几种类型的报文,由报文中的PS值来定义不同类型的报文。PS值的取值范围可以参考数据结构

enum em_pf_stateinfo_msg

状态报文的发送特点是定期发送,接收者无需对其进行应答

4.1.1开关量消息组1

bit)

4.1.2开关量消息组2

其中,开关量在报文中的表示如下(两个bit)

4.1.3各种数值量消息

4.1.4故障消息

般输出设备ID说明表格,参见数据类型enum emOutputID

4.1.5仪表指示灯消息组1

bit)

4.1.6仪表指示灯消息组2

后续字节可扩展。

4.2控制类报文

控制类报文的PF值为OxFE,它主要用于控制BCM上的输出设备,由报文中的PS值来定义不同类型的报文。

需要特别强调的一点是,仪表对控制类消息不需要进行处理,可以直接过滤此类消息

仪表不能依赖于这里的消息定义,因为将来有可能会改掉。

enum em_pf_command_msg

注:此消息的应答消息数据域的BYTE[1], BYTE[2], BYTE[3], BYTE[4都为OxFF

4.3网络管理类报文

网络管理报文主要用来进行网络系统时钟的同步,休眠,唤醒,支持上位机功能等,他的PF在系统中被定义为OxFD, PS值来定义不同类型的报文。

4.3.1系统休眠消息

4.3.2系统唤醒消息

4.3.3模块重启通知消息

434请求模块重启消息

注:此消息为上位机请求某个模块进行重启,属于调试范围的一个消息

4.3.5请求模块软件版本消息

注:此消息为上位机请求某个模块的软件版本,属于调试范围的一个消息436请求模块硬件版本消息

应答消息数据域,其他字节参见应答消息

注:此消息为上位机请求某个模块的软件版本,属于调试范围的一个消息

437模块网络心跳消息

说明:网络中的所有节点必须以1S钟的频率向外发送该消息,以告知网络其他节点他处于

正常工作状态。目的主要是让主模块如NCM, ICM 了解网络中各个模块的在线、离线状态,

从而正确告知用户各个模块在线信息。如果网络中有模块离线了,就会触发CAN错误指示

灯就会被启用。

438网络时钟消息

数据域

说明:网络时钟用4个字节表示,为32位长度,单位为10MS。网络时钟主要用来同步各个模块的时间,使他们能够完成需要时间一致的任务,如双跳,左、右转向功能。

相关主题