单片机在GPS和CDMA计时系统中的设计

发布者:小熊掌心最新更新时间:2021-04-15 来源: eefocus关键字:单片机  GPS  CDMA  计时系统 手机看文章 扫描二维码
随时随地手机看文章

摘要介绍了一种基于MSP430单片机的GPS和CDMA双接收计时系统的设计思路与方法,并给出了系统的硬件电路和软件流程。该系统采用GPS和CDMA时钟信号,其可以自动调整时间,同时还拥有多方位保障时间的精确性、一致性、高可靠性及环境适应性强的优势。


在可靠性、扩展性、控制功能以及体积、功耗等方面比其他电子产品具有优越性。在天文、地震台、航空航天等对时间精度较高的场合,以及国防、通信、电力、交通等要求高精度时间同步的领域,得到广泛应用。


1 系统硬件设计方案


1.1 系统总体设计


基于MSP430单片机的GPS和CDMA双接收计时系统,是传统钟表计时技术与现代时频、微电子、通讯、计算机等多项技术的结合,通过接收不同形式的时间码,经内置微处理器解码处理,自动校准计时器走时,使该系统显示时间与标准时间自动保持精确同步。除保留传统机械时钟计时特点外,还增加了LCD数字显示,双显示方式。接收GPS、CDMA信号,实现双系统联合精确定时,在接收到精确的时码后,经数据处理器处理,即可自动校正时钟的走时误差,使每只时钟的走时均受统一精确的时码控制,从而实现了高精度计量时间的一致性,同时也可手动校时、接收时间信号,系统硬件框图如图1所示。

图1 系统硬件框图


1.2 系统各部分的硬件设计


1.2.1 MSP430 MCU


MSP430F5xx是德州仪器仪表推出的实现超低功耗MSP430 MCU系列产品。该系列针对峰值高达25 MHz的产品,实现业界最低的功耗,拥有更高的闪存与RAM存储器存储容量,以及射频(RF)、USB、加密和LCD接口等集成外设。MSP430F5xx MCU的工作功耗与待机功耗仅为160μA/Hz与1.5μA,系统能以较小功耗运行的同时可执行高强度的任务。可充分发挥高达25 MHz峰值执行性能,同时确保功耗仅为160μA/HMz。MCU采用16位精简指令,一个时钟周期可执行一条指令,运行速度可达25~30 MI·s-1,而传统51单片机6个或12个时钟周期可执行一条指令。以上特点确保了其可编制出高效率的源程序,用以满足电池供电超低功耗要求。


1.2.2 GPS接收模块


GPS模块是应用较广的一种导航、定位和定时的多功能系统,具有全天候、高精度、自动测量以及体积小、功耗低的特点,且技术成熟、价格低廉。


GPS模块为系统提供GPS定时、定位信息,设计采用u-blox公司的MAX-6Q,其具有以下特点:(1)精度高,抗干扰能力强。(2)启动时间短,冷启动只需26 s,热启动只需1 s。(3)串行接口有1UART、1DDC,可方便与MSP430F5xx的UART模块通信。(4)体积小,电压为3.3 V,与MSP430F5xx相同。(5)输出信息采用标准的NEMA-0183协议。


1.2.3 CDMA接收模块


CDMA无线通信模块从CDMA基站上获取标准的时间信号,CDMA校时系统信号稳定,不易受电源、外界无线电干扰,便于部署在任何有CDMA信号的地方。针对以上特性,在室内无卫星信号或GPS信号难于接收的地点使用,恰好解决了常见的GPS模块局限性问题。


CDMA接收模块采用华为MC323模块,MC323将基带、RF收发器、电源管理模块单元、功率放大器集成,功能全面、应用广泛。其电路框图如图2所示。

图2 MC323电路框图


2 系统软件设计方案


系统的软件部分主要负责设置GPS模块与MCU之间的串口通信1、CDMA模块与MCU之间的串口通信2、时间的显示及人机接口。其主要包括初始化、串口通信、数据处理、故障提示、显示、键盘处理及电源管理等部分,其中初始化包括MSP430中各种寄存器的配置、串口相关参数配置以及外围电路的初始化等。


2.1 系统软件双接收的整体方案


系统采用GPS和CDMA双模式接收,同时可定时进行自动接收,也可通过外部接收按键进行强制接收。软件优先接收GPS模块的数据信息,当GPS数据无效或无法采集到信号时,再接收CDMA数据。若GPS和CDMA接收的数据有效,则更新数据;若无效,则数据保持。系统双接收处理流程如图3所示。

图3 系统双接收处理流程图


2.2 GPS模块接收方案


GPS模块MAX-6Q通信采用串口通信1,包括数据发送、接收、校验、通信障碍提示等,数据处理主要有GPS接收数据的解码、存储和数据刷新等。MAX-6Q的数据输出为NMEA-0183格式,最大更新速率5 Hz,为保证数据传输的可靠性与实时性,并提高单片机的利用率,文中采用中断方式而非查询方式。


在中断处理程序中,将接收到的GPS数据放入数组中,通过读取数据包的前7 bit,可判断该数据包格式,系统只处理了NEMA中GPGGA和GPZDA两种格式的消息,并定义了两种相应的处理函数,其各函数功能如下:


GPZDA()函数:提出UTC日期和时间。


GPRMC()函数:提出UTC日期、时间、经度和纬度信息。


通过GPS数据处理,误码的判断,刷新数据显示,其GPS处理流程如图4所示。

图4 GPS处理流程


2.3 CDMA模块接收方案


CDMA模块MC323通信采用串口通信2,数据处理主要是CDMA接收数据的解码、存储和数据刷新等。


CDMA接收打开,CDMA模块进行初始化。MSP430F5xx打开串口2向CDMA模块MC323发出查询指令“AT^TIME”,若查询时间超过10 min,则自动退出查询。CDMA模块MC323收到“AT^TIME”查询指令后,向单片机返回时间信息,而单片机将对时间信息进行分析处理并将处理后的时间信息进行存储和更新,CDMA处理流程如图5所示。


图5 CDMA处理流程图


3 结束语


根据GPS和CDMA的不同特点,采用两种接收模式联合定时,不仅在GPS接收正常时,能保证时间的高精度、一致性,且在GPS失效或室内GPS信号接收困难时,通过CDMA接收,同样保障了时间的精确性和一致性,且还具有可靠性高、环境适应性强的特点。本单片机采用MSP430,其不仅功耗低,且处理能力强,模拟技术性能高及片上外围技术丰富,故满足了低功耗高性能的要求。此外,性能还可满足高精度计时系统对时间精度性和实时性的要求,本设计不论在室外或室内均具有良好的接收、自动智能授时能力。其既可满足精度要求较高的天文、航空航天等系统,又可满足普通民用使用,还可应变特殊情况下的使用需求,因此拥有良好的应用前景。

关键字:单片机  GPS  CDMA  计时系统 引用地址:单片机在GPS和CDMA计时系统中的设计

上一篇:4.3寸TFT的MSP430程序
下一篇:基于MSP430单片机的称重式液位仪的设计

推荐阅读最新更新时间:2024-11-13 13:11

单片机晶振不起振故障原因及排除方法介绍
遇到 单片机 晶振不起振是常见现象,那么引起晶振不起振的原因有哪些呢? (1) PCB板布线错误; (2) 单片机质量有问题; (3) 晶振质量有问题; (4) 负载电容或匹配电容与晶振不匹配或者电容质量有问题; (5) PCB板受潮,导致阻抗失配而不能起振; (6) 晶振电路的走线过长; (7) 晶振两脚之间有走线; (8) 外围电路的影响。 解决方案,建议按如下方法逐个排除故障: (1) 排除电路错误的可能性,因此你可以用相应型号 单片机 的推荐电路进行比较。 (2) 排除外围元件不良的可能性,因为外围零件无非为电阻,电容,你很容易鉴别是否为良品。 (3) 排除晶振为停振品的可能性,因为你不会只试了一二个晶振。 (4) 试着
[电源管理]
Mouser 备货Freescale Kinetis KV1x 微控制器
2014 年 7 月 11 日 – 贸泽电子 (Mouser Electronics) 即日起开始供应Freescale Semiconductor 的 Kinetis® KV1x 微控制器系列产品。Kinetis V 系列 KV1x MCU 产品是 Freescale 全新 Kinetis V 系列的入门级产品,此可扩展的微控制器 (MCU) 系列产品的目标应用市场为数字电机控制。采用 75 MHz ARM® CortexM0+ 内核的 Kinetis KV1x 系列产品具有整数除法和平方根协处理器,从而降低了因需要电机控制算法而引起的 CPU 负荷。 相较于同级的其他微控制器,Mouser Electronics 提供
[工业控制]
中微半导新一代车规级MCU截止三季度末出货量在小百万颗量级
12月13日消息,中微半导在互动平台表示,公司新一代车规级MCU截止三季度末总共出货量在小百万颗量级,具体出货量请关注公司未来的定期报告。车规级产品是公司未来的重要布局,会持续加大研发投入,力求产品大小资源系列化,满足客户更多应用场景的需求。 中微半导是一家芯片设计公司,专注于数字和模拟产品的设计、研发和销售,晶圆生产采取委外加工,公司具备有限的封装测试产能,但主要的封装测试均采用委外加工完成。公司目前没有进入芯片上游材料领域的考虑。
[汽车电子]
STM32单片机的Usart2串口的调试方法
先是参考http://wenku.baidu.com/view/78f6b1350b4c2e3f572763e9.html调通了usart1 然后将程序进行修改,对Usart2进行配置,配置完了之后,程序还是没有正确,然后在voidGPIO_cfg();函数中添加一句 GPIO_PinRemapConfig(GPIO_Remap_USART2,ENABLE); 最后程序如下, #include“stm32f10x_lib.h” FlagStatusRX_status; FlagStatusTx_status; voidRCC_cfg(void); voidGPIO_cfg(void); voidUSART_cfg(void);
[单片机]
STM32<font color='red'>单片机</font>的Usart2串口的调试方法
单片机风扇模拟控制系统
引言 单片机原理应用广泛根据单片机原理及应用课程的要求,主要进行两个方面的设计,即单片机最小系统和存储器扩展设计、接口技术应用设计。其中,单片机最小系统主要要求学生熟悉单片机的内部结构和引脚功能、引脚的使用、复位电路、时钟电路、4个并行接口和一个串行接口的实际应用,从而可构成最小应用系统,并编程进行简单使用。电风扇模拟控制系统具有电路简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好, 具有较高的推广价值,在很多领域都有广泛的应用。 本文设计出以STC89S52单片机为核心的电风扇模拟控制系统,采用了LCD1206直接指示,显示状态,并自动复位的设计思想,它能根据按键输入的信号,经过单片机的控制处理并产生不同的与输入信号
[单片机]
<font color='red'>单片机</font>风扇模拟控制<font color='red'>系统</font>
如何使用单片机模拟读写24C01EEPROM数据
实验目的: 熟悉使用单片机模拟读写24C01EEPROM 1、首先向24C01EEPROM写入数据 2、在从24C01EEPROM中读取数据,并用LED显示 硬件设置: 1、SW4开关全部闭合 2、SW2开关1闭合,其它断开 3、SW3开关7和8闭合,其它断开 #include __CONFIG(0x3545); //FLASH代码不保护,RB6和RB7为调试模式,FLASH不写保护,数据代码不保护 //RB3为数字IO口,低电压复位使能,上电延时开, 看门狗 开,4M晶体XT 振荡器 #defineucharunsignedchar #defineuintunsignedint #defineSCLT RISC
[单片机]
如何使用<font color='red'>单片机</font>模拟读写24C01EEPROM数据
51单片机串口波特率计算
对于11.0592M晶振 bot=256-(11059200/9600/32) 此处波特率为9600 11.0592M晶振可以支持基本波特率 对于12M晶振有所不同 bot=256-(1200000/4800/32) 此处波特率为4800 12M这里波特率设置不能超过4800,因为超过后,时钟误差过大,在通讯的时候某些数据就会乱码。
[单片机]
GD32 MCU进入低功耗模式导致无法再进行程序下载怎么办?
很多朋友在调试GD32 MCU的低功耗模式时会遇到一个问题:程序中让MCU进入了Sleep、Deepsleep或者Standby模式,之后MCU就无法再下载程序了。这是因为在低功耗模式下,MCU的SW口和JTAG口是无法访问的。比如下面的程序就会导致该问题发生: 该main函数中第一步是打开PMU时钟,然后马上让MCU进入Deepsleep模式,当你想要再次下载程序时,IDE会有如下错误提示(不同IDE报错不同): 遇到这种情况怎么办呢?难道只能重新换一颗芯片了?不不不,其实有方法解决这个问题的。 方法一: GD32 MCU的启动模式根据芯片上的BOOT0和BOOT1脚是可以选择三种模式: 一般情况下,BOOT0需
[单片机]
GD32 <font color='red'>MCU</font>进入低功耗模式导致无法再进行程序下载怎么办?
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved