PCB, توصیه شده, دسته‌بندی نشده, معرفی

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

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

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

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

همان‌طور که مشاهده کردید، برای برنامه‌ریزی کنترلر، احتیاج به فایل خروجیِ پروژه با پسوند SVF داریم. برای به‌دست آوردن این فایل کافی ست پس از پایان پروژه، در نرم‌افزار IMPACT مسیر زیر را برای ایجاد فایل دنبال کنید: OutPut>SVF file>Create SVF file . برنامه با زبان VB نوشته‌شده و فایل برنامه از لینک زیر قابل دانلود است: xilinx.zip  

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

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

نوشته های مشابه

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

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

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

  1. محمد حسین رحیمی گفت:

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

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

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

  2. سجاد گفت:

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

    0912xxxxxxx قیاسوند

    با تشکر

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

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

  3. احمد گفت:

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

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

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

  4. فرشاد گفت:

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

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

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

      1. فرشاد گفت:

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

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

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

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

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

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

  5. Y گفت:

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

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

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

  6. عرفان گفت:

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

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

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

  7. علی گفت:

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

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

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

  8. محمد گفت:

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

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

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

  9. Amir1995 گفت:

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

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

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