NMEA

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기

NMEA 라고 주로 불리는 NMEA 0183은 시간, 위치, 방위 등의 정보를 전송하기 위한 규격이다. NMEA 0183은 미국The National Marine Electronics Association에서 정의해 놓았다. 이 데이터들은 주로 자이로컴퍼스, GPS, 나침반, 관성항법장치(INS)에 사용된다. NMEA 0183은 ASCII와 직렬 방식의 통신을 사용한다.

레이어[편집]

NMEA 0183은 3가지 레이어로 구성되어 있으며, 이것은 각각 물리 계층, 데이터링크 계층, 애플리케이션 계층이다. 물리 계층은 RS-232, RS-422 등의 전기적인 전송 규격을 뜻한다. 데이터링크 계층은 Baud rate, Data bit, Parity bit, Stop bit 등을 정해 놓는다. Application Layer는 데이터를 전송하는 Sentence에 대한 규약이다.

애플리케이션 레이어[편집]

애플리케이션 레이어에서의 문장의 특징은 다음과 같다.

  • '$'로 시작한다.
  • 첫 두 자리는 제품의 종류를 나타낸다. GPS 제품일 경우 GP, 수심 측정 장비인 Depth Sounder 제품일 경우 SD 를 사용한다.
  • 다음 세 자리는 해당 프로토콜이 가지고 있는 데이터의 종류를 나타낸다.
  • 데이터의 구분은 ','로 한다.
  • '*'로 끝난다.
  • '$'와 '*'사이의 모든 데이터를 exclusive or 연산을 하여 체크섬을 만들어 추가한다.
  • <CR><LF>를 붙인다.

주로 사용되는 문장에 대한 예시와 설명은 다음과 같다.

$ELEXTECH, Inc G1800s
$HW Version 1.6
$SW Version 231.000.100
$Startup 4
$TOW: 0
$WK: 1192
$POS: 6378137 0 0
$Baud rate: 9600 System clock: 24.553MHz
$GPGGA,114455.532,3735.0079,N,12701.6446,E,1,03,7.9,48.8,M,19.6,M,0.0,0000*48
$GPGSA,A,2,19,25,15,,,,,,,,,,21.5,7.9,20.0*32
$GPGSV,3,1,10,03,86,244,00,19,51,218,38,16,51,057,00,07,40,048,00*77
$GPGSV,3,2,10,13,34,279,00,23,33,236,00,15,29,076,40,25,25,143,38*71
$GPGSV,3,3,10,21,18,051,,27,12,315,*77
$GPRMC,114455.532,A,3735.0079,N,12701.6446,E,0.000000,121.61,110706,,*0A

  • Elextech사에서 만든 G1800s라는 GPS모듈이다.
  • Baud Rate는 9600bps이다.

GPGGA[편집]

GPGGA Global Positioning System Fix Data라고 한다. 여기에서 주로 알 수 있는 것은 시간, 위도, 경도, 고도 등이다.

$GPGGA,114455.532,3735.0079,N,12701.6446,E,1,03,7.9,48.8,M,19.6,M,0.0,0000*48

  • 114455.532는 시간으로서 Zulu time (그리니치 표준시) 기준으로 11시 44분 55.532초를 뜻한다.
  • 3735.0079는 위도로서 37도 35.0079분을 뜻한다. 도(degree) 단위로 환산시, 35.0079/60 = 0.5 대략 37.5도가 된다.
  • 뒤의 N은 북위를 뜻한다. 적도 남쪽에 있다면 S가 된다.
  • 12701.6446은 경도로서 127도 1.6446분을 뜻한다. 도(degree) 단위로 환산시, 1.6446/60 = 0.027 대략 127.0도가 된다.
  • 뒤의 E는 동경을 뜻한다. W가 되면 서경이 된다.
  • '1'은 Fix의 종류를 뜻한다. 이 자리의 숫자에 따른 뜻은 다음과 같다.
    • 0 : Invalid 잘못된 데이터. 주로 위성이 안 잡힐 경우.
    • 1 : GPS에서 제공하는 기본 위성을 가지고만 계산할 경우.
    • 2 : DGPS를 이용하여 보정하여 계산할 경우
    • DGPS를 이용할 경우 더욱 정확한 측정이 가능해진다. DGPS는 지구의 지표의 위치가 명확히 알려진 곳에 기지국을 설치하거나 또 다른 위성(NAVSTAR GPS위성이 아닌 타 위성)이 GPS송출 신호를 내보내어 보정하도록 하는 방법이다. 보통 15M정도의 오차를 가지는 GPS가 DGPS로 보정할 경우 5M로 오차가 줄어들게 된다.
  • '03'은 계산에 사용한 위성을 개수를 나타낸다. 위치를 알기 위해서 최소3개 이상의 신호를 받아야 한다.
  • '7.9'는 horizontal dilution of Precision으로 2차원적 오차결정(수평방향)을 뜻한다.
  • '48.8M'는 해수면 기준 고도이다.
  • '19.6M'는 WGS-84에서 정해놓은 타원체로서 모델링한 지구와 구체로서 모델링된 지구의 고도차이를 뜻한다.
  • '0.0'과 '0000'은 DGPS 사용시 마지막으로 update한 시간과 DGPS 기지국의 ID이다.
  • '48'은 Check Sum이다.

