当前位置 博文首页 > bigfish99:SPI接口在LCD上的应用

    bigfish99:SPI接口在LCD上的应用

    作者:bigfish99 时间:2021-05-30 18:24

    ?小分辨率的LCD,比如QQVGA,QCIF,QVGA等,广泛运用于功能手机和穿戴设备上。这类小分辨率的LCD,除了支持并行接口(比如i80),一般也会支持串行接口。

    ?小分辨率的LCD,比如QQVGA,QCIF,QVGA等,广泛应用于功能手机和穿戴设备(比如手表)上。这类小分辨率的LCD,除了支持并行接口(比如i80),一般也会支持串行接口。在实际产品中广泛运用的串行接口就是SPI,由于其频率一般可以达到几十MHz,可以满足小分辨率LCD的性能要求。

     

    SPI接口应用在LCD上,主要是以下两种模式:

    • 3-wire 9-bit 模式

    • 4-wire 8-bit 模式

    比如某厂商的 LCD datasheet 中有如下描述:

    说明该 LCD 支持 3-wire 9-bit 和 4-wire 8-bit 模式,而两种模式下又分别有两种不同的接口,构成四种接口方式:

    • 3-wire 9-bit 接口 I,数据输入输出共用一根线(SDA)。

    • 4-wire 8-bit 接口 I,数据输入输出共用一根线(SDA)。

    • 3-wire 9-bit 接口 II,数据输入(SDI )和 输出(SDO) 是独立的线。

    • 4-wire 8-bit 接口 II,数据输入(SDI )和 输出(SDO) 是独立的线。

    其中后两种接口,3-wire 用到了 SCL / SDI / SDO / CSX 四根线,4-wire 用到了 SCL / SDI / SDO / CSX / DCX 五根线,所以所谓的 3-wire,4-wire 并不是指信号线的总数目,而是指有没有 DCX 线。LCD 用 DCX 来区分传输的数据是 Data 还是 Command。4-wire 模式下,用 DCX 信号线的电平高低来指示;3-wire 模式下,用 SDA 信号线上的 D/C bit 来表示,传输实际数据前会先传输一个 D/C bit 数据位,比 8-bit 多了一个bit,所以称作 9-bit。

     

    3-wire 9-bit 模式

    3-wire 9-bit 模式下,D/C bit 包含在数据流中,如果 SPI 控制器直接支持3-wire 9-bit 模式,会自动产生 D/C bit。D/C bit 为0时,表示Command;D/C bit 为1时,表示 Data。

    图一 3-wire写寄存器

     

    图二 3-wire读寄存器

     

    图三 3-wire写图像数据(RGB565)

     

    4-wire 8-bit 模式

    4-wire 8-bit模式下,由D/CX信号线的电平高低指示Command和Data。低电平时,表示Command;高电平时,表示Data。由于数据流中不再包含D/C bit,都是实际要传输的数据,所以传输效率相比 3-wire要高一些。

    图四 4-wire写寄存器

     

    图五 4-wire读寄存器

     

    图六 4-wire写图像数据(RGB565)

     

    SPI LCD 性能预估

    假定主控SPI clock最高为48MHz,驱动一款QQVGA、RGB565格式的屏幕,接口为3-wire 9-bit。

    QQVGA,分辨率120x160,实际产品以128x160常见;RGB565格式,每个像素占用16 bit;3-wire 9-bit 每传输一个16 bit的像素数据,额外需要两次D/C bit;算起来每传输一个像素数据需要18 bit。

    这样算下来 48000000 / (128*160*18) = 130 fps 

    理论刷屏可以达到130帧每秒,帧率很高了。

     

    但是还需要结合具体LCD的datasheet去确认该LCD所能支持的最大SPI clock。如下是某款LCD的 Timing Characteristics,表明它支持的SPI clock最小周期为66ns,换算成支持的最大频率大约为15MHz。

    所以实际情况应该是:

    15000000 / (128*160*18) = 40 fps 

    40帧每秒的刷屏效果也是不错的。计算出来的是理论值,实际数据会有一定偏差。

    同样的clock指标下,对于QVGA屏来说,就有些吃力;再大的分辨率,就基本不能胜任了。

     

    -----------------------------------------------------------------------------------------------------------------------

    作者:bigfish99

    博客:https://www.cnblogs.com/bigfish0506/

    公众号:大鱼嵌入式

    bk
    下一篇:没有了