随着智能网联技术的进步,特别是适合智能网联技术应用的纯电动EV汽车平台发展快速,大量汽车搭载了智能化功能,如主动刹车、自适应巡航、自动泊车等。这些功能在提高驾驶人员使用感受的同时,也成为教学中的新领域。针对该新功能的教学需求,需要制作一个智能化汽车的实训台架,整个实训台架的各个部件需解决通信问题。因此,就通信的选择和应用做出讨论、选择,最后将CAN通信应用于该实训台架上。
1 智能化汽车实训台架的功能和硬件介绍
教学用的智能化汽车实训台架需要实现以下功能:
a.能够自动前进和后退;b.能够沿所画的道路线行驶(含弯道);c.遇到所画道路线中的固定障碍物能够变道行驶,如果只有一个车道实训台架要能停车避让;d.行驶速度不能过快,要小于10km/h。
针对实训台架要实现的功能,必须配备以下配置:a. 一个带轮子的底盘,前轮可以实现转向;b.一个VCU,两个伺服电机和两个配套的伺服电机控制器,一个位置传感器。其中,一个伺服电机控制轮胎的前进和后退,由于车速慢底盘行驶系统未做优化,所以制动采用前进信号终止后,加一个短时间的后退信号实现制动功能,另一个伺服电机控制前轮的左右转向,位置传感器控制左右转向的最大转向度,VCU整体控制协调线性底盘的工作情况;c.一个双目摄像头和上位机来识别道路线和障碍物,其中上位机内写入程序,处理摄像头、激光雷达、超声波雷达的信号,做 出自动驾驶的具体指令,传送信号给VCU让线性底盘动作;d.一个激光雷达和四个超声波雷达,在光线不好的情况下识别障碍物;e.一个制动灯和两个转向灯,可视化线性底盘的动作;f, 一块显示屏和鼠标键盘外接设备可以操作智 能化的程序;g,一个48V锂电池组作为实训台架动力,配套 BMS电池管理系统。
综上智能化汽车所需零件主要为:一个线性底盘(包含两个伺服电机控制器和两个伺服电机、一套位置传感器、一个车架、一套可转向的轮胎);一套灯光系统(转向和制动灯光);一个双目摄像头;一个激光雷达;一套超声波雷达;一个显示器和鼠标键盘;一个上位机;一个VCU ;一套电池模块。动力连线如图1所示。
图1 智能化汽车供电电路图
2 各部件通信的实现
对于上述元器件,在动力电路搭建完毕后就要考虑各元器件通信的问题。除了灯光系统是单方面控制开闭没有通信的问题外,其他所有的元器件都是以上位机和VCU为核心进行通信。
激光雷达、双目摄像头、超声波雷达和上位机通信将信号通信给上位机,上位机内写有程序,根据这些程序算出实现实训台架执行器工作的指令信息。显示屏和鼠标键盘这些外设设备也和上位机通信,可以通过这些外设来运行、调整程序。
位置传感器、两个伺服电机控制器和VCU进行通信。VCU根据上位机计算的结果对伺服电机控制器进行控制驱动,伺服电机控制器和伺服电机的连接是配套的。位置传感器结构简单,只负责固定转向位置的信号发送。上位机和VCU、电池的管理系统相互进行通信。通信的连接如图2所示。
图2 智能化汽车通信连接示意图
双目摄像头、激光雷达、超声波雷达、显示屏、鼠标、键盘等,这些元器件由于预算原因都直接购买的标准件成品,其中摄像头、鼠标、键盘自带USB串口通信,激光雷达和超声波雷达用的是USB接口,通信协议为USB转RS232,显示屏有专用的显示屏连接线。连接过程中发现USB接口比较多,因为部分元器件供电和通信都依靠USB接口,所以在上位机处加增一个USB扩展,来处理这部分元器件供电和通信的需求。
剩下的上位机、VCU、伺服电机控制器、BMS电池管理系统存在较大的选择空间。一方面这四个元器件在整个系统中比较重要,通信信息密度较高,另一方面这四个元器件的外接口多样,对多种通信协议兼容。
3 关键元器件通信选择的思路和实施
在上位机、VCU、伺服电机控制器、BMS电池管理系统的通信中,一般有LIN通信和CAN通信两种选择。由于对CAN通信具有以下优点,最终选择CAN通信应用于实训台架上。
3.1 无主从节点之分,组网灵活方便
这四种元器件中除了伺服电机控制器是对VCU通信的以外,其他的VCU、上位机、BMS电池管理系统都很重要,相互之间没有明显的主从之分,但LIN通信是一主多从的搭建方式。
CAN通信仅设计了一条总线,上位机、VCU、BMS电池管理系统的收发器都连接在总线上,任何时刻任何节点都可以发送信息,当某一个收发器需要发送信息时就直接将信息发送到总线上,总线上所有的其他收发器都可以接收到该收发器发送的信息。而且CAN通信系统具有柔软性,在总线上增加新的元器件,已经在总线上的其他节点的软硬件都不需要做出改变,方便日后扩展。
3.2 通信速度快,延迟小
通信速度主要是受通信协议和配套的硬件影响,CAN通信拥有一套良好的协议来保证其通信速度。
在CAN通信中,元件发送的信息在硬件层面上是直接先发送到元件节点的CAN控制器上。在软件层面上,通过调取周期性的写入指令,将元器件发送的信息写入到CAN控制器中的寄存器上,再由CAN控制器上的寄存器暂时将这些信息存起来。在CAN控制器上寄存器中的信息是PDU(协议数据单元),PDU中间包含SUD(数据)、PCI(来自哪,要去哪的信息),这样每次信息到了要到达的地方会自动删除掉之前的信息,添加SUD要去哪的信息(不同层的PCI更新)。
将SUD通过CAN控制器中的数据链路层补全成协议帧。SUD经过逻辑链路子层(LLC)后由三个位段组成,分别为ID段、数据长度编码和数据。再经过介质访问控制子层(MAC)后数据要被打包的这个过程包括:LLC数据帧的接收、CRC序列计算、增加SOF位、SRR位、IDE位、RTR位、保留位、CRC位、ACK位和EOF位到LLC数据帧。数据打包过程包括;数据在数据链路层中逐步由SUD添加成CAN协议帧,然后发送介质访问管理,再通过总线发送给对方元器件节点的CAN收发器。整个协议定义如图3所示。
图3 数据在数据链路层传输示意图
在任何时刻多个元器件的节点都可以发送信息。如果当总线上已经有节点在发送信息,其他元器件的节点就会等该节点发送完成后再发送,如果某两个元器件的节点同时向总线发送信息,就需要对比这两个信息的开头所显示的重要性等级,重要性高的节点先发送信息,这个过程叫仲裁。仲裁失败的节点转为接收,这个过程不破坏总线信息的发送。因LIN通信是主节点安排各个节点收发时间,并不利于信息的及时传递。
由于CAN通信协议的定义,CAN通信的最大传输速度为1Mbit/s,远大于LIN通信的最大传输速度20Kbit/so因为传输速度的快慢决定了网络系统最大的复杂度,所以在传输速度方面CAN通信更优秀。
3.3 信息传递准确,抗干扰能力强
CAN通信一共有两种状态,分别表示为1和0,但是CAN通信是一种双绞线,拥有CAN-H和CAN-L两种结构,直接信号表示为CAN-H和CAN-L发送的电压不同的差分信号,需要将差分信号通过定义转变为比特信号。一般定义如下:显性状态CAN-H信号电压3.5V,CAN-L电压1.5V,表示逻辑0;隐性状态CAN-H和CAN-L电压均为2.4V,表示逻辑1。当总线上出现一个显性状态即逻辑0时,总线上其他隐性状态即逻辑1都会变为显性状态逻辑0,如图4所示。
图4 高速CAN信号定义示意图
由于CAN通信的双绞线为CAN-H、CAN-L结构,因此CAN通信的抗干扰能力强,优于LIN通信的单线结构。
CAN通信对于协议帧的设计,使得CAN通信的数据传递更为准确。CAN协议标准数据帧由帧起始(SOF)、仲裁段、控制段、数据段、CRC段、ACK段、帧结束段(EOF)组成。
a.帧起始段:CAN协议标准数据帧的帧起始段由一个位的显性位组成。由于总线在没有消息发送时候的空闲状态为隐性,帧起始的显性位表明开始发送CAN协议帧。
b.仲裁段:CAN协议标准数据帧的仲裁段由11位基本ID和一位RTR。仲裁段是各个信息同时向总线发送时谁能获得发送权的依据。
c.控制段:CAN协议标准数据帧的控制段,由一位IDE一位r。的保留位和四个位的DLC(数据长度编码)组成。
d.数据段:CAN协议标准数据帧的数据段,包含0~8个字节(byte),其中一个字节包含8个位(bit)。这一段是CAN协议标准帧需要传递的信息。
e.CRC段:CAN协议标准数据帧的CRC段(循环冗余校验段)由15个位的CRC序列(循环冗余校验序列),以及一个位的CRC分界(循环冗余校验分界)组成。
f.ACK段:CAN协议标准数据帧的ACK段(应答段),由一位ACKSolt(应答槽)和ACKDelimiter(应答界定符)组成。
g.帧结束段(EOF):CAN协议标准数据帧的帧结束段,由七个位的隐性位构成,通知所有的接收节点发送信息结束。
经研究发现,协议帧中控制段的DLC(数据长度编码)的四个位表明数据段数据的长度。CRC段是根据多项式生成的CRC值(循环冗余校验值),在接收信息的节点接收到该条信息后,会在接收节点的CAN控制器中对该条信息的CRC序列(循环冗余校验序列)进行校验,确定该条信息的正确与否°ACK段接收信息的节点在接收到正确信息时,会反馈一个显性状态的ACKSolt(应答槽),发送节点接收到显性状态的ACKSolt(应答槽)后就知道信息被正常接收了。总计七个段的协议帧中有三个段来保证信息传递的准确。
LIN通信中的校验要明显少于CAN通信,因此CAN通信的数据传达更准确可靠。
3.4 具有可靠的通信错误检验和处理能力
在CAN通信中,当元器件的节点检测到信息错误时会发送错误帧。随着错误帧的累积,该节点会在三种错误状体中的一种中,即主动错误状态、被动错误状态、总线关闭状态。
主动错误状态:发送错误大于0小于127次,接收错误大于0小于127次,此时节点输出主动错误标识,处于主动错误状态。在主动错误状态下,节点还可以正常参加总线通信。
被动错误状态:当节点发送错误和接收错误大于127次但是小于255次时,节点被认为处于被动错误状态。由于该节点发送和接收到的错误过多会被怀疑整个节点损坏,所以发送和接收的信息不够可信。处于被动错误状态的单元即使检测到错误,如果其他处于主动错误状态的节点没有发现错误,整个总线也将认为没有错误,因此处于被动错误状态的节点检测到错误后不能马上发送下一条信息。在本次数据发送结束,下次数据发送之前的间隔期间必须插入八个隐性位的“延迟传送”,当处于被动错误状态的节点检测到错误时,将输出被动错误标识(连续六个隐性位,可以被其他节点信息的显性位覆盖)。
总线关闭状态:当节点发送错误和接收错误大于255次后就进入到总线关闭状态,信息的收发均被禁止。处于这个状态的节点需重启,在总线上检测到128次连续的11个隐形位后该节点状态变为主动错误状态,可以进行信息的收发,如图5所示。
图5 错误状态转换示意图
以下五种情况节点会被认为检测到错误,并发送错误帧:
a.位错误:节点发送信息时,检测到当前总线的信号与发送的信号不一致,此时CAN
线认为产生了位错误,这个过程不包含位填充。
b.填充错误:在需要位填充的段内,检测到连续六个相同的电平位。
c.循环冗余校验错误:从接收到的信息所计算出的循环冗余校验结果与接收到的循环冗余校验顺序不一致时,认为是循环冗余校验错误。
d.格式错误:当检测到对应的信息没有按照要求的格式编写时认定为格式错误。
e.ACK错误:发送节点在ACKSolt(应答槽)中检测到隐性电平时所检测到的错误(表明没有节点接收到刚发送的信息)。
在LIN报文中检测出错误时,将通过主任务、从任务丢弃数据。所以CAN通信在错误检测处理过程中比较优秀。
通过以上五点考虑,最后决定使用CAN通信。
4 结语
在新能源汽车越来越普及的今天,由于智能化功能被大量应用,整车元器件对比以前普通燃油汽车有所增加,导致通讯系统复杂度变高。各个元器件的通信问题和普通燃油车相比更加频繁,数据量更大,对于数据的抗干扰能力也有更严格的要求。
本文在制作教学用的智能化汽车实训台架过程中,通过对CAN通讯系统在各元器件通讯组网的灵活性、通讯速率、信息传抵抗干扰、检测信息错误和处理错误信息这四个方面与LIN通讯进行了比较,发现关键部件通信采用CAN通信连接,可使整个实训台架在操作过程中能够完成当初设计时所需实现的功能,且为今后的实训台架升级增加新的功能留有余地。
审核编辑:郭婷
评论
查看更多