簡體   English   中英

奇怪的自定義 VGA 信號行為 (FPGA)

[英]Weird custom VGA signal behaviour (FPGA)

我的目標是在分辨率為 640x480px 的 VGA 顯示器上顯示一些東西。 出於其他原因,我真的很想堅持這個決議,但我們會看到的。

問題

有些線條顯得較暗,有些線條顯得較淡,左側還有一個大的黑色邊框。 我很確定這不是(純粹)由於我的“信號時序錯誤”。 (請忽略白色划痕) 顯示屏圖片

我的設置

  • Altera Cyclone IV FPGA
  • 3x330 Ohm 電阻器(在 R,G,B 線上)(我直接用 3V3 驅動 VSYNC 和 HSYNC)
  • 顯示器 NEC MultiSync EA232WMi( 手動

驗證碼

module vga_test (
    output wire HSYNC,
    output wire VSYNC,
    output wire enable,
    output wire r,
    output wire g,
    output wire b,
    // 50 MHz at clk
    input wire clk
    );
    
    reg [32:0] hor_counter;
    reg [32:0] ver_counter;
 
    reg [32:0] counter;
 
    always @(posedge clk) begin
        counter <= counter + 1;
 
            if (enable == 1) begin
                    if (hor_counter[2:0] == 3) begin
                        g <= 1;
                    end else begin
                        g <= 0;
                    end
            end
 
            // Vertical counter
            if (hor_counter == 1271) begin
                enable <= 0;
            end if (hor_counter == 1303) begin
                HSYNC <= 0;
            end if (hor_counter == 1494) begin
                HSYNC <= 1;
            end    
 
            hor_counter <= hor_counter + 1;
 
            if (hor_counter == 1589) begin
            // if (hor_counter == 800) begin
                hor_counter <= 0;
                ver_counter <= ver_counter + 1;
                g <= 0;
 
                if (ver_counter <= 480) begin
                    enable <= 1;                end
 
            end
 
 
        // Horizontal counter
        if (ver_counter == 490) begin
            VSYNC <= 0;
        end if (ver_counter == 492) begin
            VSYNC <= 1;
        end
 
        if (ver_counter == 525) begin
            ver_counter <= 0;
        end
 
    end
 
endmodule

非常有趣的是,顯示器並沒有將其選為 640x480,而是 720x480。 這也許可以解決為什么有黑色邊框,但用戶手冊說支持 640x480。 這不僅僅是這台顯示器,我嘗試了其他一些我手頭的類似結果。 也許我沒有得到信號時序的某些東西? 如果“圖片”看起來像這篇文章一樣被拉伸,我不會感到驚訝,但這看起來像一個正弦模式。

您的代碼輸出一個大的水平前廊。 您的顯示器顯示了一個大的水平前廊。

嘗試將 hsync 信號移近末端。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM