پروگرامر USB برای FPGA به همراه سورس و شماتیک

پروگرامر USB برای FPGA به همراه سورس و شماتیک

پروگرامر USB برای FPGA به همراه سورس و شماتیک
پروگرامر USB برای FPGA به همراه سورس و شماتیک

CPLD و FPGA پروگرامر

ساخت پروگرامر CPLD و FPGA:

با توجه به نیاز استفاده از کنترلرهای FPGA و CPLD، بر آن شدیم که برای بالا بردن سطح آموزش و سهولت دسترسی، برد پروگرامری برای این کنترلرها ارائه کنیم. برای این منظور از چیپ پرکاربرد FT232 استفاده می‌کنیم.

چیپ‌های خانواده‌ی FTDI تنوع زیادی دارند و کارایی راحت و خوبی را ارائه می‌کنند. در این خانواده، چند چیپ وجود دارد که می‌توان از آن‌ها برای پروگرام کردن نیز استفاده کرد؛ مثل: FT232RL و یا FT2232.

در این مقاله قصد داریم کنترلر‌های CPLD و FPGA را به کمک چیپ FT232RL برنامه‌ریزی کنیم.چیپ FT232RL

 

نقشه‌ی ساخت پروگرامر و نیاز‌های آن:

طبق شماتیک داده‌شده، می‌توانید از این چیپ استفاده کنید. برای راه‌اندازی این چیپ، به ملزومات زیادی نیاز نداریم. مدار را به شکل زیر می‌بندیم و تمام! می‌توانید از آن استفاده کنید.

 

پروگرامر FPGA با چیپ FT232

 

 

سخت‌افزار پروگرامر:

برد‌های زیادی برای این چیپ طرح‌شده که می‌توانید با قیمت مناسب یکی را تهیه و استفاده کنید. از برد‌هایی استفاده کنید که تمام پایه‌های آن بیرون آمده باشد.

 

برد پروگرامر CPLD با آی سی FT232

برنامه‌ی پروگرامر CPLD و FPGA:

برای پروگرام کردن FPGA و یا CPLD، می‌توانید از نرم‌افزار FT232 SVF استفاده کنید.

این برنامه به کمک چیپ FT232 دیتا را از بستر SPI به FPGA و یا CPLD انتقال می‌دهد. فایل‌های پروگرام با پسوند SVF، برای برنامه قابل‌قبول است.

برد را به سیستم متصل و برنامه را باز کنید. دکمه Open Interface را فشار دهید. رنگ نشانگر روی برنامه سبز می‌شود. سپس دکمه Start BitBang Mode را بزنید تا نشانگرش آبی‌رنگ شود. پایه‌های چیپ را مطابق نقشه تعریف کنید و آدرس پروگرام را وارد کنید. سپس گزینه Process SVF File را بزنید. کمی صبر کنید تا برنامه روی کنترلر ریخته شود.

حال می‌توانید از برنامه‌ی ریخته شده روی کنترلر خود لذت ببرید.

 

برنامه پروگرامر CPLD و FPGA

 

ساخت فایل SVF برای پروگرام کردن CPLD:

همان‌طور که مشاهده کردید، برای برنامه‌ریزی کنترلر، احتیاج به فایل خروجیِ پروژه با پسوند SVF داریم. برای به‌دست آوردن این فایل کافی ست پس از پایان پروژه، در نرم‌افزار IMPACT مسیر زیر را برای ایجاد فایل دنبال کنید:

OutPut>SVF file>Create SVF file .

برنامه با زبان VB نوشته‌شده و فایل برنامه از لینک زیر قابل دانلود است:

xilinx.zip

 

حمایت از Paradise Electronic

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

24 دیدگاه

  • فرشاد
    ۲۶ آذر ۱۳۹۹

    سلام
    عذر میخوام آیا این پروگرامر تمام fpga ها را پروگرم میکند یا فقط تولیدات یک شرکت خاص را؟
    اگر خیر، میشود یه پروگرامر دیگر هم معرفی کنید؟

    • Zeus ‌
      زئوس Zeus
      ۲۰ دی ۱۳۹۹

      سلام
      با توجه به این که این پروگرامر از فایل svf استفاده میکنه منطقا باید بتونه هر چیپی رو پروگرام کنه ولی مساله اینه که آیا نرم افزارهای دیگه فایل svf درست تولید میکنند یا نه
      با زایلینکس ظاهرا مشکلی نداره

  • رادمهر
    ۱۹ آبان ۱۳۹۹

    سلام من پرسیدم میگن نمیشه با ft232rl پروگرم کرد چون پورت jtag نداره من برای پروگرم کردن cpld های زایلینکس میخواستم بسازم پروگرمر رو این مدار عملی هست؟ یا فقط با ft2232h میشه ساخت پروگرمر cpld fpga رو؟امکانش هست بیشتر در رابطه با جزییاتش توضیح بدید؟

    • Zeus ‌
      zeus
      ۵ خرداد ۱۴۰۰

      سلام دوست عزیز
      اگر برای پروگرام کردن cpld نیاز دارید شاید اگر unijtag رو ببیند بد نباشه !

  • محمد حسین رحیمی
    ۲۶ مرداد ۱۳۹۹

    سلام.
    با توجه به اینکه ft232 یک مبدل usb به ttl هست
    ایا میشه به جای ft232 از ی ایسی دیگه که همین پایه ها رو داره(مثلا cp210x)استفاده کرد؟

    • Zeus ‌
      زئوس Zeus
      ۲۷ مرداد ۱۳۹۹

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

  • سجاد
    ۱۰ خرداد ۱۳۹۹

    سلام.یه برد دارم که برنامه ریزی باید بشه. البته دوتا برد دارم. یه برد سالم و یه برد معیوب. میتونید از اون سالمه برنامه رو کپی کنید روی این خرابه. هزینش رو هم تقدیم میکنم

    0912xxxxxxx قیاسوند

    با تشکر

    • Zeus ‌
      زئوس Zeus
      ۱۹ خرداد ۱۳۹۹

      سلام دوست عزیز
      اینترنت برای انتشار شماره همراه اصلا جای امنی نیست و ممکنه هزار مساله پیش بیاد – برای همین شماره تون رو پاک کردم.
      بردی که دارید ، روش از چه آیسی ای استفاده شده که میخواید برنامه اش رو کپی کنید ؟

  • احمد
    ۲۷ آذر ۱۳۹۸

    سلام
    این پروگرامر قابلیت پروگرام کردن آی سی های Hisilicon را دارد؟ خصوصا Hi3521 را؟

    • Zeus ‌
      زئوس Zeus
      ۲۷ آذر ۱۳۹۸

      فکر نمیکنم این قابلیت رو داشته باشه

  • فرشاد
    ۲۴ مرداد ۱۳۹۸

    با تشکر از به اشتراک گذاری این ایده
    همه موارد بصورت open و باز گفته شده از جمله اسم دقیق آی سی و مدار دقیق و … فقط چرا سورس برنامه را بصورت باز نگذاشته اید و فقط کامپایل شده اش موجود است ؟ حیف نیست ؟

    • Zeus ‌
      زئوس Zeus
      ۲۶ مرداد ۱۳۹۸

      سلام دوست عزیز
      بله متاسفانه همینطوره که میگید ! و برنامه هم با VB6 نوشته شده و در اوردن سورسش دیگه شدنی نیست :/

      • فرشاد
        ۲۷ مرداد ۱۳۹۸

        بله ممنونم. اما شاید برای رفع این نقصان بتوانیم علاقه مندانی را ترغیب کنیم چنین برنامه ای را بار دیگر بنویسند.

        اگر موافق باشید من این برنامه را به دو قسمت تقسیم می کنم. بخش اول شناخت FT232 و استفاده از مد BitBang برای ارسال 0 و 1 دلخواه به آن سوی پورت است. این بخش از کار به کوشش خود شرکت FTDI که محصولش را در رقابت با محصولی مشابه از ti می بیند و بنابراین ترفند های مختلف محصول خود را به طور ویژه گسترش داده و آموزش می دهد، آسان شده است.

        بخش دوم کار هم بر می گردد به اینکه xilinx را بشناسیم و بدانیم چگونه از طریق jtag پروگرام می شود. اینجا xilinx سرش خیلی شلوغ است و جواب مساله را در pdf های مختلف نوشته و من خودم زیاد سر در نیاورده ام.

        اجازه می خواهم برداشت خودم را برای این بخش دوم ارائه کنم تا استاد گرامی و دوستان اصلاح کنند. تایمینگ را می خواهم شرح دهم. مثل اینکه ابتدا بایستی prog_b زده شود بعد که رها شد بلافاصله دیتا روی TDI گذاشته شده و TCK پالس بخورد. از بیت LSB بایت اول فایل SVF شروع می کنیم و بیت به بیت روی آنها پالس می زنیم. طول فایل svf مشخص و ثابت است و بنابراین xilinx متوجه می شود کار پروگرامر به انتها رسیده است.
        مطمئن هستم این تایمینگ ناقص است. لطفا اصلاح بفرمایید. ممنونم.

        • Zeus ‌
          زئوس Zeus
          ۶ شهریور ۱۳۹۸

          سلام دوست عزیز
          ببخشید برای دیر شدن پاسخ ؛ من مقداری سرچ کردم و نتیجه های خوبی هم گرفتم ؛ یه پروژه هست تحت عنوان libsvf که ظاهرا همین کاری که شما میخواید انجام بدید رو انجام میده و دقیقا مثال داره که با ایپی ft232 این کار رو انجام میده
          لینک پروژه Lib(x)SVF

  • Y
    ۲۷ اسفند ۱۳۹۷

    با سلام،آیا تجربه کار با ft2232D رو هم دارید؟

    • Zeus ‌
      زئوس Zeus
      ۱۱ فروردین ۱۳۹۸

      تا سوالتون رو ندونونم نمی تونم کمکی بکنم 😐

  • عرفان
    ۷ آبان ۱۳۹۷

    با عرض سلام کار با fpga رو تازه شروع کردم خواستم بپرسم این پروگرامر برا نرم افزار ISE هم جواب میده . باتشکر

    • Zeus ‌
      زئوس Zeus
      ۷ آبان ۱۳۹۷

      سلام
      این پروگرارم درون نرم افزار ise قابل استفاده نیست ولی نحوه خروجی گرفتن ا ISE فکر میکنم دورن پست هست

  • علی
    ۱۸ شهریور ۱۳۹۷

    با سلام و تشکر بابت این ایده جالب!!
    نرم افزار نوشته شده با ویژوال بیسیک در هنگام اجرا ارور می دهد.
    Run-time error ’76’ path not found
    اینم توی فایل log نوشته شده:
    Line 90: Cannot load control pb1; license not found.

    • Zeus ‌
      زئوس Zeus
      ۲۲ شهریور ۱۳۹۷

      سلام دوست عزیز
      سیستم عاملتون چی هست

  • محمد
    ۳۰ مرداد ۱۳۹۶

    درود
    دوست عزیز امکانش هست بجای ft232 از pl2303 استفاده کرد؟

    • Zeus ‌
      زئوس Zeus
      ۱ شهریور ۱۳۹۶

      نه متاسفانه ؛ برای پروگرام از قابلیت BitBang که در چیپ های FT موجود هست استفاده شده برای همین نمیشه از چیپ دیگری استفاده کرد.

  • Amir1995
    ۲۹ مرداد ۱۳۹۶

    سلام خسته نباشید
    میخواستم ببینم شما آموزش FPGA هم شروع میکنید ؟؟

    • Zeus ‌
      زئوس Zeus
      ۱ شهریور ۱۳۹۶

      سلام و درود دوست عزیز
      در خصوص آموزش فعلا برنامه ای نداریم ولی در آینده نزدیک ، دو یا سه تا پروژه با FPGA و CPLD منتشر خواهیم کرد ، پروژه کاربردی

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

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

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 11 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک