فهرست مطالب:

طراحی یک کنترلر ساده VGA در VHDL و Verilog: 5 مرحله
طراحی یک کنترلر ساده VGA در VHDL و Verilog: 5 مرحله

تصویری: طراحی یک کنترلر ساده VGA در VHDL و Verilog: 5 مرحله

تصویری: طراحی یک کنترلر ساده VGA در VHDL و Verilog: 5 مرحله
تصویری: microblaze p2 2024, دسامبر
Anonim
طراحی یک کنترلر ساده VGA در VHDL و Verilog
طراحی یک کنترلر ساده VGA در VHDL و Verilog

در این قسمت آموزشی ، ما قصد داریم یک کنترلر ساده VGA را در RTL طراحی کنیم. VGA Controller یک مدار دیجیتالی است که برای هدایت نمایشگرهای VGA طراحی شده است. از Frame Buffer (حافظه VGA) که نشان دهنده قاب نمایش داده شده است ، می خواند و داده های لازم و سیگنال های همگام سازی را برای منظور نمایش ایجاد می کند.

اگر به دنبال کد Verilog/System verilog هستید: به وبلاگ من VGA Controller و Video System در Verilog مراجعه کنید.

مرحله 1: رابط کنترل VGA

در زیر سیگنال های رابط اصلی در کنترل VGA آمده است

  • ساعت پیکسل یا ساعت VGA
  • سیگنالهای HSYNC و VSYNC

برای انتخاب صفحه نمایش VGA ، ابتدا باید فرکانس ساعت پیکسل مورد نیاز برای رانندگی آن را محاسبه کنید. این بستگی به 3 پارامتر دارد: مجموع پیکسل های افقی ، پیکسل های عمودی کل ، نرخ تازه سازی صفحه.

به طور معمول ، F = THP * TVP * نرخ تازه سازی

اسناد مربوط به ساعت پیکسلی مورد نیاز برای نمایشگرهای مختلف VGA را در RAR پیوست پیدا کنید.

سیگنال های HSYNC و VSYNC از ساعت Pixel تولید می شوند. زمان بندی سیگنال های HSYNC و VSYNC به تعداد پارامترها بستگی دارد: افقی و عمودی جلو ، پشتی افقی و عمودی ، پیکسل های نمایش افقی و عمودی ، پهنای پالس همگام سازی افقی و عمودی و قطب ها.

این پارامترها برای صفحه نمایش VGA انتخاب شده استاندارد می شوند. این اسناد را در RAR پیوست پیدا کنید.

این پارامترها در IP کنترل کننده VGA ما پارامترهای قابل تنظیم هستند.

مرحله 2: ادغام کنترلر VGA با صفحه نمایش VGA

ادغام کنترل VGA با صفحه نمایش VGA
ادغام کنترل VGA با صفحه نمایش VGA

شکل نشان می دهد که چگونه VGA Controller را با یک صفحه نمایش VGA ادغام کنید. برای تکمیل سیستم به دو جزء دیگر نیاز دارید:

  • Frame Buffer: حافظه ای است که قاب نمایش داده شده را نگه می دارد.
  • ویدئو DAC: DAC که داده های دیجیتال RGB را تبدیل می کند و صفحه VGA را با سیگنال های آنالوگ RGB در سطح ولتاژ مناسب هدایت می کند.

یکی از ساده ترین و محبوب ترین DAC های ویدیویی ADV7125 است. این یک DAC 8 بیتی است که کلمات دیجیتال RGB را به سیگنالهای آنالوگ 0-0.7 ولت تبدیل می کند و صفحه نمایش VGA را هدایت می کند.

مرحله 3: طراحی قاب بافر

این حافظه است که تصویر را برای نمایش ذخیره می کند. معمولاً RAM یا گاهی ROM است. ما در مورد چگونگی طراحی یک بافر فریم برای نشان دادن یک تصویر بحث خواهیم کرد. بافر فریم این اطلاعات دیجیتالی را به دستور DAC Video به فرمان VGA Controller منتقل می کند.

ابتدا باید عمق پیکسل مورد نیاز را تعیین کنیم. کیفیت تصویر را تعیین می کند ، تنوع رنگی که یک پیکسل می تواند نشان دهد. برای یک DAC 8 بیتی ، ما باید اجزای اصلی رنگ پیکسل را نمایش دهیم: R ، G و B در هر بیت 8 بیت. این بدان معناست که پیکسل 24 بیتی است.

هر پیکسل به صورت پیوسته در مکان های حافظه Frame Buffer ذخیره می شود.

فرض کنید تصویری که باید نمایش داده شود 800x600 پیکسل است.

بنابراین Frame Buffer مورد نیاز 800x600 = 480000 x 24 بیت حافظه است

اندازه کل حافظه 800x600x24 = 1400 کیلوبایت تقریبا.

اگر تصویر سیاه و سفید باشد ، 800x600x1 = 60 کیلوبایت تقریبا.

RAM های مسدود شده ممکن است برای نشان دادن Frame Buffer در FPGA های Xilinx استفاده شوند.

مرحله 4: یادداشت ها

  • بسته به DAC انتخاب شده ، سیگنالهای اضافی در کنترلر VGA مورد نیاز است. من از ADV7125 استفاده کردم.
  • قبل از رانندگی با صفحه نمایش VGA ، تاخیرهای چرخه را از طریق دمپایی در VSYNC و HSYNC اضافه کنید. این به دلیل تاخیرهای DAC و Memory است. سیگنالهای پیکسل باید با HSYNC و VSYNC همگام شوند. در مورد من ، 2 تاخیر چرخه بود.
  • اگر Frame Buffer با اندازه معین به دلیل محدودیت اندازه بلوک نمی تواند روی FPGA طراحی شود ، از حافظه کوچکتر برای نمایش تصویر استفاده کنید و به سادگی کد را ویرایش کنید تا آدرس را در مرز حافظه موجود بجای مرز کامل فریم تغییر دهید. این یک تصویر را در سراسر صفحه بارها و بارها تکرار می کند. روش دیگر مقیاس بندی پیکسل است که در آن هر پیکسل تکرار می شود تا کل تصویر را در تمام صفحه و با وضوح کمتر نشان دهد. این را می توان با اصلاح منطق افزایش آدرس در کد انجام داد.
  • IP به طور کامل در تمام FPGA ها قابل حمل است و زمان تا 100 مگاهرتز در Virtex-4 FPGA تأیید می شود.

مرحله 5: فایل های پیوست شده

RAR شامل موارد زیر است:

  • کد کنترل کننده VGA
  • PDF های استاندارد VGA.

توصیه شده: