基于TI MSPM0G3507多功能GPS测速仪系统开发设计

基于TI MSPM0G3507多功能GPS测速仪系统开发设计
2025年03月18日 09:07 电子产品世界

1   项目背景及构想

本文引用地址:

GPS应用无处不在,比如汽车导航应用,应急救灾,各种app 的LBS(基于位置的服务),给我们生活带来各种便利。可以说,没有GPS,我们寸步难行,尤其是目前很火的自动驾驶。结合自己工作主要也是和车联网V2X 相关,但是对GPS 的了解也只百度百科的认识程度,一直想做一个小东西,来进一步了解GPS 模块的相关特点。另外在有时候骑共享单车时候,总会听到有语音提示,想到如果自己实现的话,可以采用什么样的方案呢?

所以就有了这个项目的构想,即要结合GPS,又要有语音模块,主要结合这两方面来构想产品的功能。

主要解决的问题是:通过解析GPS 数据,获取速度,及低成本的语音提示功能的实现。

项目的亮点:就是TI 芯片低成本的语音提示功能的实现。

2   实现的主要功能

这个项目利用GPS 模块开发一款多功能测速仪,主要实现以下功能:

(1)按键切换室内模式和户外模式

(2)户外模式使用GPS 同步时间

(3)使用GPS 模块输出的经纬度等信息计算速度

(4)使用地磁传感器通过LCD显示电子罗盘方向角

(5)室内模式实现时钟和定时器功能

(6)使用喇叭播放自定义报警音

3   系统架构图和流程图

流程图:流程图:

4   硬件选型

MCU

LP-MSPM0G3507 LaunchPad™ 开发套件是基于MSPM0G3507 的易用型评估模块(EVM),具有128 KB闪存、32 KB SRAM、2 个12 位4 Msps ADC、DAC、3 个COMP、3 个运算放大器、CAN-FD、MATHACL 的80MHz Arm M0 + MCU。

该板包含三个按钮、两个LED(其中一个是RGBLED)以及模拟温度传感器和光传感器,还具有一个外部缓冲器,用于显示4 MSPS 时的高速ADC 性能。

特性

外部环境光传感器

RGB 显示PWM 控制

用于显示4 MHz 高速ADC 的外部缓冲器

外部温度传感器

一个词形容:就是精美!

GPS 模块

GPS 北斗双模导航定位模块ATGM336HATGM336H-5N 系列模块是9.7×10.1 尺寸的高性能BDS/GNSS 全星座定位导航模块系列的总称,该系列模块都是基于中科微第四代采用完全自主知识产权的低功耗GNSS SOC 芯片一AT6558,支持多种卫星导航系统,包括中国的BDS(北斗卫星导航系统),美国的GPS,俄罗斯的GLONASS,欧盟的GALILEO, 日本的QZSS 以及卫星增强系统SBAS(WAAS, EGNOS,GAGANMSAS)。ATGM336H 是一款真正意义的六合一多模卫星导航模块,包含32 个跟踪通道可以同时接收六个卫星导航系统的GNSS 信号,并且实现联合定位、导航与授时。具有高灵敏度、低功耗、低成本等优势,适用于车载定位与导航和手持或可穿藏设备,可以直接替换U-bloxMAX 系列模块。

LCD

矽创电子Sitronix TFT(Thin Film Transistor)即薄膜场效应晶体管属于有源矩阵液晶显示器中的一种。TFT 液晶显示屏的特点是亮度好、对比度高、层次感强、颜色鲜艳,但也存在着比较耗电和成本较高的不足SPI 接口。

喇叭

5   硬件资源占用及引脚分配

6   整体硬件连接图

7   软件模块开发

LCD模块

ST7735S LCD模块使用的是SPI驱动,主要通过选择命令引脚还是数据引脚,来进行控制电以后初始化进行屏幕相关的配置,显示字符数字就是在指定的位置进行填充来实现。

软件配置:

软件处理

最核心的就是画点,这里为什么写入是16 位的数据?涉及到颜色的编码,像素。RGB 565 16 bit/Pixel 。主要注意的地方:时序。可以通过逻辑分析仪查看发送的数据的时序。

LCD实测效果:

GPS模块

主要功能:

MCU主通过串口中断接收GPS 模块发过来的NMEA协议数据,进行解析,获取经纬度及速度数据,时间数据。波特率为9600。

NMEA协议简介

NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。

GPS接收机根据NMEA-0183 协议的标准规范,将位置、速度等信息通过串口传送到PC 机、PDA等设备。

NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS 接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。

NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL 等。

Global Positioning System Fix Data(GGA)GPS 定位信息GPS DOP and Active Satellites(GSA)当前卫星信息

