车载网络数据通讯过程包括「车联网通信技术」

时间 : 2023-08-14 22:04:32

来源 : 搜狐

一般情况下,各个模块进行通信包含五个步骤:提供数据、发射数据、检查数据、接收数据。相应的原理图如下图所示。

(1) 提供数据

控制单元中的处理器向CAN控制器提供需要进行发送的数据,信息包含各个控制单元传递的各种汽车运行信息,如发动机转速、温度等,通常以二进制(一连串的0、1数据)表示。

信息的编码遵循信息越简单,信息结构越短,信息越复杂,信息结构越长的原则。如空调压缩机状态(即开启和关闭)可以用1bit的数据进行表示。如描述中控锁状态(开锁、闭锁、安全锁、非安全锁)可以用2bit的数据进行表示。如发动机的温度值0-127.5℃则必须要8bit的数据进行表示,信息最大长度为108bit。

空调压缩机状态(1bit)

信号

信号含义

0

压缩机关闭

1

压缩机开启

中控锁开关状态(2bit)

信号

信号含义

00

开锁

01

安全锁

10

闭锁

11

非安全锁

动机的温度(8bit)

信号

发动机温度

0

0

0

0

0

0

0

0

0℃

0

0

0

0

0

0

0

1

0.5℃

0

0

0

0

0

0

1

0

1℃

1

1

1

1

1

1

1

1

127.5℃

CAN总线所传递的每条完整信息由7个区构成,信息最大长度为108 bit。在两条CAN导线上,所传输的数据内容是相同的,但是两条导线的电压状态相反。

CAN总线的信息结构

①开始区。开始区(长度为1bit)标志数据开始,CAN-High导线的电压大约为5V(具体数值视系统而定),CAN-Low导线的电压大约为0 V。

②状态区。状态区(长度为11bit)用于确定所传数据的优先级。如果在同一时刻有两个控制单元都想发送数据,则优先级高的数据先行发出。

③检验区。检验区(长度为6bit)用于显示数据区中的数据数量,以便让接收器(接收数据的控制单元)检验自己接收到的、来自发送器(发送数据的控制单元)的数据是否完整。

④数据区。数据区(长度不确定,视具体情况而定,最大长度为64bit)是信息的实质内容。

⑤安全区。安全区(长度为16bit)用于检验数据在传输中是否出现错误。

⑥确认区。确认区(长度为2bit)是数据接收器发给数据发送器的确认信号,表示接收器已经正确、完整地收到了发送器发送的数据。如果检测到在数据传输中出现错误,则接收器会迅速通知发送器,以便发送器重新发送该数据。

⑦结束区。结束区(长度为7bit)标志着数据的结束。

(2) 发射数据

CAN数据总线在发送信息时,每个控制单元均可接收其他控制单元发送出的信息。在通信技术领域,也把该原理称为广播。

收发器就是一个发送-接收放大器,在接收数据时,收发器把CAN构件连续的比特流(亦称逻辑电平)转换成电压值(线路传输电平);当发送数据时,收发器把电压值(线路传输电平)转换成连续的比特流,线路传输电平非常适合在铜质导线上进行数据传输。

收发器通过TX-线(发送导线)或RX-线(接收导线)与CAN构件相连。RX-线通过一个放大器直接与CAN总线相连,并总是在监听总线信号。

收发器内部原理示意图

收发器的TX线与总线连接,其连接通过一个断路集流器电路进行,总线导线上有两种状态,一种状态是晶体管截至情况,总线电平电压为5V,一种状态是晶体管导通情况,总线电平电压为0V。当有多个收发器与总线导线耦合时,总线的电平状态将取决于各个收发器开关状态的逻辑组合。

三个收发器连接在一根总线上

表-收发器开关的状态与总线电平的逻辑关系

收发器A

收发器B

收发器C

总线电平

1

1

1

1(5 V)

1

1

0

0(0V)

1

0

1

0(0V)

1

0

0

0(0V)

0

1

1

0(0V)

0

1

0

0(0V)

0

0

1

0(0V)

0

0

0

0(0V)

我们以发动机转速信息的发送为例进行说明,发送信息前发动机电子模块对总线状态继续查询,只有当总线空闲下来,相应的信息才会发动到总线上面。如果发送邮箱内有一个发动机转速实时值,那么该值会由发送特征位(举起的小旗)显示出来——请求发送信息。CAN构件通过RX-线来检查总线是否有源(是否正在交换其他信息),必要时会等待,直至总线空闲下来为止。

总线状态查询

如果在某一时间段内,总线电平一直为1(总线一直处于无源状态),则说明总线处于空闲状态。如果总线空闲下来,发动机信息就会被发送出去。

发动机转速信息发送过程

(3) 检查数据

接收器接收发动机的所有信息,并且在相应的监控层检查这些信息是否正确。这样就可以识别出在某种情况下某一控制单元上出现的局部故障。

数据传输是否正确,可以通过监控层内的CRC校验和数来进行校验。CRC校验即为循环冗余码校验(Cycling Redundancy Check,略作CRC)。

经监控层监控、确认无误后,已接收到的正确信息会到达相关CAN构件的接收区。

监控层对信息进行监控

(4) 接收数据

CAN构件的接收层判断该信息是否可用。如果该信息对本控制单元来说是有用的,则举起接收旗,予以放行,该信息就会进入相应的接收邮箱;如果该信息对本控制单元来说是无用的,则可以拒绝接收。

如果多个控制单元同时发送信息,那么数据总线上就必然会发生数据冲突。为了避免发生这种情况,CAN总线具有冲突仲裁机制。按照信息的重要程度分配优先权,确保优先权高的信息能够优先发送。

免责声明:本网站所有信息仅供参考,不做交易和服务的根据,如自行使用本网资料发生偏差,本站概不负责,亦不负任何法律责任。如有侵权行为,请第一时间联系我们修改或删除,多谢。

菜谱推荐