历史上的今天
返回首页

历史上的今天

今天是:2025年01月04日(星期六)

2021年01月04日 | 基于MSP430F149和GPS+GPRS模块实现追踪器系统的软硬件设计

2021-01-04 来源:elecfans

1、引言

随着GPRS无线通讯、Internet网络以及民用领域GPS的普遍应用,将三者合一使用已成为当今热门的研究领域。


GPRS(GeneralPackedRadioService,通用分组无线业务)采用TCP/IP协议,非常容易和现有的Internet技术及应用平台整合,即将各种IP技术和服务同移动通信技术相结合,为用户提供各种高速度、高质量的移动数据通信业务。GPRS的移动通信、价格低廉、快速登陆、永远在线、组网灵活、信道保障、小功率防雷击等特点使得GPRS已逐渐取代GSM网络。


GPS(GlobalPositioningSystem,全球定位系统)除了更多地应用于高精尖端测量、测绘及导航领域外,也更多地推动了其在低成本、低精度的民用小型GPS设备领域的发展和使用。GPS收发机的主要任务就是捕获一定高度截止角所选择的待测卫星的信号,同时对接收到的GPS信号进行变换放大和处理,解译出GPS卫星所发送的导航电文,最终实时计算出该观测站的三维位置、三维速度和时间。


整个系统方案如图1所示,带有两个串口的微控制器一方面获取来自GPS接收模块的导航数据,另一方面将这些数据经过适当处理后转换为GPRS可以传送的数据,并通过网络送入控制中心,当用户需要获得相应的追踪数据时,通过网络访问即可。

基于MSP430F149单片机和GPS+GPRS模块实现追踪器系统的软硬件设计

2、总体方案

基于微控制器的GPS+GPRS系统,主要由以下几个部分组成:微控制器模块、GPS+GPRS模块、键盘及LCD显示屏等附件。其基本原理框图如图2所示。

MCU通过两个串口接收和发送信号到GPS和GPRS模块,MCU通过串口0中断接收GPS发出的状态信息(包括三维位置、三维速度、时间、航向等)并保存,经软件打包后通过串口1发送到GPRS模块。GPRS模块受MCU控制将此信号转换为射频信号GPRS网络并连接Internet网络。Internet用户通过连接相关网站,或手机用户通过编写指定格式的短信,发送消息给GPRS模块,GPRS模块通过串口1将信号送入MCU,MCU发出接受信号铃声并根据约定协议自动显示相应信息,键盘操作简单,可以方便地切换显示信息。


3、硬件选型

该系统在选型时,在满足使用要求的基础上,主要的选择目标是体积重量小、能耗低的产品以满足室外使用和便于老人小孩携带的要求。


3.1MCU

MCU选用超低功耗型MSP430系列16位单片机MSP430F149,片内有丰富的外设,可实现异步、同步及多址访问的串行通信接口(USART0~1)以及液晶显示驱动模块,最多可达6×8条I/O线,工作电压为1.8~3.6V。5种低功耗模式的体系结构,使得该微控制器在便携式测量等应用场合非常理想地延长了电池的使用寿命,省电模式下中断唤醒只需6μs。


3.2XT55GPS+GPRS模块

XT55是Siemens推出的第一款也是目前的惟一一款集合了三频GSM/GPRS和GPS接收器的模块。预先配置的功能和超级紧凑的尺寸(体积53×34×5.1mm3重11g)使其十分易于集成在新的小巧型的应用设备中,节省了大量的时间和费用来做额外的硬件集成。可用于传输短信、语音、传真,用于数据传输时最大理论传输速率可达85.6kb/s,缺省值为14.kb/s,工作电压为3.3~4.8V,XT55内置GPS接收器,能决定其当前的位置、速度、航向。这些数据可以由MCU保存,也可以直接发送到一个操作中心。


4、系统构成

4.1硬件设计

硬件设计上主要是MCU与XT55所集成的两个模块之间的串口连接。其中GPRS模块与微控制器之间的通信协议是AT命令集,除处理串口发送、串口接收之外,微控制器与GPRS模块之间还有一些硬件握手信号。


硬件连接完成后,在进行GPRS上网操作之前,首先要对GPRS模块进行一定的设置,主要的设置工作有:设置通信波特率,一般设置为19200b/s,无奇偶位,一位停止位;设置接入网关,通过AT+CGDCONT=1,“IP”,“CMNET”命令设置GPRS接入网关为移动梦网;设置移动终端的类别;测试GPRS服务是否开通。


4.2软件设计

程序中所有代码都是由C语言编写的,并采用分层结构,从底往上分别为串口驱动层,网络设备驱动层、PPP协议层、uIP协议层、应用层。上层函数的实现需要应用到底层函数,最终完成应用层任务,即传送数据。


PPP(Point-to-PointProtocol)是为在同等单元之间传输数据包这样的简单链路而设计的,这种链路提供全双工操作,并按照顺序传送数据包,为基于各种主机、网桥和路由器的简单连接提供一种共通的解决方案。

基于MSP430F149单片机和GPS+GPRS模块实现追踪器系统的软硬件设计

PPP数据帧格式如下:

标志Flag:表示一个帧的开始和结束;

地址Address:标准的广播地址;

控制Control:用户数据采用无序帧方式传输;

协议Protocol:标志封装在帧的数据域中的协议类型,通过确定帧序列的结尾,为FCS域留出两个字节,便可确定数据域的结尾:0xC023为网络认证数据报;0xC021为链路控制数据;0x8021为网络控制数据;

帧检测序列FCS:差错控制。


4.2.1uIP的体系结构

瑞典计算机科学研究所AdamDunkels开发的uIP0.9是一种TCP/IP协议栈,资源占用少是他的设计特点,尤其适用于8/16位单片机。他去掉了许多全功能协议栈中不常用的功能,而保留通讯所必须的协议机制,其设计重点放在IP,ICMP和TCP协议的实现上,将这3个模块合为一个整体,而将UDP和ARP协议实现作为可选模块。uIP的体系结构如图3所示。

uIP处于网络通讯的中间层,上层协议在这里被称为应用程序,而下层硬件或固件被称为网络设备驱动。显然,uIP并不仅仅是针对以太网设计的,他具有媒体无关性。


4.2.2uIP的设备驱动程序接口

uIP内部有两个函数直接需要底层设备驱动程序的支持:

一个是uip_input()。当设备驱动程序从网络层收到一个数据包时,要调用这个函数,设备驱动程序必须事先将数据包存放到uip_buf[],包长放到uip_len,然后交由uip_input()处理。当函数返回时,如果uip_len不为0,则表示有带外数据(如SYN,ACK等)要发送。当需要ARP支持时,还需要考虑更新ARP表或发出ARP请求和回应。


另一个需要驱动程序支持的函数是uip_periodic(conn)。这个函数用于uIP内核对各连接的定时轮循,因此需要一个硬件支持的定时程序周期性地用他轮循各连接,一般用于检查主机是否有数据要发送,如有,则构造IP包。


4.2.3uIP的应用程序接口

为了将用户的应用程序挂接到uIP中,必须将宏UIPAPPCALL()定义成实际的应用程序函数名,这样每当某个uIP事件发生时,内核就会调用该应用程序进行处理。如果要加入应用程序状态的话,必须将宏UIP_APPSTATE_SIZE定义成应用程序状态结构体的长度。在应用程序函数中,依靠uIP事件检测函数来决定处理的方法,另外可以通过判断当前连接的端口号来区分处理不同的连接。


5、结语

整个模块拨号上网只需3~5s,平均上网速度已经达到33~36kb/s。数据上传速度可以达到每秒2~2.5kB,最高峰值可以达到8kB,完全可靠地实现了短消息服务和一些文本信息传递。移动目标GPS数据、指令及相关应用情况下的报警数据均可通过GPRS网络传送到监控中心。该系统的便携性和方便使用的优点,也可应用到需要对移动物体进行远程监控和调度的领域中。

推荐阅读

史海拾趣

CHONGQING PINGYANG ELECTRONICS CO.,LTD.公司的发展小趣事

随着公司的发展,技术创新成为推动重庆平洋电子有限公司不断前进的重要动力。公司不断加大对研发的投入,引进高端人才,积极研发新技术、新产品。经过多年的努力,公司在电子元器件领域取得了重大突破,产品性能和质量得到了显著提升,赢得了市场的广泛认可。

ASSMANN WSW components公司的发展小趣事

ASSMANN WSW components公司深知品质是企业生存和发展的关键。因此,公司始终坚持品质至上的原则,从原材料采购到生产流程,再到产品出厂,每一个环节都严格把控。公司还建立了完善的质量检测体系,确保每一件产品都符合最高标准。这种对品质的执着追求使得ASSMANN WSW的产品在市场上赢得了良好的口碑。

Baumer Electric Ag公司的发展小趣事

作为一家技术驱动的公司,Baumer Electric Ag始终注重研发投入和技术升级。公司不断引进先进的生产设备和技术手段,提高生产效率和产品质量。同时,Baumer还积极与高校、科研机构等合作,开展前沿技术研究和新产品开发。这些举措为公司的持续发展提供了强大的技术支持和创新动力。

这五个故事展示了Baumer Electric Ag公司在电子行业中的发展历程。从创业初期的坚持与突破,到关键人才的引入与领导层的更迭,再到股份制改革与产品创新的结合,以及国际化战略与出口业务的拓展和持续投资与技术升级,Baumer Electric Ag凭借其卓越的技术实力和创新精神,逐步在电子行业中树立起了自己的品牌形象和市场地位。

康龙(CONCRAFT)公司的发展小趣事

随着公司实力的不断增强,康龙开始积极拓展国内外市场。公司先后在美国、欧洲等地设立了销售机构,与多家国际知名企业建立了长期稳定的合作关系。同时,康龙还积极参与国际展会和交流活动,提升品牌知名度和影响力。通过不懈的努力,康龙的产品已经成功打入国际市场,并赢得了客户的广泛赞誉。

Geyer Electronic E K公司的发展小趣事

进入XXXX年代,康龙公司意识到技术创新是企业持续发展的关键。于是,公司投入大量资金引进先进的生产设备和技术人才,加强研发力量。经过几年的努力,康龙在精密模具设计和开发方面取得了重大突破,大大提高了生产效率和产品精度。同时,公司还注重产品质量的提升,通过严格的质量控制和检验流程,确保每一件产品都符合客户的高标准要求。

DAVE Embedded Systems公司的发展小趣事

DAVE Embedded Systems深知品质对于企业发展的重要性。他们建立了严格的质量管理体系,确保从原材料采购到产品制造的每一个环节都符合高标准的质量要求。同时,公司还提供了优质的售后服务,为客户提供了全方位的技术支持和解决方案。这些举措不仅赢得了客户的信任和支持,还为公司树立了良好的口碑。

问答坊 | AI 解惑

射频工程师须知

经常有网友在网络上问,一个射频工程师应具备哪些知识,怎样才能把射频工作做好。有一个关于这个问题的讨论贴都跟贴了几十条,看来这是一个普遍的问题。 那么怎么样才能把射频工作做好呢?可以说没有一个人敢说这样或者那样就一定可以学好射频, ...…

查看全部问答>

企业面试电子类面试题[模拟电路]

1、基尔霍夫定理的内容是什么?(仕兰微电子) 2、平板电容公式(C=εS/4πkd)。(未知) 3、最基本的如三极管曲线特性。(未知) 4、描述反馈电路的概念,列举他们的应用。(仕兰微电子) 5、负反馈种类(电压并联反馈,电流串联反馈,电压串联 ...…

查看全部问答>

RtlAppendUnicodeStringToString会蓝屏?

我在驱动里写了个函数如下 VOID SetFuck(PUNICODE_STRING szName) {         UNICODE_STRING dst,src,ValueName;         RtlInitEmptyUnicodeString(&dst,L\"\",256*sizeof(WCHAR));     &nb ...…

查看全部问答>

关于挂载jffs2文件系统的问题。求达人相助。

您好,我想在我的  /dev/mtd0 下挂载 jffs2 文件系统。 现在我的开发板的启动信息如下: /*************************** 5-9  *****************************/ Auto detecting flash ...ok!!! Protected 2 sectors Flash: ...…

查看全部问答>

I2C总线驱动库学习分享

I2C库函数 主机模式收发控制函数I2CMasterInitExpClk( )用来初始化I2C模块为主机模式,并选择通信速率为100kbps的标准模式还是400kbps的快模式,但在实际编程时常常以更方便的宏函数I2CMasterInit( )来代替。函数I2CMasterEnable( )和I2CMasterDis ...…

查看全部问答>

TI LaunchPad 现在结束了? 怎么买到?

团购TI LaunchPad 现在结束了? 怎么买到?…

查看全部问答>

12v1a 电源适配器里4.7uf(400v)的电容起什么作用??/?>

整个板子上总共两块,烧坏的一块(我觉得应该是是烧坏的,都裂开了)跟整流二极管连着.…

查看全部问答>

msp430g2553的ADC10外部参考电压问题

我在做msp430g2553的ADC10外部参考电压时,想设置一个5V以上的外部参考电压,可怎么也弄不出来!请各位大虾指教指教! 下面是我的程序: #include #include \"1602-4.h\" #include \"1602-4.c\" /****************************************** ...…

查看全部问答>

用步进电机的3通道白光LED驱动

一般的电路不能驱动多个并联LED通道,因为不匹配的LED压降会在某个通道消耗过多电流,只能点亮一个LED通道。 采用图中的电路,只用一只dc/dc转换器就可以驱动多个并联LED通道,它采用增加一个简单电流镜的方法,为每个LED通道产生出需要的恒流。 ...…

查看全部问答>

求64位win7下能用的CCS软件

求64位win7下能用的CCS软件。…

查看全部问答>