CPLD و FPGA پروگرامر
ساخت پروگرامر CPLD و FPGA:
با توجه به نیاز استفاده از کنترلرهای FPGA و CPLD، بر آن شدیم که برای بالا بردن سطح آموزش و سهولت دسترسی، برد پروگرامری برای این کنترلرها ارائه کنیم. برای این منظور از چیپ پرکاربرد FT232 استفاده میکنیم.
چیپهای خانوادهی FTDI تنوع زیادی دارند و کارایی راحت و خوبی را ارائه میکنند. در این خانواده، چند چیپ وجود دارد که میتوان از آنها برای پروگرام کردن نیز استفاده کرد؛ مثل: FT232RL و یا FT2232.
در این مقاله قصد داریم کنترلرهای CPLD و FPGA را به کمک چیپ FT232RL برنامهریزی کنیم.
نقشهی ساخت پروگرامر و نیازهای آن:
طبق شماتیک دادهشده، میتوانید از این چیپ استفاده کنید. برای راهاندازی این چیپ، به ملزومات زیادی نیاز نداریم. مدار را به شکل زیر میبندیم و تمام! میتوانید از آن استفاده کنید.
سختافزار پروگرامر:
بردهای زیادی برای این چیپ طرحشده که میتوانید با قیمت مناسب یکی را تهیه و استفاده کنید. از بردهایی استفاده کنید که تمام پایههای آن بیرون آمده باشد.
برنامهی پروگرامر CPLD و FPGA:
برای پروگرام کردن FPGA و یا CPLD، میتوانید از نرمافزار FT232 SVF استفاده کنید.
این برنامه به کمک چیپ FT232 دیتا را از بستر SPI به FPGA و یا CPLD انتقال میدهد. فایلهای پروگرام با پسوند SVF، برای برنامه قابلقبول است.
شاید برای شما مفید باشد: آموزش FPGA
برد را به سیستم متصل و برنامه را باز کنید. دکمه Open Interface را فشار دهید. رنگ نشانگر روی برنامه سبز میشود. سپس دکمه Start BitBang Mode را بزنید تا نشانگرش آبیرنگ شود. پایههای چیپ را مطابق نقشه تعریف کنید و آدرس پروگرام را وارد کنید. سپس گزینه Process SVF File را بزنید. کمی صبر کنید تا برنامه روی کنترلر ریخته شود.
حال میتوانید از برنامهی ریخته شده روی کنترلر خود لذت ببرید.
ساخت فایل SVF برای پروگرام کردن CPLD:
همانطور که مشاهده کردید، برای برنامهریزی کنترلر، احتیاج به فایل خروجیِ پروژه با پسوند SVF داریم. برای بهدست آوردن این فایل کافی ست پس از پایان پروژه، در نرمافزار IMPACT مسیر زیر را برای ایجاد فایل دنبال کنید:
OutPut>SVF file>Create SVF file .
برنامه با زبان VB نوشتهشده و فایل برنامه از لینک زیر قابل دانلود است:
سلام
عذر میخوام آیا این پروگرامر تمام fpga ها را پروگرم میکند یا فقط تولیدات یک شرکت خاص را؟
اگر خیر، میشود یه پروگرامر دیگر هم معرفی کنید؟
سلام
با توجه به این که این پروگرامر از فایل svf استفاده میکنه منطقا باید بتونه هر چیپی رو پروگرام کنه ولی مساله اینه که آیا نرم افزارهای دیگه فایل svf درست تولید میکنند یا نه
با زایلینکس ظاهرا مشکلی نداره
سلام من پرسیدم میگن نمیشه با ft232rl پروگرم کرد چون پورت jtag نداره من برای پروگرم کردن cpld های زایلینکس میخواستم بسازم پروگرمر رو این مدار عملی هست؟ یا فقط با ft2232h میشه ساخت پروگرمر cpld fpga رو؟امکانش هست بیشتر در رابطه با جزییاتش توضیح بدید؟
سلام دوست عزیز
اگر برای پروگرام کردن cpld نیاز دارید شاید اگر unijtag رو ببیند بد نباشه !
سلام.
با توجه به اینکه ft232 یک مبدل usb به ttl هست
ایا میشه به جای ft232 از ی ایسی دیگه که همین پایه ها رو داره(مثلا cp210x)استفاده کرد؟
سلام
اگر برای پروگرامر بخواید استفاده کنید خیر امکان پذیر نیست چون توی این چیپ شرکت سازنده یه کتابخانه داده میشه پایه ها رو به شکل مستقل یعنی bitbang کنترل کرد و این مدل پروگرامر از این قابلیت استفاده میکنه
سلام.یه برد دارم که برنامه ریزی باید بشه. البته دوتا برد دارم. یه برد سالم و یه برد معیوب. میتونید از اون سالمه برنامه رو کپی کنید روی این خرابه. هزینش رو هم تقدیم میکنم
0912xxxxxxx قیاسوند
با تشکر
سلام دوست عزیز
اینترنت برای انتشار شماره همراه اصلا جای امنی نیست و ممکنه هزار مساله پیش بیاد – برای همین شماره تون رو پاک کردم.
بردی که دارید ، روش از چه آیسی ای استفاده شده که میخواید برنامه اش رو کپی کنید ؟
سلام
این پروگرامر قابلیت پروگرام کردن آی سی های Hisilicon را دارد؟ خصوصا Hi3521 را؟
فکر نمیکنم این قابلیت رو داشته باشه
با تشکر از به اشتراک گذاری این ایده
همه موارد بصورت open و باز گفته شده از جمله اسم دقیق آی سی و مدار دقیق و … فقط چرا سورس برنامه را بصورت باز نگذاشته اید و فقط کامپایل شده اش موجود است ؟ حیف نیست ؟
سلام دوست عزیز
بله متاسفانه همینطوره که میگید ! و برنامه هم با VB6 نوشته شده و در اوردن سورسش دیگه شدنی نیست :/
بله ممنونم. اما شاید برای رفع این نقصان بتوانیم علاقه مندانی را ترغیب کنیم چنین برنامه ای را بار دیگر بنویسند.
اگر موافق باشید من این برنامه را به دو قسمت تقسیم می کنم. بخش اول شناخت FT232 و استفاده از مد BitBang برای ارسال 0 و 1 دلخواه به آن سوی پورت است. این بخش از کار به کوشش خود شرکت FTDI که محصولش را در رقابت با محصولی مشابه از ti می بیند و بنابراین ترفند های مختلف محصول خود را به طور ویژه گسترش داده و آموزش می دهد، آسان شده است.
بخش دوم کار هم بر می گردد به اینکه xilinx را بشناسیم و بدانیم چگونه از طریق jtag پروگرام می شود. اینجا xilinx سرش خیلی شلوغ است و جواب مساله را در pdf های مختلف نوشته و من خودم زیاد سر در نیاورده ام.
اجازه می خواهم برداشت خودم را برای این بخش دوم ارائه کنم تا استاد گرامی و دوستان اصلاح کنند. تایمینگ را می خواهم شرح دهم. مثل اینکه ابتدا بایستی prog_b زده شود بعد که رها شد بلافاصله دیتا روی TDI گذاشته شده و TCK پالس بخورد. از بیت LSB بایت اول فایل SVF شروع می کنیم و بیت به بیت روی آنها پالس می زنیم. طول فایل svf مشخص و ثابت است و بنابراین xilinx متوجه می شود کار پروگرامر به انتها رسیده است.
مطمئن هستم این تایمینگ ناقص است. لطفا اصلاح بفرمایید. ممنونم.
سلام دوست عزیز
ببخشید برای دیر شدن پاسخ ؛ من مقداری سرچ کردم و نتیجه های خوبی هم گرفتم ؛ یه پروژه هست تحت عنوان libsvf که ظاهرا همین کاری که شما میخواید انجام بدید رو انجام میده و دقیقا مثال داره که با ایپی ft232 این کار رو انجام میده
لینک پروژه Lib(x)SVF
با سلام،آیا تجربه کار با ft2232D رو هم دارید؟
تا سوالتون رو ندونونم نمی تونم کمکی بکنم 😐
با عرض سلام کار با fpga رو تازه شروع کردم خواستم بپرسم این پروگرامر برا نرم افزار ISE هم جواب میده . باتشکر
سلام
این پروگرارم درون نرم افزار ise قابل استفاده نیست ولی نحوه خروجی گرفتن ا ISE فکر میکنم دورن پست هست
با سلام و تشکر بابت این ایده جالب!!
نرم افزار نوشته شده با ویژوال بیسیک در هنگام اجرا ارور می دهد.
Run-time error ’76’ path not found
اینم توی فایل log نوشته شده:
Line 90: Cannot load control pb1; license not found.
سلام دوست عزیز
سیستم عاملتون چی هست
درود
دوست عزیز امکانش هست بجای ft232 از pl2303 استفاده کرد؟
نه متاسفانه ؛ برای پروگرام از قابلیت BitBang که در چیپ های FT موجود هست استفاده شده برای همین نمیشه از چیپ دیگری استفاده کرد.
سلام خسته نباشید
میخواستم ببینم شما آموزش FPGA هم شروع میکنید ؟؟
سلام و درود دوست عزیز
در خصوص آموزش فعلا برنامه ای نداریم ولی در آینده نزدیک ، دو یا سه تا پروژه با FPGA و CPLD منتشر خواهیم کرد ، پروژه کاربردی