基于SOC的定位监控设计
扫描二维码
随时随地手机看文章
0 引言
随着信息技术的发展,无线通信已经普及。接触式监控已经不能满足社会的发展,移动定位监控系统应运而生。本文讨论基于SoC单片机技术的定位监控系统设计。该系统由2部分组成:定位终端和监控中心。定位终端以C8051F021作为核心微处理器,通过2个串口与SIEMENS M-C35i GPRS模块和GR-87卫星接收模块进行串行通信,接收GPS接收机发出的定位数据并控制SIEMENS MC35i GPRS模块。该系统采用看门狗电路,以保障控制器的正常运行。定位终端所采集的定位信息通过GPRS网络,以短信的形式发送到监控中心。本文以VC为开发平台,采用VC++进行MapX二次开发制作电子地图,从而在监控中心实现了定位信息的采集、处理和显示。实际定位过程表明:该系统定位精度高、信息传输速率快。
1 系统总体设计
该设计主要由基于SoC技术的单片机C805lF021,SIEMENS MC35i GSM/GPRS模块和GR-87卫星接收模块组成。定位终端以C8051F021作为核心控制器,通过两个串口UART0,UART1分别控制 SIEMENS MC35i GSM/GPRS模块和GR-87卫星接收模块进行串行通信,并控制SIEMENS MC35i
GSM/GPRS模块以GPRS服务形式把数据发送给监控中心。SoC单片机C8051F021接收来自GR-87卫星接收模块的定位信息,并对接收的信息进行校验,选择所需信息再添加相应的代码,组成数据包,然后将它们存储在C8051F021内置的FLASH(程序储存器FLASH上有只用于数据的临时储存器)上。
采集、处理、显示定位信息在上位机上,由电子地图完成。监控中心通过调用MapX的接口函数,实现电子地图的一系列功能来处理和显示定位信息。
SIEMENS MC35i GSM/GPRS模块有SMS和GPRS通信两种数据工作模式。模块上电启动过程为3~5 s,若SIEMENS MC35i GSM/GPRS模块接有有效的SIM卡,模块将附着在GPRS网络上,通过串口以AT指令的方式要求模块将经、纬度信息以短消息的形式发到监控中心,当然监控中心也可以通过模块发送相关的指令给SoC单片机,SoC单片机分析所接受的指令,然后通过I/O口做出相应处理。系统结构图如图1所示。
2 系统硬件实现
2.1 核心控制器的实现
系统使用的单片机是CYGNAL公司生产的SoC单片机C8051F02X,该单片机是集成的混合信号系统级芯片,具有与8051兼容的微控制器内核(运算速度高达25 MIPS),与MCS-51指令集完全兼容;C8051F单片机具有片内调试电路,通过4脚JTAG接口,可以进行非侵入式、全速的在系统调试;C8051F高速SoC的芯片上还集成了构成单片机控制系统所需的几乎所有模拟、数字外设及其他功能部件(包括ADC、DAC、可编程增益放大器、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、定时器、可编程计数器/定时器阵列PCA、内部振荡器、看门狗定时器及电源监视器等)。这些外设的高度集成,为设计小体积、低功耗、高可靠性、高性能的单片机应用系统提供了极大的方便,可大大降低系统的整体成本。
控制器采用串口和GPS以及GPRS进行通信;引出JTAG串行接口,即全速、非侵入式的系统调试接口(片内),通过该接口能对控制器内部FLASH存储器进行系统编程,并可与片内调试支持电路通信。
本系统把单片机的P0.0,P0.1,P0.4配置为GPRS模块的输入、输出和启动,通过三极管启动GPRS后接收和发送定位信息;P0.2,P0.3配置为GPS模块的输入和输出,来获取定位信息。
2.2 SIEMENS MC35i GPRS模块
MC35i 是SIEMENS公司推出的新一代无线通信GPRS模块,MC35i模块主要由GSM基带处理器、GSM射频模块供电模块(ASIC)、FLASH、 ZIF连接器天线接口6部分组成。通过独特的40引脚的ZIF连接器实现电源、连接指令、数据、语音信号及控制信号的双向传输。通过ZIF连接器及50 Ω天线连接器可分别连接SIM卡座和天线。MC35i的40个引脚通过ZIF连接器分别与电源电路、启动与关机电路、数据通信电路、语音通信电路、SIM 卡电路、状态指示灯电路等连接。MC35i外围接口电路如图2所示。
2.3 GR-87卫星接收模块
GPS信号接收机功能:捕获按一定卫星高度截止角度所选择的待测卫星的信号,并跟踪这些卫星的运行,对所接收到的GPS信号进行变换、放大和处理,以便测量出GPS信号从卫星到接收机天线的传播时间,解译出GPS卫星所发送的导航电文,实时地计算出测量站的三维位置,甚至三维速度和时间,最后经过标准的I/O口输出定位数据。本系统采用台湾长天科技股份有限公司(HOLUX) 的GR-87卫星接收模块来获得定位数据。GPS接收机的输出语句均按串行通信协议,数据格式为8个数据位,1个起始位,1个停止位,无奇偶校验,可以根据需要选择波特率,本系统选择波特率为4 800 b/s。本系统中接收NMEA格式消息作为原始数据输入,它的输出频率为1 Hz。输出数据采用ASCII字符码,输出语句达多十几种,包括GGA,GSA,GSV,RMC,RMT,VTG等。这些定位数据语句不仅给出了位置、速度、时间等信息,而且指出当地的卫星接收情况,其中GGA定位数据语句是最常用的。
3 系统软件设计
3.1 定位终端的软件实现
该定位终端的软件采用模块化的设计方法,其模块主要包括系统的初始化、GPS定位信息的处理、GPRS定位信息的发送。GPS定位信息的处理以串口UART1的中断方式执行,GPRS定位信息的发送以循环方式执行。
系统的初始化包括系统时钟初始化、端口初始化、串口初始化和GPRS的启动。系统时钟初始化采用外部晶振22.118 4 MHz,不分频;端口初始化配置交叉开关,给URAT0,URAT1分配端口引脚;串口初始化设置串口的工作方式,通过GPS和GPRS的波特率,计算定时器的值。
3.2 上位机的软件实现
监控中心是将GIS软件MapInfo嵌入到VC6中进行开发,这使得 MapInfo中的地图窗口可以合并到VC中,从而利用VC在数据库方面的强大功能,也很好地利用了Maplnfo对地理信息直观形象地处理优势。通过调用MapX的接口函数,实现电子地图的一些基本功能。编写程序将定位终端和监控中心连接起来,将定位终端获取的定位信息显示在电子地图上。[!--empirenews.page--]
4 实验结果
本文将基于SoC技术的定位监控用于实际定位过程中,对定位监控进行了测试,定位区域选择为武汉科技大学校本部图书馆前的马路。实验结果如图3所示。
由图3可以看出,系统运行良好,满足定位监控的定位要求。
5 结语
本文基于先进的 SoC技术实现了GPS/GPRS定位监控的设计,详细说明了该系统的硬件和软件结构,通过核心控制器C8051F021对GPS模块和GPRS模块进行双模块控制。用VC++进行MapX二次开发,将MapInfo中的地图窗口合并到VC中,利用了VC在数据库方面的强大功能,也很好地利用了 Maplnfo对地理信息直观形象的处理优势。实验表明,该系统基于SoC技术的单片机C8051F021作为核心控制器,优化了系统性能,节约了成本,缩短了开发周期,性能良好。