بخشی از مقاله
چکیده - هدف از ارائه این مقاله طراحی کامپیوتر پرواز مناسب برای هواپیمای کوچک بوده به طوریکه این کامپیوتر عمومی باشد و قابلیت به کار گیری در بخشهای مختلف را دارا باشد. برای طراحی کامپیوتر ابتدا انواع پردازندههایی که قابل استفاده برای این سیستم باشد بررسی شده و پردازنده مناسب انتخاب می-گردد. در ادامه بر اساس مدل " جداسازی قطعات اویونیک "IMA- دیاگرام بلوکی مناسب برای طراحی کامپیوتر پرواز انتخاب شده و با توجه به استانداردهای هوایی این کامپیوتر ساخته میشود.
-1 مقدمه
سیستم های اویونیکی در یک هواپیما حدود سی درصد از هزینههای ساخت را به خود اختصاص میدهند. با دانستن این نکته، اهمیت یافتن روشی مناسب و بهینه در پیاده سازی قسمتهای اویونیک هواپیما مشخص میگردد. تا قبل از دهه 1960میلادی، قطعات اویونیک آنالوگ بودند و با حجم قابل ملاحظهای از سیمکشی به هم متصل میشدند . فراهم آمدن دسترسی به کامپیوترهای دیجیتال و توسعه گذرگاه داده دیجیتال باعث استفاده از قدرت پردازش آنها در این زمینه گردید. این فناوریها پیشرفتهایی را در زمینه کارایی، قدرت پردازش، پیچیدگی و قابلیت اطمینان فراهم میکنند.
با رشد سیستمهای دیجیتال، این قابلیت به وجود آمد تا از آنها برای افزایش سرعت و دقت عملیات استفاده شود. این نوع سیستمها در ابتدا بسیار سنگین، حجیم و دارای محدودیت حافظه بوده و هر واحد عملیاتی کامپیوتر، حافظه مخصوص به خود را دارد .در این مرحله واحدها و تجهیزات سیستم با توجه به نوع کاربردشان از یکدیگر مجزا میباشند و با این وجود توانایی انتقال داده بین اجزا به خوبی بهبود داده شده است . گذرگاه داده نه تنها در زمینه انتقال سیگنالها انعطافپذیری بالایی از خود نشان میدهد، بلکه باعث کاهش قابل ملاحظه حجم سیمها در این معماری میشود. اگرچه حجم زیادی از سیمکشیها به این روش کاسته شده است ولی هنوز اضافه کردن یک جزء به شبکه کار پیچیده و دشواری محسوب میشود .
در اوایل دهه 1990 میلادی شرکتهای هواپیمایی مفهومی را توسعه دادهاند که در آن چندین عملیات نرم افزاری از چندین سطح مختلف روی یک قطعه محاسباتی اویونیک مجتمع میشد. این کار باعث کاهش وزن و حجم گردید اما انتشار خطا روی یک پردازنده خطای بیشتری را در پی داشت که قابلیت اطمینان کنترلکنندهها را کاهش می-داد و هزینه های نگهداری را بالا میبرد. یک واسط باید پیادهسازی شود که وظایف نرم افزاری متفاوت را از یکدیگر جدا نگه دارد و آن ها را از سخت افزار تفکیک نماید.
برای کاهش هزینههای یکپارچه سازی، استاندارد نمودن مفاهیم ضروری است. اولین گام در این راستا در سال 1995 با ارائه مفهومی به نام IMA برداشته شد. این مفهوم جداسازی قطعات اویونیک به اجزای IMA - Integrated Modular Avionics - سازنده آن یعنی پردازنده، ورودی/خروجی، منبع تغذیه و درگاه شبکه را به همراه داشت. این عملکردها به ماژولهای مجزایی تخصیص داده شده است. این ماژولها عبارتند از هسته ماژول پردازشگر، ماژول ورودی/خروجی، ماژول منبع تغذیه و ماژول درگاه شبکه. این ماژولها داخل یک محفظه مونتاژ شدهاند. ارتباط بین این ماژولها از طریق یک گذرگاه داده با قابلیت تحمل خطا - به جای متوقف کردن فرآیند - صورت میگیرد.
در اینجا هدف ارائه کامپیوتر IMA مناسب برای بخش کنترل موقعیت هواپیما میباشد. همچنین کامپیوتر به گونهای طراحی گردید که بتواند برای بخشهای دیگر کنترلی هواپیما مورد استفاده واقع شود. مرحله اول طراحی بر اساس انتخاب نوع پردازنده میباشد. پردازشگرهای مختلف، قابلیتهای منحصربه فردی دارند که هریک از آنها را برای کاربردهای مختلف اختصاص مییابند. ویژگیهایی نظیر قابلیت اطمینان، سرعت پردازش، توان مصرفی، پیچیدگیهای سختافزاری و نرمافزاری و هزینه عوامل تعیین کنندهای برای انتخاب پرسسورها در کاربردهای مختلف میباشند. در این جا به عملکرد پردازندههای رایانهای، میکروکنترلرها و ساختارهای ترکیبی FPGA و DSP میپردازیم و مزایا و معایب هریک را برای کاربرد پردازشگر بخش کنترل هواپیما بر میشماریم. همچنین سعی میکنیم با توجه به مصالحه بین ویژگیهای پردازشگرها، بهترین گزینه را برای کاربرد کنترل در هواپیما بر اساس IMA را معرفی نماییم.
-2 انتخاب هسته مرکزی کنترل و پردازش
همانطور که در بخش مقدمه اشاره شد در طراحی کامپیوتر کنترلی باید خاصیت عمومی بودن آن مد نظر قرار گیرد به طوریکه این کنترلر بتواند در بخشهای مختلف هواپیما استفاده شود. بنابراین باید یک بخش اینترفیس عمومی به این ساختار اضافه شود. بخش اینترفیس باید قابلیت خواندن هم-زمان چندین نوع سنسور با سرعت مختلف را دارا باشد. برای طراحی مناسب سخت افزار کنترل وضعیت هواپیما - به عنوان نمونه طراحی شده - ابتدا لازم است پردازنده اصلی برای بخش کنترل انتخاب گردد. سه نوع پردازنده وجود دارد که عبارتند از رایانهها، میکرو کنترلر و پردازندههای ترکیبی. در ادامه به معرفی هر یک از این پردازندهها و محاسن و معایب آن می-پردازیم.
-1-2 رایانه
رایانه از بخشهای مختلفی ساخته شده است که هسته اصلی آن CPU - میکروپرسسورها - است و این واحد با بخشهای دیگر شامل RAM و ROM و درگاههای ورودی و خروجی مختلف در ارتباط است. مهمترین ویژگی رایانه سرعت بالای کلاک در CPU است، اما از آنجایی که واحد پردازش در سیستم کنترل با سرعتی در حدود 8kHz تا 100kHz به جمعآوری دادهها از سنسورهای مختلف میپردازد و با توجه به محاسبات مورد نیاز که در حدود چند ده MIbs میباشد - زیر - 50 MIbs، عملا کاربرد فرکانس بالای کلاک رایانه برای ما بیفایده است. از طرفی فرکانس بالای زیاد سبب افزایش توان مصرفی میگردد، رایانه از طریق ورودیهای مختلف دادهها را دریافت میکند و با توجه به فرکانس دادههای ارسالی درگاه-های مختلف موجود است که از فرکانس 9600b/s برای درگاه سریال RS232 تا 10MBPS برای RS422 و 10MBPS تا چند GBPS برای اترنت قابل تغییر است.[ 9-7] طریقه خواندن داده در رایانه به دو صورت اصلی میباشد:
-1 استفاده از وقفه: که در این حالت برنامه اصلی برنامه برای هر خواندن وقفه لازم است از برنامه اصلی جدا شده و برنامه وقفه فعال گردد. سپس برنامه دیتا اصلی را بعد از اتمام وقفه برمیدارد. بنابراین لازم است برای انجام هر عمل یک بار وارد روتین وقفه شود.
-2 استفاده از یک بافر طولانی: روش دیگر این است که یک برنامه با Thread مربوط به خواندن صدا زده شود و داده را داخل یک حافظه - RAM - قرار داده و هرگاه این حافظه پر شد به برنامه اصلی خبر دهد در این حالت تعداد وقفهها خیلی کاهش مییابد. در طراحی کنترلر، با توجه به اینکه تصمیمگیری برای هر داده به صورت مستقل باید انجام شود و تولید خروجی و دریافت ورودی لازم نیاز به وقفه داده همان لحظه نیز دارد بنابراین عملاً استفاده از روش دوم ممکن نیست و به ناچار باید به سراغ روش اول برویم که استفاده از این کار علاوه بر کاهش سرعت CPU و اجرا برنامه سبب هنگ کردن سیستم نیز خواهد شد . از دیگر معایب رایانه عملکرد ضعیف برای ارتباط با پورتهای فرکانس پایین است.
از مزایای عمده رایانه میتوان به ساختار چند هستهای در CPU اشاره کرد که این ساختار علاوه بر فراهم آوردن پردازش موازی قابلیت اطمینان بالایی نیز ایجاد میکند. به عبارت دیگر با توجه به ساختار چند هستهای در پردازندههای امروزی عملیات پردازش موازی نیز میتواند انجام پذیرد. با توجه به سرعت پردازش پایین نیاز به این عمل لازم نمیباشد و از این حسن نیز نمیتوان در اینجا استفاده کرد . معایب اصلی رایانه برای سیستم کنترل وضعیت به شرح زیر است:
· هزینه بسیار بالا،
· توان مصرفی بسیار بالا که به دلیل فرکانس بالای کلاک ایجاد میشود.
· دمای تولیدی بالا که سیستم رایانه حتما به فن یا گرماگیر نیاز دارد و این خود تحمیل یک بخش اضافی به سیستم است.
· استفاده از سیستم عامل برای راهاندازی PC که میتواند مشکلات عدیدهای در بر داشته باشد: سیستم عامل به پارتیشن بندیهای خاص نیاز دارد و بخشی از حافظه را اشغال میکند. همچنین سیستم عامل به زمان Boot احتیاج دارد تا کامپیوتر در وضعیت آماده قرار گیرد. هنگام عملیات پرواز در صورت اتفاق افتادن ریست در سیستم، زمان Boot میتواند باعث از بین رفتن بخشی از دادهها شود.
-2-2 میکروکنترلر
میکروکنترلرها پیچیدگیهای سختافزاری و نرمافزاری گفته شده در رایانه را ندارد. زیرا تمام بخشهای پردازشگر و حافظه در یک چیپ واحد قرار دارند و از نظر نرمافزار نیز برنامه نویسی سادهای دارد که به زمان Boot کمتری احتیاج دارد و به محض وصل شدن تغذیه سیستم عملیات خود را از سر میگیرد. میکروکنترلرها از نظر توان مصرفی، دمای تولیدی و هزینه در وضعیت بسیار مطلوبی قرار دارند اما مهمترین عیب آنها که ما را برای استفاده به عنوان پردازشگر کنترل مایوس میکند استفاده از وقفه برای پیگیری و خواندن دستورات از پورتها در برنامه اصلی میباشد. این ساختار باعث افزایش هنگ کردن سیستم و افزایش ریسک شود. در نهایت قابلیت اطمینان برای این سیستم پایینتر خواهد بود.
FPGA -3-2 به همراه TMS
در این توپولوژی FPGA - به همراه - TMS از مزایای FPGA و TMS به صورت همزمان استفاده میشود. مهمترین مزایای FPGA شامل موارد زیر است:
· پردازش موازی به دلیل ساختار FSM
· عملکرد مناسب در فرکانسهای پایین
· مقاوم در برابر اشعه X و ∝ و EUV
· قابلیت اطمینان بسیار بالا بهدلیل پیادهسازی
سختافزاری
· استفاده از DMA Controller برای ارتباط با پورتهای ورودی و خواندن داده
· انعطافپذیری بالا در برنامهنویسی و ارتباط با ابزارهای جانبی
· تغییر فرکانس کلاک براساس نیاز طراح
· قیمت مناسب
· توان مصرفی و گرمای تولیدی بسیار کمتر از رایانه