Skip to content
Menu
آموزش تخصصی و رایگان میکروکنترلر، FPGA و مدارچاپی
  • متفرقه
  • تماس با ما
  • درباره مدرس
  • تصاویر
  • محصولات
  • دوره هــــــــــا
    • دوره های ویدیویی
    • برنامه نویسی زبان C
    • FPGA-VHDL-Verilog
    • میکروکنترلر ARM
    • میکروکنترلر AVR
    • میکروکنترلر PIC
    • پردازنده ی DSP
    • طراحی مدار چاپی با Altium
    • Labview
    • MATLAB
    • رباتیک
    • شرح دوره های آموزشی
    • درباره ی سازمان فنی و حرفه ای
  • آموزش
    • آموزش الکترونیک از صفر
    • طراحی مدار چاپی با Allegro
    • دانشگاه انقلاب اسلامی
    • دانلود فایل های آموزشی
    • شرح دوره های آموزشی
    • فایل های ارسالی شما
    • نمونه برنامه های بیسیک
    • پروژه ها و مدارات کاربردی
    • آموزش میکروکنترلر با زبان ساده (عالیه)
  • آزمون
  • ثبت نام کلاس
  • فروشگاه
  • صفحه اصلی
آموزش تخصصی و رایگان میکروکنترلر، FPGA و مدارچاپی
میکروبلیز

میکروبلیز بر روی FPGA | طریقه راه اندازی MicroBlaze

Posted on 2016/06/302016/07/15 by محمد رضا بیگی

میکروبلیز چسست؟

میکروبلیز و NIOS هسته های میکروکنترلری هستند که به صورت تمام سفارشی به ترتیب بر روی FPGA های شرکت XILINX و Altera قابل پیاده سازی هستند


در این قسمت آموزش پیاده سازی میکروبلیز داده می شود. این آموزش در ورژن ise 14.2 به بالا درست عمل میکند. حداقل تراشه برای پیاده سازی میکروبلیز xc3s400 میباشد.
لازم به ذکر است که به دلیل پیاده سازی میکروبلیز با گیت ها سرعت آن خیلی بالا نیست و در حد یک avr به خوبی کار میکند
با بکار گیری FPGA های مدل بالاتر سرعت میکروبلیز به دلیل کاهش تاخیر گیت ها بالاتر میرود.

برای اضافه کردن Embeded Processor یا همان MicroBlaze پس از ساخت پروژه، یک فایل جدید ایجاد نمایید و Embeded Processor را انتخاب کنید.

ساخت میکروبلیز

با زدن finish در تصویر زیر نرم افزار xps باز میشود.

صفحه ی پایانی ساخت پروژه

در نرم افزار ise با کلیک روی manage processor drsign نیز میتوان xps را اجرا کرد

صفحه  Manage

در سوال کلید yes را بزنید تا اگر xps قبلا باز بوده بسته شود و مجددا باز شود

clcik yes

با زدن کلید yes در صفحه بعدی وارد محیط wizard میشویم

BSB Wizard

ار بین دو باس ارتباطی cpu باس plb را انتخاب میکنیم. باس axi در سری های گران قیمت مانند virtex وجود دارد

select PLB BUS

 

ساخت طراحی جدید

قطبیت پایه ریست را تعیین کنید که تراشه با صفر ریست شود یا با یک

انتخاب نوع ریست

تعیین می کنیم که تراشه ی ایجاد شده تک هسته ای باشد

تراشه ی تک هسته ای

فرکانس تراشه و مقدار حافظه میکروبلیز را تعیین می کنیم. در مدل های virtex5 هسته ی سخت افزاری power pc هم وجود دارد (یعنی یک CPU واقعی داخل FPGA قرار دارد) و یا در مدل های ZynQ تراشه ی ARM وجود دارد. اما در spartan3 فقط میکروبلیز داریم (در قسمت processor type)

انتخاب فرکانس و مقدار حافظه

در این صفحه از نرم افزار xps تنظیم میکنیم که میکروبلیز چه امکاناتی داشته باشد. مثلا مقدار RAM و ROM را تعیین میکنیم یا تعداد تایمر و UART و غیره را تعیین می کنیم

با انتخاب add device میتوان به میکرو بلیز امکانات جانبی مختلف مانند تایمر و پورت سریال را اضافه نمود

اضافه کردن دستگاه جدید

بعد از کلیک روی add device در قسمت IO پورت سریال  یا همان UART را انتخاب می کنیم

انتخاب UART

در قسمت RS232 گزینه xuart lite را انتخاب می کنیم و نرخ ارسال را برابر 9600 تنظیم می  کنیم

انتخاب نرخ ارسال

مجددا با انتخاب add device در قسمت IO گزینه GPIO را انتخاب کرده و Device را LEDS انتخاب میکنیم

اضافه کردن LED

تعداد LED را در صفحه باز شده روی 8 تنظیم میکنیم

انتخاب تعداد LED

هدف ما این است که میکروبلیز چند LED و یک پورت سریال داشته باشد

با زدن کلید finish صفحه ای باز میشود که میگوید فایل ucf را برای اختصاص پایه های led و uart به fpga تنظیم کنیم. این فایل در محل ذخیره ی پروژه قرار دارد. در این فایل پایه های LED و UART را تنظیم می کنیم که چه پایه هایی از FPGA هستند؟

بر روی OK کلیک کنید تا وارد مرحله ی بعدی شوید

پنجره ی انتهایی

در صفحه ی باز شده آدرس مربوط به led و uart را به خاطر میسپاریم. برای LED مقدار 0x81400000 را بخاطر میسپاریم.

آدرس حافظه

سپس با زدن گزینه ی Generate Netlist کد سنتز میشود تا فایل bit خام برای برنامه ریزی FPGA ساخته شود. این عمل کمی طول میکشد. حدود 10 دقیقه

ساخت نهایی پروژه

در مرحله ی آخر باید سخت افزار تولید شده را به محیط SDK ببریم تا بتوان برای آن برنامه نوشت. مطابق شکل این کار انجام میشود

انتقال طراحی به SDK

SDK

پس از این مرحله نرم افزار SDK اجرا میشود که شکل اجرا شبیه شکل بالا است

SDK

بعد از باز شدن SDK باید مکان workspace را جهت ذخیره فایل های پروژه تعیین کنیم که بهترین مکان محل ذخیره ی پروژه میباشد

تنظیم محیط کاری

بعد از باز شدن SDK وارد منوی File شده و بعد از انتخاب New گزینه ی Xilinx C Project را انتخاب کنید

پروژه جدید می سازیم

می توانید یک کد نمونه به پروژه اضافه کنید تا آن کد نمونه راهنمایی برای استفاده از SDK باشد. ما Periphearl Tests را انتخاب کردیم

کد تست پایه ها

در سمت چپ نرم افزار می توانید Header File ها را مشاهده کنید

هدر فایل ها ی پروژه

فایل xgpio_l.h را پیدا کرده و آن را باز کنید. در این فایل آدرس رجیستر های مربوط به بخش IO یا همان LED ها وجود دارد

ورودی خروجی ها

حال از آدرس یاد داشت شده مرحله قبل و فایل xgpio_l.h استفاده میکنیم و در فایل testperiph.c سه خط زیر را اضافه میکنیم

رجیستر های مربوط به GPIO یا همان LED ها برای ورودی خروجی کردن آنها و روشن و خاموش کردن آنها

تعریف آدرس

با هر بار ذخیره ی پروژه، پروژه کامپایل می شود تا مشکلی نداشته باشد. در مرحله ی آخر باید کد را به FPGA منتقل کنیم

برنامه ریزی تراشه

 

باید فایل bit خام که قبلا توسط XPS ساخته شده بود را به همراه فایل bmm (نقشه ی بلاک رم ها) و فایل elf که خروجی کامپایل SDK است آدرس دهی کنید.

 

انتخاب فایل ها

در شکل بالا با زدن Program تراشه ی FPGA برنامه ریزی می شود ولی برای اینکه با قطع برق دیگر لازم نباشد مجددا تراشه ی FPGA برنامه ریزی شود، بای فایل bit ساخته شده نهایی را به فایل قابل برنامه ریزی برای PROM تبدیل کنید.

محل ذخیره ی فایل bit بعد از اتصال فایل bit خام، فایل bmm و فایل elf در شکل مشخص است

محل ذخیره فایل پروژه

در این قسمت میخواهیم علاوه بر میکرو بلیز از سایر گیت های باقیمانده FPGA هم استفاده نماییم. برای این کار مجددا به نرم افزار ISE بر می گردیم

با کلیک بر روی Generate Toop HDL Source از میکرو بلیز یک فایل VHDL یا Verilog ساخته میشود که بستگی به تنظیم پروژه دارد

ساخت کد

کد top تولید شده شبیه به شکل بالا است که شما می توانید کد خودتان را هم به آن اضافه نمایید

کد HDL

سایت سازنده ی نرم افزار ISE

8 thoughts on “میکروبلیز بر روی FPGA | طریقه راه اندازی MicroBlaze”

  1. علی گفت:
    2017/04/13 در 00:15

    سلام
    ممنون خیلی خوب بود!
    توی سایتای ایرانی کمتر پیدا میشه!

    پاسخ
  2. salam گفت:
    2017/11/19 در 14:09

    با سلام
    بسیار بسیار مفید بود
    خیلی تشکر می کنم از زحمات شما
    یا علی

    پاسخ
  3. علی گفت:
    2018/08/05 در 15:55

    سلام
    ممنون بابت این مطلب مفید و ارزنده!

    پاسخ
  4. نسیم گفت:
    2018/11/29 در 15:11

    سلام .خیلی خوب بود. واقعا لطف کردید

    پاسخ
  5. m.gh گفت:
    2019/06/06 در 14:55

    سلام
    تفاوت میکروبلیز و نایوس چیه؟

    پاسخ
    1. محمد رضا بیگی گفت:
      2019/06/08 در 04:29

      سلام اولی برای FPGA خانواده XILINX هست و دومی برای Altera

      پاسخ
  6. علیرضا گفت:
    2020/12/07 در 18:24

    سلام خسته نباشید اگر بخواهیم برنامه اضافه کنیم مثلا برنامه lcdباید ب کدوم قسمت اضافه کنیم ؟ممنون

    پاسخ
    1. محمد رضا بیگی گفت:
      2021/01/11 در 11:47

      سلام
      باید GPIO قرار بدید و کد کنترل LCD را برای آن بنویسید

      پاسخ

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

CAPTCHA
Refresh

خطا

جستجو در سایت

طبقه بندی مطالب سایت

  • FPGA-VHDL-Verilog
  • Labview
  • MATLAB
  • آموزش الکترونیک
  • پردازنده ی DSP
  • پروژه ها و مدارات کاربردی
  • تصاویر
  • دانشگاه انقلاب اسلامی
  • دانلود فایل های آموزشی
  • درباره ی سازمان فنی و حرفه ای
  • دسته‌بندی نشده
  • دوره های ویدیویی
  • رباتیک
  • شرح دوره های آموزشی
  • طراحی مدار چاپی با Allegro
  • طراحی مدار چاپی با Altium
  • فایل های ارسالی شما
  • محصــــــــــولات طراحی شده
  • محصولات و برد های آموزشی
  • میکروکنترلر ARM
  • میکروکنترلر AVR
  • میکروکنترلر PIC
  • نمونه برنامه های بیسیک

شبکه های اجتماعی

ما را در شبکه های اجتماعی دنبال کنید

Telegram تلگرام

Instagram اینستاگرام

سروش سروش

 

نمایش کانال تلگرام بدون نیاز به نصب

telegram

پیوند ها

  • وب سایت زبان اصلی ما
  • پورتال فنی و حرفه ای
  • کارت ورود به جلسه و نتایج
  • پرداخت هزینه آزمون و صدور گواهینامه
  • آخرین نظرات تایید شده

    • ایرج در MAX232 و اتصالات آن و راه اندازی آن
    • عیسی پور در برنامه نویسی زبان C
    • ناصر در آموزش میکروکنترلر با زبان ساده
    • محمد رضا بیگی در سازمان آموزش فنی و حرفه ای (TVTO)
    • Amir در سازمان آموزش فنی و حرفه ای (TVTO)

    کانال ما در تلگرام

    برای ورود به این کانال نسخه جدید تلگرام را نصب کنید

    در صورت عدم تمایل به نصب تلگرام در گوشی می توانید نسخه ی کامپیوتری این نرم افزار را دانلود کنید

    همچنین آدرس web.telegram.org نیز برای این کار طراحی شده است

    نمایش کانال تلگرام بدون نیاز به نصب

    آرم فنی حرفه ای

    lpcarm@

    نماد

    logo-samandehi
    ©2023 آموزش تخصصی و رایگان میکروکنترلر، FPGA و مدارچاپی | Powered by WordPress & Superb Themes