从OSI七层网络模型角度了解CAN通信协议

前言:先占个位置,文章内容皆来自网络,我只是搬运工,等后面理解深刻了再进行修文。

CAN通信协议的网络架构基于OSI七层模型进行设计,但实际实现中根据其应用场景(如汽车电子、工业控制等)进行了简化和优化。以下是结合OSI模型从应用层向下的分层解析,及其在CAN协议中的具体实现和应用:


一、应用层(Application Layer)

功能:定义具体的应用协议,如设备控制指令、诊断服务、数据交互格式等。
CAN实现

  • 自定义应用协议:如工业自动化中的设备控制指令格式。
  • 标准化协议
    • CANopen:实现设备参数配置、实时控制、同步通信等,支持对象字典(Object Dictionary)机制。
    • UDS(ISO 14229):用于车辆诊断,定义诊断请求与响应格式(如故障码读取、ECU编程)。
  • 数据格式:通过PDU(Protocol Data Unit)封装数据,例如通过信号打包/解包处理。

二、表示层(Presentation Layer)

功能:数据格式转换、加密/解密、压缩/解压。
CAN实现

  • CAN协议本身不直接定义表示层功能,但通过上层协议实现:
    • CANopen:使用对象字典统一数据格式,支持数据类型(如整数、浮点数)的标准化表示。
    • 诊断协议:如UDS中的ASN.1编码规则对诊断数据进行结构化封装。

三、会话层(Session Layer)

功能:管理通信会话(建立、维护、终止),同步节点间交互。
CAN实现

  • CAN总线无原生会话层,但通过应用层协议扩展:
    • CANopen:通过NMT(网络管理协议)控制节点状态(启动/停止),实现会话管理。
    • 诊断服务:UDS中的会话控制服务(如切换诊断模式)管理通信状态。

四、传输层(Transport Layer)

功能:端到端的数据可靠传输,处理大数据分片与重组。
CAN实现

  • ISO 15765-2(CAN TP)
    • 分片与重组:将超过8字节的数据分割为多帧传输(如诊断长报文)。
    • 流控制:通过流控帧(Flow Control Frame)协调发送与接收速率。
  • 经典CAN:单帧最大8字节,不涉及传输层分片。

五、网络层(Network Layer)

功能:数据路由、地址管理与逻辑寻址。
CAN实现

  • 广播通信:默认所有节点接收报文,通过标识符(ID)过滤目标数据、。
  • 报文滤波:硬件或软件配置接收过滤器,仅处理特定ID范围的帧。
  • 网关功能:通过PDU路由器(如AUTOSAR PduR模块)跨总线转发数据。

六、数据链路层(Data Link Layer)

功能:帧格式定义、错误检测、仲裁机制、流量控制。
CAN实现(ISO 11898-1)

  • 帧结构
    • 标准帧(11位ID)扩展帧(29位ID),支持优先级仲裁。
    • 帧类型:数据帧、远程帧、错误帧、过载帧。
  • 仲裁机制:非破坏性位仲裁(显性位覆盖隐性位)。
  • 错误处理:CRC校验、位填充、错误帧重传。
  • 逻辑链路控制(LLC):报文过滤与错误恢复。

七、物理层(Physical Layer)

功能:电气特性、信号编码、总线拓扑。
CAN实现(ISO 11898-2/3)

  • 电气标准
    • 高速CAN(ISO 11898-2):1 Mbps,差分信号(显性0: CAN_H=3.5V, CAN_L=1.5V;隐性1: 均2.5V)。
    • 低速容错CAN(ISO 11898-3):125 kbps,支持单线故障容错。
  • 拓扑结构
    • 闭环总线:终端电阻120Ω,最大长度40m。
    • 开环总线:独立双线,最长1km。
  • 同步机制:位定时与采样点配置(SS/PTS/PBS1/PBS2段)。

总结:CAN协议与OSI模型的对应关系

OSI层CAN实现核心标准/协议
应用层CANopen、UDS、J1939等ISO 14229, CiA 301
表示层由应用层协议(如对象字典)实现CANopen Object Dictionary
会话层网络管理协议(NMT)、诊断会话控制CiA 302, ISO 15765
传输层ISO 15765-2(CAN TP)ISO 15765-2
网络层标识符过滤、PDU路由(如AUTOSAR PduR)ISO 11898-1
数据链路层帧格式、仲裁、错误检测(ISO 11898-1)ISO 11898-1
物理层差分信号、位定时(ISO 11898-2/3)ISO 11898-2/3

扩展说明

  1. 协议灵活性:CAN仅强制要求物理层和数据链路层,上层协议可根据场景选择(如汽车用UDS,工业用CANopen)。
  2. 实时性优化:短帧设计(经典CAN 8字节)和优先级仲裁机制保障实时性。
  3. 未来演进:CAN FD支持64字节数据段和可变速率,CAN XL目标2048字节,扩展应用场景。

通过分层架构,CAN实现了从底层电气特性到高层应用协议的完整生态,成为工业与汽车领域的主流通信方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

草莓仙生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值