车载网络数据通讯过程包括「车联网通信技术」
时间 : 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总线具有冲突仲裁机制。按照信息的重要程度分配优先权,确保优先权高的信息能够优先发送。