مدارات fpga
FPGA
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: ارتباطی
- بازدید: 6444
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: برد آموزشی و پروگرامر
- بازدید: 15868
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: با نمایشگر 7سگمنت
- بازدید: 18615
این پروژه یک بخش به نام clkdiv.vhd وجود دارد که کار این قسمت این است که کلاک لازم را برای وقفه های بین بخش نمایشگر ترافیک ایجاد میکند و در واقعیت به این ماژول نیاز است تا مثلاً برای تولید کلاک یک ثانیه از کلاک 3 کیلو هرتز وقفه ی لازم را تولید کند یا به اصطلاح یک بخش است برای تولید کلاک سنکرون میباشد.در شبیه سازی برای تولید کلاک سرعیتر نیازی به این بخش نیست اما در واقعیت نیاز است این بخش وجود داشته باشد تا از روی کلاک کلی مدار بتوان کلاک یک ثانیه را محاسبه و برای قسمتهای دیگر مدار تولید کرد.شبیه سازی با استفاده از نرم افزار ise انجام شده و فایل پروژه شامل فایل شبیه سازی و پروژه ise میباشد.البته میتوان از کدهای vhdl در این پروژه برای دیگر نرم افزارهای vhdl شبیه به کوارتیوس و اکتیوhdl ومدلسیم هم استفاده کرد.
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: با نمایشگر 7سگمنت
- بازدید: 21205
seven segment یا 7segment در اصطلاح این واژه یعنی هفت بخش ،قطعه ای الکترونیکی است که از 7 ال ای دی تشکیل شده است و در خيلي از وسايل الكترونيكي از جمله مايكرويو و ماشین لباسشویی و... وجود دارد. از مزیت های این وسیله می توان به قابلیت دید از فواصل بسیار دور و قیمت بسیار پایین نسبت به ال سی دی کارکتری اشاره کرد. دو نوع هفت سگمنت داریم نوع اول آند مشترک :که در این نوع آند(مثبت) تمامی دیود ها به هم متصل شده است نوع دوم کاتد مشترک:در این نوع کاتد (منفی) تمامی دیود ها به هم متصل شده است. در این پروژه که به زبان vhdl نوشته شده است یک عدد دو رقمی با استفاده از سون سگمنت نمایش داده میشود بدون شک میدانید که برای نمایش اعداد روی سون سگمنت وقتی عدد از 9 بیشتر باشد باید عدد را به bcd تبدیل کنیم و با این تکنیک عدد را در رو بخش مختلف نمایش دهیم.در میکرو ها برای جدا کردن دو بخش یک عدد دو رقمی از یه سلسله عملیات تقسیم بر 10 و ذخیره در دو متغیر مختلف استفاده میکردیم.اما در vhdl و پیاده سازی سخت افزاری به هیچ وجه این روش بهینه نیست و راه حل بهتری وجود دارد که آن هم مقایسه عدد با 10 میباشد و در صورتی که عدد از 10 بیشتر بود آنرا با 6 جمع میکنیم و عدد حاصل مقدار bcd خواهد بود.برای مثال میخواهیم عدد 12 را روی سون سگمنت دوتایی نمایش دهیم بدون برای این کار باید روی سون سگمنت اول عدد 2 و روی دومی عدد 1 را نمایش دهیم و حاصل بشود 12 ولی اگر به فرم باینری 12 توجه کنیم خواهیم داشت 1100 که که هیچ شباهتی به 2 و 1 ندارد ولی اگر همین 12 را با 6 جمع کنیم میشود 18 که شکل باینری آن 00010010 است که 4 بیت اول 2 و 4 بیت بعد 1 است و میتوان به راحتی این دو مقدار را به 7 سگمنت ارسال کرد.حال برای اعداد بزرگتر از 20 نیز همین قانون بر قرار است یعنی اگر عدد از 20 بزرگتر بود باید دو بار با 6 جمع کنیم و اگر بزرگتر از 30 بود 3 بار...
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: برد آموزشی و پروگرامر
- بازدید: 20977
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: برد آموزشی و پروگرامر
- بازدید: 12946
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: با نمایشگر lcd
- بازدید: 13949
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: با نمایشگر lcd
- بازدید: 10704
این برنامه با تلاش زیادی تهیه شده است و علاوه بر راه اندازی کیبرد و نمایش کد مربوطه
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: کنترلر موتور
- بازدید: 15451
این برنامه با زبان vhdl نوشته شده و موج pwm را بر اساس عدد وارد شده تولید و به خروجی ارسال میکند.در این برنامه عدد 30 به معنای pwm کامل و 0 به معنای بدون موج خروجی میباشد.پروژه بر اساس ise طراحی شده است و برنامه ise را میتوانید از سایت دانلود نمایید.