GPS Satellites in View(GSV)可见卫星信息

Recommended Minimum Specific GPS/TRANSITData(RMC)推荐定位信息

下面给出这些常用NMEA-0183 语句的字段定义解释。

数据格式如下:

$GPRMC,014600.00,A,2237.496474,N,11356.089515,

E,0.0,225.5,310518,2.3,W,A*23

fi eld 0:$GPRMC,格式ID,表示该格式为建议的最低特定GPS/TRANSIT 数据(RMC)推荐最低定位信息

fi eld 1:UTC 时间,格式hhmmss.ssss,代表时分秒. 毫秒

fi eld 2:状态A:代表定位成功 V:代表定位失败

fi eld 3:纬度ddmm.mmmmmm 度格式(如果前导位数不足,则用0 填充)

fi eld 4:纬度N(北纬) S(南纬)

fi eld 5:经度dddmm.mmmmmm 度格式(如果前导位数不足,则用0 填充)

fi eld 6:经度E(东经) W(西经)

fi eld 7:速度(也为1.852 km / h)

fi eld 8:方位角,度(二维方向,等效于二维罗盘)

fi eld 9:UTC 日期DDMMYY 天月年

fi eld 10:磁偏角(000 -180)度,如果前导位数不足,则用0 填充)

fi eld 11:磁偏角方向E = 东 W = 西

fi eld 12: 模式,A = 自动,D = 差分,E = 估计,

AND = 无效数据(3.0 协议内容)

fi eld 13:校验和

UART软件配置

软件处理

主要是在中断中处理识别关键字符, 然后进行字符串,解析处理。

GPS实测效果

地磁模块

地磁传感器HMC5883L通过I2C接口访问,初始化通过配置寄存器,然后读取X Y Z,三个坐标轴,进行后续的换算显示。

I2C时序

软件配置:

注:配置速率100 KHz

软件处理:

注:主要是读6 个寄存器数据,而提供的api非常简单易用

地磁传感器实测效果

语音模块

一般的话,用蜂鸣器滴滴两声就达到效果,这里我们要实现自定义语音播放,所以用到DAC 模块。

原理是:将准备的wav 语音数据,使用GoldWave语音剪辑软件将数据尽量压缩成单声道采样率8 K,8 bit 数据,这样可以保证1 s 音频数据占用8 K 存储空间,以节省空间。

播放的话,直接使用DAC,按8 K 的频率读取数据放到DAC 输出就可以。

软件配置

注:使能DMA,设置分辨率为8 位,采样率为8 kSPS软件处理

这里其实首先需要将WAV 格式的音频数据,提取出来生成const 的数组,这样就会存储在fl ash,不占用ram 空间。这部分处理,采用python 做个小工具,方便后续可以直接方便使用。

直接使用DMA设置源数据地址,及目的地址DAC输出。非常简单实现自定义音频数据播放

8   总结

1.TI 芯片如何帮助我快速完成这个项目?

其实项目的功能总体并不复杂,遇到的第一个困难主要就是常用外设驱动的再熟悉,项目主要就是一些常用外设的使用,由于TI 的资料例子文档很丰富,上手非常的快,方便快速验证功能,而不是花费时间在熟悉芯片寄存器等芯片问题上。没有让芯片成为项目的一个卡点一个问题点,一句话,就是没有在芯片上踩坑,节省了时间。

尤其是syscfg 驱动配置工具的使用,就是一个神器,只要配置好相关功能,就再也不发愁驱动的编写和测试,极大方便应用程序的开发。

还有一个困难就是语音模块实现方案,原来只是有个思考,但具体实现一直不成功,喇叭一直没有声音,在这里,帮助最大的是TI 文档中心里面的一篇:《基于MSPM0 的医用警报设计》,参考这个然后实现了低成本语音模块。

2.对新手建议

新手入门TI M0 芯片最快的方式还是跑官方提供的例子,使用配套IDE,Code ComposerStudio 熟悉配置,申请使用官方的评估版来快速入门外设驱动。

还有就是加入官方的微信群有问题及时和网友交流,会有TI 的FAE 及热心网友出谋划策,方便问题的解决。

GPS导航
新浪科技公众号
新浪科技公众号

“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)

创事记

科学探索

科学大家

苹果汇

众测

专题

官方微博

新浪科技 新浪数码 新浪手机 科学探索 苹果汇 新浪众测

公众号

新浪科技

新浪科技为你带来最新鲜的科技资讯

苹果汇

苹果汇为你带来最新鲜的苹果产品新闻

新浪众测

新酷产品第一时间免费试玩

新浪探索

提供最新的科学家新闻,精彩的震撼图片