مشکل تغییر تاریخ در ماژول‌های GPS

blog
۱۴۰۰-۱۲-۲۴
8 دقیقه

شاید شما هم یک پروژه با ماژول‌ GPS انجام دادید که پس از مدتی متوجه مشکل تغییر تاریخ ماژول‌ GPS در پروژه خودتون شدید که باعث به هم ریختن نرم افزارتون میشه، البته این‌جور مشکلات حتی به‌صورت وسیع چندبار پیش اومده و نمونش Y2K bug (که نمونه داخلیش اول امسال برای خودمون هم پیش اومد و بیشتر توی دستگاه‌های پوز بهش برخوردیم) هست. پس خوبه که موقع برخوردن به این مشکلات بادید درستی بهش نگاه بکنیم و حواسمون باشه که این‌جور مشکلات ممکنه برای ما هم پیش بیاد و باعث سردرگمی ما توی دیباگ کردن پروژه هامون بشه و زمان زیادی رو هدر بده، پس با سیسوگ همراه باشید تا به بررسی علت وقوع این مشکل و نحوه برطرف کردنش بپردازیم.

سال ۱۹۷۸ اولین ماهواره GPS در مدار قرار گرفت (۴۴ سال پیش) البته در ابتدا کاربرد نظامی داشته و بعد از چند سال به‌صورت عمومی برای همه قابل‌استفاده شده (توی موضوعات High tech غالباً همین‌طور هست و در ابتدا یه تکنولوژی موردنیاز در بحث نظامی توسعه داده میشه و بعد از مدتی ممکنه به‌صورت عمومی هم در دسترس قرار بگیره) البته شاید اون زمان خود آمریکایی‌ها هم‌فکر نمی‌کردند که سیستم GPS قراره این‌همه سال استفاده بشه و این باعث شده که یکسری مشکلاتی برای استفاده طولانی‌مدت از اون به وجود بیاد.

 

تاریخ مبهم

ماهواره‌های GNSS سیگنال‌های مختلفی رو ارسال می‌کنند تا گیرنده‌های GNSS اونها رو دریافت کرده و پردازش کنند، سیگنال L1 C/A یکی از این سیگنال‌ها هست که دیتای تاریخ اون مبهم هست و هر ۱۹٫۶ سال یکبار صفر میشه و باعث میشه ماژول‌هایی که از این دیتا استفاده می‌کنند تاریخشون ۲۰ یا ۴۰ سال قبل رو نشون بده.

مشکل تغییر تاریخ در ماژول‌های GPS

 

مشکل تغییر تاریخ GPS چگونه بوجود میاد؟

همانطور که گفتیم سیستم GPS تعداد هفته‌های گذشته از تاریخ ۶ ژانویه ۱۹۸۰ رو ارسال میکنه و گیرنده‌های GPS برای محاسبه زمان دقیق از این پارامتر استفاده می‌کنند. تعداد هفته‌های گذشته از ۰ تا ۱۰۲۳ شمرده میشند و بعد از اون شمارش دوباره از ۰ شروع میشه اولین بار که این اتفاق افتاد در آگوست ۱۹۹۹ بوده و جدیداً در آوریل ۲۰۱۹ این اتفاق بار دیگه رخ داده و زمان بعدی در نوامبر ۲۰۳۸ دوباره این مقدار ۰ شروع میشه.

مشکل تغییر تاریخ در ماژول‌های GPS

البته ماژول‌ها اکثراً از سیگنال‌های دیگه‌ای‌ هم استفاده می‌کنند مثل دیتای ماهواره‌های GLONASS, Galileo, GPS L2C, GPS L5 و این خطا رو تصحیح می‌کنند. اما اگر که ماژول‌ GPS شما فقط از دیتای GPS L1 C/A استفاده کنه متوجه نمیشه که تعداد هفته، از سال ۱۹۸۰ هست یا ۱۹۹۹ یا ۲۰۱۹ و تاریخ رو به شما ۴۰ یا ۲۰ سال عقب‌تر نشون می‌ده. البته این مشکل فقط باعث خطا در تاریخی که ماژول‌ GPS به شما میده میشه و باعث اختلال در دیتاهای ناوبری ماژول نمیشه (حداقل در ماژول های شرکت u-blox به گفته این شرکت).

 

