论文部分内容阅读
摘 要 应用GPS、GPRS和嵌入式系统技术,设计一种用于人员搜救的定位装置。在硬件方面,该装置以32位ARM Cortex-M4微处理器STM32F407为GPS数据采集以及GPRS数据处理核心芯片,装置的GPS数据则通过基于GPRS电路和SIM卡电路构成的无线通信模块在装置之间进行通信;总的电路系统由5个功能模块组成,文中给出了电路结构图,阐述了该装置的工作原理和各模块的功能,尤其是无线通信模块的选型方案。而在软件方面,ARM Cortex-M4微处理器以μTenux为操作系统,且以地球为理想球体的假设基础上,提出装置方位判断算法。
关键词 ARM Cortex-M4;GPS;GPRS;μTenux;方位判断算法
中图分类号:TP216 文献标识码:A 文章编号:1671-7597(2013)19-0023-03
随着人们生活水平的不断提高,有相当数量的人群在工作之余会去登山、郊区探险等,但时常有迷路等意外发生,这时就需要一套定位装置,让队员之间能相互照应,使生命财产的损失降到最低。尽管手机能保持队员的联络,但其具有局限性,以下分3种情况进行讨论。
1)队员之间通过手机虽然能保持联络,但双方不一定能确定对方的确切方位,特别是在不熟悉当地地形的情况下,这会给援助带来一定的困难。
2)尽管有些手机有GPS功能,但手机GPS地图中城市的交通标识比较详细,而山地、乡村郊区基本没有交通标识。所以即使手机有一般GPS功能,而山地、乡村郊区这些没有详细交通指示的地区,发生意外时,当事人一般也很难有效脱离困境。
3)还需要当事人处于清醒状态下的情况下,队员之间才能使用手机保持联系。
此外,尽管具有GPS功能和无线通信功能的装置已经出现,但其通信距离短、通信可靠性不理想,不能满足远距离范围内进行人员搜救的需求。
为此,本文设计了一种用于人员搜救的具备定位功能、5 km内能进行有效通信的定位装置,重点阐述了该装置的硬件结构、电路工作原理、无线通信模块的设计、判断使用者之间距离和方位的算法。
1 硬件设计
装置系统硬件框图如图1所示,主要包括主控制模块、无线通信模块、GPS模块、显示模块、通信接口模块等5个功能模块。
主控制模块主要由主控制器和J-LINK接口构成。
主控制器采用基于ARM Cortex-M4内核的高性能芯片STM32F407,其处理时钟最高可达168MHz;具有浮点数运算单元FPU,很适合计算GPS数据;片内资源丰富,支持TFT 24Bit LCD屏,有两路UART,UART最高速度可达10.5Mbps。主控制器主要用于处理GPS数据、控制GPRS通信、控制LCD显示队员之间的相对距离和方位。
J-LINK接口为标准20芯JTAG插头,用于装置主板和J-LINK仿真器的连接,方便调试和烧写程序。
无线通信模块由基于MC35I的GPRS电路和SIM卡电路构成。该模块完成装置GPS数据的发送以及对方装置GPS数据的接收。基于MC35I的GPRS电路支持EGSM900/GSM1800双频、标准AT指令。GPRS状态下下行最大通信速率85.6kbps。
GPS模块由GPS芯片组和GPS天线两部分构成,GPS芯片选用定位精度在2.5米,定位性能优异准确,可进行室内以及桥梁底部可靠定位的高性能GPS芯片组LEA-4H,为装置提供GPS数据。为方便使用,GPS天线为内置天线。
显示模块主要由TFT液晶屏电路构成,主要用于显示装置使用者、装置使用者之间的相对距离以及方位等信息。
通信接口模块则主要由2路UART串口组成,一路用于连接GPS模块,接收GPS数据;另一路则连接无线通信模块。
和数据通信密切相关的模块有无线通信模块、GPS模块以及通信接口模块。对于GPS模块,市场上有十分专业而且可靠性很高的电路;而对于通信接口模块,由于不牵涉无线通信,于是只选用十分成熟的串口通信;考虑到系统的稳定性和装置之间数据有效的远距离通信,以下主要讨论整个装置的工作原理和无线通信模块电路的设计。
1.1 整个装置的工作原理
装置通电后,因GPS模块启动运行时有一段时间处于搜星过程,首先使能GPS,半分钟后使能显示模块,最后使能无线通信模块。
GPS模块和无线通信模块被使能后,如果无线通信模块没有收到有效的GPS数据,则不启动发送动作,显示模块只显示本机标识及其GPS信息;否则发送本机有效GPS数据。
无线通信模块接收到对方装置发送的GPS有效数据时,主控制器计算本机与对方装置之间的距离和方位,并在TFT液晶屏中顯示。
此外,为了确认有效的GPS数据,以及确认有效的GPRS通信,分别用两个LED指示。在正常情况下,两灯闪烁;而异常时相应的LED灭。
1.2 无线通信模块电路
在通信技术中,主要有有线和无线两大类,两者各有优势,需要结合实际情况设计通信电路。
为克服有线通信中线缆的限制,本文选择无线通信。
而在众多无线通信技术中,比如蓝牙、WIFI、基于CC1100的射频以及GPRS,本文选择GPRS方案设计装置的无线通信模块。
而在众多GPRS模块中,本文设计时采用德国西门子公司的高性能GPRS模块MC35I,其体积小,功耗低,能提供永久在线、数据、语音和短信功能;具有RS232接口,于是在实际设计时,它可与主控制器以串口的形式进行数据通信;其最大数据传输速率为85.6kbps,适合装置之间的数据通信。
为了检测在实际工作过程中,GPRS是否有有效的数据传输,还加上了用于指示的LED,当GPRS有效的进行数据传输,LED闪烁,否则LED灭。 2 软件设计
装置软件部分主要包括操作系统、驱动程序、GPS数据处理程序、GPRS通信程序以及TFT液晶屏显示程序5个部分。本文主要阐述装置操作系统以及GPS数据处理程序。
2.1 装置操作系统
操作系统方面,本文选择μTenux,它是一款开源、免费的抢占式实时操作系统,专门针对ARM Cortex M0-M4系列微处理器,在处理器片内ROM或FLASH中最大只需60KB存储空间,可自动分配内存;任务、信号量等系统对象采用ID方式实现,用户看不到内部的数据结构,安全性比较好;此外,还有Trace、Hook等调试功能;可使用C语言进行程序设计。
2.2 GPS数据处理程序
该程序包含整个软件中最关键的距离测算算法以及方位判断算法的设计,本文重点阐述这两种算法。
由于该装置需要在5 km范围内进行数据处理,为考虑后续定位范围的延展,此时无法将曲线近似为直线,本文把地球假想为理想球体,在此基础上完成两种算法的设计。
2.2.1 距离测算算法
在视地球为理想球体的基础上,假设有任意两点A(,)和B(,),其中,为纬度,,为经度,则两点各自所在经度平面所形成的夹角=|-|。设理想球体球心为O,则|AO|=|BO|=R,从而两点的地表距离为=θ·π·R/180,其中R为地球半径,约为6300 km。
2.2.2 方位判断算法
由以上6种情况可产生=9种实际情况,但其中-=0且-=0这种情况只涉及A、B两点重合或高度问题,本文只讨论其余8种情况。为进一步方便用户使用,裝置除了提供地理概念的东南西北方位信息之外,还尽可能提供前后左右方位信息,这需要确定本机使用者的方向。
首先,约定手持装置的使用者在搜救的初始时刻向前运动,假设其在A点发生运动,则根据GPS的GPVTG数据提供的以真北为参考基准的地面方向,就能获得A点装置使用者运动方向和真北方向的夹角α,其范围为[0,359],从而可获得A点装置使用者面向的方向。所谓真北,是指地理意义上的北方。
3 总结
本文从硬件和软件两方面阐述了一种用于人员搜救的定位装置的设计,尤其是十分重要和关键的方位判断算法,除了给用户提供地理概念上的东西南北方位信息外,还尽可能的提供更为方便的前后左右方位信息,但B点在A点东北、东南、西北、西南方向,以及A点运动方向与真北方向的夹角在(0°,90°)、(90°,180°)、(180°,270°)和(270°,360°)时,两点之间的前后左右信息不精确,有待进一步改进。
参考文献
[1]吴笔迅,潘绍明,付杰,蔡启仲.具有GPS导航和无线通讯功能的车载汽车防碰撞装置[J].仪表技术与传感器,2012(4):57-60.
[2]STM32F407xx User’s manual[M]. ST Electronics,2012.
[3]MC35i Terminal Hardware Interface Description[M].Simens,2007.
[4]LEA-4H GPS Receiver Module,U-Blox[M].2005.
[5]李红霞.开源实时操作系统μTenux在Cortex-M3平台上的移植[D].大连:大连理工大学,2012:10-18.
[6]μTenuxTM开源实时操作系统原理和实践[M].大连悠龙软件科技有限公司,2013.
作者简介
吴笔迅(1984-),助教,硕士,从事嵌入式系统应用方向的研究。
关键词 ARM Cortex-M4;GPS;GPRS;μTenux;方位判断算法
中图分类号:TP216 文献标识码:A 文章编号:1671-7597(2013)19-0023-03
随着人们生活水平的不断提高,有相当数量的人群在工作之余会去登山、郊区探险等,但时常有迷路等意外发生,这时就需要一套定位装置,让队员之间能相互照应,使生命财产的损失降到最低。尽管手机能保持队员的联络,但其具有局限性,以下分3种情况进行讨论。
1)队员之间通过手机虽然能保持联络,但双方不一定能确定对方的确切方位,特别是在不熟悉当地地形的情况下,这会给援助带来一定的困难。
2)尽管有些手机有GPS功能,但手机GPS地图中城市的交通标识比较详细,而山地、乡村郊区基本没有交通标识。所以即使手机有一般GPS功能,而山地、乡村郊区这些没有详细交通指示的地区,发生意外时,当事人一般也很难有效脱离困境。
3)还需要当事人处于清醒状态下的情况下,队员之间才能使用手机保持联系。
此外,尽管具有GPS功能和无线通信功能的装置已经出现,但其通信距离短、通信可靠性不理想,不能满足远距离范围内进行人员搜救的需求。
为此,本文设计了一种用于人员搜救的具备定位功能、5 km内能进行有效通信的定位装置,重点阐述了该装置的硬件结构、电路工作原理、无线通信模块的设计、判断使用者之间距离和方位的算法。
1 硬件设计
装置系统硬件框图如图1所示,主要包括主控制模块、无线通信模块、GPS模块、显示模块、通信接口模块等5个功能模块。
主控制模块主要由主控制器和J-LINK接口构成。
主控制器采用基于ARM Cortex-M4内核的高性能芯片STM32F407,其处理时钟最高可达168MHz;具有浮点数运算单元FPU,很适合计算GPS数据;片内资源丰富,支持TFT 24Bit LCD屏,有两路UART,UART最高速度可达10.5Mbps。主控制器主要用于处理GPS数据、控制GPRS通信、控制LCD显示队员之间的相对距离和方位。
J-LINK接口为标准20芯JTAG插头,用于装置主板和J-LINK仿真器的连接,方便调试和烧写程序。
无线通信模块由基于MC35I的GPRS电路和SIM卡电路构成。该模块完成装置GPS数据的发送以及对方装置GPS数据的接收。基于MC35I的GPRS电路支持EGSM900/GSM1800双频、标准AT指令。GPRS状态下下行最大通信速率85.6kbps。
GPS模块由GPS芯片组和GPS天线两部分构成,GPS芯片选用定位精度在2.5米,定位性能优异准确,可进行室内以及桥梁底部可靠定位的高性能GPS芯片组LEA-4H,为装置提供GPS数据。为方便使用,GPS天线为内置天线。
显示模块主要由TFT液晶屏电路构成,主要用于显示装置使用者、装置使用者之间的相对距离以及方位等信息。
通信接口模块则主要由2路UART串口组成,一路用于连接GPS模块,接收GPS数据;另一路则连接无线通信模块。
和数据通信密切相关的模块有无线通信模块、GPS模块以及通信接口模块。对于GPS模块,市场上有十分专业而且可靠性很高的电路;而对于通信接口模块,由于不牵涉无线通信,于是只选用十分成熟的串口通信;考虑到系统的稳定性和装置之间数据有效的远距离通信,以下主要讨论整个装置的工作原理和无线通信模块电路的设计。
1.1 整个装置的工作原理
装置通电后,因GPS模块启动运行时有一段时间处于搜星过程,首先使能GPS,半分钟后使能显示模块,最后使能无线通信模块。
GPS模块和无线通信模块被使能后,如果无线通信模块没有收到有效的GPS数据,则不启动发送动作,显示模块只显示本机标识及其GPS信息;否则发送本机有效GPS数据。
无线通信模块接收到对方装置发送的GPS有效数据时,主控制器计算本机与对方装置之间的距离和方位,并在TFT液晶屏中顯示。
此外,为了确认有效的GPS数据,以及确认有效的GPRS通信,分别用两个LED指示。在正常情况下,两灯闪烁;而异常时相应的LED灭。
1.2 无线通信模块电路
在通信技术中,主要有有线和无线两大类,两者各有优势,需要结合实际情况设计通信电路。
为克服有线通信中线缆的限制,本文选择无线通信。
而在众多无线通信技术中,比如蓝牙、WIFI、基于CC1100的射频以及GPRS,本文选择GPRS方案设计装置的无线通信模块。
而在众多GPRS模块中,本文设计时采用德国西门子公司的高性能GPRS模块MC35I,其体积小,功耗低,能提供永久在线、数据、语音和短信功能;具有RS232接口,于是在实际设计时,它可与主控制器以串口的形式进行数据通信;其最大数据传输速率为85.6kbps,适合装置之间的数据通信。
为了检测在实际工作过程中,GPRS是否有有效的数据传输,还加上了用于指示的LED,当GPRS有效的进行数据传输,LED闪烁,否则LED灭。 2 软件设计
装置软件部分主要包括操作系统、驱动程序、GPS数据处理程序、GPRS通信程序以及TFT液晶屏显示程序5个部分。本文主要阐述装置操作系统以及GPS数据处理程序。
2.1 装置操作系统
操作系统方面,本文选择μTenux,它是一款开源、免费的抢占式实时操作系统,专门针对ARM Cortex M0-M4系列微处理器,在处理器片内ROM或FLASH中最大只需60KB存储空间,可自动分配内存;任务、信号量等系统对象采用ID方式实现,用户看不到内部的数据结构,安全性比较好;此外,还有Trace、Hook等调试功能;可使用C语言进行程序设计。
2.2 GPS数据处理程序
该程序包含整个软件中最关键的距离测算算法以及方位判断算法的设计,本文重点阐述这两种算法。
由于该装置需要在5 km范围内进行数据处理,为考虑后续定位范围的延展,此时无法将曲线近似为直线,本文把地球假想为理想球体,在此基础上完成两种算法的设计。
2.2.1 距离测算算法
在视地球为理想球体的基础上,假设有任意两点A(,)和B(,),其中,为纬度,,为经度,则两点各自所在经度平面所形成的夹角=|-|。设理想球体球心为O,则|AO|=|BO|=R,从而两点的地表距离为=θ·π·R/180,其中R为地球半径,约为6300 km。
2.2.2 方位判断算法
由以上6种情况可产生=9种实际情况,但其中-=0且-=0这种情况只涉及A、B两点重合或高度问题,本文只讨论其余8种情况。为进一步方便用户使用,裝置除了提供地理概念的东南西北方位信息之外,还尽可能提供前后左右方位信息,这需要确定本机使用者的方向。
首先,约定手持装置的使用者在搜救的初始时刻向前运动,假设其在A点发生运动,则根据GPS的GPVTG数据提供的以真北为参考基准的地面方向,就能获得A点装置使用者运动方向和真北方向的夹角α,其范围为[0,359],从而可获得A点装置使用者面向的方向。所谓真北,是指地理意义上的北方。
3 总结
本文从硬件和软件两方面阐述了一种用于人员搜救的定位装置的设计,尤其是十分重要和关键的方位判断算法,除了给用户提供地理概念上的东西南北方位信息外,还尽可能的提供更为方便的前后左右方位信息,但B点在A点东北、东南、西北、西南方向,以及A点运动方向与真北方向的夹角在(0°,90°)、(90°,180°)、(180°,270°)和(270°,360°)时,两点之间的前后左右信息不精确,有待进一步改进。
参考文献
[1]吴笔迅,潘绍明,付杰,蔡启仲.具有GPS导航和无线通讯功能的车载汽车防碰撞装置[J].仪表技术与传感器,2012(4):57-60.
[2]STM32F407xx User’s manual[M]. ST Electronics,2012.
[3]MC35i Terminal Hardware Interface Description[M].Simens,2007.
[4]LEA-4H GPS Receiver Module,U-Blox[M].2005.
[5]李红霞.开源实时操作系统μTenux在Cortex-M3平台上的移植[D].大连:大连理工大学,2012:10-18.
[6]μTenuxTM开源实时操作系统原理和实践[M].大连悠龙软件科技有限公司,2013.
作者简介
吴笔迅(1984-),助教,硕士,从事嵌入式系统应用方向的研究。