CAN报文发送类型和信号发送类型、恢复默认值方式

CAN报文发送类型

报文发送类型有周期型Cycle、事件型Event、周期事件型CycleEvent(简称CE)、激活型IfActive

周期型Cycle最简单,就是按照固定周期循环发送的报文。

事件型Event平时不发送,当事件发生的时候才发送一段时间后停发。

周期事件型CE就有点复杂了,他有两个周期,快发周期和慢发周期,平时按照慢发周期(譬如100ms),事件发生的时候按照快发周期(譬如20ms)发一段时间后切换回慢发周期。

激活型IfActive平时不发送,状态激活的时候才发送。

CAN信号发送类型

信号发送类型有周期型Cycle、变化重复发送型OnChangeWithRepetition、变化不重复发送型OnChangeWithoutRepetition、写入重复发送型OnWriteWithRepetition、写入不重复发送型OnWriteWithoutRepetition、激活重复发送型IfActiveWithRepetition、激活不重复发送型IfActive

周期型Cycle也称Pending,就是按照固定周期循环发送的信号,一般在周期型发送的报文里面。

变化重复发送型OnChangeWithRepetition也称OnChange,数据有变化的时候才发送,会按照指定周期重复发送一段时间后停发。

变化不重复发送型OnChangeWithoutRepetition数据有变化的时候发送,但不会重复发送。

写入重复发送型OnWriteWithRepetition也称OnWrite或者Triggered,写入(一般就是发生事件)就会发送,会按照指定周期重复发送一段时间后停发。

写入不重复发送型OnWriteWithoutRepetition也称TriggeredWithoutRepetition写入(一般就是发生事件)就会发送,但不会重复发送。

激活不重复发送型IfActiveWithoutRepetition也称IfActive,激活状态下才会发送,会按照指定周期重复发送一段时间后停发。

激活重复发送型IfActiveWithRepetition激活状态下才会发送,但不会重复发送。

CAN信号恢复默认值方式

信号恢复默认值在不同的报文里面有不同的方式

周期型报文Cycle不涉及这个

事件型报文Event里面的信号每次停发之后都会变成默认值

激活型报文IfActive和周期事件型报文CycleEvent里面的信号按照恢复默认值方式分为保持型和非保持型。拿周期事件型报文来举例,如果里面的信号是保持型,事件发生时信号值会变成一个非默认值,事件结束后信号数值依然会保持为这个非默认值。如果里面的信号是非保持型,事件发生时信号值会变成一个非默认值,事件结束后信号数值就会恢复默认值。

### CAN 总线中 CE EVENT 类型报文的特点 在汽车网络通信领域,CAN(Controller Area Network)总线支持多种消息传输机制来满足不同应用场景的需求。其中CE (Change Event) 报文EVENT类型报文具有特定的应用场景与特性。 #### CE 报文特点 CE 报文主要用于表示状态变化事件的发生,在检测到参数超出预设阈值时触发发送。这种方式可以减少不必要的数据流量并提高效率[^1]。具体来说: - **触发条件**:当监测变量超过设定上下限时自动激活。 - **频率控制**:仅在实际发生改变的情况下才进行通讯,避免持续占用带宽资源。 - **实时性强**:能够迅速响应异常情况并向控制系统报告最新状况。 ```python if sensor_value > upper_limit or sensor_value < lower_limit: send_ce_message(sensor_id, timestamp) ``` #### EVENT 报文特点 相比之下,EVENT类型报文更侧重于周期性的信息更新或是由应用程序主动发起的信息交换请求。这类报文通常用于定时汇报工作状态或执行查询命令等操作[^2]。 - **固定间隔**:按照预定的时间周期定期发送,适用于需要连续监控的状态量。 - **按需调用**:也可以通过外部指令即时启动一次性的事件通知过程。 - **灵活性高**:允许开发者自定义何时何地以及如何传递这些重要但不紧急的数据包。 ```python def periodic_event_report(interval_seconds=10): while True: time.sleep(interval_seconds) collect_and_send_event_data() ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不吃鱼的羊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值