APP下载

基于移动终端的车辆监控系统设计

2015-03-06董晓璐

电子科技 2015年11期
关键词:蓝牙总线终端

董晓璐,金 鹏

(北方工业大学 电气与控制工程学院,北京 100144)

目前移动终端与车的数据直接进行通信的产品或者应用还处于开发阶段,汽车监控产品只能显示部分位置、定位等的基本数据,将设备放置在车上专用于定位监控。而本设计是基于移动终端上的研究,可方便车主全面地了解汽车状态,实时地更新数据,甚至能用移动设备控制车辆。另一方面,方便管理和监控,保护了车主的隐私,当打开移动终端的客户软件和控制器时,实时通信;当关闭软件和控制器,并不传播无线信号,保证车辆信息的安全。这样,汽车通过与移动终端的互动,就能分享汽车本身的基本信息,如位置、油量、里程等,而无需增加成本安装GPRS 或者中控台,做到资源的最大化利用和管理[1]。

1 系统设计

系统选取蓝牙模块实现数据的无线传输,利用蓝牙芯片的硬件电路设计和软件编写协议转换,实现实时通信;移动终端的上层应用在安卓平台下实现,Java编写相关程序,生成的apk 安装在移动终端上,蓝牙上传的数据可保存,通过移动终端的蜂窝数据网络或无线网络传输到控制中心、4S 店、分享中心等。

图1 系统总体流程图

2 硬件设计

本文选取飞思卡尔X 系列单片机MC9S12XF512,集成CAN 控制器,SCI/SPI 接口,双通道FlexRay,方便日后连接汽车线控转向系统。CTM8251 是一款带隔离的通用CAN 收发器芯片[2],CAN 模块设计框图如图2 所示。

图2 CAN 模块设计框图

蓝牙模块,采用CSR 主流蓝牙芯片,蓝牙V2.0 协议标准,工作电压3.3 V,可通过SCI/SPI/USB 等接口连接外围电路,有效传输范围10 m。根据蓝牙模块的实际大小画出原理图和封装,其中原理图如图3 所示。

图3 蓝牙模块原理图

电源电路设计采取两种供电方式,由汽车上的供电电源(24 V/12 V)或USB 供电,当距离较远不能连接汽车电源时,使用备选USB 接口充电,充电电源由移动电源或者电脑USB 口提供。设计电源电路时,根据模块工作电压需要提供5 V 给单片机供电,3.3 V 给蓝牙模块供电,保障模块的正常供电和反接保护。

3 软件设计

3.1 底层软件设计

底层软件设计采用前后台式控制,整体采用模块化的软件设计方法,将系统功能分解为多个子模块。系统首先进入初始化,完成之后,即进入主循环。在主程序被引导后,第一步执行软硬件初始化任务,申请需要的软件资源,配置硬件参数,如时钟、定时器、IO 口、串口、CAN 等,并使能相关外设。第二步进入主循环,包括电源管理、CAN 数据采集及故障诊断、SCI 通信、发送任务管理等子模块。其中采用中断接收SCI 接口的数据和CAN 总线的数据,设定中断优先级,数据传输时的优先级最高,保证数据的完整性,提高数据传输的正确性。数据通信的处理过程:在数据传送过程中,使用自定义的数据帧[3]。所以单片机接收到CAN 帧时,要处理数据,读取CAN 帧中的有用数据,通过单片机的TXD 发送出去;同理,单片机接的RXD 接收到数据,也要处理数据,还原成CAN 帧。这样,数据通过加前后校验和标识,上层通过判断这些标识来确定汽车的基本信息,也可保障安全性。底层软件的设计流程图如图4 所示。

图4 软件流程图

在底层软件设计过程中,最重要的是CAN 总线通信的设置。当CAN 总线上的一个节点发送数据时,其以报文形式广播给网络中所有节点。对每个节点而言,无论数据是否是发给自己的,均对其进行接收[4]。在同一系统中标识符是唯一的,当几个站同时竞争总线读取时,要设置总线的标识符,可通过配置CANIDARX 和CANIDMRX 实现ID 滤波,这种配置,节约了时间和空间,将不需要的ID 滤除,只保留有效ID,大幅提高了运行速度[5]。当要发送数据时,汽车上的控制器将要发送的数据和自身的标识符传送给CAN 控制器,并处于准备状态;当其收到总线分配时,转为发送报文状态。CAN 芯片将数据根据协议组织成一定的报文格式发出,这时处理器处于接收状态,判断这些报文是否是发给自己的,以确定是否接收。由于CAN 总线是一种面向内容的编址方案,因此很容易建立控制系统并灵活地进行配置,在CAN 总线中加进一些新的接收站而无需在硬件或软件上进行修改[5]。

系统在调试时使用周立功的CANTest 工具[6]模拟汽车的CAN 总线发送和接收数据;蓝牙适配器与蓝牙模块配对连接,蓝牙模块的数据通过蓝牙适配器上传到虚拟串口。这样,CANTest 与串口助手的数据能直观地反映通信过程[7]。调试结果如图5 所示,虚拟串口的数据与CAN 总线的数据一致,系统能够实现实时通信。当控制器与蓝牙适配器的距离在8 m 以内时,传输速率9 600 bit·s-1,通信正常;距离>8 m 时,由于环境的干扰和蓝牙本身的距离约束,数据传输会发生错误,无法保证通信。

图5 通信调试结果图

3.2 上层应用软件设计

系统上层应用选择在开发的安卓操作系统下进行,安卓系统广泛用于移动终端设备,适用性强。采用流行的开发工具Eclipse,安装ADT(Android Development Tools),Java 编写程序[8]。

上层软件首先通过请求获得蓝牙的响应权限,来操作移动终端上的蓝牙模块,配置本地的蓝牙,打开、关闭、名称、密码等。然后移动终端通过自带的蓝牙模块去搜索访问主控制板上的蓝牙芯片,建立连接通信,读写数据,进行数据操作[9]。上层应用程序使用这些数据做成相关的应用,图形化曲线、报警、优化、控制操作等。最终生成Android 安装包,移动终端可以安装更新,用户可根据需要下载相关的应用[10]。

4 结束语

本文从应用的角度介绍了满足用户体验的无线监控系统,并给出了系统的硬件和底层软件设计以及上层软件的实现方法。开发过程证明,在本设计中硬件方面选用实用性强的蓝牙协议芯片HC-05 和高性能的微处理器MC9S12XF512MLM,满足系统的要求并且将开发过程进行了简化,使产品具有更高的性价比和后续开发的实用性。该部分的高效率应用为系统的开发奠定了基础。虽该系统可较好地实现该功能,但仍需完善,比如本系统的上层软件设计比较简单,希望今后在此基础上开发更多的应用,让用户体验更多的功能。

[1] 刘峰.浏览器服务器结构的车辆监控系统的设计与实现[D].武汉:华中科技大学,2007.

[2] 李伟.基于双MsP430F149 单片机的车载监控终端的设计[D].武汉:华中科技大学,2006.

[3] 王婵娟.基于CAN 总线的汽车车载远程终端监控系统[J].机械制造与自动化,2009(3):127-128.

[4] 张弘.基于CAN 总线的信号采集与处理模块研究[D].南京:南京航空航天大学,2007.

[5] 曹珊,于秀敏,高莹,等.CAN 总线在混合动力电动公共汽车中的应用[J].汽车技术,2005(6):13-17.

[6] 吕京建,张宏韬.CAN 总线的浅析CANopen 协议[J].电子产品世界,2002(9A):24,26-27.

[7] 郑海燕.基于GPS 的车辆监控调度系统设计研究[J].数字技术与应用,2013(3):148.

[8] Venkat Subramaniam,薛笛.Java 虚拟机开发编程[M].北京:机械工业出版社,2013.

[9] 史雅云.车载导航终端数据处理系统的研究与实现[D].北京:北京邮电大学,2007.

[10]王盟,马艳峥,徐晓辉,等.一种无线数据采集及远程监测系统的设计[J].现代电子技术,2009(1):30-32.

猜你喜欢

蓝牙总线终端
蓝牙音箱的直线之美
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
多功能北斗船载终端的开发应用
多通道ARINC429总线检查仪