گیرنده های GPSو استاندارد NMEA
گیرنده برنامه نویسی چیست؟
گیرنده های GPS ، اطلاعاتی را از ماهواره ها دریافت میکنند و سپس با محاسبه فاصله خود از ماهواره هایی که در دید هستند موقعیت مکانی خود را بدست می آورند. سپس اطلاعات دریافت شده و نیز موقعیت محاسبه شده را با توجه به استاندارد NMEA(National Marine Electronics Association)تنظیم میکنند و آن ها را به صورت سریال با نرخ انتقال 4800BPSارسال می کنند. پرتکل ارتباط سریال GPS در استاندارد NMEA به صورت استاندارد RS232 و با تنظیمات زیر می باشد:
استاندارد NMEA چیست؟
انجمن ملی تجهیزات الکترونیک دریایی ، استاندارد توسعه یافته ای برای مشخص کردن نحوه ارتباط بین وسایل الکترونیکی دریایی می باشد. این استاندارد به تجهیزات الکترونیکی دریایی اجازه میده که با کامپیوتر ها ارتباط برقرار کرده و اطلاعات خود را به آنها ارسال کنند. گیرنده های GPS هم با این استاندارد کار می کنند. اکثر برنامه های کامپیوتری و دستگاه هایی هم که اطلاعات مکانی را ارسال می کنند با این استاندارد کار میکنند.
اطلاعات دریافتی از گیرنده های GPS شامل اطلاعات زیادی از قبیل موقعیت(طول وعرض جغرافیایی)، ارتفاع، سرعت، زمان و ... میباشد. استاندارد NMEA وظیفه مرتب کردن رشته ارسالی را دارد. در این استاندارد انواع رشته هایی وجود دارند که حاوی انواع اطلاعات میباشند که مستقل از رشته های دیگر است. استاندارد NMEA همچنین به سازندگان تجهیزات مکان یابی اجازه میدهد رشته کدهای خاص کمپانی خود طراحی کنند. مثلا تمام دستگاه ها دارای دو حرف پیشوند در اول رشته ای هستند که نوع دستگاه را مشخص میکند مثلا برای GPS دوحرف GP در ابتدای جمله می آید. به دنبال این دو حرف سه حرف دیگر نیز میآید که نشان دهنده طول جمله می باشد.برای مشخص شدن اطلاعات سازنده نیز حرفP به دنبال سه حرف دیگر که معرف سازنده می باشد می آید مثلا برای شرکت سونی PSNY می باشد.
تمام رشته ها با علامت $ شروع می شوند و دیتای دریافتی به صورت کد های ASCII می باشد و پایان جمله نیز شامل یک علامت * و دو عدد checksum می باشد اطلاعات مختلف هر رشته با ”.“ از هم جدا مي شود و در پایان هر رشته کاراکتر ”CR“ و سپس ”LF“ مي آید که در استاندارد اسکي کدهاي هگز 0D و 0A را دارند. این دو کاراکتر خاص نمایانگر انتهاي رشته هستند.
اکنون به شرح برخی از این رشته ها میپردازیم:
$GPGGA- Global Positioning System Fix Data اطلاعات ثابت:
این رشته اطلاعاتي نظیر زمان، طول و عرض جغرافیایي و تعداد ماهواره در حال استفاده و غیره را به ما مي دهد. فرمت این رشته به صورت زیر است:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>, M,<10>,M,<11>,<12>,*<13><CR><LF>
مثال:
$GPGGA,104549.04,2447.2038,N,12100.4990,E,1,06,01.7,00078.8,M,0016.3,M,,*5C<CR><LF>
جدول پایین تک تک قسمت هاي رشته را معرفي کرده است:
طول و عرض جغرافیایي با زمان و وضعیت نقاط(GLL)
این رشته اطلاعاتي نظیر طول و عرض جغرافیایي و زمان را در اخیار ما قرار مي دهد.
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*<8><CR><LF>
مثال:
$GPGLL,2447.2073,N,12100.5022,E,104548.04,A,A*65<CR><LF>
$GPGSV- (Satellites in view) ماهواره های در دید:
اطلاعاتی راجع به ماهواره های در دید گیرنده GPS را نشان می دهد. هرجمله GPGSV اطلاعات مربوط به 4 ماهواره را نشان می دهد بنابراین به 3 جمله نیاز داریم تا کل اطلاعات را در مورد ماهواره ها داشته باشیم. یک جمله GPGSVتعداد ماهواره های بیشتری نسبت به جمله GPGGAنشان می دهد و نیز تعداد ماهواره هایی را که در دید نیستند را هم نشان می دهد.
این جمله همچنین نسبت سیگنال به نویزSNR را با عددی بین0 تا99 نشان میدهد.این رشته همچنین تعداد PNR و زاویه محور و.. را نیز در اختیار ما قرار می دهد.
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…,<4>,<5>,<6>,<7> *<8><CR><LF>
مثال:
$GPGSV,2,1,08,26,50,016,40,09,50,173,39,21,43,316,38,17,41,144,42*7C<CR><LF>
ماهواره هاي فعالGSA
این رشته مد کاري گیرنده ي GPSو ماهواره هایي که براي ناوبري استفاده شده اند را به ما مي دهد.
$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*<7><CR><LF>
مثال:
$GPGSA,A,3,26,21,,,09,17,,,,,,,10.8,02.1,10.6*07<CR><LF>
اطلاعات ترانزیت توصیه شده ی (RMC)GPS
این رشته اطلاعاتي نظیر زمان، طول و عرض جغرافیایي، کورس و سرعت را به ما مي دهد.
فرمت:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*<13><CR><LF>
مثال:
$GPRMC,104549.04,A,2447.2038,N,12100.4990,E,016.0,221.0,250304,003.3,W,A*22<CR><LF>
کورس روي زمین و سرعتVTG
این رشته انواع کورس و سرعت را به ما مي دهد
$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*<6><CR><LF>
مثال:
$GPVTG,221.0,T,224.3,M,016.0,N,0029.6,K,A*1F<CR><LF>
زمان و تاریخZDA
این رشته زمان به وقت محلي گرینویچ و تاریخ میلادي را به ما مي دهد
$GPZDA,<1>,<2>,<3>,<4>,<5>,<6>*<7><CR><LF>
مثال:
$GPZDA,104548.04,25,03,2004,,*6C<CR><LF>
دقت شود که GPS اطلاعات و رشته هاي NMEA را هر یک ثانیه یک بار ارسال مي کند و کافي است ما این اطلاعت را از طریق پورت سریال بخوانیم و نیاز به انجام کار خاصي جهت اینکه GPS اطلاعات را ارسال کند نیست.
دقت شود که GPS در فضاي باز و بدون سقف مي تواند اطلاعات ارسالي ماهواره ها را دریافت کند و در ساختمان ها و مکان هاي سر پوشیده نمي تواند اطلاعات ماهواره اي را به درستی دریافت و یا ارسال کند. )در وسایل نقلیه و جاهایي که سقف آنها نازک است مشکلي براي دریافت اطلاعات ماهواره اي وجود ندارد.(
همه جملات GPS در زیر آمده است:
S.No. | رشته | توضیحات |
1 | $GPAAM | Waypoint Arrival Alarm |
2 | $GPALM | GPS Almanac Data |
3 | $GPAPA | Autopilot Sentence "A" |
4 | $GPAPB | Autopilot Sentence "B" |
5 | $GPASD | Autopilot System Data |
6 | $GPBEC | Bearing & Distance to Waypoint, Dead Reckoning |
7 | $GPBOD | Bearing, Origin to Destination |
8 | $GPBWC | Bearing & Distance to Waypoint, Great Circle |
9 | $GPBWR | Bearing & Distance to Waypoint, Rhumb Line |
10 | $GPBWW | Bearing, Waypoint to Waypoint |
11 | $GPDBT | Depth Below Transducer |
12 | $GPDCN | Decca Position |
13 | $GPDPT | Depth |
14 | $GPFSI | Frequency Set Information |
15 | $GPGGA | Global Positioning System Fix Data |
16 | $GPGLC | Geographic Position, Loran-C |
17 | $GPGLL | Geographic Position, Latitude/Longitude |
18 | $GPGSA | GPS DOP and Active Satellites |
19 | $GPGSV | GPS Satellites in View |
20 | $GPGXA | TRANSIT Position |
21 | $GPHDG | Heading, Deviation & Variation |
22 | $GPHDT | Heading, True |
23 | $GPHSC | Heading Steering Command |
24 | $GPLCD | Loran-C Signal Data |
25 | $GPMTA | Air Temperature (to be phased out) |
26 | $GPMTW | Water Temperature |
27 | $GPMWD | Wind Direction |
28 | $GPMWV | Wind Speed and Angle |
29 | $GPTTM | Tracked Target Message |
30 | $GPVBW | Dual Ground/Water Speed |
31 | $GPVDR | Set and Drift |
32 | $GPROO | Waypoint active route (not standard) |
33 | $GPOLN | Omega Lane Numbers |
34 | $GPVHW | Water Speed and Heading |
35 | $GPVLW | Distance Travelled through the Water |
36 | $GPVPW | Speed, Measured Parallel to Wind |
37 | $GPVTG | Track Made Good and Ground Speed |
38 | $GPWCV | Waypoint Closure Velocity |
39 | $GPWNC | Distance, Waypoint to Waypoint |
40 | $GPTRF | Transit Fix Data |
41 | $GPSTN | Multiple Data ID |
42 | $GPRMA | Recommended Minimum Specific Loran-C Data |
43 | $GPRMB | Recommended Minimum Navigation Information |
44 | $GPRMC | Recommended Minimum Specific GPS/TRANSIT Data |
45 | $GPROT | Routes |
46 | $GPSFI | Scanning Frequency Information |
47 | $GPOSD | Own Ship Data |
48 | $GPROT | Rate of Turn |
49 | $GPRPM | Revolutions |
50 | $GPRSA | Rudder Sensor Angle |
51 | $GPRSD | RADAR System Data |
52 | $GPWPL | Waypoint Location |
53 | $GPXDR | Transducer Measurements |
54 | $GPXTE | Cross-Track Error, Measured |
55 | $GPXTR | Cross-Track Error, Dead Reckoning |
56 | $GPZDA | Time & Date |
57 | $GPZFO | UTC & Time from Origin Waypoint |
58 | $GPZTG | UTC & Time to Destination Waypoint |
دریافت این مقاله به صورت فایل PDF
حجم فایل:900kb
در قسمت بعد نحوه برنامه نویسی و ارتباط ماژول GPS با میکروکنترلر ATMEGA32 را شرح خواهیم داد با ما همراه باشید.
مطالب مرتبط : |
برچسب ها:
Tags: آموزش برق و الکترونیک برنامه GPS برای avr نمایش اطلاعات gps با avr ارتباط ماژول GPS با میکروکنترلر ATMEGA32 استاندارد NMEA استاندارد NMEAدر GPS رشته GPGLL رشته های ارسالی GPS رشته های دریافتی از GPS گیرنده های GPS گیرنده های GPSو استاندارد NMEA