GNSS vehicle navigation solution based on ST AEK-COM-GNSST31 and core module Teseo-LIV3F

Hedy · Dasenic Dec 04,2024 336

1. Introduction to AEK-COM-GNSST31

AEK-COM-GNSST31 is an evaluation board based on the Teseo-LIV3F GNSS module, based on the certified Teseo-LIV3F Global Navigation Satellite System (GNSS) module, which embeds the TeseoIII monolithic independent positioning receiver IC. Small, cheap and easy to develop are the characteristics of this product. The evaluation board is used with the X-CUBE-GNSS1 firmware to provide the necessary acquisition, tracking, navigation and data output functions without external memory support. MCUs developed for automotive applications can also be easily interfaced with SPC5 as part of the AutoDevKit™ program.


2. Core module Teseo-LIV3F

The core of AEK-COM-GNSST31 is Teseo-LIV3F. The Teseo-LIV3F module is an easy-to-use global module satellite navigation system (GNSS) independent module embedded in Teseo III single mode, in addition to the necessary power supply, RF and antenna ANT management , it communicates with the main control MCU using I2C or UART interface. Both interfaces support the GNSS NMEA protocol.

The X-CUBE-GNSS1 firmware runs on STM32 and includes drivers for the Teseo-LIV3F Global Navigation Satellite System (GNSS) device, middleware for NMEA protocol support and FreeRTOS for task scheduling to ensure better Asynchronous message parsing, the software comes with a sample implementation of the driver running on the AEK-COM-GNSST3 expansion board when connected to the NUCLEO-F401RE, NUCLEO-L476RG, or NUCLEO-L073RZ board.


3. Implementation of vehicle GNSS navigation

This solution is based on the AEK-COM-GNSST31 and NUCLEO-F401RE development boards to realize information exchange between the main MCU and the GNSS module through I2C under the standard NMEA protocol.

The I2C positioning sensor is a platform solution that implements Teseo-LIV3F standard firmware.


3.1 Hardware preparation

AEK-COM-GNSST31 Evaluation Board

NUCLEO-F401RE development board

USB-microUSB data cable for evaluation board and PC connection

3.2 Software preparation

TESEO-SUITE

STM32CUBE-MX

Atollic-TRUE Studio

3.3 Configure Teseo-LIV3F through TESEO SUITE PC tool

① Connect AEK-COM-GNSST31 to the top of NUCLEO-F401RE via morpho as shown

Install STM32 firmware


Select Tool->X-NUCLEO-GNSS1A1


The X-NUCLEO-GNSS1A1 panel appears

Click Update my STM32-NUCLEO board for X-NUCLEO-GNSS


The STM32 X-Nucleo-GNSS panel display

Select the firmware

STM32_Nucleo64-F401RE_UARTBridde.bin

Push the Upload button


②Open TESEO-SUITE PC Tool, enable UART/COM connection against the NUCLEO-F401RE, and use the NMEA decoding panel on TESEO-SUITE to send the following commands


$PSTMCFGMSGL,3,1,0,0

$PSTMSETPAR,1227,1,2

$PSTMSAVEPAR

These commands will: clear the I2C message list, turn off eco-ing information and save the configuration in flash


3.4 Configure NUCLEO-F401RE I2C

Configure the I2C peripheral function in STM32CUBEMX as shown below and generate the project

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


Configuration is complete and C code is generated


3.5 Software implementation


Through the above configuration of STM32Cube-MX, the C code for the required architecture is generated including:

I2C bus, UART and PC communication and blue button as interrupt button function

Add the following code to make the PC display printing information

void Console_Write(uint8_t *string){
HAL_UART_Transmit(&huart2, string, strlen((char *)string), 1000);
}

Add blue button callback function function

static volatile _read = 0;
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){
_read = 1;
}

Define NMEA command related variables

static const char *gpgll_msg = "$PSTMNMEAREQUEST,100000,0\n\r";

Main function code

while (1) {
    HAL_I2C_DeInit( & hi2c1);
    HAL_I2C_Init( & hi2c1);
    AN5203 Rev 2 17 / 23
    AN5203 Finalize the C - Code in the project
    twenty two
    if (_read == 1) {
        _read = 0;
        Console_Write("Sending commands...");
        HAL_I2C_Master_Transmit( & hi2c1, 0x3A << 1, (uint8_t *
        ) gpgll_msg, strlen(gpgll_msg), 2000);
        Console_Write(" got:... \r\n");
        for (read_buf[180 - 1] = 0; read_buf[180 - 1] != 0xff;) {
            HAL_I2C_Master_Receive( & hi2c1, 0x3A << 1, read_buf, 180,
                2000);
            for (i = 0; i < 180; ++i)
                if (read_buf[i] != 0xff)
                    HAL_UART_Transmit( & huart2, & read_buf[i], 1, 1000);
        }
        Console_Write("\r\n");
    }
}

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


Demonstrate the results on the terminal


Scenario application diagram

Display board photo

Solution block diagram

Core technology advantages

Teseo-LIV3F module is an easy-to-use global module satellite navigation system (GNSS) independent module that supports multi-satellite positioning. The independent positioning receiver integrated circuit can work in multiple positioning systems simultaneously: Galileo/GPS/Glonass/Beidou/QZSS) . Supports standard GNSS NMEA protocol.


Project specifications

Sensitivity:- 162dbm indoor (tracking mode)

Interface: UART and I²C port

Configurable digital I/O time pulse

Wake-up input

NMEA protocol

Advanced GNSS:

Autonomous prediction

Server-based prediction

Server-based real-time

Compatible with SPC5 PowerPC

LNA and SAW filters on the RF path

SMA female antenna connector

Equipped with battery holder

Highly compact design: 70 x 65 mm

Working power supply voltage: 3.3 - 5v

Ambient temperature:-40/+85°C

Part of the AutoDevKit™ program

Comply with RoHS and WEEE standards


Order AEK-COM-GNSST31 Development Board
  • RFQ