GPGSV[편집]

GPGSV GPS Satellites in View는 현재 GPS Module이 수신할 수 있는 모든 위성의 정보이다. 모든 위성을 계산에 사용하지는 않는다.


$GPGSV,3,1,10,03,86,244,00,19,51,218,38,16,51,057,00,07,40,048,00*77
$GPGSV,3,2,10,13,34,279,00,23,33,236,00,15,29,076,40,25,25,143,38*71
$GPGSV,3,3,10,21,18,051,,27,12,315,*77

  • '3'은 앞으로 나올 GPGSV가 총 몇 개의 Sentence일지 알려준다. 여기에서는 총 3개의 Sentence이다.
  • '1'은 GPGSV Sentence중 몇 번째의 Sentence인지 알려준다. 여기에서는 1번째 Sentence이다.
  • '10'은 현재 수신할 수 있는 모든 위성의 개수를 나타낸다.
  • '03,86,244,00'는
    • 3번 위성이고,
    • 현재 자신의 위치에서 86도 (degree) elevation
    • 244도 (degree)의 Azimuth
    • 신호대잡음비 (SNR)은 0 이다.
  • '77'은 Checksum이다.

최대 4개의 위성이 하나의 Sentence에 들어갈 수 있다.

GPRMC[편집]

GPRMC Recommended Minimmum data는 추천되는 최소한의 데이터들이다.

$GPRMC,114455.532,A,3735.0079,N,12701.6446,E,0.000000,121.61,110706,,*0A

  • 114455.532는 시간으로서 Zulu time (그리니치 표준시) 기준으로 11시 44분 55.532초를 뜻한다.
  • A는 GPS 신호의 신뢰성을 뜻한다. (A = 신뢰할 수 있음, V = 신뢰할 수 없음)
  • 3735.0079는 위도로서 37도 35.0079분을 뜻한다. 도(degree) 단위로 환산시, 35.0079/60 = 0.5 대략 37.5도가 된다.
  • 뒤의 N은 북위를 뜻한다. 적도 남쪽에 있다면 S가 된다.
  • 12701.6446은 경도로서 127도 1.6446분을 뜻한다. 도(degree) 단위로 환산시, 1.6446/60 = 0.027 대략 127.0도가 된다.
  • 뒤의 E는 동경을 뜻한다. W가 되면 서경이 된다.
  • '0.000000'은 Speed over ground로서 knots 단위의 속도계이다. 비행기에서는 KIAS라는 속도 단위를 사용하고, 배에서는 Knots를 사용한다. KIAS는 Knots indicator air speed의 약자이다. km/h로 변환시 대략 1.8을 곱한다.
  • '121.61'은 Track Angle in degree true로서, 진행 방향을 정북을 0도부터 359도 까지 표현한 것이다. 121.61은 대략 동남쪽이다.
  • '110706'은 Date를 뜻한다. 여기에서는 11th, July, 2006이며 2006년 7월 11일이다.
  • ' '는 Magnetic Variation으로서 나침반이다. 예시의 GPS Module은 나침반이 내장되어 있지 않다.
  • '*0A'는 체크섬이다.

같이 보기[편집]

외부 링크[편집]