تراشه‌های RFSoC: فرصتی برای توسعه کارآمد سیستم‌های رادیویی

تراشه‌های RFSoC: فرصتی برای توسعه کارآمد سیستم‌های رادیویی

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

تسلط بر طیف فرکانس الکترومغناطیسی نیازمند استفاده از روش‌ها و فناوری‌های پیشرفته در طراحی مدارات، الگوریتم‌های نرم‌افزاری، ساخت تراشه و غیره است. از سوی دیگر نیاز بی‌انتها برای پهنای باند و حجم بالای داده‌های مربوط به رادارها و تجهیزات جنگ الکترونیک نظامی، بر طراحان سیستم‌های پردازش سیگنال فشار وارد می‌کند تا نوآوری‌های مختلفی در سطح بورد و تراشه‌ها ارائه دهند. یکی از مهم‌ترین نوآوری‌های سال‌های گذشته در این حوزه توسط شرکت زایلینکس صورت گرفته است. این شرکت با معرفی خانواده جدید RFSoCهای خود با عنوان Zynq UltraScale+، توانست توجه بسیاری از تولیدکنندگان تجهیزات رادیویی را به خود جلب کند.

در سال 2017 شرکت زایلینکس فناوری جدیدی با نام RFSoC (سیستم رادیویی روی یک تراشه) را معرفی کرد. این خبر با عنوان «رونمایی زایلینکس از یک معماری پیشرفته برای شبکه‌های بی‌سیم 5G با فناوری آنالوگ کلاس RF» مطرح شد. این خبر خیلی زود توجه کارشناسان حوزه فناوری‌‌های سیستم‌های مخابراتی و رادیویی را به خود جلب کرد. در جزئیات خبر آمده بود که زایلینکس با اضافه کردن تعدادی ADC و DAC به خانواده تراشه‌های قدرتمند MPSoC، توانسته است یک ابزار کارآمد برای توسعه سیستم‌های رادیویی ایجاد کند. البته برخلاف این توضیح کوتاه، RFSoCها چیزی فراتر از اضافه کردن تعدادی مبدل آنالوگ به دیجیتال و بالعکس به یک MPSoC بود.

تراشه‌های MPSoC

شرکت زایلینکس که در اوایل قرن 21 توانسته بود نام خود را به عنوان یکی از تولید‌کنندگان بزرگ تراشه‌های FPGA و CPLD معرفی کند، در سال 2011 با معرفی تراشه‌های خانواده Zynq-7000 موفق به ساخت نسل جدیدی از SoCها شد که امروزه در بسیاری از سیستم‌های دیجیتال نظامی و غیرنظامی شاهد استفاده از آن‌ها هستیم. خانواده سری 7000 تراشه‌‌هایی با یک یا دو هسته پردازشی از نوع Arm Cortex-A9 و فرکانس 1 گیگاهرتز هستند. با موفقیت زایلینکس در فروش گسترده‌ این محصول، طراحان این شرکت اقدام به ساخت یک SoC با قابلیت‌های بیشتر کردند. محصول جدید می‌بایست از چند پردازنده برای کاربردهای مختلف بهره‌مند شود. همچنین زایلینکس تصمیم به استفاده از پردازنده‌های گرافیکی در این محصول گرفت.

با توجه به این اهداف زایلینکس تراشه‌های خانواده Zynq UltraScale+ را معرفی کرد که دارای پردازنده دو یا چهار هسته از نوع Arm Cortex-A53 هستند. علاوه بر آن، زایلینکس در این سری از محصولات خود از پردازنده دوهسته‌ای Arm Cortex-R5 به عنوان پردازشگر بلادرنگ و یک GPU از مدل Arm Mali-400 استفاده کرده است. استفاده از چند پردازشگر مختلف داخل یک تراشه باعث شد این سری از محصولات زایلینکس با نام MPSoC (سیستم روی تراشه با چند پردازشگر) شناخته شوند.

شکل 1- مقایسه ساده FPGA، Zynq و Zynq MPSoC

شکل 1- مقایسه ساده FPGA، Zynq و Zynq MPSoC

تراشه‌های RFSoC

زایلینکس پس از موفقیت‌های پیاپی در طراحی نسخه‌های مختلف MPSoCها، رویا‌پردازی را ادامه داد و با ترکیب مدارات آنالوگ در MPSoC، نسل جدید از تراشه‌ها که می‌تواند منجر به کاهش وزن و ابعاد یک دستگاه رادیویی شود، را معرفی کرد. اولین نمونه‌های RFSoC تولید شده از سوی زایلینکس مبتنی بر Zynq UltraScale+ بوده و با همین نام نیز وارد بازار شدند. این تراشه‌ها علاوه بر MPSoC، دارای هشت تا شانزده مبدل آنالوگ به دیجیتال 12 بیتی با قابلیت 4 گیگ نمونه‌برداری در هر ثانیه (4 GSps) و هشت تا شانزده مبدل دیجیتال به آنالوگ 14 بیتی با سرعت 6.4 GSps هستند.

Zynq UltraScale MPSoCZynq UltraScale RFSoC

شکل 2- یک مقایسه ساده بین Zynq UltraScale MPSoC و Zynq UltraScale RFSoC

بهبود SWaP و کاهش هزینه‌ها با RFSoC

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

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

شکل 3- مقایسه ابعاد RFSoC (سمت راست) با طرحی شامل اجزای معادل و مجزا (سمت چپ)

شکل 3- مقایسه ابعاد RFSoC (سمت راست) با طرحی شامل اجزای معادل و مجزا (سمت چپ)

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

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

هزینه طراحی و ساخت مسأله‌ی دیگری است که همیشه در کنار SWaP مطرح می‌شود. شرکت زایلینکس اعلام کرده است قیمت یک RFSoC در مقایسه با خرید اجزای معادل آن به صورت جداگانه، تقریبا 50 درصد کمتر است. البته این کاهش قیمت بدون در نظر گرفتن هزینه‌های طراحی و ساخت این مجموعه در کنار یکدیگر است. به عنوان مثال در یک رادار آرایه فازی مورد استفاده در یک هواپیما، معمولا از 64 یا تعداد بیشتری عنصر استفاده می‌شود که هر کدام از آن‌ها نیازمند یک جفت A/D و D/A مجزا هستند. در یک چنین سیستمی، اهمیت کاهش هزینه خرید قطعات و طراحی آن به خوبی دیده می‌شود.

یک ویژگی منحصربه‌فرد

تاکنون به مزایای مختلفی از RFSoC نسبت به طراحی‌های گذشته یک سیستم رادیویی اشاره کردیم. اما اکنون باید به یک قابلیت مهم این تراشه‌ها اشاره کرد که تا پیش از این غیرقابل دسترس بوده است. برای درک بهتر این فناوری لازم است نگاهی به چگونگی اتصال مبدل‌های داده به یک FPGA داشته باشیم.

یک مبدل 12 بیتی آنالوگ به دیجیتال (یا مبدل دیجیتال به آنالوگ) را در نظر بگیرید. برای اتصال موازی آن به FPGA نیاز است هر بیت به‌صورت جداگانه توسط یک زوج LVDS منتقل شود (در سیگنالینگ LVDS هر بیت به‌صورت تفاضلی انتقال داده می‌شود). علاوه بر آن یک زوج نیز برای اعلان آمادگی انتقال داده یا کلاک استفاده می‌شود (شکل 4).

شکل 4- اتصال یک مبدل A/D 12 بیتی به یک FPGA از طریق زوج‌های موازی LVDS

شکل 4- اتصال یک مبدل A/D 12 بیتی به یک FPGA از طریق زوج‌های موازی LVDS

در حالت پیشرفته‌تر، این ارتباط می‌تواند از طریق فناوری DDR ایجاد شود، به طوری که داده‌ها روی لبه‌های بالارونده و پایین‌رونده کلاک منتقل شده و موجب دو برابر شدن نرخ انتقال اطلاعات می‌شود. اما حتی با استفاده از فناوری DDR، به دلیل محدودیت سرعت رابط‌های LVDS در FPGAها، ارتباط موازی مبدل‌های داده برای نرخ‌های بیشتر از 1.5 GHz مشکل‌ساز می‌شود. یک راهکار برای مقابله با این مشکل، استفاده از یک دی‌مولتی‌پلکسر (DeMux) از نوع 1:2 است که از طریق آن داده‌ها روی دو ارتباط موازی (نصف نرخ نمونه‌برداری روی هر ارتباط) ارسال می‌شوند. برای مثال در یک مبدل A/D از نوع 12 بیتی، اگر نرخ نمونه‌برداری 2 GHz باشد، هر کدام از ارتباطات 12 بیتی 1 GHz از اطلاعات را منتقل می‌کنند (شکل 5). این روش باعث می‌شود رابط LVDS در FPGA بتواند تا 2 GHz داده نمونه‌برداری شده را تحویل بگیرد.

شکل 5- ارتباط یک مبدل آنالوگ به دیجیتال 12 بیتی به FPGA از طریق دی‌مولتی‌پلکسر

شکل 5- ارتباط یک مبدل آنالوگ به دیجیتال 12 بیتی به FPGA از طریق دی‌مولتی‌پلکسر

اما این راهکار نیز در مورد مبدل‌هایی با نرخ نمونه‌برداری بیشتر، مشکل‌ساز خواهد شد. به عنوان مثال یک مبدل  4 GHzرا در نظر بگیرید که نیازمند دی‌مولتی‌پلکسر 1:4 خواهد بود. در این مورد، چالش اصلی طراحی PCB است که در آن طراح باید تعداد بسیار زیادی از زوج‌های LVDS را با در نظر گرفتن مسائلی همچون طول برابر خطوط (برای رسیدن همزمان 12 بیت به FPGA) در یک بورد در کنار سایر خطوط و اجزا قرار دهد. علاوه بر چالش مسیریابی خطوط، یک مبدل 12 بیتی اکنون نیاز به 4 مجموعه زوج 12 بیتی برای اتصال به FPGA دارد که بدون در نظر گرفتن پایه‌های کلاک، 96 پایه ورودی/خروجی تراشه را مصرف می‌کند. این در حالی است که یک FPGA بین 400 تا 600 پایه ورودی/خروجی را برای اتصال تمام مبدل‌های A/D و D/A و همچنین تراشه‌های حافظه در دسترس دارد.

یک راهکار جایگزین برای حل این چالش، استفاده از رابط‌های سریال برای اتصال مبدل‌های داده است. ارتباط سریال JESD204 در سال 2006 برای همین منظور توسعه داده شد. استاندارد JESD204 یک ارتباط سریال برای اتصال مبدل‌ها به FPGA است که بیشینه نرخ انتقال داده در نسخه B آن (منتشر شده در سال 2011)، 12.5 Gbps در نظر گرفته شده است. شکل 6 مثالی از مقایسه نحوه مسیریابی دو روش LVDS و JESD204 برای یک مبدل آنالوگ به دیجیتال 12 بیتی با نرخ 1 GHz را نشان می‌دهد.

مسیریابی در ارتباطات موازی و سریال

شکل 6- مقایسه مسیریابی در ارتباطات موازی و سریال

