Mục lục:

Thiết kế bộ điều khiển VGA đơn giản trong VHDL và Verilog: 5 bước
Thiết kế bộ điều khiển VGA đơn giản trong VHDL và Verilog: 5 bước

Video: Thiết kế bộ điều khiển VGA đơn giản trong VHDL và Verilog: 5 bước

Video: Thiết kế bộ điều khiển VGA đơn giản trong VHDL và Verilog: 5 bước
Video: Giải bài tập VHDL|Thiết kế bộ cộng 4 bit tương tự IC 7483 (Phần 1) 2024, Tháng sáu
Anonim
Thiết kế bộ điều khiển VGA đơn giản trong VHDL và Verilog
Thiết kế bộ điều khiển VGA đơn giản trong VHDL và Verilog

Trong hướng dẫn này, chúng tôi sẽ thiết kế một Bộ điều khiển VGA đơn giản trong RTL. Bộ điều khiển VGA là mạch kỹ thuật số được thiết kế để điều khiển màn hình VGA. Nó đọc từ Frame Buffer (Bộ nhớ VGA) đại diện cho khung được hiển thị và tạo ra dữ liệu cần thiết và tín hiệu đồng bộ cho mục đích hiển thị.

Nếu bạn đang tìm mã Verilog / System Verilog: Hãy truy cập blog của tôi Bộ điều khiển VGA và Hệ thống Video trong Verilog

Bước 1: Giao diện của Bộ điều khiển VGA

Sau đây là các tín hiệu giao diện chính trong Bộ điều khiển VGA

  • Đồng hồ Pixel hoặc Đồng hồ VGA
  • Tín hiệu HSYNC và VSYNC

Đối với màn hình VGA được chọn, trước tiên bạn phải tính toán tần số của Đồng hồ điểm ảnh cần thiết để điều khiển nó. Nó phụ thuộc vào 3 thông số: Tổng số điểm ảnh ngang, Tổng số điểm ảnh dọc, Tốc độ làm mới màn hình.

Thông thường, F = THP * TVP * Tốc độ làm mới

Tìm tài liệu về đồng hồ pixel cần thiết cho các màn hình VGA khác nhau, trong RAR đính kèm.

Tín hiệu HSYNC và VSYNC được tạo ra từ đồng hồ Pixel. Thời gian của các tín hiệu HSYNC và VSYNC phụ thuộc vào số lượng tham số: Độ rộng và Độ phân cực của Xung trước ngang và dọc, Điểm ảnh hiển thị ngang và dọc, Điểm ảnh hiển thị ngang và dọc, Độ rộng và phân cực của xung đồng bộ hóa theo chiều ngang và dọc.

Các thông số này được tiêu chuẩn hóa cho màn hình VGA đã chọn. Tìm các tài liệu này trong RAR đính kèm.

Các thông số này là các thông số có thể cấu hình trong IP Bộ điều khiển VGA của chúng tôi.

Bước 2: Tích hợp Bộ điều khiển VGA với Màn hình VGA

Tích hợp bộ điều khiển VGA với màn hình VGA
Tích hợp bộ điều khiển VGA với màn hình VGA

Hình minh họa cách tích hợp Bộ điều khiển VGA với màn hình VGA. Bạn cần thêm hai thành phần nữa để hoàn thiện hệ thống:

  • Bộ đệm khung: Bộ nhớ chứa khung sẽ được hiển thị.
  • Video DAC: DAC chuyển đổi dữ liệu kỹ thuật số RGB và điều khiển Màn hình VGA với tín hiệu tương tự RGB ở mức điện áp thích hợp.

Một trong những DAC Video đơn giản và phổ biến là ADV7125. Nó là một DAC 8-bit chuyển đổi từ kỹ thuật số RGB sang tín hiệu tương tự 0-0,7 V và điều khiển màn hình VGA.

Bước 3: Thiết kế bộ đệm khung

Nó là bộ nhớ 'lưu trữ' hình ảnh được hiển thị. Nó thường là RAM hoặc đôi khi là ROM. Chúng ta sẽ thảo luận về cách thiết kế bộ đệm khung để thể hiện một hình ảnh. Bộ đệm khung chuyển thông tin kỹ thuật số này đến Video DAC theo lệnh từ Bộ điều khiển VGA.

Đầu tiên chúng ta phải quyết định độ sâu pixel cần thiết. Nó quyết định chất lượng của hình ảnh, sự đa dạng của màu sắc mà một pixel có thể thể hiện. Đối với DAC 8 bit, chúng ta cần biểu diễn các thành phần màu cơ bản của pixel: R, G và B mỗi pixel 8 bit. Nó có nghĩa là, một pixel là 24-bit.

Mỗi pixel được lưu trữ theo cách liền kề trong các vị trí bộ nhớ Frame Buffer.

Giả sử một hình ảnh được hiển thị là 800x600 pixel.

Do đó Frame Buffer cần là bộ nhớ 800x600 = 480000 x 24 bits

Tổng kích thước của bộ nhớ là khoảng 800x600x24 = 1400 kB.

Nếu hình ảnh đen trắng, khoảng 800x600x1 = 60 kB.

Khối RAM có thể được sử dụng để đại diện cho Frame Buffer trong Xilinx FPGA.

Bước 4: Ghi chú

  • Các tín hiệu bổ sung là cần thiết trên Bộ điều khiển VGA tùy thuộc vào DAC được chọn. Tôi đã sử dụng ADV7125.
  • Thêm độ trễ chu kỳ thông qua flip-flops trên VSYNC và HSYNC trước khi điều khiển màn hình VGA. Điều này là do độ trễ DAC và bộ nhớ. Các tín hiệu pixel phải được đồng bộ hóa với HSYNC và VSYNC. Trong trường hợp của tôi, đó là sự chậm trễ 2 chu kỳ.
  • Nếu Frame Buffer có kích thước nhất định không thể được thiết kế trên FPGA do giới hạn kích thước ram khối, hãy sử dụng bộ nhớ nhỏ hơn để đại diện cho hình ảnh và chỉ cần chỉnh sửa mã để cuộn qua địa chỉ trên ranh giới của bộ nhớ khả dụng, thay vì ranh giới của toàn khung. Thao tác này sẽ lặp đi lặp lại cùng một hình ảnh trên toàn bộ màn hình. Một phương pháp khác là chia tỷ lệ pixel, trong đó mỗi pixel được sao chép để hiển thị toàn bộ hình ảnh ở chế độ toàn màn hình, ở độ phân giải thấp hơn. Điều này có thể được thực hiện bằng cách điều chỉnh logic gia tăng địa chỉ trong mã.
  • IP hoàn toàn di động trên tất cả các FPGA và được xác minh thời gian lên đến 100 MHz trên Virtex-4 FPGA.

Bước 5: Tệp đính kèm

RAR chứa:

  • Mã bộ điều khiển VGA
  • PDF tiêu chuẩn VGA.

Đề xuất: