基于FPGA及嵌入式CPU 的TFT-LCD接口设计

网友投稿 234 2022-11-05

基于FPGA及嵌入式CPU 的TFT-LCD接口设计

1 引言

2 系统组成

3各器件的功能

3.1显示缓存 RAM

采用 IDT公司的 IDT71V547 128K X 36bit的 SRAM芯片,工作电压为 3.3V [1]。该芯片作为显示缓存,TFT_LCD读取显示缓存 RAM中的数据并将其在 TFT_LCD上显示。嵌入式 CPU(NIOSⅡ)对显示缓存 RAM的改写就相当于对 TFT_LCD显示内容的改写。

3.2.1 时序发生电路

3.2.2调色电路

3.2.3地址切换、数据分离

此部分电路的作用是:在嵌入式 CPU操作显示缓存 RAM时将地址、数据线切换到嵌入式 CPU,在 TFT-LCD读显示缓存 RAM时将地址、数据线切换到 TFT_LCD。

3.3 TFT-LCD

4主要电路的设计

4.1时序发生电路的设计

时序发生电路是设计的主要部分。首先,是对系统输入时钟进行频率变换, FPGA(EP1C6)的内部有两个 PLL电路模块,本文用其中的一个来生成 100MHz的时钟。再设计一个 12位的计数器(行计数器),计数 3200脉冲,产生 TFT_LCD的行同步时钟,通过此计数器的计数还可生成 TFT_LCD的显示使能信号(DE)。此计数器的输出还是 TFT_LCD读显示缓存 RAM地址的低 8位(RAM以 32位数据宽度计算)。另设计一个 9位的计数器(场计数器),用其对行同步信号计数又可生成 TFT_LCD场同步的相关信号,同时此计数器的输出可作为 TFT_LCD读 RAM地址的高 9位。

由于嵌入式 CPU与 TFT_LCD是复用一片显示缓存 RAM,所以要对显示缓存 RAM在时间上进行分时控制。由于 IDT71V547是 32位数据宽度的 RAM,如果将 TFT_LCD设计成256色显示,则读显示缓存 RAM一次可显示 4个像素点。所以把行计数器输出的 25MHz时钟作为基准(TFT_LCD主时钟)、以 25MHz的 4个周期(T0、T1、T2、T3,T0=T1=T2=T3=40纳秒)为基本循环,在 25MHz的第一个周期( T0)由 LCD占用产生“ LCD_读选通”信号, (LCD_读选通= (/12.5MHz)&(/6.25MHz) )。T1-T3由 CPU占用,在 T1-T3周期内产生相应的选通信号, (T1=(12.5MHz)&(/6.25MHz)、 T2=(/12.5MHz)&(6.25MHz)、T3=(12.5MHz)&(6.25MHz)),由于 CPU什么时间对显示缓存 RAM读写是不确定的,所以要根据 CPU的读写信号来确定 T1-T3哪个为“CPU_RAM_选通”信号(如果在 T0内来 CPU_RW则 CPU_RAM_选通=T2、T1来 CPU_RW则为 T3、T2来 CPU_RW则为 T3、T3来 CPU_RW则为 T1)。此逻辑的实现方式是,在 CPU_RW信号产生时锁存住当时的 T0-T3的状态由此来控制“CPU_RAM_选通”产生的位置。在具体时序见图 2所示。

4.2地址切换和数据分离电路的设计

图 4是数据分离电路中的一位,同样 ,以图 4这一位可推出 32位数据线。

在图 4中,RAM_R_W= (CPU_RAM_选通)&(CPU_WD),当 RAM_R_W有效时, CPU_写 DATA可通过三态门输出到 RAM_DATA上。当 CPU读 RAM时,RAM的数据由门电路输出到锁存器的输入端,在数据稳定后由“ CPU_R_锁存”信号将数据锁存在锁存器上等待 CPU将数据读走(CPU_R_锁存=(( / CPU_RD)& CPU_RAM_选通&25MHz&(/50MHz)))。

同样的在 T0周期内将 RAM的相应数据由“ LCD_锁存”信号将 32位的数据锁存在锁存器上。在相应的 T0-T3周期由 T0-T3选择相应的 8位数据输出到调色电路上,在相应时刻由 “LCD_调色输出锁存”信号将此像素点数据锁存,由 TFT_LCD读取此点的三基色数据并显示。

4.3调色电路

4.4显示缓存设计

显示缓存 RAM的选择由 LCD显示彩色多少决定的,如果显示 16色可以选择每像素点占 4bit,这样每读一次 RAM可显示 8个像素点。以此类推来选择显示缓存 RAM的大小和相应修改时序发生电路的周期。对 CPU的显示缓存 RAM口的设置时,一定要注意显示缓存 RAM的 CPU读写周期与时序发生电路的周期相一致,否则会发生读写错误。本例设置的是 160纳秒( T0+T1+T2+T3=160ns)[3,4]。

5 结束语

本文介绍了一种基于 FPGA及 NiosII软核处理器与 TFT-LCD接口的主要部分的设计要点,该设计内容已经在实际电路上得到验证,并在一些仪器的显示系统上得到应用。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux目录与文件管理
下一篇:目录与权限管理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~