打印

ILI9320驱动TFT屛有花点

[复制链接]
4912|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mei326|  楼主 | 2011-6-29 11:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如题,显示图片和汉字时有花点!MCU用的是C8051F的,仿真调试显示有花点,RST后再全速运行偶尔能完全正常,断电后再上电偶尔正常显示一般会有花点,且有时花点较多有时较少!
分析:偶尔能正常显示表示RGB565取模无问题@最大可能就是干扰,可是在不知干扰源从何处来!搞了两天,仍旧!请各位帮忙分析~

相关帖子

沙发
mei326|  楼主 | 2011-6-29 17:11 | 只看该作者
难道就没有谁遇到这问题?自己顶~等待解惑

使用特权

评论回复
板凳
xwj| | 2011-6-29 17:15 | 只看该作者
首先检查信号线,数据线不能太长,尽量等长,
时序稍微调慢点。

PS:
这玩意,操作真是够慢的,稍微快了它就不干,跟你找别扭啊

使用特权

评论回复
地板
mei326|  楼主 | 2011-6-30 10:06 | 只看该作者
PCB走线也就几个cm,时序已经尽量慢了,可问题依旧!恼火

使用特权

评论回复
5
草履虫| | 2011-6-30 22:59 | 只看该作者
本帖最后由 草履虫 于 2011-6-30 23:05 编辑

信号线长度不是问题,可能是时序。这个和CLK的关系。如果你显示的是噪点,且图像完整的话,那说明是你的CLK的问题。和HS,VS没有太大关系。

使用特权

评论回复
6
草履虫| | 2011-6-30 23:01 | 只看该作者
发张图可以帮你分析一下。

使用特权

评论回复
7
草履虫| | 2011-6-30 23:04 | 只看该作者
对于TFT-LCD小尽寸的屏来说,数据等不等长没啥用,差个几厘米都不会有太大影响.
只是CLK的走线有时会有影响,这个还要看屏。

使用特权

评论回复
8
mei326|  楼主 | 2011-7-1 09:16 | 只看该作者

使用特权

评论回复
9
mei326|  楼主 | 2011-7-1 09:20 | 只看该作者
有一个明显的现象,斑点都是出现在初始写坐标的地方,如汉字的“加”前面,流动显示的红圈圈是有8张图片注组成的

V0 _LcdInit(V0) //initialize the ILI932X
{
    BACKLIGHT_CTR=BACKLIGHT_OFF; //关闭背光

    LCD_REST=1;
    _DelayUs(500);       
        LCD_REST=0;
        _DelayUs(500);
        LCD_REST=1;
        _DelayUs(500);

        LCD_CS =0;  //打开片选使能
    _LcdWriteReg(0x0001,0x0000);
        _LcdWriteReg(0x0002,0x0700);
        _LcdWriteReg(0x0003,0x1038); //Important
        _LcdWriteReg(0x0004,0x0000);
        _LcdWriteReg(0x0008,0x0207);
        _LcdWriteReg(0x0009,0x0000);
        _LcdWriteReg(0x000A,0x0000);
        _LcdWriteReg(0x0C,0x0000);  
        _LcdWriteReg(0x0D,0x0000);
        _LcdWriteReg(0x0F,0x0000);
        _LcdWriteReg(0x10,0x0000);
        _LcdWriteReg(0x11,0x0007);
        _LcdWriteReg(0x12,0x0000);
        _LcdWriteReg(0x13,0x1300);
        _LcdWriteReg(0x10,0x1290);
        _LcdWriteReg(0x11,0x0527);
        _LcdWriteReg(0x12,0x0018);
        _LcdWriteReg(0x13,0x1000);
        _LcdWriteReg(0x29,0x001E);
        _LcdWriteReg(0x2B,0x000D);
        _LcdWriteReg(0x0020,0x0000);
        _LcdWriteReg(0x0021,0x013f);
        _LcdWriteReg(0x30,0x0004);
        _LcdWriteReg(0x31,0x0007);
        _LcdWriteReg(0x32,0x0006);
        _LcdWriteReg(0x35,0x0206);
        _LcdWriteReg(0x36,0x0408);
        _LcdWriteReg(0x37,0x0507);
        _LcdWriteReg(0x38,0x0200);
        _LcdWriteReg(0x39,0x0707);
        _LcdWriteReg(0x3C,0x0504);
        _LcdWriteReg(0x3D,0x0F02);
        _LcdWriteReg(0x50,0x0000); //*
        _LcdWriteReg(0x51,0x013F); //*
        _LcdWriteReg(0x52,0x0000); //*
        _LcdWriteReg(0x53,0x00EF); //*
        _LcdWriteReg(0x60,0xA700);//Importang , GS
        _LcdWriteReg(0x61,0x0001);
        _LcdWriteReg(0x6A,0x0000);
        _LcdWriteReg(0x80,0x0000);
        _LcdWriteReg(0x81,0x0000);
        _LcdWriteReg(0x82,0x0000);
        _LcdWriteReg(0x83,0x0000);
        _LcdWriteReg(0x84,0x0000);
        _LcdWriteReg(0x85,0x0000);
        _LcdWriteReg(0x90,0x0010);
        _LcdWriteReg(0x92,0x0600);
        _LcdWriteReg(0x93,0x0003);
        _LcdWriteReg(0x95,0x0110);
        _LcdWriteReg(0x97,0x0000);
        _LcdWriteReg(0x98,0x0000);
        _LcdWriteReg(0x07,0x0173);
        LCD_CS =1;  //关闭片选使能
}