چه ماژول هایی این مشکل رو دارند؟

  • ماژول sim908 از شرکت simcom
  • ماژول های  u-blox 5, 6, 7, 8, M8 از شرکت u blox
  • و کلا ماژول هایی که فقط از سیگنال GPS L1 C/A برای دریافت موقعیت استفاده می‌کنند.

اگر شما هم ماژول هایی رو می‌شناسید که این مشکل رو دارند توی کامنت برامون بگید.

 

چطور میشه این مشکل رو برطرف کرد؟

نکته اول اینکه شرکت ublox از آخر سال ۲۰۰۷ هر ماژولی که تولید کرده داخل فریمورش به‌صورت پیش‌فرض اومده و تعداد هفته‌های گذشته از ۶ ژانویه ۱۹۸۰ رو تا روز تولید ماژول رو ذخیره کرده و ماژول با تطبیق این عدد با عددی که ماژول از ماهواره دریافت میکنه دیرتر به این مشکل برمی‌خوره، توی جدول پایین میتونید تاریخ دقیق این موضوع رو ببینید.

مشکل تغییر تاریخ در ماژول‌های GPS

همچنین شرکت ublox برای برطرف کردن این مشکل توی ماژول های خودش سه تا راه حل پیشنهاد داده:

روش اول

در این روش شما باید با اضافه کردن یک تکه کد به برنامتون تشخیص بدید که الان توی کدوم یکی از این بازه‌های ۱۹٫۶ ساله هستید و تاریخ خودتون رو اصلاح کنید. در ادامه میتونید این کد رو بررسی کنید:

 

روش دوم

روش دوم تغییر تعداد هفته‌های گذشته از ۱۹۸۰ هست که ماژول با جمع اون با دیتای دریافتی از ماهواره عدد صحیح رو پیدا کنه، با کمک دستور UBX-CFG-NAVX5 میتونید تعداد هفته‌های گذشته رو به ماژول بدید. ارسال این دیتا باید بعد از هر بار ریست شدن ماژول اتفاق بیوفته چون ماژول چیزی ذخیره نمیکنه.

مشکل تغییر تاریخ در ماژول‌های GPS

مثلاً شما الان میخواید محصولتون رو آماده کنید پس باید ۲۰۴۷ رو برای ماژول ارسال کنید که میشه دو بازه ۱۹٫۶ سالی. تکه کد پایین به شما کمک می‌کنه که دیتا رو برای ارسال توسط دستور UBX-CFG-NAVX5 آماده کنید.

 

روش سوم

روش سوم هم‌تغییر فریمور ماژول به آخرین نسخه هست که باعث میشه تا حدود ۲۰ سال از آخرین نسخه فریمور ماژولتون دیتای درست بده (خیلی باید خفن باشید که محصولتون ۲۰ سال بدون هیچ تغییری کار بده و اصلاً تا ۲۰ سال دیگه کارایی داشته باشه ?)

 

مشکل تغییر تاریخ ماژول GPS رو آقای بابک وارسته بهمون اطلاع داده بودند و قضیه ازاین‌قرار بود که ایشون پروژه‌ای با ماژول sim908 حدود سه سال پیش تحویل داده بودند که در اون زمان به‌درستی کار می‌کرده، اما مدتی پیش که دوباره می‌خواستند از محصولشون استفاده کنند اطلاعات غلط از بردشون دریافت می‌کردند و بعدازاینکه راه‌حل رو پیدا کردند با ما درمیون گذاشتند و بهانه‌ای شد برای نوشتن این مقاله.

برای نوشتن این مقاله از این داکیومنت شرکت ublox کمک گرفته شده.

اطلاعات
3
0
لینک و اشتراک
profile

Mahdi.h  

متخصص الکترونیک

علاقه مند به سیستم های امبدد | http://mahdi2001h.ir

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
S.AmirAli گفت :
۱۴۰۲-۰۴-۰۲ ۲۲:۵۴

بسیار عالی
ممنون از زحمات شما

profile
Mahdi.h   گفت :
۱۴۰۲-۰۴-۰۳ ۱۵:۲۲

خواهش میکنم 🙂

profile
حسین گفت :
۱۴۰۱-۱۰-۰۹ ۲۲:۴۸

سپاس.

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله