Tài liệu kỹ thuật

Tiêu chuẩn NMEA 0183 và NMEA 2000

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)

NMEA 2000

NMEA 2000 (IEC 61162-3) là thế hệ sau của NEMA 0183, chuẩn truyền thông dùng trong hàng hải để kết nối đông cơ, cảm biến trong tàu thuyền. Nó hoạt động dựa trên mạng Controller Area Network (CAN) cho phép các thiết bị gửi nhận tín hiệu qua một sợi cáp duy nhất. Chức năng lớp trên của NEMA 2000 dựa theo SAE J1939 và ISOBUS (ISO 11783), dùng cho các xe tải nặng và máy móc nông lâm nghiệp.

So sánh NMEA 2000 với NMEA 0183

NMEA 2000 vs 0183

Chi phí thấp hơn

NMEA cho cho phép tất cả các node giao tiếp trực tiếp với nhau, nguồn cấp chung trên sợi cáp duy nhất backbone, giảm chi phí đi dây so với NMEA 0183. Để đấu rẽ nhánh NMEA 2000 dùng các đầu chia T-connector.

Dữ liệu truyền nhanh hơn
NMEA 2000 truyền tín hiệu tốc độ 250K nhanh hơn so với tốc độ NMEA 0183 4.8K. Tốc độ dữ liệu này phù hợp với ứng dụng cần thời gian thực như dẫn đường hoặc giám sát động cơ. 
Khả năng tương thích thiết bị tốt hơn
NMEA 2000 cho phép nhiều thiết bị từ các nhà sản xuất khác nhau kết nối cùng mạng và trao đổi dữ liệu chuẩn hóa. 
Mạng quy mô lớn hơn
NMEA 2000 hỗ trợ tới 50 thiết bị nhiều hơn NMEA 0183, thích hợp quy mô các tàu cỡ lớn.
Giao tiếp mạnh mẽ hơn
NMEA 2000 dùng CAN bus, đây là giao tiếp số can nhiễu ít hơn so với giao tiếp serial NMEA 0183 sử dụng. Điều này làm cho mạng NMEA 200 tin cậy ổn định hơn.
Tương thích ngược
NMEA 2000 cho phép các thiết bị NMEA 0183 sử dụng tương thích thông qua cổng kết nối giá rẻ. Tuy nhiên chiều ngược lại thiết bị NMEA 2000 không thể sử dụng trên mạng NMEA 0183.