توصیه شده, معرفی

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

پروگرامر fpga و cpld با آی سی ft232

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، برای برنامه قابل‌قبول است.

شاید برای شما مفید باشد: آموزش FPGA

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

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

 

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

 

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

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

OutPut>SVF file>Create SVF file .

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

xilinx.zip

 

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

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

  1. Avatar for Hamidreza Fallahian Hamidreza Fallahian گفت:

    سلام وقتتون بخیر،فایلی که داخل سایت قرار دادید وقتی آنزیپ میکنم ارور میده میشه راهنمایی کنید ممنونم.
    اسم ارور به این صورت هست:
    “Run-time-Error’76′”

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام این برنامه خیلی قدیمی هست وبا vb6 نوشته شده برای اجرا نیاز به ران تایم c++ فکر کنم داشته باشه
      گوگل کنید چطور برنامه های vb6رو میشه اجرا کرد جواب رو به دست میارید.

  2. Avatar for فرشاد فرشاد گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  3. Avatar for رادمهر رادمهر گفت:

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

    1. Avatar for zeus zeus گفت:

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

  4. Avatar for محمد حسین رحیمی محمد حسین رحیمی گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  5. Avatar for سجاد سجاد گفت:

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

    0912xxxxxxx قیاسوند

    با تشکر

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  6. Avatar for احمد احمد گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  7. Avatar for فرشاد فرشاد گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

      1. Avatar for فرشاد فرشاد گفت:

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

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

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

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

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  8. Avatar for Y Y گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  9. Avatar for عرفان عرفان گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  10. Avatar for علی علی گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  11. Avatar for محمد محمد گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  12. Avatar for Amir1995 Amir1995 گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

دیدگاهتان را بنویسید

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