راه‌اندازی پورت VGA با FPGA (بازی تتریس)

راه‌اندازی پورت VGA با FPGA (بازی تتریس)

راه‌اندازی پورت VGA با FPGA (بازی تتریس)
راه‌اندازی پورت VGA با FPGA (بازی تتریس)

در این مقاله قصد داریم در رابطه با راه‌اندازی VGA با FPGA صحبت کنیم. اما قبل از آن بهتر است کمی در رابطه با خود VGA توضیحاتی را بیان کنیم.

VGA (Video Graphics Array)

VGA مخفف عبارت Video Graphics Array است. این درگاه در سال ۱۹۸۷ توسط IBM طراحی و جایگزین استانداردهای EGA، MDA و CGA شد.

درگاه VGA دارای ۱۵ پین (DB-15) به صورت سه ردیفی است البته در استاندارد مینی وی جی ای (Mini-VGA) تعداد این پین‌ها ۱۴ و به صورت دو ردیفی است. این درگاه داده‌های تصویری را به صورت آنالوگ منتقل می‌کند. داده‌های رنگ‌ها متمایز از همدیگر هستند، یعنی داده‌های مربوط به هر یک از رنگ‌های قرمز، سبز و آبی از طریق سه پین متفاوت ارسال می‌شوند. پین‌های یک تا سه به ترتیب وظیفه انتقال داده‌های مربوط به رنگ قرمز، سبز و آبی را برعهده دارند.

حداکثر رزولیشن (Resolution) پشتیبانی شده (در حالت استاندارد) برای درگاه وی جی ای، ۲۰۴۸ در ۱۵۳۶ پیکسل (۲۰۴۸*۲۵۳۶ px) است.

وظیفه درگاه VGA انتقال داده‌های تصویری به صورت آنالوگ از کامپیوتر (یا سایر دستگاه‌ها) به دستگاه‌های پخش کننده نظیر صفحه‌های نمایش (Monitors)، پروژکتورها (Projectors)، برخی از تلوزیون‌ها و … است. اکثر صفحات نمایش (Monitors) حداقل دارای یک پورت VGA هستند. به این ترتیب توسط درگاه VGA می‌توانیم تصاویر را منتقل کرده و آن‌ها را مشاهده کنیم.

کانکتور VGA

VGA pinout

Pin Name Dir Description
1 RED --> Red Video (75 ohm, 0.7 V p-p)
2 GREEN --> Green Video (75 ohm, 0.7 V p-p)
3 BLUE --> Blue Video (75 ohm, 0.7 V p-p)
4 RES Reserved
5 GND --- Ground
6 RGND --- Red Ground
7 GGND --- Green Ground
8 BGND --- Blue Ground
9 +5V --> +5 VDC
10 SGND --- Sync Ground
11 ID0 <-- Monitor ID Bit 0 (optional)
12 SDA <-> DDC Serial Data Line
13 HSYNC or CSYNC --> Horizontal Sync (or Composite Sync)
14 VSYNC --> Vertical Sync
15 SCL <-> DDC Data Clock Line

در جدول بالا شرح و دایرکشن هر یک از این پین‌ها به خوبی توضیح داده شده است و نیاز به هیچ گونه توضیح اضافی نیست.

تصویری از چگونگی pinout را در تصویر زیر نیز مشاهده می‌کنید:

VGA pinout

بازی تتریس با FPGA

ما با استفاده از زبان وریلاگ و برد آموزشی ALINX بازی تتریس را بر روی FPGA پیاده کردیم.

بر روی برد آموزشی ALINX یک کانکتور VGA وجود دارد ما یک سر کابل VGA را به برد و سر دیگر کابل را مانیتور وصل می‌کنیم و همچنین با استفاده از کلیدهایی که بر روی برد وجود دارد بازی می‌کنیم.

این مقاله برگرفته از این پروژه در گیت‌هاب است، که شما می‌توانید کدهای مربوطه را از سایت گیت‌هاب دانلود کنید.

همچنن فیلم زیر تست و راه‌اندازی این پروژه می‌باشد که می‌توانید مشاهده کنید.

برچسب ها

0 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

0 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

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

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک