Page 1 of 1

Stability issues with the UART/GPS

Posted: Mon Aug 07, 2017 7:13 pm
by StuH
Hi,
In testing the One+ I have found that the data coming across the UART for the GPS appears garbled, even when using very simple code. If I attach the GPS device to a standard PC (using a USB->Serial cable, at 3.3v), the NMEA data is as it should be and the checksums validate. I have even dropped the baud rate down of the GPS device to 9600 (using u-Center) to see if that improves stability, but sadly not. I have also tried different PSU's (and connected only to a vehicle) and the same issue still persists.

With a simple test the error-rate is around 10% (the GPS is usable, but not ideal). With more complex code (i.e. busier device), the GPS is unusable because around 90% of the data received is corrupt/garbled, despite FreeRTOS queues being used to run tasks with sensible priorities and read from the UART buffer before it is full.

Are there any known issues with the hardware where the UART data will become corrupt under load?

FYI, the corrupt data ranges from newlines being added to the middle of NMEA lines, characters being duplicated, characters being dropped so that two lines merge into one. I have used a few different examples for reading from the UART (including that of the One+ sketches) and they all exhibit the same behaviour.

Re: Stability issues with the UART/GPS

Posted: Sat Aug 12, 2017 12:00 am
by stanley
9600bps might be too slow. Any chance to increase the baudrate? The GPS receiver that we supply for use with Freematics ONE/ONE+ works at 115200bps and our sample sketches process GPS data with no character loss even on heavy load.