sunsili 发表于 2022-2-10 10:10:15

基于 ST AEK-COM-GNSST31和核心模块Teseo-LIV3F的GNSS车载导航方案

本帖最后由 sunsili 于 2022-2-10 10:11 编辑

基于 ST AEK-COM-GNSST31和核心模块Teseo-LIV3F的GNSS车载导航方案


1. AEK-COM-GNSST31介绍AEK-COM-GNSST31是一款基于Teseo-LIV3F GNSS模块的评估板,基于经过认证的Teseo-LIV3F全球导航卫星系统(GNSS)模块,其中嵌入了TeseoIII单片独立定位接收IC。小巧、便宜、易于开发是该产品的特点,该评估板与X-CUBE-GNSS1固件一起使用,提供必要的采集、跟踪、导航和数据输出功能,无需外部内存支持。也可以方便地与SPC5连接用于汽车应用开发的MCU,作为AutoDevKit™计划的一部分

2.核心模组Teseo-LIV3F

AEK-COM-GNSST31的核心是Teseo-LIV3F,Teseo-LIV3F模块是一个易于使用的全局模块卫星导航系统(GNSS)独立模块,嵌入Teseo III单模,除必要的power supply、RF和天线ANT管理外,它与主控MCU通信采用I2C或UART接口。两种接口均支持GNSS NMEA协议。

X-CUBE-GNSS1固件运行在STM32上,包括用于Teseo-LIV3F全球导航卫星系统(GNSS)设备的驱动程序、用于支持NMEA协议的中间件和用于任务调度的FreeRTOS,以确保更好的异步消息解析,当连接到NUCLEO-F401RE, NUCLEO-L476RG,或NUCLEO-L073RZ板时,该软件带有运行在AEK-COM-GNSST3扩展板上的驱动程序的示例实现。3. 车载GNSS导航的实现
本方案基于AEK-COM-GNSST31和NUCLEO-F401RE开发板,实现在标准NMEA协议下,主MCU与GNSS模块之间通过I2C实现信息交互
I2C定位传感器是一个平台解决方案,可实现Teseo-LIV3F标准固件。3.1硬件准备
[*]AEK-COM-GNSST31评估板
[*]NUCLEO-F401RE 开发板
[*]USB-microUSB数据线用于评估板和PC连接
[*]3.2软件准备
[*]TESEO-SUITE
[*]STM32CUBE-MX
[*]Atollic-TRUE Studio
3.3通过TESEO SUITE PC工具配置Teseo-LIV3F①如所示,通过morpho将AEK-COM-GNSST31连接到NUCLEO-F401RE顶部安装STM32固件


Select Tool->X-NUCLEO-GNSS1A1


The X-NUCLEO-GNSS1A1面板出现
点击Update my STM32-NUCLEO board for X-NUCLEO-GNSS
The STM32 X-Nucleo-GNSS 面板显现
Select the firmware
STM32_Nucleo64-F401RE_UARTBridde.bin
Push the Upload button②打开TESEO-SUITE PC Tool,使能 UART/COM connection against the NUCLEO-F401RE,使用TESEO-SUITE上的NMEA解码面板发送如下指令
$PSTMCFGMSGL,3,1,0,0
$PSTMSETPAR,1227,1,2
$PSTMSAVEPAR
这些命令会:清空I2C消息列表,关闭eco-ing信息以及将配置保存在flash中

3.4配置NUCLEO-F401RE I2C
按如下图示在STM32CUBEMX中配置I2C外设功能,并生成工程
Enable the I2C-1 bus on NUCLEO-F401RE



Configure the Blue-Button as GPIO_EXTI13
In the configuration TAB press the NVIC button to configure the NVIC
Enable the Blue-Button (EXTI-interrupts) and confirm the configuration pressing the OK button


Enable the USART-2 to enable communication between STM32 and the Terminal-Console running on PC
Configure the USART-2
配置完成,生成C代码

3.5软件实现通过以上对STM32Cube-MX的配置,生成了所需架构的C代码包括:I2C总线,UART和PC机通信以及蓝色按钮作为中断按键功能增加代码以下代码,使PC机显示打印信息
void Console_Write(uint8_t *string){
HAL_UART_Transmit(&huart2, string, strlen((char *)string), 1000);
}增加蓝色按键回调函数功能
static volatile _read = 0;
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){
_read = 1;
} 定义NMEA命令相关变量
static const char *gpgll_msg = "$PSTMNMEAREQUEST,100000,0\n\r"; 主函数代码
1 while (1) {
2 HAL_I2C_DeInit(&hi2c1);
3 HAL_I2C_Init(&hi2c1);
AN5203 Rev 2 17/23
AN5203 Finalize the C-Code in the project
22
4 if (_read == 1) {
5 _read = 0;
6 Console_Write("Sending commands...");
7 HAL_I2C_Master_Transmit(&hi2c1, 0x3A << 1, (uint8_t
*)gpgll_msg, strlen(gpgll_msg), 2000);
8 Console_Write(" got:... \r\n");
9 for (read_buf = 0; read_buf != 0xff;) {
10 HAL_I2C_Master_Receive(&hi2c1, 0x3A << 1, read_buf, 180,
2000);
11 for (i = 0; i < 180; ++i)
12 if (read_buf != 0xff)
13 HAL_UART_Transmit(&huart2, &read_buf, 1, 1000);
14 }
15 Console_Write("\r\n");
16 }
17 }
Where in detail:
1. in line-4 the application waits the Blue-button event happens.
2. In line-7 the main-processor send to the Teseo-LIV3F on I2C-bus the
$PSTMNMEAREQUEST command to request a $GPGLL message
3. In line-10 the main processor read the data sent by Teseo-LIV3F on I2C-bus
4. In lines 11-13 the received data are sent on the PC-Terminal console在终端机上演示结果

► 场景应用图► 展示版照片► 方案方块图► 核心技术优势Teseo-LIV3F模块是一个易于使用的全局模块卫星导航系统(GNSS)独立模块,支持多星定位,独立定位接收机集成电路可在多个定位系统同时工作:伽利略/GPS / Glonass /北斗/ QZSS)。支持标准GNSS NMEA协议。► 方案规格 灵敏度:- 162dbm室内(跟踪模式) 接口:UART和I²C端口 可配置的数字I/O时间脉冲 唤醒输入 NMEA 协议 先进的GNSS: 自主预测 基于服务器的预测 基于服务器的实时 兼容SPC5 PowerPC 射频路径上的LNA和SAW滤波器 SMA母天线连接器 配备电池座 高度紧凑的设计:70 x 65毫米 工作电源电压:3.3 - 5v 环境温度:-40/+85°C AutoDevKit™计划的一部分 符合RoHS和WEEE标准► 技术文档
类型标题档案
推广文件Application Note

硬件Datasheet



页: [1]
查看完整版本: 基于 ST AEK-COM-GNSST31和核心模块Teseo-LIV3F的GNSS车载导航方案