GPS NMEA에서 UBX 프로토콜로 변환하기

2019. 10. 1. 08:59임베디드/32F429IDISCOVERY

NMEA 프로토콜은 NMEA에서 제정한 범용적인 규약이지만, 데이터 길이가 가변적이라 파싱이 어렵다는 단점이 있다. 한편 UBX 프로토콜은 ublox사에서 제정한 자체 규약으로 범용적이지는 않지만, 같은 메세지라면 데이터 길이가 고정되어 있어서 파싱이 매우 쉽다. 또한 메세지 길이도 짧은 편이다. 다만 바이너리 형태로 데이터가 나오기 때문에 데이터를 눈으로 바로 확인하기에는 어렵다

 

 

NMEA 프로토콜은 $로 시작하며 마지막에는 CR/LF로 이뤄졌다. GP는 현재 이 장치는 GPS라는 것을 알려주며, 그 뒤에는 메세지 형태를 알려주게 된다.

 

M8N 데이터시트에 나와있듯이 ublox사의 GPS 모듈은 두 가지 프로토콜을 모두 출력한다. 기본적으로는 NMEA를 출력하고, 따로 config를 수정함으로써 ublox만을 출력시킬 수 있다. 이는 1) u-center 2) 펌웨어 코드에서 모두 가능한 일이다 1)은 코일 셀 전지에 의존하기 때문에 시간이 지난 후 설정이 지워질 수 있다는 단점이 있다. 2)는 사전에 정해진 바이너리 데이터를 보냄으로써 설정할 수 있다

 

u-center를 열어서 usb2uart 포트와 연결하도록 한다