Агуулгын хүснэгт:

VHDL ба Verilog дээр энгийн VGA хянагчийн дизайн: 5 алхам
VHDL ба Verilog дээр энгийн VGA хянагчийн дизайн: 5 алхам

Видео: VHDL ба Verilog дээр энгийн VGA хянагчийн дизайн: 5 алхам

Видео: VHDL ба Verilog дээр энгийн VGA хянагчийн дизайн: 5 алхам
Видео: VHDL and the VHDPlus IDE + Simulation with VHDL and GHDL 2024, Оны зургадугаар сарын
Anonim
VHDL ба Verilog дээрх энгийн VGA хянагчийн загвар
VHDL ба Verilog дээрх энгийн VGA хянагчийн загвар

Энэхүү зааварчилгаанд бид RTL дээр энгийн VGA хянагч зохион бүтээх гэж байна. VGA хянагч нь VGA дэлгэцийг удирдах зориулалттай дижитал хэлхээ юм. Энэ нь харуулах хүрээг харуулсан Frame Buffer (VGA санах ой) -оос уншиж, дэлгэцийн зорилгоор шаардлагатай өгөгдөл болон синхрончлолын дохиог бий болгодог.

Хэрэв та Verilog/System verilog кодыг хайж байгаа бол: Verilog дахь миний блог VGA хянагч ба видео системд зочилно уу.

Алхам 1: VGA хянагчийн интерфэйс

VGA хянагчийн үндсэн интерфэйсийн дохионууд энд байна

  • Pixel цаг эсвэл VGA цаг
  • HSYNC ба VSYNC дохио

VGA дэлгэцийг сонгохын тулд та үүнийг жолоодоход шаардлагатай Pixel Clock -ийн давтамжийг тооцоолох хэрэгтэй. Энэ нь 3 параметрээс хамаарна: Нийт хэвтээ пиксел, Нийт босоо пиксел, Дэлгэцийг шинэчлэх хурд.

Ихэвчлэн F = THP * TVP * Refresh Rate

Төрөл бүрийн VGA дэлгэцэнд шаардлагатай пикселийн цаг хугацааны баримт бичгийг хавсаргасан RAR дээрээс олоорой.

HSYNC ба VSYNC дохиог Pixel цагнаас үүсгэдэг. HSYNC ба VSYNC дохионы хугацаа нь параметрийн тооноос хамаарна: Хэвтээ ба босоо урд талын, хэвтээ ба босоо арын нүх, хэвтээ ба босоо дэлгэцийн пиксел, хэвтээ ба босоо синхрончлолын импульсийн өргөн ба туйл.

Эдгээр параметрүүдийг сонгосон VGA дэлгэц дээр стандартчилдаг. Эдгээр баримт бичгийг хавсаргасан RAR дээрээс олоорой.

Эдгээр параметрүүд нь манай VGA Controller IP дээр тохируулагдах параметрүүд юм.

Алхам 2: VGA хянагчийг VGA дэлгэцтэй нэгтгэх

VGA хянагчийг VGA дэлгэцтэй нэгтгэх
VGA хянагчийг VGA дэлгэцтэй нэгтгэх

Зураг дээр VGA хянагчийг VGA дэлгэцтэй хэрхэн нэгтгэх талаар харуулав. Системийг дуусгахын тулд танд өөр хоёр бүрэлдэхүүн хэсэг хэрэгтэй болно.

  • Хүрээний буфер: Харагдах хүрээг багтаасан санах ой.
  • Видео DAC: RGB дижитал өгөгдлийг хөрвүүлж, VGA дэлгэцийг RGB аналог дохиог зохих хүчдэлийн түвшинд жолооддог DAC.

Хамгийн энгийн бөгөөд алдартай видео DAC -ийн нэг бол ADV7125 юм. Энэ нь RGB дижитал үгсийг 0-0.7 В аналог дохио болгон хөрвүүлж, VGA дэлгэцийг жолооддог 8 битийн DAC юм.

Алхам 3: Frame Buffer Design

Энэ бол харуулах дүрсийг "хадгалдаг" санах ой юм. Энэ нь ихэвчлэн RAM эсвэл заримдаа ROM юм. Зургийг дүрслэхийн тулд хүрээ буфер хэрхэн зохион бүтээх талаар бид ярилцах болно. Frame buffer нь энэхүү дижитал мэдээллийг VGA Controller -ийн тушаалаар Video DAC руу дамжуулдаг.

Эхлээд бид шаардлагатай пикселийн гүнийг шийдэх хэрэгтэй. Энэ нь зургийн чанар, пикселийн дүрслэх олон янзын өнгийг тодорхойлдог. 8 битийн DAC-ийн хувьд бид пикселийн үндсэн өнгөний бүрэлдэхүүн хэсгүүдийг тус бүр 8 битээр дүрслэх ёстой: R, G, B. Энэ нь пиксел нь 24 битийн хэмжээтэй гэсэн үг юм.

Пиксел бүрийг Frame Buffer санах ойн байршилд дараалсан байдлаар хадгалдаг.

Харуулах зураг нь 800x600 пиксел байна гэж бодъё.

Тиймээс шаардлагатай Frame Buffer нь 800x600 = 480000 x 24 битийн санах ой юм

Санах ойн нийт хэмжээ 800x600x24 = 1400 кБ орчим байна.

Хэрэв хар цагаан зураг байвал 800x600x1 = 60 кБ ойролцоогоор.

Блок RAM нь Xilinx FPGA -д Frame Buffer -ийг төлөөлөхөд ашиглагддаг байж магадгүй юм.

Алхам 4: Тэмдэглэл

  • Сонгосон DAC -ээс хамааран VGA хянагч дээр нэмэлт дохио шаардлагатай болно. Би ADV7125 ашиглаж байсан.
  • VGA дэлгэцийг жолоодохын өмнө VSYNC ба HSYNC дээр товчлуур хийх замаар мөчлөгийн хоцролтыг нэмнэ үү. Энэ нь DAC болон санах ойн хоцрогдолтой холбоотой юм. Пикселийн дохиог HSYNC ба VSYNC синхрончлох ёстой. Миний хувьд энэ нь 2 мөчлөгийн саатал байсан.
  • Хэрэв өгөгдсөн хэмжээтэй Frame Buffer -ийг хуцны хэмжээг хязгаарласны улмаас FPGA дээр зохион бүтээх боломжгүй бол зургийг томруулахын тулд жижиг санах ойг ашиглаарай, кодыг бүрэн санах ойн хүрээ биш харин боломжтой санах ойн хил дээр байрлуулахын тулд кодоо засаарай. Энэ нь дэлгэцэн дээр ижил зургийг дахин дахин давтах болно. Өөр нэг арга бол пикселийн масштабчлал бөгөөд пиксел бүрийг хуулбарлаж, дүрсийг бүхэлд нь бага нарийвчлалтайгаар харуулдаг. Үүнийг кодын хаягийг нэмэгдүүлэх логикийг өөрчлөх замаар хийж болно.
  • IP нь бүх FPGA-д бүрэн зөөврийн бөгөөд Virtex-4 FPGA дээр 100 МГц хүртэл баталгаажсан болно.

Алхам 5: Хавсаргасан файлууд

RAR нь дараахь зүйлийг агуулдаг.

  • VGA хянагчийн код
  • VGA стандартын PDF файлууд.

Зөвлөмж болгож буй: