چکیده
با گسترش سامانههای هوشمند و افزایش استفاده از ریزرباتها، پهپادهای خودمختار و سامانههای نهفته، نیاز به سختافزارهایی با توان مصرفی پایین، سرعت پردازش بالا و قابلیت تعامل بلادرنگ با محیط بیش از گذشته احساس میشود. این سامانهها برای تصمیمگیری صحیح به دادههای حسگرهایی نظیر دوربین، واحد اندازهگیری اینرسی (IMU)، لیدار و سایر تجهیزات اندازهگیری وابسته هستند. در عین حال، محدودیت شدید منابع انرژی، ابعاد کوچک و نیاز به پردازش سریع دادهها باعث شده است که استفاده از پردازندههای عمومی بهتنهایی پاسخگوی نیاز این کاربردها نباشد. به همین دلیل، مدارهای مجتمع با کاربرد خاص (ASIC) به عنوان راهکاری کارآمد برای دستیابی به عملکرد بالا و مصرف انرژی پایین مورد توجه قرار گرفتهاند. با این حال، یکی از چالشهای مهم در توسعه چنین تراشههایی، ایجاد بستری مناسب برای اتصال آسان حسگرهای خارجی، انتقال داده، آزمون، اشکالزدایی و اعتبارسنجی عملکرد تراشه در شرایط واقعی است. نبود یک رابط استاندارد و انعطافپذیر میان ASIC و تجهیزات جانبی، فرآیند توسعه و ارزیابی این سامانهها را پیچیده، زمانبر و پرهزینه میکند.
این پایاننامه با هدف رفع این چالش، به طراحی و پیادهسازی یک برد مدار چاپی (PCB) اختصاصی پرداخته است که امکان اتصال همزمان حسگرهای خارجی و رایانه میزبان را به یک تراشه ASIC سفارشی فراهم میکند. این تراشه که پیشتر برای پردازش بلادرنگ دادههای حسگرها در سامانههای ناوبری خودمختار توسعه یافته است، دارای یک بلوک اختصاصی Sensor-and-Debug یا SND بوده که شامل رابط SPI برای ارتباط با حسگرها و رابط FIFO برای انتقال داده و اشکالزدایی است. هدف اصلی این پژوهش آن است که این قابلیتهای داخلی تراشه به شکلی ساده، توسعهپذیر و کاربردی در اختیار پژوهشگران قرار گیرد تا فرآیند توسعه، آزمایش و اعتبارسنجی سامانه بدون نیاز به طراحی مجدد سختافزار انجام شود.
در این پژوهش ابتدا ساختار کلی برد واسط طراحی شده و تمامی مسیرهای ارتباطی میان ASIC، حسگرها و رایانه میزبان مورد بررسی قرار گرفته است. یکی از مهمترین مشکلات موجود آن بود که تراشه تنها از یک گذرگاه SPI برای ارتباط با حسگرها استفاده میکند، در حالی که سامانههای واقعی معمولاً به چندین حسگر به صورت همزمان نیاز دارند. برای حل این محدودیت، یک مدار مالتیپلکسر مبتنی بر توسعهدهنده ورودی و خروجی طراحی شده است که امکان اتصال چندین حسگر مختلف به یک گذرگاه SPI را بدون نیاز به افزایش تعداد پایههای تراشه فراهم میکند. این طراحی علاوه بر کاهش پیچیدگی سختافزار، قابلیت توسعه سیستم در آینده را نیز افزایش داده است.
در ادامه، معیارهای انتخاب حسگرهای مناسب برای اعتبارسنجی سامانه بررسی شدهاند. از میان گزینههای مختلف، یک دوربین مبتنی بر رابط SPI و یک واحد اندازهگیری اینرسی انتخاب شدند؛ زیرا این دو حسگر بیشترین کاربرد را در سامانههای هدایت خودکار پهپادها و ریزرباتها دارند. معیارهایی نظیر سرعت انتقال داده، مصرف انرژی، سازگاری با رابط SPI، کیفیت مستندات فنی، اندازه، وزن، قیمت و دسترسپذیری در انتخاب این تجهیزات مورد توجه قرار گرفته است. همچنین برای سادهسازی اتصال حسگرها، یک استاندارد مشخص برای کانکتورها تعریف شده و کابلهای اختصاصی جهت اتصال تجهیزات مختلف طراحی و ساخته شدهاند تا فرآیند استفاده از برد برای کاربران آینده نیز آسانتر شود.
یکی دیگر از بخشهای مهم این پایاننامه، توسعه رابط انتقال داده میان ASIC و رایانه میزبان است. در طراحی اولیه از تراشه FT232H برای تبدیل USB به FIFO استفاده شده بود، اما آزمایشها نشان دادند که اختلاف سرعت کاری میان تراشه تبدیل و مبدلهای سطح ولتاژ موجب بروز خطاهای متعدد در انتقال داده میشود. این مسئله سبب شد معماری اولیه کنار گذاشته شده و راهکاری مبتنی بر میکروکنترلر RP2040 جایگزین گردد. استفاده از این میکروکنترلر امکان کنترل کامل زمانبندی انتقال داده، تنظیم فرکانس کاری، توسعه میانافزار اختصاصی و افزایش انعطافپذیری سیستم را فراهم کرده است. علاوه بر این، میانافزار اختصاصی برای RP2040 توسعه داده شده و پروتکل ارتباطی مناسب از طریق USB طراحی شده است تا ارتباطی پایدار و قابل اطمینان میان رایانه و تراشه برقرار شود.
در بخش نرمافزار نیز کتابخانهای اختصاصی برای رایانه میزبان توسعه یافته است که وظیفه برقراری ارتباط با رابط FIFO را بر عهده دارد. این کتابخانه توابع سطح بالایی برای باز کردن ارتباط، ارسال داده، دریافت داده و مدیریت انتقال اطلاعات ارائه میدهد و استفاده از سامانه را برای توسعهدهندگان بسیار سادهتر میکند. به این ترتیب، پژوهش حاضر تنها به طراحی سختافزار محدود نشده و مجموعهای کامل از سختافزار، میانافزار و نرمافزار را برای آزمون و توسعه تراشه فراهم آورده است.
در جریان توسعه سامانه، مشکلات فنی متعددی نیز شناسایی و تحلیل شدهاند. یکی از مهمترین آنها عملکرد نامناسب مبدلهای دوطرفه سطح ولتاژ در گذرگاه SPI بود که باعث تغییر جهت نادرست سیگنالها و ایجاد خطا در ارتباط حسگرها میشد. این مشکل با جایگزینی مبدلهای یکطرفه مخصوص رابط SPI برطرف شد. همچنین تأخیر زمانی ایجاد شده در مسیر سیگنال MISO باعث نمونهبرداری نادرست دادهها توسط تراشه میشد که با تغییر نحوه تنظیم پارامتر CPHA در هنگام خواندن و نوشتن دادهها، راهکاری عملی برای آن ارائه شد. علاوه بر این، مسئله تداخل میان حسگرهای مختلف و نیاز به جداسازی الکتریکی آنها نیز با افزودن مدارهای بافر در ورودی برخی کانکتورها برطرف گردید.
در بخش دیگری از پژوهش، عملکرد رابط FIFO به طور دقیق مورد ارزیابی قرار گرفت. آزمایشها نشان دادند که در برخی شرایط، دادههای ارسالی توسط ASIC دارای الگوی مشخصی از خرابی تکرارشونده هستند. بررسیهای انجامشده نشان داد منشأ این مشکل در خود تراشه ASIC قرار دارد و نه در رابط USB یا میانافزار میکروکنترلر. برای رفع این مشکل، الگوریتمی نرمافزاری طراحی شد که موقعیت دادههای معیوب را شناسایی کرده و آنها را در فرآیند انتقال نادیده میگیرد. این راهکار بدون نیاز به تغییر سختافزار توانست انتقال پایدار و بدون خطای دادهها را امکانپذیر سازد.
در پایان، عملکرد کامل سامانه در قالب یک آزمایش عملی مورد ارزیابی قرار گرفت. در این آزمایش، دادههای دوربین و حسگر IMU از طریق رابط SPI توسط ASIC دریافت شده، از طریق FIFO به رایانه منتقل گردید و به صورت بلادرنگ نمایش داده شد. نتایج نشان دادند که سامانه قادر است ارتباط پایدار میان حسگرها، تراشه و رایانه میزبان را برقرار کند و دادهها را با تأخیر پایین منتقل نماید. همچنین نرمافزار توسعهیافته امکان نمایش تصاویر دوربین، دادههای شتابسنج و ژیروسکوپ و سایر اطلاعات دریافتی را به صورت همزمان فراهم کرده است. این نتایج نشاندهنده موفقیت طراحی ارائهشده در ایجاد یک بستر کامل برای توسعه، آزمون و اشکالزدایی تراشههای ASIC در کاربردهای بلادرنگ است.
از مهمترین دستاوردهای این پژوهش میتوان به طراحی یک برد واسط توسعهپذیر، امکان اتصال همزمان چندین حسگر به یک گذرگاه SPI، توسعه رابط USB به FIFO مبتنی بر RP2040، طراحی میانافزار و نرمافزار اختصاصی، شناسایی و رفع مشکلات مربوط به مبدلهای سطح ولتاژ، ارائه راهکار برای رفع خطاهای انتقال داده و ایجاد بستری مناسب برای اعتبارسنجی سامانههای خودمختار اشاره کرد. همچنین پیشنهادهایی برای توسعههای آینده شامل افزایش سرعت رابط FIFO، افزودن رابطهای حسگری بیشتر، حذف نیاز به مبدلهای سطح ولتاژ از طریق طراحی ASIC با ورودی و خروجی ۳٫۳ ولت، سریالسازی رابط FIFO، افزایش تعداد پایههای ورودی و خروجی و کوچکسازی برد جهت نصب مستقیم روی پهپادها و ریزرباتها ارائه شده است.
در مجموع، این پایاننامه گامی مؤثر در جهت توسعه زیرساختهای سختافزاری مورد نیاز سامانههای خودمختار کممصرف به شمار میرود و بستری منعطف، قابل توسعه و کاربردی برای اتصال حسگرها، انتقال داده، آزمایش و اشکالزدایی تراشههای اختصاصی فراهم میسازد. نتایج این پژوهش میتواند در طراحی نسلهای آینده سامانههای نهفته، ریزرباتها، پهپادهای هوشمند و سایر تجهیزات مبتنی بر پردازش بلادرنگ مورد استفاده قرار گیرد و مسیر توسعه سامانههای کممصرف و با قابلیت اطمینان بالا را هموارتر سازد.
“`html
| سرفصل | شماره صفحه |
|---|---|
| چکیده | i |
| فصل ۱: مقدمه (Introduction) | 1 |
| ۱-۱. انگیزه پژوهش (Motivation) | 2 |
| ۱-۲. اهداف پایاننامه (Objectives) | 3 |
| فصل ۲: پیشینه و معماری سامانه (Background and System Overview) | 5 |
| ۲-۱. معرفی تراشه اختصاصی (ASIC) | 6 |
| ۲-۲. رابط حسگر و اشکالزدایی (Sensor-and-Debug Interface – SND) | 8 |
| ۲-۳. رابط گذرگاه FIFO | 10 |
| ۲-۴. رابط ارتباطی SPI (Serial Peripheral Interface) | 12 |
| فصل ۳: اتصال حسگرها (Sensor Interface) | 15 |
| ۳-۱. انتخاب حسگرها | 15 |
| ۳-۲. طراحی مدار مالتیپلکسر (Multiplexer) | 17 |
| ۳-۳. کانکتورهای حسگر | 20 |
| ۳-۳-۱. ساخت کابلهای حسگر | 21 |
| ۳-۴. جهتدهی مبدل سطح ولتاژ گذرگاه SPI (Level Shifter) | 22 |
| ۳-۵. بافر اختصاصی حسگرها (Sensor Buffering) | 23 |
| ۳-۶. تأخیر سیگنال MISO در گذرگاه SPI | 24 |
| ۳-۷. جمعبندی | 25 |
| فصل ۴: رابط FIFO | 26 |
| ۴-۱. مرور کلی | 26 |
| ۴-۲. اشکالزدایی رابط مبتنی بر FT232H | 27 |
| ۴-۳. توسعه رابط FIFO مبتنی بر میکروکنترلر | 28 |
| ۴-۳-۱. انتخاب و پیادهسازی میکروکنترلر | 28 |
| ۴-۳-۲. توسعه میانافزار (Firmware) | 29 |
| ۴-۳-۳. رابط USB | 29 |
| ۴-۴. نرمافزار رایانه میزبان (Host Computer Software) | 30 |
| ۴-۵. خرابی چرخهای دادهها در FIFO | 31 |
| ۴-۶. جمعبندی | 31 |
| فصل ۵: نمایش نهایی سامانه (Final Demonstration) | 32 |
| ۵-۱. آزمون شمارنده (Counter Test) | 32 |
| ۵-۲. دادههای دوربین | 33 |
| ۵-۳. دادههای واحد اندازهگیری اینرسی (IMU) | 34 |
| ۵-۴. جمعبندی | 34 |
| فصل ۶: نتیجهگیری (Conclusion) | 35 |
| ۶-۱. کارهای آینده (Future Work) | 35 |
| ۶-۱-۱. بهبود رابط FIFO مبتنی بر میکروکنترلر | 35 |
| ۶-۱-۲. پیشنهادهایی برای توسعه ASIC | 36 |
| ۶-۱-۳. بهبود طراحی برد PCB رابط SND | 37 |
| منابع (Bibliography) | 38 |
“`
چگونه یک برد کوچک، بزرگترین مانع توسعه تراشههای هوشمند را از میان برداشت؟
اگر تا امروز فکر میکردید سختترین بخش ساخت یک تراشه هوشمند، طراحی خود تراشه است، این پروژه نظر شما را تغییر خواهد داد. واقعیت این است که بسیاری از ASICهای قدرتمند هرگز فرصت نشان دادن توانایی واقعی خود را پیدا نمیکنند، زیرا اتصال آنها به حسگرها، رایانه و ابزارهای آزمایش، خود به یک چالش مهندسی بزرگ تبدیل میشود.
این پایاننامه دقیقاً به سراغ همین مشکل رفته است؛ مشکلی که شاید کمتر دیده شود، اما بدون حل آن، توسعه بسیاری از سامانههای هوشمند عملاً متوقف میشود.
مشکل واقعی، خود تراشه نبود؛ ارتباط آن با دنیای بیرون بود
تراشههای اختصاصی (ASIC) برای سرعت بالا و مصرف انرژی پایین طراحی میشوند؛ ویژگیای که آنها را برای پهپادها، رباتها و سامانههای خودران ایدهآل میکند.
اما یک سؤال مهم وجود دارد:
چگونه این تراشه به دوربین، IMU، رایانه و تجهیزات آزمایش متصل شود؟
پاسخ این سؤال ساده نیست. نبود یک بستر استاندارد باعث میشود هر آزمایش نیازمند طراحی سختافزار جدید، کابلهای جدید و حتی تغییرات اساسی در برد باشد.
این پایاننامه دقیقاً این گلوگاه را هدف قرار داده است.
یک PCB که نقش پل ارتباطی را بازی میکند
مهمترین دستاورد پروژه، طراحی یک برد مدار چاپی اختصاصی است که بین ASIC، حسگرها و رایانه قرار میگیرد.
این برد تنها یک واسط ساده نیست؛ بلکه بستری کامل برای:
- اتصال حسگرهای مختلف
- انتقال داده
- اشکالزدایی
- آزمایش
- توسعه نسخههای بعدی تراشه
فراهم میکند.
در عمل، این PCB فرآیند توسعه تراشه را بسیار سریعتر و سادهتر کرده است.
هشت حسگر، تنها با یک گذرگاه SPI!
یکی از جالبترین بخشهای پروژه، طراحی مدار مالتیپلکسر است.
ASIC تنها یک رابط SPI در اختیار داشت؛ در حالی که پژوهشگران معمولاً به چندین حسگر نیاز دارند.
راهحل چه بود؟
طراحی یک مالتیپلکسر که اجازه میدهد تا هشت حسگر مختلف بدون افزایش تعداد پایههای تراشه به همان رابط SPI متصل شوند.
این یعنی:
- سختافزار سادهتر
- مصرف پایه کمتر
- توسعه آسانتر
- انعطاف بسیار بیشتر
نمونهای از تصمیمی که شاید ساده به نظر برسد، اما تأثیر بزرگی بر طراحی کل سامانه دارد.
گاهی بزرگترین مشکل، یک مبدل سطح ولتاژ است!
در طول آزمایشها اتفاق جالبی رخ داد.
در ظاهر همه چیز درست طراحی شده بود؛ اما ارتباط SPI رفتار کاملاً غیرمنتظرهای نشان میداد.
پس از بررسیهای فراوان مشخص شد مشکل نه از نرمافزار بود و نه از تراشه؛ بلکه از مبدلهای دوطرفه سطح ولتاژ ناشی میشد که جهت سیگنالها را اشتباه تشخیص میدادند.
راهکار نهایی؟
حذف کامل این مبدلها و جایگزینی آنها با مبدلهای یکطرفه مخصوص SPI.
گاهی یک قطعه چند دلاری میتواند ساعتها یا حتی هفتهها زمان توسعه را تحت تأثیر قرار دهد.
وقتی راهحل آماده جواب نمیدهد، خودتان آن را بسازید
در طراحی اولیه، برای ارتباط USB از تراشه مشهور FT232H استفاده شده بود.
اما آزمایشها نتیجه عجیبی نشان دادند:
- دادهها تکرار میشدند.
- بیتها تغییر میکردند.
- انتقال اطلاعات پایدار نبود.
به جای تلاش برای اصلاح یک راهحل محدود، کل معماری تغییر کرد.
یک Raspberry Pi RP2040 جایگزین FT232H شد و میانافزار اختصاصی برای آن توسعه یافت.
نتیجه، سیستمی بسیار انعطافپذیرتر بود که توسعهدهنده میتوانست تمام زمانبندی انتقال داده را خودش کنترل کند.
این تصمیم شاید بزرگترین تغییر معماری پروژه محسوب شود.
اشکالزدایی فقط پیدا کردن خطا نیست؛ پیدا کردن دلیل آن است
یکی از جذابترین قسمتهای پایاننامه زمانی است که پژوهشگر متوجه خرابیهای دورهای در دادههای FIFO میشود.
در ابتدا تصور میشد مشکل از میانافزار است.
اما بررسی سیگنالها با Logic Analyzer حقیقت دیگری را آشکار کرد.
خرابیها دقیقاً در موقعیتهای مشخصی تکرار میشدند.
این یعنی ایراد از خود ASIC بود.
به جای کنار گذاشتن پروژه، الگوریتمی طراحی شد که این موقعیتهای معیوب را شناسایی کرده و هنگام انتقال داده از آنها عبور میکند.
نمونهای عالی از اینکه گاهی بهترین راهحل، حذف مشکل نیست؛ بلکه مدیریت هوشمندانه آن است.
یک آزمایش نهایی که همه چیز را ثابت کرد
در پایان، کل سامانه در یک سناریوی واقعی آزمایش شد.
دو حسگر اصلی شامل:
- دوربین Arducam
- واحد اندازهگیری اینرسی ICM-20948
به برد متصل شدند.
ASIC دادهها را از طریق SPI دریافت کرد.
اطلاعات از طریق FIFO به رایانه منتقل شدند.
و نرمافزار توسعهیافته تصاویر دوربین، دادههای شتابسنج و ژیروسکوپ را بهصورت بلادرنگ نمایش داد.
این آزمایش نشان داد که تمام اجزای طراحی، از سختافزار گرفته تا میانافزار و نرمافزار، بهصورت هماهنگ عمل میکنند.
این پروژه فقط یک برد طراحی نکرد
در نگاه اول شاید تصور شود موضوع پایاننامه طراحی یک PCB است.
اما واقعیت بسیار فراتر از این است.
این پژوهش:
- معماری ارتباطی جدید ارائه کرده است.
- ابزار توسعه برای ASIC ساخته است.
- مشکلات واقعی سختافزار را تحلیل کرده است.
- میانافزار اختصاصی نوشته است.
- کتابخانه نرمافزاری رایانه توسعه داده است.
- و بستری فراهم کرده که توسعه نسلهای بعدی تراشهها را بسیار سادهتر میکند.
به همین دلیل ارزش واقعی پروژه نه فقط در یک برد الکترونیکی، بلکه در اکوسیستم کاملی است که برای توسعه تراشههای هوشمند ایجاد کرده است.
جمعبندی
بسیاری از پروژههای مهندسی روی ساخت تراشه تمرکز میکنند، اما این پایاننامه نشان میدهد که موفقیت یک ASIC تنها به طراحی داخلی آن وابسته نیست؛ بلکه ابزارهایی که امکان آزمایش، توسعه و ارتباط آن با دنیای واقعی را فراهم میکنند، همان اندازه اهمیت دارند.
شاید مهمترین پیام این پژوهش همین باشد:
گاهی پیشرفت فناوری نه با ساخت یک تراشه جدید، بلکه با ساخت پلی اتفاق میافتد که آن تراشه را به دنیای واقعی متصل میکند.
بسیار سریع و ساده می توانید اصل این پایان نامه را به صورت فایل PDF در اختیار داشته باشید.