CAN协议标准及相关内容
发布网友
发布时间:2024-10-18 04:16
我来回答
共1个回答
热心网友
时间:2024-10-18 04:49
深入探讨CAN通讯功能,需了解CAN2.0协议标准和ISO 11898标准,以掌握CAN通讯的基石。OSI参考模型将网络逻辑分为七层,其中物理层和数据链路层在CAN总线网络底层应用。物理层定义了系统电气、机械、过程和功能标准,传输基本单位为比特流。数据链路层在通信实体间建立数据链路连接,传输基本单位为帧,提供差错控制和流量控制服务。MAC子层主要任务规定物理线路上传输帧,而LLC子层负责逻辑上识别协议类型,封装数据,并添加控制信息。
ISO 11898标准由Bosch发布,并由ISO标准化。ISO 11898标准定义了数据链路层功能,而物理层功能与CAN总线标准不同。LLC子层提供报文滤波、超载通知和恢复管理,MAC子层则控制帧结构、执行仲裁、错误检测等核心功能。服务原语包括请求、通知和确认,用于服务用户与服务提供者之间通信。
LLC子层提供无连接模式传输服务,使用LLC数据帧进行数据发送与接收。MAC子层负责数据打包和发送介质访问管理,同时实现接收介质访问管理和数据解包。位填充与去位填充技术用于确保数据帧结构的正确性。
CAN协议帧的实现依赖于硬件寄存器。基于AUTOSAR架构的软件开发中,需要了解与id、数据和长度对应的寄存器。Infineon和NXP的用户手册提供了具体定义。整车控制器CAN通信报文基于CAN协议帧定义,赋予每一帧实际意义,实现物理层数据解析在应用层。
总结,理解CAN协议帧相关协议标准、硬件寄存器和整车控制器CAN通信报文,可实现基本的CAN通讯功能。接收功能涉及从寄存器读取数据至应用层解析,发送功能则将应用层信号转换为规定数据形式发送至寄存器,最后应用层确认。数据最终以显隐性电平形式发送至总线,接收方通过正确解析总线电平接收数据。ISO 11898-1中物理层PLS内容将在后续文章中详细阐述。