CAN Arxml介绍——2、Communications


本文接上篇 CAN Arxml介绍——DataType 继续介绍。

1、 DataTypeMappingSets

ApplicationDataTypes与ImplementationDataTypes的映射,在文件没有ImplementationDataTypes时,是ApplicationDataTypes与CompuMethods的映射;

2、 Communications

2.1、 Frame

报文,通过引用PDU,PDU又引用Signal,来关联到对应的Signal;

SHORT-NAME:报文名;

FRAME-LENGTH:报文长度;

PUD-TO-FRAME-MAPPING:引用的PDU;

Frame如图3-1:
frame.png

Frame中的信息与DBC文件的对应关系如表:

ARXMLDBC
PACKING-BYTE-ORDERByte Order
MOST-SIGNIFICANT-BYTE-LASTIntel
MOST-SIGNIFICANT-BYTE-FIRSTMotorola
FRAME-LENGTHLength

2.1、 Pdu

Pdu 是协议数据单元,也叫业务数据单元,承载了需传输的数据。

Pdu可以建立起Frame(Message)和Signal之间的联系。Pdu的Length单位是byte。
常见的Pdu有5种:

(1) N-PDU :

对应诊断报文,本身不包含信号,每个节点都会有对应的Diag_ReqPhy、Diag_ReqFun、Diag_resp

(2) CONTAINER-I-PDU :

包含的不是信号而是I-SIGNAL-I-PDU,通过PDU-TRIGGERINGS关联到I-SIGNAL-I-PDU;

(3) I-SIGNAL-I-PDU:

通过与I-SIGNAL的映射关系关联到I-SIGNAL,并有部分I-SIGNAL的属性;

(4) DCM-I-PDU:

没有对应的报文,它对应的是N-PDU;

(5) NM-PDU:

对应NmMessage,除了报文属性,其余跟I-SIGNAL-I-PDU没什么区别

2.1.1、 I-SIGNAL-I-PDU

通过与I-SIGNAL的映射关系关联到I-SIGNAL,并有部分I-SIGNAL的属性;

I-SIGNAL-I-PDU里面有一个Mapping的模块,映射了I-SIGNAL以及I-SIGNAL的部分属性:byte-order,start-bit,这里面的SHORT-NAME并不是I-SIGNAL的SHORT-NAME,而是映射名。
**CONTAINER-I-PDU-PROPS:**有这个属性,说明这个I-SIGNAL-I-PDU是属于CONTAINER-I-PDU的,里面的HEADER-ID-SHORT-HEADER是这个I-SIGNAL-I-PDU的标识ID。

I-SIGNAL-I-PDU如图:
I-SIGNAL-I-PDU.png
CONTAINER-I-PDU-PROPS.png

PDU中的信息与DBC文件的对应关系如表:

ARXMLDBC
START-POSITIONStart bit
TIME-PERIODGenSigStartValue(报文周期)
2.1.2、 CONTAINER-I-PDU

CONTAINER-I-PDU可包含多个I-SIGNAL-I-PDU,他对应的是长度大的复合报文,CONTAINER-I-PDU是通过PDU-TRIGGERINGS来关联I-SIGNAL-I-PDU,这个在后面triggering部分介绍;
CONTAINER-I-PDU包含I-SIGNAL-I-PDU有两种方式:
**静态:**每8个字节对应一个I-SIGNAL-I-PDU;
**动态:**包含多个I-SIGNAL-I-PDU,他长度的前三个字节是子pdu的id标识,第四个字节是子pdu的长度,后八个字节是子pdu,以此类推第13-15字节是第二个子pdu的id…;
CONTAINER-I-PDU如图:
CONTAINER-I-PDU.png

2.1.3、N-PDU

对应诊断报文,它本身没有信号,每个文件都会有一个功能请求、一个物理请求、一个物理响应。
它的属性category也说明了请求和响应,在DBC中有**diag_…**等属性做标识;
N-PDU如图:
N-PDU.png

2.1.4、 DCM-I-PDU

与N-PDU一一对应,它的DIAG-PDU-TYPE也说明了请求和响应:
DCM-I-PDU如图:

2.1.4、 NM-PDU

网络报文,在DBC中用NmMessage属性来标识,跟I-SIGNAL-I-PDU没什么区别;
NM-PDU如图:
NM-PDU.png

2.2、I-SIGNAL和SystemSignals

2.2.1 SystemSignals

真正的signal,引用了对应的compuMethod,此处的SHORT-NAME即Signal Name
如图:
SystemSignal.png

2.2.2 I-SIGNAL

I-SIGNAL不是真正的Signal,而是Signal的接口,包含了大部分signal的数据信息;还有ISignalGroup模块;
DESC: 对信号的描述;
INIT-VALUE: 信号的初始值;
LENGTH: 信号长度;
NETWORK-REPRESENTATION-PROPS: 是对单位unit和计算方法CompuMethd的引用;
SYSTEM-SIGNAL-REF: 引用了真正的信号
I-SIGNAL如图:
I-SIGNAL.png

I-SIGNAL中的信息与DBC文件的对应关系如表:

ARXMLDBC
LENGTNSignal size
INIT-VALUEInit value
DESCcomment
2.2.3 I-SIGNAL-GROUP和SystemSignalGroup
a) SystemSignalGroup

信号组: 包含部分信号,并不是所有的信号都有响应的信号组;
SYSYTEM-SIGNAL-REFS: 引用了所包含的信号;
如图:
SystemSignalGroup.png

b) I-SIGNAL-GROUP

SystemSignalGroup的接口;
I-SIGNAL-REF: 引用了所包含的I-SIGNAL
SYSTEM-SIGNAL-GROUP-REF: 引用其对应的SystemSignalGroup
如图:
I-SIGNAL-GROUP.png

2.3 I-SIGNAL-I-PDU-GROUP

通过IN/OUT属性定义了PDU的收发;
他就是分开了接收的和发送的pdu,做了一个分组,每个网段各有一个收发;
如图:
I-SIGNAL-I-PDU-GROUP.png

以上均为个人见解,若有错误,欢迎指正!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值