找回密码
 注册
搜索
查看: 1906|回复: 1

[讨论] RGB屏调试问题

[复制链接]
发表于 2014-7-20 23:04:16 | 显示全部楼层 |阅读模式
我们有个72的项目用的ILI9806E RGB的屏,调试碰到点问题,目前也没点亮,白屏,请砖家指点指点。

这个屏是DPI(RGB)+3LINE-9bit-SPI-COMMAND接口,需要用GPIO模拟SPI来实现command的传输。
我这边根据datasheet完成了send cmd和send data函数,datasheet中指出通过SPI给LCD传递命令时,需要将CSX拉低, SCL拉低,这个IC是3line-9bit的,就是在传递数据时,是1个D/C位+1byte command或者data,D/C位为0是传COMMAND,为1时是data。

本以为今天能搞定的,结果白忙活了一天,量了一下屏上的大电容没有电压,看样子是都没有数据传进去,DPI那边的配置,该配的脚都配了,唯一可能有错的就是DPI的时序配置。
问:
下一步应如何排查,如何确认LCD有没有收到初始化序列;
如果是DPI时序错了,会导致RGB数据下不过去?引起白屏?DPI部分应如何排查?

static __inline void spi_send_data(unsigned int data)
{
    unsigned int i;

    SET_LSCE_HIGH;
    SET_LSCK_WRITE_INVALID; //SET_LSCK_HIGH;
    SET_LSDA_HIGH;
    UDELAY(10);

    SET_LSCE_LOW;
    UDELAY(10);

    for (i = 0; i < 9; ++ i)
    {
        SET_LSCK_WRITE_VALID; //SET_LSCK_LOW;
        if (data & (1 << 8)) {
            SET_LSDA_HIGH;
        } else {
            SET_LSDA_LOW;
        }
        data <<= 1;        
        UDELAY(10);
        SET_LSCK_WRITE_INVALID; //SET_LSCK_HIGH;
        UDELAY(10);
    }

    SET_LSDA_HIGH;
    SET_LSCE_HIGH;
}

static __inline void send_ctrl_cmd(unsigned int cmd)
{
    unsigned int out = (cmd & 0xFF);
    spi_send_data(out);
}

static __inline void send_data_cmd(unsigned int data)
{
    unsigned int out = ((0x1 << 8) | (data & 0xFF ));
    spi_send_data(out);
}


发表于 2014-8-8 09:05:26 | 显示全部楼层
友情帮顶
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 02:31 , Processed in 0.045363 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表