همانطور که پیچیدگی و یکپارچگی سیستم‌های اویونیکی روزبه‌روز بیشتر می‌شود، هزینه‌های کلی و مدت زمان صحت‌سنجی و اعتبارسنجی سیستم‌ها به طور مداوم افزایش پیدا می‌کند. این موجب افزایش هزینه‌های طراحی سیستم‌‌های جدید نیز خواهد شد. به همین دلیل برای کنترل هزینه‌ها، کاهش زمان‌بندی و بهبود کیفیت کلی، راهکارهای شبیه‌سازی‌ سخت‌افزار در حلقه (HIL) توزیع‌شده[1] ارائه شد. این شبیه‌سازی‌ها برای بررسی سیستم‌های اویونیک ماژولار یکپارچه به کار گرفته می‌شوند. در واقع با پیچیده‌تر شدن معماری اویونیک، سیستم اویونیک توزیع‌شده باید همواره به تعداد زیادی از رابط‌های هواپیما، حسگرها و محرک‌ها متصل باشد. در نتیجه سیستم شبیه‌ساز سخت‌افزار در حلقه نیز مستلزم یک معماری توزیع‌شده با پردازش بلادرنگ خواهد بود.

این گزارش مروری کوتاه و فنی از سیستم‌های تست HIL توزیع‌شده و همچنین استفاده از یک شبکه حافظه اشتراکی[2] (SMN) با سرعت بالا برای اشتراک‌گذاری داده و هماهنگ‌سازی زمان بین پردازش‌های بلادرنگ در یک سیستم تست HIL توزیع‌شده خواهد داشت.

مقدمه

امروزه برنامه‌های کاربردی اویونیک در شبکه‌ای از سیستم‌های ماژولار یکپارچه (IMA) ارائه می‌شوند. به دلیل افزایش تعداد تجهیزات، استفاده از معماری شبکه برای انتقال داده بین هر زیرسیستم بسیار اهمیت دارد. همچنین ارتباطات تعمیر و نگهداری، داده ویدئویی با پهنای باند بالا و داده بلادرنگ رویداد محور، باید در شبکه ارتباطات اویونیک، یکپارچه و ادغام شوند.

در ابتدای ظهور معماری IMA اکثر سیستم‌های اویونیکی برای اتصال به سایر تجهیزات، به گذرگاه‌های سخت‌افزاری خاص و رابط‌های اختصاصی تکیه می‌کردند. از نمونه این گذرگاه‌های استاندارد معمول می‌توان به MIL-STD-1553 در کاربردهای نظامی و ARINC 429 در کاربردهای تجاری اشاره کرد. اما با افزایش توزیع‌شدگی سیستم‌ها در شبکه، این گذرگاه‌ها به اندازه کافی سریع و مقیاس‌پذیر نبودند.

به همین دلیل استاندارد تجاری اترنت (IEEE 802.3) به مرور به ستون فقرات ارتباطات در سیستم‌های اویونیک تبدیل شد. در چند دهه اخیر اترنت به عنوان یک استاندارد بالفعل برای کاربردهای تجاری توزیع‌شده استفاده می‌شود. این استاندارد کم هزینه یک فناوری اثبات‌شده برای برنامه‌های سیستم‌های توزیع‌شده است. در نتیجه تبدیل اترنت به محور اصلی شبکه اویونیک ماژولار یکپارچه را می‌توان یک روند قابل انتظار دانست.

اگرچه اترنت مزایای زیادی را ارائه می‌کند اما برنامه‌های کاربردی اویونیکی خاصی وجود دارند که اترنت روی آن‌ها اعمال نمی‌شود. به طور معمول این برنامه‌ها علاوه بر توزیع داده شبکه‌ای، به ویژگی‌های دیگری که هنوز اترنت برای آن تجهیز نشده است، نیازمندند. از جمله این ویژگی‌ها می‌توان به موارد زیر اشاره کرد.

  • انتقال حجم بالایی از اطلاعات
  • انتقال و دریافت قطعی فریم
  • افزونگی
  • انتقال بلادرنگ داده رویداد محور[3]

