Tiêu chuẩn NMEA 0183

By

NMEA 0183 là tiêu chuẩn kỹ thuật cho giao tiếp kết hợp điện với tín hiệu thông tin liên lạc cho các thiết bị hàng hải như echo sounder máy dò ngang sonar, máy đo gió (anemometer), gyrocompass, autopilot, thiết bị thu NMEA 0180 và NMEA 0182. Sắp tới sẽ được thay thế bằng tiêu chuẩn mới hơn NMEA 2000. Tuy nhiên, tiêu chuẩn này vẫn được nâng cấp thường xuyên. Phiên bản v4.10 được công bố vào đầu tháng 5 năm 2012.

Cơ bản

Chuẩn NMEA truyền dữ liệu theo định dạng bus dữ liệu 4800/38400 baud nối tiếp. Dữ liệu NMEA được truyền từ bộ "Phát" như GPS, máy đo độ sâu, la bàn ... Thiết bị nhận là bộ "Thu" như máy vẽ biểu đồ, radar, máy tính, màn hình NMEA ... NMEA 0813 thiết kế theo kiến trúc 1 bộ "phát" nhưng có nhiều bộ "thu". 

Phiên bản mới nhất NMEA 0813 (từ phiên bản 2 trở đi) sẽ dùng chuẩn EIA-422, các phiên bản trước dùng EIA-232. Tín hiệu sử dụng mức điện áp +5 / 0 vôn, tuy nhiên thực tế mức điện áp có thể lên đến +/- 15 vôn, nhất là với các thiết bị cũ sử dụng phiên bản 1 mức điện áp là  +/- 12-15 vôn. Vì thế NMEA 0813 phiên bản 2.0 trở đi phải có khả năng nhận điện áp +/- 15 vôn mà không gây hư hỏng thiết bị.

Tiêu chuẩn NMEA 0813 cũng yêu cầu sử dụng bộ cách ly quang để giảm nhiễu và ảnh hưởng của chập mát tín hiệu. Kết nối sử dụng cặp cáp xoắn đôi.

NMEA 0183 sử dụng ASCII,  giao thức truyền thông nối tiếp đơn giản mà dữ liệu đường truyền đi từng "câu" theo cách một "người nói" cho nhiều "người nghe" tại một thời điểm. Một "người nói" có thể có một cuộc trò chuyện theo một hướng với một số không giới hạn của "người nghe", sử dụng bộ ghép kênh, nhiều cảm biến có thể "nói chuyện" với một cổng máy tính duy nhất.

Cấu hình nối tiếp (Lớp dữ liệu)
Tốc độ chuẩn Baud     4800
Data bits     8
Parity     None
Stop bits     1
Handshake     None

Quy tắc giao thức lớp ứng dụng
     Mỗi tin nhắn bắt đầu bằng dấu $.
     Năm ký tự tiếp theo xác định "người nói" (dùng hai ký tự) và loại tin nhắn(ba ký tự).
     Trường dữ liệu theo sau dùng dấu phẩy để phân cách.
     Nếu dữ liệu không có, trường tương ứng để trống (không có ký tự trước dấu phân cách tiếp theo - xem phần tin mẫu dưới đây).
     Ký tự đầu tiên sau trường dữ liệu cuối cùng là dấu hoa thị *, nhưng chỉ được đưa vào nếu có mã kiểm tra chẵn lẻ.
     Sau dấu hoa thị là mã kiểm tra chẵn lẻ gồm 2 số hệ hexadecimal.
     <CR> <LF> kết thúc tin nhắn.

Ví dụ, tín hiệu về dưới dạng:

$GPAAM,A,A,0.10,N,WPTNME*32

trong đó:

GP ID thiết bị nói (GP là thiết bị GPS, GL là thiết bị GLONASS)
AAM Arrival alarm
A Arrival circle entered
A Perpendicular passed
0.10 Circle radius
N Nautical miles
WPTNME Waypoint name
*32

Checksum data

Phần mềm tương thích với NMEA 0183

    AggreGate Device Management Platform
    Master Navigator Software (MNS) - Map and Navigation Software
    seaPro Navigation Software (www.euronav.co.uk)
    OrbitGPS
    ElectricCompass
    Telogis GeoBase
    NetStumbler
    Nimble Navigator - Marine Navigation and Charting Software
    Rand McNally StreetFinder
    Coastal Explorer by Rose Point Navigation Systems[5]
    Sea-Data Windows and Sea-Data Motion Sensor
    Magic e-Map
    GPS 2 IP - an iPhone NMEA server
    NMEA Talker NMEA instrument simulation utility by Sailsoft
    Microsoft Streets & Trips
    Microsoft MapPoint
    Serotonin Mango M2M[6] (suitable for NMEA compliant weather stations)
    MapKing
    gpsd - Unix GPS Daemon
    GPSy X for Mac OS X[7]
    Turbo GPS PC/PPC/Android[8]
    GRLevelX Weather Suite[9]
    Google Maps Mobile Edition[10]
    JOSM - OpenStreetMap Map Editor
    PolarCOM - a set of digital and analog NMEA instruments[11]
    Avia Sail - PC instruments for both NMEA 0183 and NMEA 2000[12]
    VisualGPS - A free NMEA Monitoring utility for NMEA 0183 GPS devices[13]
    DeLorme Street Atlas
    GPS TrackMaker[14] - A Brazilian solution which supports many GPS brands
    Open Sea Map Data Logger[15] - Open-source Chartplotter and Logger
    Java Marine API[16] - Open-source NMEA library for Java
    Vox Maris GMDSS Simulator[17] - A GMDSS Simulator that is able to receive NMEA Data from external sources
    C_GPS2KML - A tool to convert logged data to KML/KML for Google Earth supporting NMEA (Including Glonass)