基于MSP430车辆定位系统的设计

2015-04-02 14:10汪正进等
无线互联科技 2015年2期
关键词:无线

汪正进等

摘 要:对车辆进行准确的定位和追踪是汽车业今后发展的一种趋势。此系统设计是基于MSP430基础上研究如何对车辆进行实时定位和追踪。系统的车载终端由液晶模块、GSM模块、GPS模块、无线模块、电机驱动模块以及电机等组成,控制中心由微控制器组成。利用GPS模块采集地理位置等信息,通过液晶12864实时显示经纬度、速度、时间等数据,再通过GSM网络将采集的信息发送到控制中心。控制中心通过USB端口读取GSM模块收到的信息,通过调用浏览器,将车辆所在位置的地理位置和运动轨迹通过经纬度坐标等信息实时显示出来。

关键词::GSM;GPS;无线;车辆定位;电机驱动

随着城市工业化的快速发展和城市道路的扩张,汽车已成为人们日常生活中不可缺少的一部分。要想在一个错综复杂的城市道路上方便、快捷、准确地知道汽车所行驶的位置信息,需要对车辆进行智能定位予以确定。同时,由于智能定位系统的设备软硬件的设计与生产成本的下降,它的应用越来越普及,如自行车、货车、手机等等。在全球定位系统中,美国的GPS相对其它定位系统组建比较早且技术成熟。因此,它已广泛应用于我们日常的定位系统中。其次,采用时分多址技术的全球移动通信系统GSM,它的基站多、网络覆盖广,通过GSM模块,用较低的成本即可实现语音及数据等信息的实时传输,而且操作简单。

此系统采用低功耗的MSP430单片机为核心,利用它完成与GPS定位模块和GSM(GPRS)移动通信模块的连接,将采集到的数据信息通过上位机处理,利用下位机进行显示得到车辆当前位置信息。实现对车辆定位追踪的目的[1][2][3]。

1 智能车辆定位系统的总体设计

智能车辆定位系统由控制中心和车辆定位终端两部分组成。控制中心则将PC机和GSM通信模块利用USB接口连接起来,实现数据的传递和联网显示。而车辆定位终端主要由微控制器作主控单元,由其扩展接口与矩阵键盘模块、GPS定位模块、无线控制模块、液晶显示模块、电机驱动模块组成。同时系统还配合一些附属单元如系统电源、复位电路及时钟电路等。智能车辆定位系统的总体设计框图如图1所示。

在智能车辆定位系统设计中,其工作原理是小车部分首先开启GSM通信模块和GPS定位模块,等待搜索小车具体位置显示信息。GPS定位模块的传输位置信息通过串口不断读取GPS模块传输的位置信息,然后提取信息来判断小车定位是否成功,同时将信息在12864液晶屏上显示出来。小车需根据接收到的按键信息来驱动电机运动,这些按键信息可有遥控器通过射频收发器芯片CC1101发出或者遥控器通过手动发出的。射频收发器芯片CC1101发送按键数据是根据单片机定时检测是否有按键按下来触发SPI协议进行控制。其中智能车辆定位系统中的遥控器系统由单片机最小系统板、键盘模块、无线模块3部分构成。智能车辆定位系统中的上位机部分是由PC机、TTL转USB模块、GSM模块3部分组成。上位机中的GSM模块每接收到一条信息,通过串口让PC机利用AT指令来读取信息数据,并在网络接口的地图上显示信息的经纬度。

2 系统硬件平台设计

2.1 电源模块电路

在硬件电路设计中,车辆需要在在室外进行测试和调试。选用12V的铅蓄电池对电机驱动供电,通过7805稳压器将12V电压转换为单片机及GPS模块所需的5V电压,再利用AMS1117-3.3的稳压器将5V电压转换为单片机外围设备,如射频收发器CC1101、12864液晶屏所需的3.3V电压,同时给GSM模块单独配置了一块3.7V手机锂电池进行供电。

2.2 无线遥控电路

在无线遥控电路中采用工作频率为433MHz(避免与GSM模块的相互影响)的近距离无线通信的CC1101射频收发器芯片。它是TI公司推出的具有低功耗和无线唤醒(WOR)等多调制模式,可对信息的强度和信息链接的质量进行读取、测量。它的工作电压在1.9V~3.6V,待机模式下电流仅为200nA,在该电路中给它供3.3V电压。可通过SPI接口对内部自带的64字节TX FIFO和RXFIFO的寄存器进行配置。同时它的引脚也可设置作为接收信号的引脚,若测得引脚的电平变为低电平时,对应引脚就接收到一个数据,这样节省了片上资源。在此电路中,将该引脚与微控制器的外部中断相来连接收信号。

2.3 电机驱动电路

在电机驱动电路中采用L298N作为电机驱动芯片,它能将单片机输入的逻辑信号转换为12V的驱动电平。外观上它是一个15脚直插的封装芯片,工作时电流比较大,易发热,在电路中加入散热片进行降温处理。该芯片有两组双通道输出,利用通道引脚电平来控制端口的输出。因此,两组双通道输出可以控制2个直流电机或者1个步进电机。

3 系统软件程序设计

在硬件电路搭建完成之后,需要对相关硬件设备在上电之前进行初始化。首先开启GSM和GPS进行联网和定位,之后启动射频收发器CC1101模块来对小车行驶进行遥控。这里面设计一个1s时间判定来对液晶屏的数据进行更新,同时将数据发送到上位机,这样遥控器就可以读取信息来控制小车的行驶,如图2所示。

根据MSP430F5438A的自身特性,可以对其主频进行精确配置为24MHz的工作频率,方便串口通信。利用串口通信的方式对GPS和GSM的数据进行发送,它们的传输速度分别可达到9600bit/s和115200bit/s。因此,在读取它们的数据信息是,由于串口采用的是中断方式,不是直接进行读取,得利用缓冲区进行处理。若直接读取,可能由于中断时间过长影响数据的接收。在中断结束后,利用定时器减缓刷新数据的速率,可以在主程序里直接进行数据的提取和解读,节约资源,提高效率。

3.1 GSM模块驱动

GSM模块里面的函数,主要可配置串口和字符串的发送。为了防止GPS在未定位的情况直接接收其它数据而造成乱码,需要对字符串发送函数进行了修改,主要包括指定的字符串是从第几位数据开始发送的判断和每次需要指定发送几位字符信息。其程序中出现的uchar *sentence,uchar num,uchar addw分别表示字符串名,发送长度,起始地址,如下所示:

void send_sentence_2(uchar *sentence,uchar num,uchar addw)

{ uchar i;

for(i = 0;i < addw;i++)

sentence++;

for(i = 0;i < num;i++)

{ while (!(UCA0IFG&UCTXIFG));

UCA0TXBUF=*sentence;

sentence++;}}

在程序中,利用数组的形式便于存储存放所有的GPS数据。但数组与字符串在程序中读取时要能识别出来,因此不能光靠简单的数据长度进行区别,还需要在字符串结尾处自动地补零(“\0”),而数组只能利用程序来补。同时还为了防止发送数据时,出现乱码现象,在send_sentence_2函数中,指定发送起始的地址和发送的长度,这样就更加可靠地发送短信的数据。

3.2 射频收发器芯片CC1101模块驱动

射频收发器CC1101模块主要采用SPI接口的时序作为驱动函数进行操作。但其驱动函数与其他函数相比,需要在射频收发器CC1101内部的寄存器上电前写入通道、地址、功率等信息将其进行初始化,而且要求遥控器初始化地址和小车上位机的初始化地址一致,才能正常接收数据。在配置CC1101内部寄存器时,可以将其引脚设置为接收标志,这样在其一旦接收到数据时,就会将其引脚变成低电平。这样就可以直接决定是否通过判断引脚的电平变化来读取数据,而节约数据读取时间。其中射频收发器CC1101接收函数流程图如图3所示。

4 结语

在车辆定位系统设计中,需要考虑环境因素,特别是强磁、强电、建筑物等的干扰会对GPS接收的数据的准确性带来影响。车辆定位系统要想进一步发展,还需要利用3G或者4G网络技术[4],通过车载视频监控系统为我们同步提供车辆行驶记录,特别在行驶过程中遇到的特发情况有效进行定位、记录和处理,对促进我国的交通运输的高效发展具有实用价值。

[参考文献]

[1]刘世杰,陈维斌.应用GPS、GSM车辆定位以及车载视频监控系统的应用[J].计算机工程与设计,2012(14).

[2]钱佳琪.基于GPS、3G车辆定位及车载视频监控系统的设计与研究[J].河南科技,2014(4).

[3]谢家春,陈来.基于GPS/GPRS的车辆定位监管系统研究与实现[J].信息技术,2012(12).

[4]王颖,侯亮.基于ARM Linux的3G无线车载视频监控系统[J].现代电子技术,2013(32).

猜你喜欢
无线
基于ARM的无线WiFi插排的设计
ADF7021-N在无线寻呼发射系统中的应用