بخشی از مقاله
چکیده -
طراحی لینکهاي داده بین زیرسیستمهاي ماهواره، بسته به نرخ تبادل داده ممکن است داراي پروتکلهاي مختلفی باشد. به طور مرسوم تمام تبادل داده در ماهواره ترکیبی از استانداردهاي IEEE-1553 یا RS232 میباشد. البته اخیرا استاندارهایی مانند باس CAN، سیمبندي فضایی بر اساس IEEE-1335 و اتصال نوري بر اساس IEEE-1773 در این حوزه استفاده میشود. اما پروتکل RS232 همچنان یکی از پروتکلهاي مطمئن جهت تبادل داده به ویژه براي لینکهاي سرعت پایین میباشد که با توجه به سطح ولتاژ آن کمتر تحت تاثیر نویز و شرایط محیطی خشن فضا قرار میگیرد.
در این مقاله بر اساس پروتکل مذکور و افزودن چند تکنیک افزونگی داده از جمله پریتی و ایجاد بستههایی با پرچم شروع و خاتمه طرحی ارائه گردیده است که نسبت به حالت عادي قابلیت اطمینان بالاتري دارد. طرح ارائه شده جهت کاربرد در تبادلات داده یک ماهواره LEO، در افزاره برنامهپذیر میدانی - FPGA - و تحت زبان توصیف سختافزار - VHDL - پیادهسازي شده است؛ خود برنامه نیز با دو روش کنترل پسخورد بسته و معکوس شمار زمان در ماشین حالت مقاومسازي شده است. نتایج پیادهسازي در افزاره FPGA-XCS200k-256 نشان دهنده 10 درصد فضاي لازم و حداکثر فرکانس 86 مگاهرتز میباشد.
-1 مقدمه
زیرسیستمهاي ماهواره متناسب با ساختار و سیستم طراحی شده براي آن، ممکن است به صورت یکپارچه یا به گستره کنار هم قرار بگیرند. ماهواره مورد نظر در این مقاله یک میکرو ماهواره مکعبی با پایداري چرخان حول محور عبور کننده از رینگ و آنتن میباشد به طوري که زیرسیستمهاي آن به صورت تفکیک شده کنار هم قرار گرفتهاند. از جمله این زیرسیستمها میتوان به محموله تصویر، تلهمتري، تلهکامند، گیرنده مخابراتی، فرستنده مخابراتی و کامپیوتر روي برد اشاره کرد. حسب نیاز بین این زیرسیستمها تبادل داده صورت میگیرد. این تبادل داده به صورت باس مشترك یا لینکهاي تفکیک شده قابل پیاده- سازي میباشد. .
به طور مرسوم تمام تبادل داده در ماهوارهها، ترکیبی از استانداردهاي IEEE-1553 یا RS232 میباشد. البته اخیرا استاندارهایی مانند باس CAN، سیمبندي فضایی بر اساس IEEE-1335 و اتصال نوري بر اساس IEEE-1773 در این حوزه استفاده میشود و در [1] استفاده از سیمبندي بیسیم در زمینه ماهوارهها پیشنهاد شده است. استفاده از پروتکل RS232 با توجه به سطح ولتاژ این پروتکل یکی از بهترین و مقاومترین پروتکلها در برابر نویز ناخواسته محیطهاي فضایی است به طوري که احتمال تاثیرگذاري شارژ سطحی نیز در این پروتکل پایین است.
در ماهواره نمونه مورد بحث در این مقاله، ارتباط بین زیرسیستمهاي مختلف بر اساس پروتکل RS232 ترتیب داده شده است شمایی از این ارتباطات در شکل 2 با خطوط نقطه- چین نشان داده شده است. بیشترین ارتباطات از این نوع مربوط به بخش تلهمتري زیرسیستم الکترونیک روي برد میباشد که تبادل داده آن با تلهکامند، فرستنده مخابراتی، کامپیوتر روي برد و محموله تصویربرداري را فراهم میکند.
بر این اساس در این مقاله جزئیات پیادهسازي این پروتکل به صورت مطمئن در افزارهبرنامهپذیر میدانی ارائه خواهد شد. در ادامه این مقاله میخوانید: پروتکل RS232، درج پرچم آغازین و انتهایی، پیادهسازي مطمئن پروتکل درج پرچم در افزارهبرنامه- پذیر و نتایج پیادهسازي و مراجع.
-2 تله متري
مهمترین وظیفه تلهمتري جمعآوري اطلاعات خانهداري ماهواره میباشد .[2] به طوري که پس از نمونهبرداري آنالوگ و دیجیتال از بخشهاي مختلف، حسب نیاز این دادهها را در اختیار بخشهایی مانند تصویربرداري و OBC قرار میدهد البته یک نسخه از فریم به طور کامل جهت مخابره به زمین در اختیار فرستنده مخابراتی قرار میگیرد.
برد تله متري بر اساس افزارههاي برنامهپذیر میدانی - FPGA - پیادهسازي شده است که به صورت سلسه مراتبی در دو سطح برنامه اصلی و ماژولها قرار گرفتهاند هر یک از ماژولها وظیفه جمعآوري داده از دنیاي بیرون و ذخیره آن در حافظه محلی خود را بر عهده دارند. برنامه مرتبه بالا با دو مکانیزم سرکشی و درخواست وقفه طی بازههاي زمانی مشخص- مطابق زمانبندي طراحی شده- دادهها را از حافظه محلی ماژولها بر میدارد و طبق فریمبندي استاندارد IRIG و پس از کدینگ، جهت ارسال به زمین در قالب مشخص قرار می- دهد.
ماهیت دادههاي جمعآوري شده به واسطه ماژولها میتواند دیجیتال یا آنالوگ باشد همچنین پروتکل استفاده شده به قطعات انتخاب شده بستگی دارد. از بین این ماژولهاي مختلف در FPGA سه ماژول اختصاصی دریافت داده دیجیتال مطابق پروتکل RS232 از هر یک از بخشهاي تلهکامند، OBC و محموله تصویربرداري قرار دارد - شکل . - 3 ماژول دیگري نیز جهت ارسال فریم به زیرسیستم مخابرات در نظر گرفته شده است که پروتکل این لینک نیز RS232 در نظر گرفته شده است.
شکل :1 شمایی از ارتباطات داده در بین زیرسیستمهاي ماهواره نمونه
شکل :2 شمایی از ماژولهاي داخلی درگیر ارتباطات RS232
-3 پروتکل RS232
پروتکل RS232 از مشهورترین پروتکلهاي تبادل داده به صورت سریال میباشد. که جهت تبادل داده کامل - ارسال/دریافت - در توپولوژي حداقلی با سه سیم - Rx, gnd , Tx - قابل پیادهسازي است. در ماهوارهها براي کاهش حجم و وزن سیمبندي و در نتیجه کاهش هزینه پرتاب، گاهی با مشترك کردن زمین باکسها و زمین ماهواره و حسب نیاز حذف یکی از ارتباطات این پروتکل با یک سیم پیادهسازي میشود.
به عنوان نمونه در ماهواره مورد بحث در این مقاله با توجه به ارسال داده از OBC به تلهمتري و مشترك بودن زمین این دو باکس، صرفا سیم Rx جهت تبادل داده کافی است. اما ممکن است براي افزایش قابلیت اطمینان لینک دیگر نیز استفاده شود که در بخش افزایش قابلیت اطمینان به این مهم پرداخته شده است. تبادل داده در این پروتکل با بیت Start آغاز و پس از ارسال هشت بیت با بیت Stop خاتمه مییابد.[5-3] نرخ بیت تبادل داده بستگی به سرعت مورد نیاز دارد. که از ملزومات طراحی سیستم میباشد. جهت افزایش قابلیت اطمینان بیت پریتی نیز ممکن است به دادهها اضافه گردد که در بخش افزایش قابلیت اطمینان به آن اشاره خواهد شد.
-4 افزایش قابلیت اطمینان بر اساس تکنیکهاي
افزونگی داده
براي افزایش قابلیت اطمینان دو مکانیزم تشخیص خطا در تبادل دادهها، و یک مکانیزم اعلان درستی در حوزه داده لحاظ گردیده است. در ماشین حالت پیادهسازي شده نیز نمونهبرداري در وسط بازه داده پروتکل و قرار دادن معکوس شمار خروج در هر یک از حالتها از جمله ملاحظات طراحی مطمئن در این زمینه میباشد.
-1-4 پریتی در هر یک از بایتها
به طور کلی در انتهاي هر یک از بایتها پریتی تعیین و به انتهاي بایت افزوده میشود این کار تبادل داده را قادر به تشخیص خطاهاي فرد میکند.
-2-4 درج پرچم در بستهها
علاوه بر این مکانیزم متداول، با توجه به عدم وجود Hand Shacking به هنگام تبادل داده– با هدف کاهش حجم سیم- بندي- از یک سو و متغیر بودن حجم و زمان ارسال داده از سوي دیگر، ممکن است خطاي انباشتگی رخ دهد. به این صورت که به عنوان مثال اگر قرار است چهار بایت از زیر سیستمی هر ثانیه دریافت گردد که محتوي داده خاصی است ممکن است با ورود یک بایت به طور ناخواسته –نویز یا دریافت ناقص از مرحله قبل- مکان بایتها شیفت پیدا میکند که خطاي جدي در این حوزه میباشد.
براي ممانعت از اثر انباشتگی ناخواسته بین مجموعههاي مختلف داده، استفاده از بسته یا پکیج در تبادل داده مد نظر قرار گرفت. در خود بستهها نیز براي تشخیص ابتدا و انتهاي هر بسته از درج پرچم استفاده شده است در فرمت درج پرچم، براي ممانعت از رخداد خطا در دریافت داده، دادهها به صورت بستههایی به همراه بایتهاي شروع و خاتمه در نظر گرفته میشود. در بین دادهها هر کجا که داده با پرچمهاي ابتدایی و انتهایی یکسان باشد داده مورد نظر تکرار میشود.
طرف گیرنده با تشخیص پرچم شروع، دریافت داده را آغاز می- کند و همراه با شمارش داده در صورت برخورد به دادهاي همسان با پرچم منتظر داده بعدي میماند و در صورت مغایرت با بایت دریافت شده شمارنده را چک میکند اگر به انتها نرسیده باشد خطایی رخ داده است و در صورت یکسان بودن پرچم را به عنوان داده لحاظ میکند - شکل . - 3 فلوچارت این برنامه در شکل 3 آمده است.
تذکرمهم اینکه، در صورت مشخص بودن طول بسته درج پرچم شروع کافی است و از درج پرچم خاتمه خودداري شود.
به عنوان نمونه فرض کنید داده ارسالی با طول مشخص 3 بایت - FFHex,5AHex,B1Hex - باشد. و پرچم شروع به FEHex و پرچم خاتمه به FFHex ست شده باشند. در این صورت رشته داده ارسالی به صورت خواهد بود.
زمانی که داده با یکی از پرچمها یکسان باشد به عنوان مثال فرض کنید داده ارسالی با طول مشخص 3 بایت 45Hex - - ,B1Hex ,FEHex باشد. و پرچم شروع به FEHex و پرچم خاتمه به FFHex ست شده باشند. در این صورت رشته داده ارسالی به صورت شکل 3 خواهد بود.
-3-4 معکوس شمار خروج از هر یک از حالتهاي
ماشین حالت
براي ممانعت از خطاي انباشتگی، لحاظ کردن یکپارچکی بسته بسیار موثر است. در صورتی که در بسته یکپارچگی وجود نداشته باشد این حالت به عنوان خطا محسوب میگردد بر همین اساس متناسب با نرخ بیت تبادل داده، شمارنده تحت عنوان معکوس شمار خروج تعریف شده و در صورتی که به مدت دوره زمانی دو بایت دادهاي دریافت نکند این حالت را به عنوان خطاي عدم یکپارچگی داده تلقی خواهد کرد. این شمارنده با دریافت هر بایت بازنشانی میگردد.
-4-4 اعلان صحت یا عدم صحت بسته دریافتی
در صورتی که یکی از مکانیزمهاي پریتی در بایتهاي بسته، پرچم در خود بستهها و معکوسشمار خروج رخداد خطا را تشخیص دادند. ماژول دریافت داده با استفاده از خط ارسال داده FF را به فرستنده ارسال میکند. و به این ترتیب فرستنده را از نامعتبر بودن بسته ارسالی مطلع میکند تا بر اساس آن فرستنده بسته را مجددا ارسال کند. دلیل انتخاب FF هر چند به لحاظ قابلیت اطمینان عدد مناسبی نمیباشد اما از نقطه نظر پیاده- سازي صرفا با افزودن یک حالت به ماشین حالت قابل اجراست به همین خاطر نسبت به سایر مقادیر عددي که قابلیت اطمینان بالاتري دارند اما نتایج پیادهسازي نشان میدهد که فضاي لازم براي پیادهسازي را حداقل 35 درصد کاهش میهد چرا که مقادیر عددي دیگر نیازمند ماژول ارسال RS232 نیز میباشند.
با توجه به چندین روش آشکارسازي خطا در این ماژول از یک سو و عدم رخداد خطاي جدي در صورت خطا در داده FF و همچنین ملاحظات فضاي لازم، انتخاب FF نسبت به سایر مقادیر در اولویت قرار گرفته است.