هر چند پروتکل JESD204 می‌تواند راهکار خوبی برای بسیاری از سیستم‌های دارای مبدل داده پر سرعت باشد، اما نمی‌توان آن را یک راهکار عالی دانست. رابط‌های سریال JESD204 حدود یک وات توان مصرفی را برای هر 4 خط مورد استفاده، به سیستم تحمیل می‌کنند. از سوی دیگر این پروتکل به صورت یک IP core بوده و استفاده از آن نیازمند خرید لایسنس مورد نظر خواهد بود. همچنین در سیستم‌هایی که نیازمند چند مبدل هستند، استفاده از چند IC مبدل و پروتکل JESD204 نیازمند طراحی پیچیده کلاک است که موجب اضافه شدن برخی مدارات اضافی به سیستم می‌شود. بنابراین روش مذکور باعث افزایش توان مصرفی، هزینه، اندازه و همچنین پیچیدگی طراحی خواهد شد.

مسئله دیگر در رابطه با JESD204، تاخیر در انتقال اطلاعات است که برای برخی از برنامه‌ها مشکل‌ساز می‌شود. در حالی که یک ارتباط موازی بین مبدل و FPGA تنها چند کلاک تاخیر ایجاد می‌کند (برای بافر کردن داده‌ها)، پروتکل JESD204 و SerDesها نیازمند بیش از 80 کلاک اضافی است که از هنگام تبدیل داده تا تحویل آن‌ها به FPGA یا بالعکس به سیستم تحمیل می‌شود. این تاخیر در مورد اپلیکیشن‌هایی که نیاز به پردازش بلادرنگ داده‌ها ندارند، خیلی قابل توجه نیست؛ اما در مورد بسیاری از اپلیکیشن‌های اویونیک مثل رادارها و سیستم‌های جنگ الکترونیک که شامل سیستم‌هایی با حلقه کنترلی سرعت بالا هستند، این تاخیر نمی‌تواند قابل قبول باشد.

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

مزایای استفاده از RFSoC

شکل 7- مزایای استفاده از RFSoC در مقایسه با استفاده از مبدل‌های مجزا

کاهش پیچیدگی زنجیره سیگنال RF

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

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

در واقع با حذف مدارات پیچیده افزاینده و کاهنده فرکانس، تعداد زیاد فرکانس‌های IF معمول در سیستم‌های راداری، ارتباطی، ناوبری و جنگ الکترونیک نیز حذف می‌شوند. این به معنای کنترل بیشتر در پردازش سیگنال دیجیتال و سطوح نرم‌افزاری سیستم است. با نرم‌افزاری شدن بخش عمده‌ای از مدارات گیرنده و فرستنده، سیستم می‌تواند با سرعت زیاد نسبت به تغییرات مورد نیاز، ارتقاء یابد. به عبارت دیگر، RFSoC را می‌توان یک ابزار رادیو- نرم‌افزاری (SDR) قدرتمند در نظر گرفت.

جایگزینی مدارات پیچیده IF با نمونه‌برداری مستقیم از سیگنال RF

شکل 8- جایگزینی مدارات پیچیده IF با نمونه‌برداری مستقیم از سیگنال RF

اجزا و قابلیت‌های UltraScale+ RFSoC

به‌طور خلاصه اجزا و قابلیت‌های تراشه UltraScale+ RFSoC را می‌توان به شرح زیر بیان کرد. البته لازم به ذکر است تاکنون نسخه‌های مختلفی از این تراشه‌ها وارد بازار شده است که هر یک از آن‌ها ویژگی‌های منحصربه‌فرد خود را ارائه می‌دهند.

  • پردازنده چهار هسته‌ای Arm Cortex-A53 (معماری 64 بیتی و فرکانس 1.3GHz): دارای Cache سطح 1 و واحد مدیریت حافظه برای هر یک از هسته‌ها – قابلیت مجازی‌سازی
  • پردازنده بلادرنگ دوهسته‌ای Arm Cortex-R5 (معماری 32 بیتی و فرکانس 600MHz): دارای Cache سطح 1 و واحد مدیریت حافظه برای هر یک از هسته‌ها
  • دستیابی مستقیم به حافظه (DMA)
  • 8 یا 16 مبدل آنالوگ به دیجیتال 12 یا 14 بیتی (نرخ نمونه‌برداری 4 گیگ بر ثانیه): دارای فیلتر میان‌گذر با افت 89db در باند تضعیف
  • 8، 12 یا 16 مبدل دیجیتال به آنالوگ 14 بیتی (نرخ نمونه‌برداری تا 10 گیگ بر ثانیه): دارای فیلتر میان‌گذر با افت 89db در باند تضعیف
  • واحد محافظت از حافظه شرکت زایلینکس (XMPU) : دارای قابلیت ناحیه‌بندی حافظه
  • کانال‌های ارتباطی عمومی: Gigabit Ethernet، SD/eMMC، UART، SPI، I2C، GPIO، CAN، USB 2.0، NAND Flash،
  • کانال‌های ارتباطی پرسرعت: PCIe، SATA، USB 3.0، DisplayPort
  • Controller

