基于GPS定位的嵌入式汽车监控器设计
扫描二维码
随时随地手机看文章
随着人们生活水平的提高,汽车逐渐进入了普通家庭,中国各大城市的汽车保有量逐年增加。同时,汽车被盗、被抢也成为一个较为严重的社会问题。虽然各类汽车防盗/报警器在汽车上的应用在一定程度上解决了汽车的安全问题,但随着盗贼手段的提高,大多的报警器容易迅速被破坏。汽车报警的方式多为灯光闪烁和喇叭鸣响,车主不一定能得到报警,周边的居民却被严重干扰。此外,盗贼破坏报警器,盗走汽车后,外观稍加改动,汽车就如石沉大海,无法追踪了。为了解决这些问题,本设计利用GPS监控的方式跟踪汽车位置,在被盗情况下可利用GSM短信模块随时向车主或公安部门发送汽车的GPS定位,加快破案速度。
图1 系统功能图
系统功能
本监控器不同于普通的汽车防盗器,并不提供被盗时声光报警和汽车电路切断等功能。它相当于一个具有报警功能的跟踪器,利用GPS定位来判断汽车是否被盗。在确定汽车被盗后,可利用GSM短信将汽车的位置信息随时发送给警方。这种监控器是一般汽车防盗器的补充,它不易被发现,短期内无法拆除,而且定位精度较高(10m左右)。
整个监控器的系统功能如图1所示。监控器安装在汽车的隐蔽处,平时利用汽车电瓶供电,在汽车电源被切断后,可自动改用电池独立供电,GPS接收天线位于汽车外部,有利于更好的接收信号。整个监控器工作的基本方式为,在汽车正常行驶的时候,监控器处于节电的休眠状态。当汽车停止,车主离开时,车主可利用手机发送短信给监控器,命令其处于监控状态。这时监控器的GPS接收功能开启,定时接收GPS定位卫星发送的位置、速度和高度等信息,同时将静止位置标志为安全位置。当窃贼破坏汽车的通用防盗系统,驾驶汽车离开时,GPS接收到的位置坐标发生变化,当速度、位置偏差大于设定的报警值时。监控器将自动发送报警信息到车主的手机,提示汽车被移动,可能被盗。当车主报警后,为配合警方查找被盗的汽车,车主可再次发送命令给监控器,打开定时短信发送功能,将当前的汽车坐标定时地发送到车主或报警中心,配合电子地图可以非常方便的查找到当前的汽车位置,可迅速破案。系统附带的SD卡可在报警后长时间的存储汽车变化的坐标等信息,作为破案的证据和查找窃贼同伙的线索。
系统硬件设计
为了实现监控功能,要求监控器具有GPS接收、GSM短信发送和大量数据存储功能,并有一定的多任务处理能力,成本低,体积小。监控器的硬件结构如图2所示。
图2 监控器硬件结构图
一款合适的主芯片将在系统中起到重要的作用,本监控器中选用了FS7821LQ嵌入式芯片。FS7821LQ集成了RISC结构的8051内核、USB 2.0控制器、收发器、NAND闪寸、SD以及CF接口控制器。利用这款芯片组成的嵌入式系统外接电路简单、功能强大、价格低廉,非常符合本设计的要求。
监控器的短信功能主要完成车主短信命令的接收和汽车GPS位置数据的发送,系统选用成熟的GSM-RTU短信模块完成。该模块内嵌GSM模块、16位低功耗MSP430单片机控制管理,具有遥测遥控的核心单元、1个可配置的标准串口(RS-232C)、标准天线和SIM卡接口。将购买的手机SIM卡插入短信模块,并完成系统(包括服务电话号码)设置后,将短信模块的串口和监控器的串口1(外加电平转换芯片,使之符合RS-232C电平标准)连接,就完成了短信模块的硬件安装。
GPS模块主要完成汽车GPS数据的接收,系统选用MG-30U/R-GPS模块,采用SiRF第二代高效能芯片(具有12条通道,最多时可收到12颗GPS卫星信号)进行比较解算,可选用速度、位置、海拔等相关数据,价格低廉,精度较高。该模块输出可选用RS-232C接口,利用系统主控芯片FS7821LQ的串口2和GPS模块连接。因为传输的数据量不大,利用串口传输数据可避免使用USB接口必须在系统上建立主USB口的麻烦。
图3为系统硬件的电路设计图,FS7821LQ具有完整的SD卡驱动及接口,系统直接利用128Mb的SD卡可与其连接。利用FS7821LQ芯片的通用I/O口PORT2_0~PORT2_3形成两个串口,加MAX232电平转换芯片后,分别连接GPS和GSM模块。FS7821LQ芯片包括了一个从USB接口的功能和硬件驱动,系统中预留为USB 2.0的接口,作为产品升级使用。此外,系统还预留了FS7821LQ的10个通用I/O口作为后续报警功能的控制端口。
图3 系统硬件电路设计图
系统软件设计
由于本监控器包括了多种较复杂的功能,同时具有如短信收发等突发的功能和GPS接收等定时任务,为了更好的完成任务的执行,在组成的嵌入式系统中,移植了礐/OS-II操作系统。礐/OS-II作为一个免费的源码开放的实时嵌入式操作系统,提供了多任务的切换能力和中断、UART的驱动等功能,完全可以满足本操作平台的要求。
礐/OS-II作为一个最基本的任务调度内核,只具备任务切换的能力,本监控器根据其功能可分为如表1所示的4个任务:主任务优先级最高(10);短信收发任务优先级次高(12),主要包括接收短信功能(包括设置、开关监控器)、发送短信功能(报警时5s发送一次GPS坐标),这个任务的时间随机性较大,实时要求较高;GPS接收任务每5s接收一次GPS数据,并解析其坐标,判断是否报警;数据存储任务在报警后每60s存储一次GPS坐标(128Mb卡约可保存1个月的数据)。
因为监控器中使用了USB设备和SD卡,在具备硬件接口的同时必须在软件中提USB和SD的驱动程序。FS7821LQ芯片的开发套件中提供了USB驱动程序和SD/MMC卡的驱动程序,包括支持标准MMC卡命令;嵌入5B命令存储器;嵌入17B响应存储器 ;支持1/4/8位数据宽度;对卡支持20MHz的时钟频率。为了将GPS数据以文件的形式保存到SD卡,必须有一个和PC兼容的文件系统,本监控器将简化的FAT16文件系统移植成功,实现了文件的自由存取。
在移植了礐/OS-II并嵌入了USB和SD/MMC卡的驱动程序后,监控器的应用层次的软件安装系统的功能分为优先级不同的多个任务。其中主任务用于生成其他任务,其优先级最高(10);GPS接收任务负责控制MG-30U/R-GPS模块,并从中获取所需要的GPS数据,其优先级次高(12);短信收发接收任务完成接收车主短信和发送GPS数据的功能,其优先级再次之(14);最后,数据存储功能完成GPS在SD卡中的存储和系统设置的功能其优先级为16。程序中同时建立了消息队列用于完成各任务间的通信和数据交换,软件状态流图如图4所示。
图4 软件状态流图
发展与前瞻
这个嵌入式汽车监控器的设计采用了大量成熟的技术和模块。它的应用主要是在汽车被盗时发出警告和被盗后提供准确的汽车位置信息,不能取代传统的汽车防盗器,但能提供非常实用的防盗功能,为被盗车的查找提供快速准确的信息。随着技术的发展,GPS/GSM中的控制器和主控制器的整合必将成为发展的方向,这样必然能够进一步的降低成本,减小体积。同时该监控器也可以和通用的汽车防盗器相整合,发展为更加完善的系统。