汽车相关通信协议整理-CAN, 车载以太网, Someip, at, mqtt
- 技术
- 2024-05-28
- 512热度
- 0评论
CAN
CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议。1986 年德国电气商博世公司开发出面向汽车的 CAN 通信协议,此后通过 ISO11898 及 ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。
CAN 协议的特点
详细的 CAN 协议可以看看 CAN通信详解(全)_can通信的详细讲解-CSDN博客[/a]
- 多主控制:总线空闲时,所有单元都可以发送消息(多主控制),而两个以上的单元同时开始发送消息时,根据标识符(ID)决定优先级。
- 错误检测与恢复:包括错误通知、强制结束发送及错误恢复功能。所有单元都可以检测错误,检测出错误的单元会立即同时通知其他所有单元,正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止。
- 仲裁功能:优先级仲裁,决定消息发送的优先级。两个以上的单元同时开始发送消息时,对各消息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。
- 高速通信和长距离:通信速率最高 1Mbps(距离小于 40m),最远可达 10km(速率低于 5kbps)。
- 系统的若软性:与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。
- 故障封闭功能:CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。
- 连接节点多:CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。
CAN 协议广泛应用于汽车的电子控制系统,如发动机控制单元、变速器控制单元、车身控制单元等之间的通信。此外,CAN 协议还被广泛应用于工业自动化、船舶、医疗设备、工业设备等领域。
车载以太网
入门车载以太网,详解物理层,由浅入深,深入浅出_100base-t1-CSDN博客[/a]
个人对于车载以太网的理解在于 CAN 无法实现的超大带宽通信,比如从蜂窝天线到 ECU 的通信等等。车载以太网主要应用于车内高带宽需求的场景,如自动驾驶、车载娱乐系统等。
SOME/IP
深入浅出理解 SOME/IP_someip 协议栈详解-CSDN博客[/a]
SOME/IP,全称为 Scalable service-Oriented MiddlewarE over IP,是一种面向服务的可伸缩的协议,用于控制消息的汽车中间件的解决方案。SOME/IP 协议在 OSI 七层网络结构中位于应用层,它建立在 TCP 或者 UDP 传输层协议之上。
SOME/IP 协议主要用于实现车内不同电子控制单元(ECU)之间的通信,尤其是在需要高带宽和低延迟的场景中,如自动驾驶、车联网等。它支持多种消息类型,包括请求/响应、事件/通知等,并且可以通过 TCP 或 UDP 进行传输。
AT
[a href="https://blog.csdn.net/caijiwyj/article/details/90769663" target="_blank"]AT命令与GSM模块-CSDN博客[/a]
AT,即 Attention,AT 指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter,TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。通过 TA,TE 发送 AT 指令来控制移动台(Mobile Station,MS)的功能,与 GSM 网络业务进行交互。
AT 命令广泛应用于移动通信设备中,用于实现呼叫、短信、数据传输等功能。它通过串口与设备通信,命令简单易懂,硬件接口标准化,功能全面。
MQTT
MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布 - 订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备之间的高效通信。
MQTT 协议的主要特点包括轻量级、可靠、安全通信、双向通信、连续有状态的会话、大规模物联网设备支持以及广泛的语言支持。它通过发布 - 订阅模式实现设备之间的解耦,支持多种服务质量等级(QoS),确保消息的可靠传递。