这是初始化程序,大家帮忙分析下

使用特权

评论回复
10
草履虫| | 2011-7-1 10:12 | 只看该作者
根据图片显示,个人认为是MCU的软件问题,查一下软件吧。
1. 可能是软件变量(涉及写地址的)在某些状态下被修改造成的。
2. 可能是ILI932X寄存器设置有问题。

使用特权

评论回复
11
mei326|  楼主 | 2011-7-1 11:29 | 只看该作者
我再认真分析下~我也觉得有可能是那个地址重复写操作造成花点~目前还没找出问题所在~

使用特权

评论回复
12
hys0401| | 2011-7-1 20:38 | 只看该作者
0x01,0x11,0x29命令后面未加延时.

加了延时不一定就没问题;不加延时有很大可能就有问题.:lol

使用特权

评论回复
13
hys0401| | 2011-7-1 21:44 | 只看该作者
上面说的不对.我没看过9320的说明书,看起来用的指令集不是MIPI的DCS.

在软复位和sleep out,display on命令后面要加延时.

使用特权

评论回复
14
bow_520| | 2011-7-1 22:24 | 只看该作者
调试1963时发现个差不多的现象,后来检测是软件发送完地址在发数据的时候被其他中断影响导致1963接收出错,改为在画屏的时候关掉总中断解决

使用特权

评论回复
15
birenai| | 2011-7-7 19:38 | 只看该作者
我没有datasheet,不过看图水纹很明显啊,初始化是需要改的。不清楚你说的花屏是指什么

使用特权

评论回复
16
mei326|  楼主 | 2011-7-8 20:26 | 只看该作者
问题前些天已经解决,初始化程序有问题,修改后正常~

使用特权

评论回复
17
viper65| | 2013-3-22 22:22 | 只看该作者
mei326 发表于 2011-7-8 20:26
问题前些天已经解决,初始化程序有问题,修改后正常~

请教下这个问题最后你是如何解决的 我也遇到了这个问题。开始也怀疑是线路的问题 因为这个pcb做了两个版本 一个版本用了比较长的并行总线,还有一个是短的 同样的程序 短的是不存在花点的,但是长的那个有,而且花点的确发生在有字刷新的地方。所以感觉应该不是emi之类的问题

使用特权

评论回复
18
viper65| | 2013-3-24 13:34 | 只看该作者
我也解决了。。。我是经过cpld转译复用口的,貌似是cpld的部分的数据总线没有及时输出高阻态。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:与其等待机会,不如主动出击...

117

主题

764

帖子

2

粉丝