برای این نوع از برنامه‌های کاربردی، برخی زیرشبکه‌های تخصصی مبتنی بر اترنت در دسترس است. برای مثال مشخصات استانداردARINC 664 شبکه‌ای سوئیچی را با رفتار قطعی و قابلیت افزونگی تعریف می‌کند که برای برنامه‌های کاربردی اویونیک توزیع‌شده مناسب است.

این استاندارد بسیار شبیه به اترنت IEEE 802.3 است و تنها تفاوت آن وجود یک شناسه منحصر به فرد در لایه MAC به نام لینک مجازی[4] است. لینک مجازی توسط سوئیچ شبکه برای اتصالات فیزیکی و مسیریابی داده‌های بین دستگاه‌ها به کار گرفته می‌شود. استفاده از سوئیچ‌های سفارشی شده ARINC 664 تضمین‌ می‌کنند که مسیریابی فریم‌ها به صورت قطعی انجام شده و افزونگی دوگانه ته‌سیستم‌ها (End-Systems)، قابلیت اطمینان از تحویل را فراهم می‌کنند. این استاندارد توسط بوئینگ و ایرباس پذیرفته شده و برای برنامه‌های هواپیما‌های تجاری B787 و A380 و A350 مورد استفاده قرار گرفته است.

استاندارد ARINC 664 و دیگر استانداردهای مبتنی بر اترنت مانند AS6802 زیرشبکه‌هایی هستند که ویژگی‌های خاص بلا‌درنگ را دارند اما از قابلیت انتقال بلادرنگ رویداد محور برخوردار نیستند. از آنجا که در برنامه‌های سخت‌افزار در حلقه انتقال رویداد محور ویژگی کلیدی است، شبکه حافظه اشتراکی انتخاب مناسب‌تری خواهد بود.

مرور کلی بر شبکه حافظه اشتراکی

سه دلیل وجود دارد که نشان می‌دهد شبکه حافظه اشتراکی به عنوان یک زیرشبکه برای کاربردهای اویونیکی مبتنی بر رویداد و به هم پیوسته بسیار مناسب است.

  • پیاده‌سازی ساده
  • سریع و مقیاس‌پذیر
  • تاخیر کم و تقریبا بدون داده‌های سربار پروتکل[5]

شبکه SMN یک شبکه ساده است که در آن داده‌های نوشته‌شده در حافظه گره‌های محلی، روی RAM سایر گره‌های شبکه در دسترس خواهد بود. همه داده‌های مربوط به هر رویداد محلی به سرعت با دیگر گره‌های شبکه به اشتراک گذاشته می‌شود. همچنین وقفه‌های مربوط به رویدادهای غیر قابل پیش‌بینی را می‌توان به گره‌های خاص روی شبکه فرستاد یا اینکه در شبکه پخش کرد. پیاده‌سازی شبکه بسیار ساده است، همه داده‌ها در نرخ بلادرنگ نزدیک به سرعت خط 125/2 گیگابیت بر ثانیه ارسال می‌شوند اما وجود سربارهای کوچک، حداقل تاخیر را در انتقال داده روی شبکه به وجود می‌آورد. پروتکل انحصاری SMN می‌تواند به صورت سه لایه کاربردی تعریف شود. این لایه‌ها در شکل 1 نشان داده شده‌اند.

شکل 1: لایه‌های شبکه SMN

پیاده‌سازی ساده

شبکه حافظه اشتراکی بر اساس فناوری حافظه انعکاسی عمل می‌کند. در این روش چند سیستم در شبکه به اشتراک‌گذاری داده می‌پردازند. شبکه اشتراک‌گذاری داده مانند یک حافظه دو پورتی (خواندن و نوشتن همزمان) عمل می‌کند و ظرفیت هر گره موجود در شبکه حافظه اشتراکی 256 مگابایت است. عملیات شبکه بسیار ساده است، زمانیکه یک ته‌سیستم، داده را روی مکان مشخصی از حافظه گره SMN خود می‌نویسد، این داده روی همه گره‌های دیگر در شبکه و همان مکان حافظه تکرار می‌شود.

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

سریع و مقیاس‌پذیر

شبکه حافظه اشتراکی بسیار سریع است. در حال حاضر سرعت شبکه‌ای که امروزه استفاده می‌شود، 125/2 گیگابیت بر ثانیه است و همه داده‌ها با همین سرعت روی شبکه منتقل می‌شوند. افزایش سرعت انتقال به 4، 8 یا 16 گیگابیت بر ثانیه از اهداف پیاده‌سازی‌های آینده این شبکه است.

همچنین اضافه کردن ته‌سیستم‌های اضافی به شبکه تنها با قرار‌دادن آن به توپولوژی حلقه شبکه SMN امکان‌پذیر است. در واقع هیچگونه تنظیم مجدد آدرس شبکه، تنظیم مجدد جدول مسیریابی یا تغییرات سوئیچ شبکه نیاز نیست. بنابراین طراحان می‌توانند به سادگی گره‌های جدید را با 256 مگابایت حافظه اشتراکی به شبکه موجود اضافه کنند.

تاخیر کم و تقریبا بدون داده‌های سربار

شبکه حافظه اشتراکی یک پروتکل بهینه‌سازی شده برای انتقال داده با تاخیر کم را پیاده‌سازی می‌کند. همه انتقال داده‌ها در این شبکه در نرخ‌های خط شبکه (125/2 گیگابیت بر ثانیه) انجام می‌شود. هر گره از یک پروتکل تعریف‌شده کوچک و مشابه برای ارسال یا دریافت داده‌ها استفاده می‌کند. برنامه مربوط به هر گره شبکه حافظه اشتراکی، عملیات خواندن و نوشتن را انجام می‌دهد. این باعث می‌شود سیستم‌های شبکه به عنوان یک برنامه کاربردی به هم پیوسته قوی عمل کنند.

شبکه SMN مشابه یک برنامه کاربردی چند رشته‌ای است که حافظه سیستم را به اشتراک می‌گذارد و هر رشته به صورت خودران عمل می‌کند. همچنین شبکه SMN از وقفه‌ها نیز پشتیبانی می‌کند. بنابراین گره‌های SMN می‌توانند وقفه‌هایی را برای دیگر گره‌ها روی شبکه تولید کنند و داده‌های مهم را با وقفه منتقل کنند. این برای برنامه‌های کاربردی بلادرنگ بحرانی و سخت‌افزار در حلقه رویداد محور که در آن یک رویداد باید بلافاصله توسط یک گره در شبکه انجام شود، حیاتی است.

عملیات SMN

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

هر گره SMN دارای دو واحد با عناوین صف انتقال و صف انتقال مجدد است. گره‌ها می‌توانند اطلاعات خود را روی حافظه مشترک محلی RAM بنویسند. همچنین این اطلاعات در فریم‌های کوچک بسته‌بندی می‌شوند و در صف انتقال قرار می‌گیرند. سپس فریم‌ها در طول زمان استراحت[6] روی ترافیک شبکه قرار می‌گیرند. خط انتقال در هر بار شامل یک تا 16 کلمه 32 بیتی است که می‌تواند در یک زمان منتقل شود. علاوه بر محتوای داده یک هدر دو کلمه‌ای با اطلاعاتی درباره داده (مانند: ID گره انتقالی، شاخص حافظه و تعداد کلمات داده) فرستاده می‌شود. همچنین یک کلمه checksum در آخر فریم، داده‌های ارسال شده را دنبال می‌کند. پس از قرار دادن فریم داده در صف انتقال، داده روی حلقه به گره بعدی فرستاده می‌شود.

صف انتقال مجدد (خط انتقال دریافتی) تمام داده‌های ورودی به شبکه را دریافت می‌کند. این صف در ابتدا تعیین می‌کند که نویسنده پیام دریافت شده کدام گره است. اگر خود گره نویسنده پیام باشد، آن پیام از صف حذف می‌شود. اما اگر پیام از گره دیگری باشد به صورت محلی در حافظه اشتراکی ذخیره می‌شود و بلافاصله برای ارسال به گره بعدی، به صف انتقال ارجاع داده می‌شود. این کار به صورت منظم توسط تمامی گره‌ها انجام می‌شود.

گره SMN

قالب فریم SMN

شبیه‌سازی SMN

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

  • راه‌اندازی و تست هر ته‌سیستم‌ به طور مستقل
  • تست ته‌سیستم‌ها در شبکه

تست هر ته‌سیستم‌ به طور مستقل

بسیاری از تامین‌کنندگان تجهیزات اویونیکی، سیستم‌های اویونیک ماژولار یکپارچه را به سازندگان هواپیما ارائه می‌کنند. در اینگونه معماری‌ها هر سیستم ماژولار به یک تابع خاص در هواپیما اختصاص دارد (مانند: ناوبری، رادار اجتناب از برخورد یا تعمیر و نگهداری و سلامت هواپیما). تست مستقل این سیستم‌ها نیاز به تجهیزات منحصر به فردی دارد که به خوبی ته‌سیستم‌های دیگر را شبیه‌سازی کند. بنابراین یک SMN باید قادر به شبیه‌سازی منابع داده‌های ناموجود برای فعال کردن واحد تحت تست باشد. تست مستقل ته‌سیستم‌های ماژولار شامل موارد زیر است.

  • آیا پورت‌های ته‌سیستم به درستی و در فواصل همگام و مناسب، داده را انتقال می‌دهند؟
  • چند خطای انتقال در یک دوره زمانی طولانی ایجاد می‌شود؟
  • آیا ته‌سیستم ماژولار به درستی داده‌ها را دریافت کرده و پردازش صحیح انجام می‌شود؟
  • آیا ته‌سیستم ماژولار نسبت به دریافت اطلاعات نادرست، فریم‌هایی با خطای پروتکل، خطاهای CRC یا فریم‌هایی با داده‌های نامعتبر واکنش نشان می‌دهد؟

تست ته‌سیستم‌ها در شبکه

در نهایت ته‌سیستم‌های مستقل با شبکه اویونیک ماژولار ادغام می‌شود. در طول فرآیند یکپارچگی و ادغام برای اطمینان از اینکه هر ته‌سیستم موثر عمل می‌کند، تست عملیاتی لازم است. این نوع از تست نیاز دارد که تجهیزات تست بین منبع داده و گیرنده قرار بگیرد. تست جریان فریم در شبکه عیب‌های موجود در طراحی سیستم و پیاده‌سازی را نشان می‌دهد. تست ته‌سیستم‌ها در شبکه یکپارچه شده شامل موارد زیر است.

  • نظارت بر هر یک از ته‌سیستم‌ها برای خطاهای فریم (خطاهایی که مربوط به انتقال فریم روی شبکه است)
  • بررسی جریان داده‌های خروجی ته‌سیستم‌ها
  • بررسی افزونگی شبکه (در صورت پیاده‌سازی و اجرا)

نتیجه‌گیری

شبکه حافظه اشتراکی (SMN) یک توپولوژی شبکه رویداد محور و قطعی است که برای برنامه‌های شبیه‌سازی بلادرنگ طراحی شده است. معماری SMN بر اساس معماری شبکه حلقه حافظه بازتابی[7] عمل می‌کند. این شبکه یک پروتکل با تاخیر کم دارد که چگونگی حرکت و نگاشت داده در حافظه اشتراکی بین سیستم‌های شبکه را تعریف می‌کند. همچنین SMN برای انتقال داده‌هایی با پهنای باند زیاد، تاخیر کم و قابلیت اطمینان بالا بهینه‌سازی شده است. این الزامات کلیدی برای اکثر سیستم‌های شبیه‌سازی اویونیک وجود دارد.

اکثر برنامه‌های شبیه‌سازی و سخت‌افزار در حلقه نیاز به انتقال رویداد محور داده همراه با وقفه‌های رویداد محور دارند. شبکه SMN این الزامات را برآورده می‌کند و در عین حال اجرایی ساده و مقیاس‌پذیر دارد. علاوه بر این، SMN به طور بسیار دقیقی الزامات زمان‌بندی را برآورده می‌کند. عملکرد و دسترس‌پذیری داده‌های عبور از شبکه SMN برای برنامه‌های کاربردی بهتر از استاندارد اترنت یا اترنت قطعی (ARINC-664) است. در واقع SMN یک زیر شبکه ایده‌آل برای برنامه‌های کاربردی سخت‌افزار در حلقه است.

[1]  Distributed Hardware-in-the-Loop

[2] Shared Memory Network

[3] Real-time Event-driven

[4] Virtual Link

[5] protocol overhead

[6] Idle Time

[7] reflective memory ring network