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 포트와 연결하도록 한다
'임베디드 > 32F429IDISCOVERY' 카테고리의 다른 글
STM32F4 + NRF24L01 (0) | 2019.11.07 |
---|---|
U-blox M8N GPS NMEA 데이터 수신하기 (0) | 2019.09.27 |
32F429IDISCOVERY CubeIDE에서 LL 드라이버로 BNO080 제어 -1 (0) | 2019.08.26 |
CubeIDE에서의 float 실수 출력과 문제점 (0) | 2019.08.25 |
ST-Link V2 핀맵 (0) | 2019.08.23 |