AUTOSAR-CAN(标准)与J1939报文的区别

J1939报文:J1939是在CAN2.0B(扩展CAN)的基础上,对仲裁场部分的29位ID的重新解释,其它部分完全一样。

29位ID分为:3位的优先级、8位的PF(帧格式)、8位的PS(帧扩展)、8位的SA(源地址)、1位的DP(Data Page数据页)、1位的保留位。

其中1位的DP、8位的PF、8位的PS组成了PGN;在J1939中, 我们根据PGN来区分不同的报文,J1939-21/73中对不同的PGN做了一系列详细的规定,不同的PGN来表示不同的数据或者功能。

https://www.csselectronics.com/pages/j1939-pgn-conversion-tool

PF(PDU Format):PF域一共8位,它的取值确定了一条报文的PDU格式。PDU格式一共有两种:PDU1和PDU2,当PF的值在0~239(0x00-0xEF),则表明为PDU1格式,若PF的值在240~255(0XF0-0xFF)之间,则标明为PDU2格式;

PS(PDU Specific):PS场一共8位,PS场的内容取决于PF场的取值,若为PDU1格式,则该场表示的为帧的目标地址(广播报文还是点对点报文),若为PDU2格式,则表明为组扩展GE(用于扩展PGN的个数).

举例:

SPN:Suspent Parameter Number 特定的参数编号;例如:SPN 5676 表示发动机燃油供给泵出口压力。

CAN报文报文

### AUTOSAR NM J1939 NM 的差异 在网络管理协议方面,AUTOSAR NM (Network Management) SAE J1939 NM 虽然都用于汽车网络中的节点管理通信控制,但在具体实现技术细节上存在显著不同。 #### 协议标准背景 AUTOSAR NM 是基于 AUTOSAR 架构定义的一套标准网络管理系统,适用于多种总线技术,如 CAN、LIN 或 FlexRay。而 J1939 NM 则是专为重型车辆设计的标准,主要应用于卡车客车行业[^1]。 #### 地址分配机制 J1939 使用预设地址方案,在启动阶段通过寻址声明消息来动态获取唯一地址;相比之下,AUTOSAR NM 支持静态配置以及动态请求两种方式,提供了更大的灵活性。 #### 睡眠唤醒策略 对于睡眠模式下的处理,两者也有所不同。在 J1939 中,当最后一个活跃节点进入休眠状态前会发送特定的通知报文给其他成员告知即将断电情况;而在 AUTOSAR 下,则是由 ECU 自身决定何时进入低功耗模式,并依赖于更复杂的事件触发条件组合来进行决策。 #### 连接管理特性 值得注意的是,CanTp 可以管理多个连接的不同 N-SDU 同时传输,但是不允许相同 N-SDU 标识符的同时接收或发送操作并行执行。这一特点虽然不是直接属于NM层的功能描述,但也反映了底层通讯模块对高层应用的支持能力有所区别。 ```python # 示例代码展示如何判断当前ECU是否应该发起唤醒信号(伪代码) def should_wake_up(current_ecu_status, other_nodes_activity): if current_ecu_status == "sleeping" and any(node.is_active() for node in other_nodes_activity): return True else: return False ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅尔文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值