whwlxl 发表于 2010-8-12 18:04:07

关于CPLD驱动TFT液晶的问题

TFT真彩液晶在驱动时,如果时钟是变宽的是否会影响到显示?
always @ ( posedge GCLK )
begin
        if ( r_tft_clk == 0 )
                begin
                r_tft_rgb <= RAM_D;
                if( TFT_DE )
                        r_tft_addr <= r_tft_addr+1'b1;
                else
                        if( r_tft_addr >= 20'd479999 )
                                r_tft_addr <= 0;
                end
end

always @ ( posedge GCLK )
begin
        case(r_state)
        0:        begin
                r_ram_we1 = 1'b1;        //read;
                r_ram_idx = 1'b1;        //TFT addr;
                r_tft_clk = 1'b0;
                r_state = 1;
                end
        1:        begin
                r_tft_clk = 1'b1;

                if( r_eb_busy )
                        begin
                        r_ram_idx = 1'b0;        //Cmd addr;
                        if( r_rw_ram_flg == 0 )        //Read
                                r_ram_we1 = 1'b0;        //write
                        else
                                r_ram_we1 = 1'b1;        //read
                        r_state = 2;
                        end
                else
                        r_state = 0;
                end
        2:begin
                //r_tft_clk <= 1'b0;
                r_ram_we1 = 1'b1;        //read;
                r_ram_idx = 1'b1;        //TFT addr;
               
                r_eb_dat = RAM_D;
                r_eb_busy <= 1'b0;
                r_state = 0;
                end
        default:
                begin
                r_state = 0;
                end
        endcase
end

以上是部分驱动液晶显示的代码,但是会在读/写数据的时候液晶屏幕出现麻点,不读写的时候恢复正常显示,还找不到原因。
但是我用变宽1:2来直接显示,而从不读写数据也不会有麻点出现。各位高手能给点思路吗?

whwlxl 发表于 2010-8-13 10:19:49

发现即使r_tft_rgb <= RAM_D; 赋值为一个固定值 r_tft_rgb <= 8'b00000011,依然会有麻点。

那说明读写信号对rgb信号有干扰?直接串到液晶去了?

tly823875 发表于 2010-8-14 20:58:39

回复【楼主位】whwlxl
-----------------------------------------------------------------------

读写时序换个位置,我碰到过,现在没有嘛点了

whwlxl 发表于 2010-8-15 09:14:34

回复【2楼】tly823875
-----------------------------------------------------------------------

谢谢你,我的也搞定了!显示效果也不错,支持数据读写功能!
这次做完了整个东西对时序的安排以及阻塞与非阻塞的使用有了很深刻的理解。
以前很多时候在用软件思维写verilog,这样是不行的!

tly823875 发表于 2010-8-16 09:26:28

回复【3楼】whwlxl
-----------------------------------------------------------------------
正解,软件思维是学习CPLD的绊脚石,呵呵

TigerRay 发表于 2010-9-27 21:04:27

回复【3楼】whwlxl
-----------------------------------------------------------------------

不知道LZ还有没有看这个贴子,我现在也遇到差不多的问题,显示一般的色,没有问题,显示图片的话那就成问题了,很难看,还有所说的麻点我也有,想知道你们是怎么解决的,能否分享一下谢谢~

TigerRay 发表于 2010-10-10 10:44:55

回复【2楼】tly823875
-----------------------------------------------------------------------

朋友,还有没有来看这个贴啊!我就想知道这个换个位置就能解决这个问题?具体怎么做啊!目前我写的时候还是有很多杂点!真郁闷啊1

kenson 发表于 2010-10-10 19:38:24

呵呵楼上看你的图像的表情也挺焦急和痛苦的!
把全部程序出来可能有高手可以帮到你的,
如果不发出谁会猜出你的问题呢呵呵!!

liping_IC 发表于 2011-11-22 19:18:22

可不可以共享一下源代码!
页: [1]
查看完整版本: 关于CPLD驱动TFT液晶的问题