wwwjjj-1 发表于 2012-4-20 09:33:33

大家看看我的FPGA驱动5‘tft

本帖最后由 wwwjjj-1 于 2012-4-20 09:37 编辑

使用黑金开发板(EP2C8Q208C8)

显示横条正常



显示竖条好像地址有问题



仿真图如下 行场极性反的


各位仙人看看哪的问题

程序如下:
module sync_module(

        CLK,RSTn,
        VSYNC_Sig,HSYNC_Sig,Read_Sig,
        Column_Addr_Sig,Row_Addr_Sig,DCLK

);

        input CLK;
        input RSTn;
        output VSYNC_Sig;
        output HSYNC_Sig;
        output Read_Sig;
        output Column_Addr_Sig;
        output Row_Addr_Sig;
        output DCLK;
       
        reg Count_H;
       
        always @(posedge CLK or negedge RSTn)
                if(!RSTn)
               
                                Count_H<=11'd0;
                else if(Count_H>=11'd928)
                        Count_H<=11'd0;
                else
                        Count_H<=Count_H + 1'b1;
       
        reg Count_V;
       
        always @(posedge CLK or negedge RSTn)
                if(!RSTn)
                        Count_V<=11'd0;
                else if(Count_V>=11'd525)
                        Count_V<=11'd0;
                else if(Count_H>=11'd928)
                        Count_V<=Count_V + 1'b1;
                       
                       
        assign HSYNC_Sig = (Count_H<11'd88);
        assign VSYNC_Sig = (Count_V<11'd3);
        assign Read_Sig = (HSYNC_Sig<=800) && (VSYNC_Sig<=480);
        //assign Frame_Sig = (Count_V==11'd803)? 1'b1 : 1'b0;
       
        assign DCLK = CLK ;

        assign Column_Addr_Sig = Count_H - 11'd88;
        assign Row_Addr_Sig = Count_V-11'd32;


endmodule

tft手册如下:




wye11083 发表于 2012-4-20 13:10:13

看到了,信号反了,H/VSync使用的是下降沿,而你写成上升沿了。
      assign HSYNC_Sig = (Count_H<11'd88);
      assign VSYNC_Sig = (Count_V<11'd3);
这样就变成在第88列时/第3帧时同步,然后就变成你那样子了(注意你的竖条中间有一段是回扫信号,说明同步变晚了)。不过你的代码真简单,我写了450行左右。

wwwjjj-1 发表于 2012-4-20 15:41:08

但如果这样
assign HSYNC_Sig = (Count_H<11'd88) ? 1'b1: 1'b0;
      assign VSYNC_Sig = (Count_V<11'd3)?1'b1: 1'b0;

连上面得效果都没有!!
页: [1]
查看完整版本: 大家看看我的FPGA驱动5‘tft