首页 理论教育CAN总线数据传输过程-汽车电子控制技术

CAN总线数据传输过程-汽车电子控制技术

【摘要】:由于发动机瞬时转速值不仅可用于发动机运转控制、变速器换挡控制,还可用于其他控制单元,所以该值需要通过CAN总线来传输,以实现信息共享。在发送该转速值之前,应该将该数值根据CAN总线通信协议转换成标准的数据格式进行发送。为此,CAN总线设置了冲突仲裁机制,按照信息的重要程度来分配优先权,对于十分紧急的信息,设定高的优先权,以确保该信息能够优先发送。

下面以发动机控制单元传感器接收到发动机转速信息(转速值)为例进行说明,该值以固定的周期到达ECU的输入存储器内。由于发动机瞬时转速值不仅可用于发动机运转控制、变速器换挡控制,还可用于其他控制单元,所以该值需要通过CAN总线来传输,以实现信息共享。于是,该转速值将被复制到发动机控制单元的发送存储器内,准备通过CAN构件的发送邮箱进行对外发送。在发送该转速值之前,应该将该数值根据CAN总线通信协议转换成标准的数据格式进行发送。

当一个收发器的控制单元的邮箱里存在需要发送的信息时,需要通过RX接收线来检查总线上是否有其他信息正在发送。若有其他信息正在传送,则该控制单元需要等待一段时间,等总线处于空闲状态,再继续发送。

最后是接收处理过程,该过程主要分成以下两步:

(1)检查信息是否正确。收发器控制单元接收CAN总线上所发送的所有信息,并且有相应的监控层来检查这些信息是否正确,这里主要采用监控层CRC校验和所接收到的信息来进行校验和检查。其校验的方法为:发送端在发送CAN信息之前,对所有数据位计算出一个16 bit的校验和值;同样,接收器在接收到该数据时,也根据接收到的数据位计算出一个校验和值,随后接收端系统将接收到的校验和值与本系统所计算出的实际校验和值进行比较,若两个校验和值是相等的,则确认该数据传送中无错误,将该接收到的正确信息送入到CAN构件的接收区。

(2)检查信息是否可用。这里主要由接收层来判断所接收到的信息是否有用,若本控制单元判断该数据有用,则将该数据信息接收,放入到接收邮箱中;否则,拒接接收该数据信息。

若多个发送控制单元同时发送数据信息时,那么数据总线上就必然会发生数据冲突。为此,CAN总线设置了冲突仲裁机制,按照信息的重要程度来分配优先权,对于十分紧急的信息,设定高的优先权,以确保该信息能够优先发送。