李雪梅
(安徽江淮汽车集团股份有限公司,安徽 合肥 230601)
CAN总线最初是由德国Bosch公司开发的,当时消费者对汽车性能的要求越来越高,而提升汽车性能的这些控制功能都离不开大量电子装置的运用,这就使得所有电子装置之间的连接和通讯会变得越来越复杂,为了解决现代汽车中众多的控制与测试仪器之间的数据交换,在1986年,Bosch公司开发了面向汽车的 CAN通讯协议,它是一种多主方式的串行数据通信协议,它能够极大的解决汽车中各种电子部件之间的通讯问题,减少信号线的使用。在1993年,CAN已成为国际标准总线,ISO11898和ISO11519分别对应着高速应用和低速应用。CAN总线被设计为具有较强的抗电磁干扰性,并具备较好的错误检测功能,其通信介质可以是双绞线、同轴电缆或光导纤维,即使当信号传输距离达到10公里时,CAN的数据传输率也能够达到5Kbit/s;当传输距离小于40m时,CAN的传输速率高达1Mbit/s。
相对于一般的通讯总线而言,CAN总线的设计中运用了全新的设计和技术,其数据传输具有突出的实时性、可靠性和灵活性。其特点主要有以下几点:
(1)具有灵活的通讯方式,CAN为多主工作方式,网络节点不分主从。(2)CAN网络的节点信息具有优先级和总线仲裁技术。根据信息优先级的高低可以很快的确定需要发送的信息,从而节省总线冲突仲裁的时间。(3)CAN只需要通过报文滤波即可实现点对点、点对多及全局广播等几种方式的数据传输,从而不需要单独的进行报文调度。(4)CAN网络采用差分传输技术,最大传输距离可达 10km,此时的传输速率为 5kbps;最高速率达到 1Mbps,此时传输的最大距离为40m。(5)CAN的标准帧节点数目前可以达到110个,扩展帧的节点不受限制。同时,CAN报文标识符种类较多。(6)CAN的数据通信采用短帧格式,每帧信息都有CRC校验及其他的检测措施。(CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。)(7)CAN总线的通讯接口中包含了 CAN协议的物理层和数据链路层,可以完成对通讯数据的帧处理工作。(8)CAN具备较为灵活的通讯介质,其传输介质可以为同轴电缆、双绞线或者光纤。(9)在传输过程中若发生严重错误,CAN节点具有自动关闭输出的功能,以保证总线上的其他节点的操作不受影响。开放系统互联模型(Open System Interconnect)是由国际标准化组织和国际电话电报咨询委员会建立的计算机网络体系结构,总共有7层,CAN协议也是建立在该模型之上的。CAN的网络模型只选取了OSI底层的物理层、数据链路层和应用层,主要原因是因为 CAN的数据结构相对简单,应用层可以直接从数据链路层中读或者写数据,去掉中间层使系统结构层次减少,这样有利于系统中实时信号的传送。
汽车仪表的设计理念,就是给与驾驶员清晰、方便、稳定、人性化的一种显示平台,尽可能的满足用户使用的需求,为驾驶员提供行车驾驶时的整车和外部环境参数,让驾驶员能够及时做出准确的判断,保证驾驶的安全性、舒适性、稳定性。
基于上述要求,本次设计的基于 CAN总线汽车组合仪表应用于微型轿车上,方案设计要切身考虑到驾驶员的感受,并且结合汽车电器技术以及总线技术方面的优势,进行整体系统结合设计,并提出该汽车组合仪表的整体设计方案。本次设计的汽车组合仪表要遵循以下几方面的原则:
不能出现信息的滞后,并且对实时变化参数,如车速、转速、机油压力、蓄电池等信息能够实时反映到驾驶员的视线范围内。
由于汽车行驶在各种路况、天气环境中,该汽车组合仪表显示内容应该是稳定可靠的。
采用微控制器的汽车组合仪表应该实时的对控制器的控制技术进行信息更新,要有系统预留升级空间,及时满足系统升级空间需求。
做到人性化的用户操作界面,并且要考虑到所选用的各种零部件的经济性和耐久性,保证使用有限的资金创造更加实用美观经济的仪表。
汽车仪表盘电控单元应快速、精确地接收各种传感器信号,且显示的控制信号准确可靠并抗干扰。因此在设计中从以下几个方面进行:
(1)A/D信号采集模块。燃油消耗传感器、环境温度传感器和蒸发器温度传感器的电流信号经过硬件电路的滤波,输入到MCU中。考虑到整车电压的不稳定性和传感器额定电流的限制,这3个传感器的电源由系统提供。图1中,R11和R12起限流作用,保证传感器的电流不超过限定值;C4和C5是去除系统运行产生的高频噪声的去耦电容。
图1 温度、燃油信号采集电路
(2)开关信号采集模块。空调开关和空调压缩机开关的开关信号,经光耦隔离后,提高了抗干扰能力,保证了输入信号的准确,如图2所示。
图2 开关信号采集电路
(3)脉冲信号采集模块。速度传感器信号产生的脉冲信号经放大、调理电路后,输入到单片机的I/O口。图4中,C1和C2用来滤除R2和R5产生的热噪声电压和电源的干扰电压,U1A用来将速度传感器的脉冲信号进行放大,然后传入MCU的I/O口中。在速度传感器信号的输入端和输出到MCU引脚的一端均加了上拉电阻, 用来提高驱动能力。
图3 速度信号采集电路
图4 汽车仪表盘电控单元信号处理软件流程图
信号处理软件由初始化模块、传感器信息采集模块和数据处理模块组成。数据处理软件设计有如下要点:①车速显示。通过车速传感器监测的汽车行驶速度信号,输入到微控制器进行处理,包括整形、计数和存储等,计算得到汽车时速,发出车速表显示控制信号。②转速显示。将来自 CAN总线上发动机电控单元的PWM信号,输入到微处理器中,检测其触发脉冲的上升沿,获得发动机转速,发出转速表显示控制信号。③油量显示。油箱液位通过燃油消耗传感器经A/D转换器输入到微处理器,微处理器进行必要的处理,获得汽车剩余油量,发出油量表显示控制信号。④水温显示。来自 CAN总线上的水温传感器信号,输入到微处理器,发出水温表显示控制信号。⑤空调开关状态显示。电控单元接收开关量信号,显示开关状态。具体流程图如图4所示。
总之,以 CAN总线为通信基础,接收和处理各种外围传感器信号,输出信号通过驱动步进电机进而控制机械指针的旋转,能够完成汽车仪表盘的准确显示,因此进一步加强对其的研究非常有必要。
参考文献
[1] 邱鑫.基于CAN总线的汽车LCD智能仪表研究与开发[D].重庆交通大学,2014.
[2] 张璐.汽车组合仪表检测系统电控单元的研究[D].哈尔滨工业大学,2010.
[3] 郑中华.基于车载总线的节点控制单元的设计与实现[D].吉林大学,2012.