基于Labview的嵌入式车载信息终端的设计
2012-03-17盛多铮朱向冰
盛多铮,吴 伟,朱向冰
(安徽师范大学 物理与电子信息工程学院,安徽 芜湖 241000)
车载信息终端是传统仪表显示技术和现代嵌入式技术相结合的产物,其中综合了多种传感器技术,现场总线技术,计算机技术,现代测控技术等。与传统汽车仪表相比,具有家庭化,智能化,功能化,易升级等特征。但是从功能上讲,目前市场现有车载终端都只是将各种车载设备功能集成到一个产品中,并没有涉及对汽车行驶信息及汽车功能参数等的数字化显示。本设计结合嵌入式技术和虚拟仪器技术,在市场现有车载信息终端功能的基础上,进一步实现了对汽车对各种车载信息的显示和远程对汽车参数的访问。同时,开发人员可以在不改变硬件电路的基础上完成软件部分的升级,系统的很多功能可以由设计人员直接对上位机软件进行二次开发,可方便地与网络、外设等连接,是未来汽车仪表行业发展的新趋势。
1 系统功能简介
块对汽车后方的影像进行采集并显示,同时利用Labview的WEB SERVER技术实现了远程前面板监控。本设计采用模块化的设计思想,按照数据流程可以将整个系统分为3大部分,分别是位于数据采集现场的CAN节点,基于STM32的嵌入式服务器,以及基于Labview图形化开发语言的终端平台。现场节点通过传感器将相应车载信息转化为数字量并通过CAN总线传输,基于STM32的嵌入式服务器以中断的方式[4]对各种车载信息进行读取,Labview客户端每隔一定时间向服务器发出一次数据获取请求,基于STM32的服务器便将从CAN总线上获取的车载信息发送给Labview平台,这样完成一次车载信息的获取并显示。图1是本设计最终完成的PC端人机交互界面。
2 系统硬件结构
基于Labview的嵌入式车载信息终端主要完成了对汽车CAN总线上各种车载信息的读取,并将获取的数据以非常直观的形式在Labview界面中显示。通过Labview机器视觉模
系统的硬件电路部分主要用于完成对各种车载信息的获取并通过网口将数据发送给Labview平台。除了包括自主设计的CAN节点,SD卡读写电路,网口通信电路等,也包括一些外购的模块,比如GPS和摄像头模块。图2反映了各模块之间的关系以及整体构架。
图1 基于Labview的嵌入式车载服务终端界面Fig.1 Interface of embedded automotive service terminal based on Labview
图2 基于Labview的嵌入式车载服务终端组成框图Fig.2 Bolck diagram of embedded automotive service terminal based on Labview
2.1 基于HCS12X的CAN节点的设计
图3 基于MC9S12XS128的CAN节点电路设计Fig.3 Design of the CAN node circuit based on MC9S12XS128
在整个CAN BUS网络中,负责数据采集的各个子节点所处环境一般都比较恶劣,这对系统的EMC性能提出了较高的要求。综合各种考虑,设计中的各子节点部分主控芯片选择了MC9S12XS128单片机。它属于飞思卡尔公司的HCS12XS系列产品,是一款专门针对汽车电子市场的高性能16位微控制器,具有速度快、功能强、成本低、功耗低等特点。同时外设较为丰富,内部集成了CAN控制器,所以在CAN节点的设计中只需要再购置一个CAN收发器便可。
2.2 STM 32的SD卡读写和网口通信电路的设计
文中在STM32F1平台上设计出了基于SDIO通信模式的SD卡读写电路[7]以实现汽车黑匣子的功能,相对于SPI模式,速度更快,稳定度更高。在功能上实现了对事故最后阶段汽车各个模块性能参数以及驾驶员反应情况等信息的记录,这些数据在后续的事故处理阶段可以部分甚至全部再现事故发生过程。在系统的软件设计上,通过移植μC/OS实时操作系统来管理各个任务的运行,确保了数据采集和控制的实时性、可靠性。通过在STM32F1上移植LWIP协议,在硬件电路正常工作的条件下,实现了系统和PC的网口通信。STM32首先获取到CAN总线上的各种现场信号,这些信号包括车速,水温,油量,车胎气压等,再通过以太网接口将这些数据发送至Labview平台。这种网口通信[8]的方式有利于提高系统数据传输的速度,也使得数据的吞吐量更大。选用DM9000作为以太网通信的MAC控制器,用户可以容易的移植任何系统下的端口驱动程序。
图4 以太网控制器连接图Fig.4 Connection diagram of the Ethernet controller
2.3 电子后视镜区
电子后视镜区显示摄像头所拍摄的汽车后方影像,以方便驾驶员观测后方交通情况。主要是利用Labview机器视觉模块强大的图像处理功能,实现对基于USB摄像头图像的采集。
图5 基于DM9000的以太网通信实现电路Fig.5 Circuit to ethernet communicationmodule based on the DM9000
2.4 定位导航
定位导航区显示电子地图,它利用GPS接收器接收的汽车定位信息在电子地图上描绘汽车运行轨迹。定位导航程序可提供静态导航功能,能根据驾驶员提供的起点和终点名称,自定确定最短行车路线。
3 系统软件设计
软件部分主要包括单片机功能模块程序的编写和PC端基于Labview的人机交互界面整体构架的搭建。系统的各种功能及组合方式、人机界面的表现形式等都是通过软件来完成的。
人机交互界面采用Labview这种直观的图形程序语言,以一种很直观的方法建立前面板和程序框图。前面板是用户可以看到的,类似传统仪器的操作面板,利用工具模板从控制模板中添加输入控制器和输出指示器,控制器和指示器种类可选择。程序框图是支持虚拟仪器实现其功能的核心,其设计主要包括对节点、数据端口和连线的设计。连线代表数据走向,节点则是函数、VI子程序、结构或代码接口。
为了使仪表的界面清晰、美观和舒适,把车辆信息系统的内容按显示信息的特性和驾驶员的需求频率分成不同的界面显示。
3.1 CAN节点部分程序的设计
前面给出了基于HCS12X的CAN节点硬件电路的设计,要完成相应的数据采集任务,还必须实现控制器各个功能模块程序的编写,软件的流程和结构会在一定程度上影响系统的性能,具体的设计流程如图6所示。主程序如下:
图6 子节点部分程序设计流程图Fig.6 Design flow of the child node part
3.2 嵌入式服务器获取总线数据并与Labview通信
基于STM32的嵌入式服务器一方面要获取来自于CAN总线上的各种车载信息,另一方面要将获取的数据通过以太网发送给Labview终端。设计通过中断嵌套来管理用到的各个内部中断,其中Systick中断用于处理Lwip数据包,以太网中断用于相应客户端请求,CAN中断用于接收来自CAN总线上的各种车载信息。客户端通过发送指定字符向服务器发送请求,服务器予以响应并将本地的车载信息发送至客户端。
3.3 Labview中定位导航的实现
设计中GPS导航外部接收器采用微软公司的GPS-500 SIRF III接收模块,配上专业导航软件实现了汽车上的导航功能。要实现将导航功能嵌入到设计的用户界面中,需要通过LABVIEW调用WINDOWS下相关功能的API函数来实现。首先,使用Shell32.DLL下的ShellexecuteA()函数打开导航软件,然后通过findwindows()函数获取窗口的引用句柄,最后使用setwindowpos()函数实现对窗口大小以及打开位置的控制。
图7 调用API实现导航功能Fig.7 Call theWindows API to achieve the navigation function
图8 基于IMAQ USB的图像采集的实现Fig.8 Implementation of image acquisition based on IMAQ USB
3.4 图像采集的实现
使用IMAQ摄像头实现了图像信息的获取,图8是Labview平台IMAQ USB图像采集部分的代码。
3.5 语音娱乐等功能的实现
对于作品中的语音娱乐功能,即用户可根据自己需要在Labview界面的适当位置进行视频播放,上网娱乐等。这些功能的实现都是通过Activex控件将Labview程序作为客户端去访问车载电脑中支持Activex容器的程序,比如Windows media,并通过对获得属性的控制使用户对程序的操作只发生在相应的位置。
4 结 论
基于Labview的嵌入式车载信息终端,在现有车载终端的基础上完成了对车载信息的数字化显示和远程的访问,使车载信息的显示更加清晰和直观、信息量更大、智能化程度更高,而且便于升级和维护,具有广泛的应用前景。虽然目前虚拟仪器技术在车载信息显示领域尚处于起步阶段,还有很多工作要去做,但随着技术的成熟,必将对汽车产业产生深远的影响。
[1]张丙才,刘琳,高广峰.基于Labview的数据采集与信号处理[J].仪器仪表与传感器,2007(12):74-75.
ZHANG Bing-cai,LIU Lin,GAO Guang-feng.The data acquisition and signalprocess based on Labview[J].Instrumentation & Sensors,2007(12):74-75.
[2]王宜怀.嵌入式系统—使用HCS12微控制器的设计与应用[M].北京:北京航天航空大学出版社,2008.
[3]付轶旋,王建.基于CAN总线的汽车数字仪表的研究[J].电子设计工程,2008,16(12):59-61.
FU Yi-xuan,WANG Jian.The research to automotive digital instrumentbasedon CANbus[J].ElectronicDesign Engineering,2008,16(12):59-61.
[4]Freescale Semiconductor[S].MC9S12XS256 ReferenceManual Rev.05,2009.
[5]宋岩译.ARM Cortex-M3权威指南[M].北京:北京航空航天大学出版,2009.
[6]Laborsse J J.μC/OS-Ⅲ The real Time Kernel[M].Micrium Press,2009.
[7]SD Group.SD Memory Card Specifications Part 1:Physical Layer Simplified Specification Version 2.00[S],2006.
[8]Chapplell L A.TCP/IP协议原理与应用[M].马海军,吴华,译.北京:清华大学出版社,2005.