一文读懂AUTOSAR CAN通信介绍

概述

在AUTOSAR的分层和模块化架构中,使用PduR(Protocal Data Unit Router)将总线或者网络数据进行抽象,使得上层应用不用关心信号的来源。本文从PduR下层的CAN Interface、CAN Driver和CAN Transceiver Driver模块介绍CAN总线在AUTOSAR架构中的工作机制以及信号的收发等功能。PduR以及COM等上层模块的介绍可以参考公众号内发布的历史文章。

CAN通信网络架构

在车辆中,CAN通信是一种基于信号的通信。如下图参考的车辆E/E架构,多个域总线,比如车身CAN、动力CAN等连接在中央网关上,网关负责路由不用总线的数据,实现不同总线上节点ECU的数据交互。信号的发送一般是基于事件和周期的属性,常见的周期有20ms,50ms,100ms,200ms等,发送方ECU在信号更新或者改变时发送信号,而不关心其他接收方ECU是否需要该信号。CAN信号的发送是采用广播形式,也就是说同一总线上,一个节点发送的报文都会被其他节点接收到,类似于在一个教室里,一个同学发言,其他同学都可以听到。如下图,在车身CAN这条总线上,当车门ECU发送一条车门打开的消息时,灯光、空调、座椅以及网关这些节点都可以收到该消息。同一总线上不允许多个ECU节点发送相同CAN ID的消息,这样会导致总线冲突。当多个节点同时发送数据时,会进行优先级仲裁,CAN ID小的优先级高。

你可能感兴趣的:(Classic,AUTOSAR精讲,网络)