اجزا و قابلیت‌های UltraScale+ RFSoC

نرم‌افزار و طراحی IP

شرکت زایلینکس همانند نسل‌های قبلی تراشه‌های SoC خود، برای پیکر‌‌بندی و برنامه‌نویسی RFSoCها نرم‌افزار Vivado Design Suite را در نظر گرفته است. این نرم‌افزار شامل ابزار مختلفی برای طراحی جنبه‌های مختلف این تراشه‌ها است. همچنین Vivado برای حل چالش طراحی‌های پیچیده، یک ابزار برای ایجاد IP Core در نظر گرفته که مبتنی بر زبان برنامه‌نویسی C است. این نرم‌افزار دارای یک ابزار توسعه‌ای قدرتمند برای برنامه‌نویسی و کار با پردازنده‌های ARM است.

برای بخش RF نیز شرکت زایلینکس یک ابزار نرم‌افزاری قدرتمند در نظر گرفته است که در آن کاربر می‌تواند به راحتی تنظیمات مختلف مربوط به مبدل‌های A/D و D/A را برای هر کانال به‌صورت مجزا انجام دهد. محیط این بخش کاملا گرافیکی است و کلیه تنظیمات مربوط به بخش‌های آنالوگ به‌صورت دسته‌بندی شده در دسترس است.

نمایی از نرم‌افزار شرکت زایلینکس برای پیکر‌بندی بخش‌های آنالوگ RFSoC

شکل 9- نمایی از نرم‌افزار شرکت زایلینکس برای پیکر‌بندی بخش‌های آنالوگ RFSoC

بوردهای توسعه RFSoC

با انتشار اولین نسخه‌ها از این تراشه، شرکت‌های بزرگ توسعه‌دهنده بوردهای تعبیه‌شده، اقدام به ساخت محصولاتی مبتنی بر آن کردند. از جمله این شرکت‌ها می‌توان به خود زایلینکس، پِنتِک، آباکو و های‌تِک‌گلوبال اشاره کرد. هر یک از این شرکت‌ها با قرار دادن مجموعه زیادی از قطعات جانبی، یک کیت توسعه‌ای مناسب برای کاربردهای خاص ارائه کرده‌اند. این بوردها با توجه به امکانات و ابزار جانبی نصب شده روی آن‌ها بین 6 تا 25 هزار دلار قیمت دارند. از موفق‌ترین و پر فروش‌ترین این بوردها می‌توان به VP430 ساخت شرکت آباکو اشاره کرد.

نمایی از بورد توسعه‌ای VP430 شرکت آباکونمایی از بورد توسعه‌ای VP430 شرکت آباکوبلوک دیاگرام بورد توسعه‌ای VP430 شرکت آباکو

شکل 10- بلوک دیاگرام و نمایی از بورد توسعه‌ای VP430 شرکت آباکو

اگر مطلب برای شما مفید بود آن را در شبکه‌های اجتماعی به اشتراک بگذارید. بسترهای خود را انتخاب کنید!

سایر مقالات علمی و محتوای آموزشی پژوهشکده اویونیک