Binary sentence
(Supported on all GNSS modules except Ivory 2)
Increase calculation efficiency by using binary format output
Overview
GlobalTop GPS module can output custom-made NMEA sentence in binary format. Binary sentence is an efficient way of transferring coordinate messages in binary numbers and can be easily processed by a low powered micro controller without the need for conversion and huge C++ string libraries.
Background
Binary sentence is an efficient way of transferring coordinate messages from GPS module to micro controllers. Coordinates that used to require more than 20 bytes in NMEA can now be sent with only 8 bytes in binary sentence format. In addition, because of the increase in efficiency, a lower transfer rate can easily parse 10Hz messages without losing any packages.
Binary sentence is a lot more efficient when using tiny 8-bit micro controllers. This is because microcontrollers contain limited flash space, and the process of converting ASCII string into normal variables will require huge libraries and a lot of CPU calculation cycles, which may be too much to handle for these tiny controllers. With binary sentence, these simple bytes can be put directly into the variables with a few clock cycles, without the need for parsing, conversion and the huge C++ string libraries.
GlobalTop Solution
GlobalTop can customize GPS module output sentences in binary mode when used in combination with GlobalTop "One Sentence" PGTOP format. See the table below for an example on the type of data available for data format conversion.
Original PGTOP Sentence (GlobalTop One Sentence Format)
$PGTOP,064951.000,2307.1256,N,12016.4438,E,A,0.03,165.48,0.03,N,0.06,K*Checksum
| Table 1: Custom-made Data Format for One Sentence sentence | |||
| Name | Example | Units | Desciption |
| Preamble header | $PGTOP | Preamble header | |
| UTC Time | 064951.000 | hhmmss.sss | |
| Latitude | 2307.1256 | ddmm.mmmm | |
| N/S Indicator | N | N=>North or S=>South | |
| Longitude | 12016.4438 | ddmm.mmmm | |
| E/W Indicator | E | E=>East or W=>West | |
| Status | A | A=>data valid or V=>data not valid | |
| Course over Ground | 165.48 | Degrees | True |
| Speed over Ground | 0.03 | Knots/hr | Measured horizontal speed |
| Units | N | Knot per hour | |
| Speed | 0.06 | Knots/hr | Measured horizontal speed |
| Units | K | Kilometers per hour | |
| Checksum | *33 | ||
| <CR> <LF> | End of message termination | ||
Converted to GlobalTop Binary sentence format
0x04, 0x24, 0x03, 0xDF, 0x12, 0xD8, 0x01, 0x60, 0x74, 0xCC, 0x01, 0x07,0x2B, 0x64, 0xDF, 0x01, 0x01, 0x07, 0x56, 0XB7, 0x00, 0x00,0x00, 0X00, 0X24,
0x4E,0X00,0X00,0X00, 0X40, 0x4B,0x47,0x0D,0x0A
| Table 2: Custom-made Data Format for Binary Sentence sentence | |||
| Name | Example | Units | Desciption |
| Preamble header | 0x04,0x24 | 2bytes | Preamble header |
| UTC Time | 0x03 0xDF 0x12 0xD8 |
4bytes Hi byte to Low byte |
UTC Time(hhmmss.sss) The original value will be converted 064951.000*(10^3)=64951000 =>0x03DF12D8 |
| Latitude | 0x01 0x60 0x74 0xCC |
4bytes Hi byte to Low byte |
Latitude(in decimal degrees) The original value will be converted 23.098572*(10^6)=23098572 =>0x016074CC |
| N/S Indicator | 0x01 | 1 byte | 0x01=>North or 0x02=>South |
| Longitude | 0x07 0x2B 0x64 0xDF |
4bytes Hi byte to Low byte |
Longitude(in decimal degrees) The original value will be converted 120.284383*(10^6)=120284383 =>0x072B64DF |
| E/W Indicator | 0x01 | 1 byte | 0x01=>East or 0x02=>West |
| Status | 0x01 | 1 byte | 0x01=>data valid or 0x02=>data not valid |
| Course over Ground | 0x07 0x56 0xB7 0x00 |
4bytes Hi byte to Low byte |
Course over Ground(in degree) The original value will be converted 123.123456=>123.123456*(10^6)=123123456 =>0x0756B700 |
| Speed over Ground | 0x00 0x00 0x00 0x24 |
4bytes Hi byte to Low byte |
Speed over Ground(knot/hr) The original value will be converted 0.036(knot/hr)=>0.036*1000=36 =>0x00000024 |
| Units(Knots) | 0x4E | 1byte | Unit of Speed. 0x4E='N' |
| Speed | 0x00 0x00 0x00 0x40 |
4bytes Hi byte to Low byte |
Ground Speed(km/hr) The original value will be converted 0.067(km/hr)=>0.067*(10^3)=67 =>0x00000040 |
| Units(Kilometer) | 0x4B | 1byte | Unit of Speed. 0x4B='K' |
| Checksum | 0x47 | 1byte | checksum. |
| End Word | 0x0D 0x0A |
2bytes | End of message termination |
Note.1
1. The checksum will be calculated by X or all bytes (except for the preamble header and end word bytes)
For (i=0; i<n; i++)
{
Checksum = Checksum ^ Buffer[i]
}
Requirement
GlobalTop Binary sentence custom-made feature maybe used in combination with GlobalTop One Sentence service. Please see "One Sentence" under software technologies for more details.
Contact Gtop Now!
Gtop Binary sentence Introduction
GlobalTop Technology Inc. is Taiwan supplier and manufacturer in Northern America, South America, Western Asia, Southern Europe, Western Europe, Northern Europe, Eastern Asia, Southern Asia, Central Asia, Australia, New Zealand and Russia. Gtop has been offering our customers high quality GNSS Modules since 2006. With both advanced technology and 8 years experience, Gtop always make sure to meet each customer's demand.
Contact Us
GlobalTop Technology Inc.
No. 16, Nan-Ke 9th Road, Science-Based Industrial Park, Tainan 741, Taiwan
TEL: +886-6-5051268
FAX: +886-6-5053381
View GlobalTop Technology Inc. in a larger map

