FPGA实战演练逻辑篇26:LCD显示驱动子板详细设计
0赞LCD显示驱动子板详细设计
本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》
配套例程下载链接:http://pan.baidu.com/s/1pJ5bCtt
SF-LCD与FPGA引脚定义如表3.4所示。(特权同学,版权所有)
表3.4 SF-LCD与FPGA引脚定义
分类 | 名称 | 引脚号 | 功能描述 |
背光控制 | 9293EN | 85 | 背光芯片使能信号。 |
LCD驱动 | LCD_B0 | 84 | 蓝色数据位0。 |
LCD_B1 | 83 | 蓝色数据位1。 | |
LCD_B2 | 80 | 蓝色数据位2。 | |
LCD_B3 | 79 | 蓝色数据位3。 | |
LCD_B4 | 77 | 蓝色数据位4。 | |
LCD_G0 | 76 | 绿色数据位0。 | |
LCD_G1 | 75 | 绿色数据位1。 | |
LCD_G2 | 74 | 绿色数据位2。 | |
LCD_G3 | 73 | 绿色数据位3。 | |
LCD_G4 | 72 | 绿色数据位4。 | |
LCD_G5 | 71 | 绿色数据位5。 | |
LCD_R0 | 70 | 红色数据位0。 | |
LCD_R1 | 69 | 红色数据位1。 | |
LCD_R2 | 68 | 红色数据位2。 | |
LCD_R3 | 67 | 红色数据位3。 | |
LCD_R4 | 66 | 红色数据位4。 | |
LCD_HSY | 65 | 行同步信号。 | |
LCD_VSY | 64 | 场同步信号。 | |
LCD_CLK | 60 | 显示数据锁存时钟。 | |
触摸屏控制 | AWIRQ | 55 | 中断请求信号。 |
AWSCL | 59 | I2C接口时钟信号。 | |
AWSDA | 58 | I2C接口数据信号。 |
54PIN的FPC插座用于连接LCD进行驱动,这个LCD的驱动接口原理图如图3.56所示,其接口详细定义和功能描述如表3.5所示。(特权同学,版权所有)

图3.56 LCD接口电路
表3.5 LCD驱动接口引脚定义
引脚 | 信号 | 功能 |
1 | VBL- | LED背光地。 |
2 | VBL- | LED背光地。 |
3 | VBL+ | LED背光电源。 |
4 | VBL+ | LED背光电源。 |
5 | Y1 | 触摸屏:上。 |
6 | X1 | 触摸屏:右。 |
7 | NC | 无连接。 |
8 | RESET# | 硬件复位。 |
9 | SPENA | SPI接口数据使能信号。 |
10 | SPCLK | SPI接口数据锁存时钟。 |
11 | SPDAT | SPI接口数据信号。 |
12 | B0 | 蓝色数据位0。 |
13 | B1 | 蓝色数据位1。 |
14 | B2 | 蓝色数据位2。 |
15 | B3 | 蓝色数据位3。 |
16 | B4 | 蓝色数据位4。 |
17 | B5 | 蓝色数据位5。 |
18 | B6 | 蓝色数据位6。 |
19 | B7 | 蓝色数据位7。 |
20 | G0 | 绿色数据位0。 |
21 | G1 | 绿色数据位1。 |
22 | G2 | 绿色数据位2。 |
23 | G3 | 绿色数据位3。 |
24 | G4 | 绿色数据位4。 |
25 | G5 | 绿色数据位5。 |
26 | G6 | 绿色数据位6。 |
27 | G7 | 绿色数据位7。 |
28 | R0 | 红色数据位0。 |
29 | R1 | 红色数据位1。 |
30 | R2 | 红色数据位2。 |
31 | R3 | 红色数据位3。 |
32 | R4 | 红色数据位4。 |
33 | R5 | 红色数据位5。 |
34 | R6 | 红色数据位6。 |
35 | R7 | 红色数据位7。 |
36 | HSYNC | 行同步信号。 |
37 | VSYNC | 场同步信号。 |
38 | DCLK | 显示数据锁存时钟。 |
39 | NC | 不连接。 |
40 | NC | 不连接。 |
41 | VCC | 数字电源。 |
42 | VCC | 数字电源。 |
43 | Y2 | 触摸屏:下。 |
44 | X2 | 触摸屏:左。 |
45 | NC | 不连接。 |
46 | NC | 不连接。 |
47 | NC | 不连接。 |
48 | IF2 | 数据输入格式控制引脚。 |
49 | IF1 | 数据输入格式控制引脚。 |
50 | IF0 | 数据输入格式控制引脚。 |
51 | NC | 不连接。 |
52 | DE | 数据输入使能。 |
53 | GND | 数字地。 |
54 | GND | 数字地。 |
我们可以将该表中的信号接口归为五类。第一类是数字信号接口,如RESET、SPENA、SPCLK、SPDAT、Rx(x为0到7)、Gx、Bx、HSYNC、VSYNC、DCLK和DE。此类信号主要是传输显示数据给LCD面板,这么多接口,是不是所有的引脚都要用上呢?不是的,其实仔细看这款LCD的datasheet,我们发现它提供了多种数据传输方式,有常见的并行RGB数据传输,也有CCIR601/656等方式。前者通常驱动时钟慢一些,而需要的数据总线宽一些,传输协议也更简单,我们也更倾向于采用前者进行通信。由于这里的数据接口合计是24bit的,也就是说每个像素点的色彩可以显示2的24次方种,即通常所说的1600万色。不过实际上我们并没有用足这24bit数据线,我们的图片是16bit的,基本上人眼感觉已经够绚丽了。因此,在硬件连接上,我们做了如图3.56所示的处理,为的是减少数据位宽。SPENA、SPCLK、SPDAT是SPI接口,用于给LCD的一些控制寄存器写数据,有些液晶屏需要在LCD上电后用该接口做一些配置才能够正常使用,而我们使用的这款屏则不需要,因此我们可以不必理会这些引脚。时序的控制上既可以用HSYNC/VSYNC模式(我们的电路上使用了该模式),也可以用只有DE的模式。(特权同学,版权所有)
第二类接口,即液晶的模式设置专用输入接口,包括了IF0、IF1、IF2等接口,它们的主要功能就是设置使用哪种数据传输方式,我们的设计中统一采用并行RGB数据传输。第三类接口是触摸屏信号接口,是模拟信号,如Y1、X1、Y2、X2,这些引脚是否使用需要看液晶屏是否真的接好了触摸屏。第四类接口是电源接口,即VCC(接3.3V)和GND信号。第五类是背光电源,即VBL+和VBL-信号,这部分硬件上设计了专门的背光电源电路产生19.8V电压进行供电。(特权同学,版权所有)
如图3.57所示,LCD内部的背光是6个LED串联,每个LED的额定电压是3.3V,电流是20mA。因此,要驱动这6个LED就需要19.8V/20mA的电压。我们的系统输入电源是5V,必须升压才能够得到19.8V。(特权同学,版权所有)

图3.57 LCD的背光驱动条件
LCD驱动的背光电路如图3.58所示,这里使用了升压芯片RT9293,该芯片为恒流控制,只要设定驱动电流即可使LCD的背光正常工作。FB引脚和GND之间有两个33ohm电阻并联,得到的阻值是16.5ohm,该阻值对应设置了约20mA的驱动电流。(特权同学,版权所有)

图3.58 LCD背光驱动电路
触摸屏驱动器芯片AW2083电路如图3.59所示。它由两路的差分模拟电压输入,用于采集电阻式触摸屏的模拟电压。数字端有一个IRQ中断信号可以连接到FPGA,FPGA接收到中断后,作为主机,可以通过I2C接口读取的当前的触摸屏坐标数据。(由于我们所使用的3.5寸液晶屏LQ035NC111带触摸屏版本已经停产,所以我们电路上只是保留,但不焊接芯片)

图3.59 触摸屏驱动电路
