QUECTEL LG290P Gnss Module User Guide

July 30, 2024
QUECTEL

QUECTEL LG290P Gnss Module User Guide

At Quectel, our aim is to provide timely and comprehensive services to our customers. If you require any assistance, please contact our headquarters:

Quectel Wireless Solutions Co., Ltd.
Building 5, Shanghai Business Park Phase III (Area B), No.1016 Tianlin Road, Minhang District, Shanghai 200233, China
Tel: +86 21 5108 6236
Email: info@quectel.com

Or our local offices. For more information, please visit:
http://www.quectel.com/support/sales.htm.

For technical support, or to report documentation errors, please visit:
http://www.quectel.com/support/technical.htm.
Or email us at: support@quectel.com.

Legal Notices

We offer information as a service to you. The provided information is based on your requirements and we make every effort to ensure its quality. You agree that you are responsible for using independent analysis and evaluation in designing intended products, and we provide reference designs for illustrative purposes only. Before using any hardware, software or service guided by this document, please read this notice carefully. Even though we employ commercially reasonable efforts to provide the best possible experience, you hereby acknowledge and agree that this document and related services hereunder are provided to you on an “as available” basis. We may revise or restate this document from time to time at our sole discretion without any prior notice to you.

Use and Disclosure Restrictions

License Agreements

Documents and information provided by us shall be kept confidential, unless specific permission is granted. They shall not be accessed or used for any purpose except as expressly provided herein.

Copyright

Our and third-party products hereunder may contain copyrighted material. Such copyrighted material shall not be copied, reproduced, distributed, merged, published, translated, or modified without prior written consent. We and the third party have exclusive rights over copyrighted material. No license shall be granted or conveyed under any patents, copyrights, trademarks, or service mark rights. To avoid ambiguities, purchasing in any form cannot be deemed as granting a license other than the normal non-exclusive, royalty-free license to use the material. We reserve the right to take legal action for noncompliance with above mentioned requirements, unauthorized use, or other illegal or malicious use of the material.

Trademarks

Except as otherwise set forth herein, nothing in this document shall be construed as conferring any rights to use any trademark, trade name or name, abbreviation, or counterfeit product thereof owned by Quectel or any third party in advertising, publicity, or other aspects.

Third-Party Rights

This document may refer to hardware, software and/or documentation owned by one or more third parties (“third-party materials”). Use of such third-party materials shall be governed by all restrictions and obligations applicable thereto.

We make no warranty or representation, either express or implied, regarding the third-party materials, including but not limited to any implied or statutory, warranties of merchantability or fitness for a particular purpose, quiet enjoyment, system integration, information accuracy, and non- infringement of any third-party intellectual property rights with regard to the licensed technology or use thereof. Nothing herein constitutes a representation or warranty by us to either develop, enhance, modify, distribute, market, sell, offer for sale, or otherwise maintain production of any our products or any other hardware, software, device, tool, information, or product. We moreover disclaim any and all warranties arising from the course of dealing or usage of trade.

Privacy Policy

To implement module functionality, certain device data are uploaded to Quectel’s or third-party’s servers, including carriers, chipset suppliers or customer-designated servers. Quectel, strictly abiding by the relevant laws and regulations, shall retain, use, disclose or otherwise process relevant data for the purpose of performing the service only or as permitted by applicable laws. Before data interaction with third parties, please be informed of their privacy and data security policy.

Disclaimer

a) We acknowledge no liability for any injury or damage arising from the reliance upon the information.
b) We shall bear no liability resulting from any inaccuracies or omissions, or from the use of the information contained herein.
c) While we have made every effort to ensure that the functions and features under development are free from errors, it is possible that they could contain errors, inaccuracies, and omissions. Unless otherwise provided by valid agreement, we make no warranties of any kind, either implied or express, and exclude all liability for any loss or damage suffered in connection with the use of features and functions under development, to the maximum extent permitted by law, regardless of whether such loss or damage may have been foreseeable.
d) We are not responsible for the accessibility, safety, accuracy, availability, legality, or completeness of information, advertising, commercial offers, products, services, and materials on third-party websites and third-party resources.

Copyright © Quectel Wireless Solutions Co., Ltd. 2024. All rights reserved.

About the Document

Revision History

Introduction

This document explains the firmware upgrading process on Quectel LG290P (03) GNSS module.
Once the module is connected to the host via UART, the firmware upgrade process can be initiated.

Figure 1: Firmware Upgrade Connection

NOTE
If the process fails or is manually stopped, no backup firmware can be executed. The only solution is to reset the module and initiate a new upgrade process to reprogram a functional firmware.

Firmware Upgrade Process

This chapter explains all the relevant steps in the firmware upgrade process. All constants in this document are defined in the following table.

Table 1: Constant List

Connect Module

Connect the module to the host via UART to decode NMEA messages. UART1, UART2 and UART3 of the module all support firmware upgrade.

The parameters of UART interface should be configured as follows:

⚫ Baud rate: 460800 bps
⚫ Data bit: 8
⚫ Stop bit: 1
⚫ Parity bit: None
⚫ Flow control: None

Synchronize Module

Synchronization steps between host and module.

Figure 2: Synchronization Sequence

Step 1 : Host continuously sends the SYNC_WORD1 to the module at 20 ms intervals. If the module receives SYNC_WORD1 within 500 ms from power up, the module will respond with RSP_WORD1 and go to Step 2. Otherwise, the module exits firmware upgrade mode and continues to run the firmware already stored in Flash.

Step 2 : Host sends SYNC_WORD2 to the module once. When the module receives SYNC_WORD2 , it will respond with RSP_WORD2 to indicate that the host successfully synchronized with module and the module entered command mode. Otherwise, the module exits firmware upgrade mode and continues to run the firmware already stored in Flash.

NOTE
The SYNC_WORD and RSP_WORD are transmitted in little-endian format.

Firmware Upgrade Protocol

Figure 3: Structure of Upgrade Protocol

Table 2: Field Description

Table 3: Messages Overview

Table 4: Response Status

NOTE
ClassID and MsgID contained in the Payload of the module response in this document are the same as ClassID and MsgID of the command sent by the host. The Payload of the module response contains ClassID (Class ID), MsgID (message ID) and Response Status.

Upgrade Procedure (ClassID = 0x02)

This chapter outlines the module firmware upgrade procedure and related messages.

Figure 4: Firmware Upgrade Procedure

Send Firmware Information

Host Message (MsgID = 0x02)

Table 5: Firmware Information

Module Response (MsgID = 0x00)

Send Erase Firmware Command

Host Message (MsgID = 0x03)

Module Response (MsgID = 0x00)

Send Firmware

Host Message (MsgID = 0x04)

NOTE

  1. ¹⁾ Packet Sequence starts from 0x00000000 (big-endian).
  2. ²⁾ Firmware Content contains several data packets. The size of each packet is 4 KB except the last packet which contains the remaining firmware data (size: ≤ 4 KB).

Module Response (MsgID = 0x00)

Send Reset Command

Host Message (MsgID = 0x31)

Query Bootloader Version

This chapter explains how to query bootloader version about LG290P (03). Ensure that the module has entered the command mode before query.

Host Send (MsgID = 0x71)

Module Response (MsgID = 0x00)

Firmware Upgrade Example

This chapter provides the example of firmware upgrade procedure.

//Host is continuously sending SYNC_WORD1 at 20 ms intervals.
09 13 4C 51
09 13 4C 51
09 13 4C 51

09 13 4C 51
09 13 4C 51
09 13 4C 51
09 13 4C 51
//Module responds with RSP_WORD1.
4D 3A FC AA
//Host sends SYNC_WORD2.
04 A5 03 12
//Module responds with RSP_WORD2.
A0 5B FD 55
//Host sends firmware information.
AA 02 02 00 10 00 26 5D B4 A5 D1 82 54 00 00 00 00 00 00 00 00 18 50 BC BC 55
//Module responds.
AA 02 00 00 04 02 02 00 00 7B 0A 62 31 55
//Host sends command for erasing firmware.
AA 02 03 00 00 89 0B A9 CE 55
//Module responds.
AA 02 00 00 04 02 03 00 00 7A C8 08 06 55
//Host sends firmware binary data packet 1
AA 02 04 10 00 00 00 00 00 70 00 00 00 00 00 10 00 03 00 …
//Module responds.
AA 02 00 00 04 02 04 00 00 7F 87 1E 83 55
//Host sends firmware binary data packet 2
AA 02 04 10 00 00 00 00 01 58 14 10 00 58 14 10 00 D8 13 …
//Module responds.
AA 02 00 00 04 02 04 00 00 7F 87 1E 83 55

//Host sends firmware the last binary packet n.
AA 02 04 10 00 00 00 01 EB 00 00 00 00 00 00 00 00 00 00 …
//Module responds.
AA 02 00 00 04 02 04 00 00 7F 87 1E 83 55
//Host sends reset command.
AA 02 31 00 00 AE E4 98 30 55
//Module responds.
AA 02 00 00 04 02 31 00 00 5D 27 37 F8 55
//Module restarts.

Upgrade Example by QGNSS

This chapter provides a step-by-step guide to upgrading module firmware via QGNSS tool.

Tips:
1. Before initiating the firmware upgrade, ensure that the module is connected to the PC and powered on normally as shown in figure below:

Figure 5: Device Manager

2. It is imperative to utilize QGNSS V1.10 or higher.

Firmware upgrade steps are as follows:

Step 1 Open QGNSS tool and click ⚙️ to access the “Device Information” window as shown in Figure 6: Device Information.
Step 2 Choose the module to be upgraded.
Step 3 Choose port number.
Step 4 Choose baudrate. Default baudrate: 460800.
Step 5 Click “ OK ”.

Figure 6: Device Information

Step 6 Click “ Tools ” as shown in Figure 7: Firmware Download.
Step 7 Choose “ Firmware Download ” in the drop-down menu of “ Tools ”.

Figure 7: Firmware Download

Step 8 Click to choose the firmware upgrade package whose name is identifiable by the presence of “pkg” before the extension name as shown in Figure 9: Firmware Selection.

Step 9 Click to start the firmware upgrade process and wait for synchronization between the module and the PC as shown in Figure 10: Wait for Synchronization. Manually reset the module within 90 s; otherwise, the firmware upgrade will fail. In this case, you can retry from Step 9.

Figure 8: Load Firmware

Figure 9: Firmware Selection

Figure 10: Wait for Synchronization

Step 10 Wait for upgrading to complete.

Figure 11:Wait for Upgrading to Complete

Step 11 Firmware upgrade is successful. After the upgrade is complete, the module will automatically restart.

Figure 12: Firmware Upgrade Completed

Appendix A References

Table 6: Terms and Abbreviations

Appendix B CRC32 Calculation

Sample code for calculating CRC32.

const uint32_t Table_CRC32[256] =
{
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419,
0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4,
0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07,
0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856,
0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4,
0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3,
0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a,
0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599,
0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190,
0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f,
0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e,
0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed,
0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3,
0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a,
0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5,
0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010,
0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17,
0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6,
0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615,
0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344,
0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a,
0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1,
0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c,
0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef,
0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe,
0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31,
0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c,
0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b,
0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1,
0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278,
0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7,
0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66,
0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605,
0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8,
0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b,
0x2d02ef8d
};
uint32_t Ql_CRC32(const unsigned char *pData, const uint32_t Length)
{
uint32_t i = 0;
uint32_t CRC_Result = 0xFFFFFFFF;
if((NULL == pData) || (Length == 0))
{
return 0;
}
for (i = 0; i < Length; i++)
{
CRC_Result = Table_CRC32[(CRC_Result ^ pData[i]) & 0xFF] ^ (CRC_Result >> 8);
}
return (CRC_Result ^ 0xFFFFFFFF);
}

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals