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

blog
۱۳۹۶-۰۵-۲۹
2 دقیقه

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
0
لینک و اشتراک
profile

Paradise Electronic

متخصص الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
Hamidreza Fallahian گفت :
۱۴۰۳-۱۰-۰۳ ۰۸:۳۷

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

profile
Zeus ‌ گفت :
۱۴۰۳-۱۰-۰۳ ۱۷:۱۳

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

profile
فرشاد گفت :
۱۳۹۹-۰۹-۲۶ ۰۹:۰۴

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

profile
زئوس Zeus گفت :
۱۳۹۹-۱۰-۲۰ ۱۴:۱۷

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

profile
رادمهر گفت :
۱۳۹۹-۰۸-۱۹ ۱۳:۴۶

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

profile
zeus گفت :
۱۴۰۰-۰۳-۰۵ ۰۸:۴۷

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

profile
محمد حسین رحیمی گفت :
۱۳۹۹-۰۵-۲۶ ۲۰:۲۴

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

profile
زئوس Zeus گفت :
۱۳۹۹-۰۵-۲۷ ۰۸:۴۹

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

profile
سجاد گفت :
۱۳۹۹-۰۳-۱۰ ۱۹:۴۵

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

0912xxxxxxx قیاسوند

با تشکر

profile
زئوس Zeus گفت :
۱۳۹۹-۰۳-۱۹ ۰۸:۴۶

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

profile
احمد گفت :
۱۳۹۸-۰۹-۲۷ ۱۲:۴۴

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

profile
زئوس Zeus گفت :
۱۳۹۸-۰۹-۲۷ ۱۴:۳۰

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

profile
فرشاد گفت :
۱۳۹۸-۰۵-۲۴ ۱۸:۴۹

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

profile
زئوس Zeus گفت :
۱۳۹۸-۰۵-۲۶ ۱۰:۲۶

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

profile
فرشاد گفت :
۱۳۹۸-۰۵-۲۷ ۱۰:۱۳

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

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

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

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

profile
زئوس Zeus گفت :
۱۳۹۸-۰۶-۰۶ ۱۰:۵۹

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

profile
Y گفت :
۱۳۹۷-۱۲-۲۷ ۱۴:۰۹

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

profile
زئوس Zeus گفت :
۱۳۹۸-۰۱-۱۱ ۱۲:۰۲

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

profile
عرفان گفت :
۱۳۹۷-۰۸-۰۷ ۰۱:۲۳

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

profile
زئوس Zeus گفت :
۱۳۹۷-۰۸-۰۷ ۰۹:۱۲

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

profile
علی گفت :
۱۳۹۷-۰۶-۱۸ ۲۲:۲۵

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

profile
زئوس Zeus گفت :
۱۳۹۷-۰۶-۲۲ ۱۱:۳۶

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

profile
محمد گفت :
۱۳۹۶-۰۵-۳۰ ۰۹:۲۵

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

profile
زئوس Zeus گفت :
۱۳۹۶-۰۶-۰۱ ۰۹:۰۷

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

profile
Amir1995 گفت :
۱۳۹۶-۰۵-۲۹ ۱۸:۳۸

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

profile
زئوس Zeus گفت :
۱۳۹۶-۰۶-۰۱ ۰۹:۰۲

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

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله