QUECTEL LG290P Gnss Module User Guide
- July 30, 2024
- QUECTEL
Table of Contents
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
- ¹⁾ Packet Sequence starts from 0x00000000 (big-endian).
- ²⁾ 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) >>