基于FPGA的液晶显示驱动IP核的实现
发布时间:2008/6/3 0:00:00 访问次数:1101
王 骞,丁铁夫
摘 要:基于fpga ,研究了液晶显示驱动方法,参照tft-lcd cjm10c11的逻辑和时序要求设计了32×32可变宽度像素点的液晶显示驱动电路,用硬件描述语言vhdl 编制了用于液晶显示驱动的ip 核,该ip 核用来实现可变显示坐标、可变像素宽度和可变灰度等级的液晶显示。经实验确认,该ip核占用1k30 中的458个le ,在1k30-3芯片中,最高时钟频率为25.71 mhz ,能够完成液晶显示时序及控制方面的要求且控制灵活;能驱动大部分的tft-lcd ,通用性好;在外扩sram或sdram后即可应用于更大规模的液晶显示驱动,可移植性强,是用fpga 驱动tft-lcd 的一套较佳的解决方案。
关键词:液晶显示;fpga ;驱动电路
引 言
液晶显示驱动有多种方法,通常采用的方法为基于专用集成电路的方法和基于通用微处理器的方法。本文研究了一种基于fpga (ep1k30qc208-3)的液晶显示驱动方法,与专用集成电路比, fpga 更灵活;与通用微处理器相比, fpga 的速度更快。利用硬件描述语言,编制了液晶显示驱动的ip核,开发了32×32 可变宽度像素点的液晶显示驱动电路,指出,基于fpga的驱动方法能够满足液晶显示驱动时序上的要求,且具有控制灵活的特点,在外扩片外sram 或sdram 后,容易移植在更多可变宽度像素点的液晶显示器的驱动上。因fpga 液晶显示驱动器的像素时钟为25.175mhz ,普通的单片机难以满足要求,故选用altera 公司的acex 系列fpga 作为驱动电路的核心部件。fpga即现场可编程门阵列器件,是一种超大规模集成电路,具有在电路可重配置能力(in circuit reconfigurable , icr) 。设计者设计的逻辑在编译、适配后变成网络表,下载到fpga 芯片上之后, fpga 即可执行设计逻辑的功能。因此,fpga 非常适合于进行快速原型设计,设计者可完全控制产品开发过程中由逻辑设计到最终产品的全过程。
设计与实现
本液晶显示屏采用了商用的cjm10c11 系列tft 液晶显示屏,该显示屏是一种用非晶硅作为开关器件的有源矩阵液晶显示器,其接口为ttl 电平,分辨率为640×480 像素,像素尺寸为100μm×300μm ,灰度级为64级灰度,用18bit数据信号能显示262144 色。
图1 液晶显示驱动系统总体框图
液晶显示驱动电路总体框图如图1 所示。驱动电路通过串口和上位机进行通讯,数据通过串口传输到fpga 的片上rom 中,传输结束后fpga 上的液晶显示驱动电路开始工作,控制信号发生器产生控制信号及地址, 并将由片上rom 读出的各可变宽度像素点的灰度值送lcd显示器显示。在本方案中,与上位机的串行接口、片上rom、像素时钟发生器以及控制信号发生器都是在一片fpga (acex1 k30) 上实现的。
acex 系列的fpga 由排成行和列的逻辑阵列块lab (logic array block) 、每行之中嵌入的嵌入式阵列块eab (embedded array block) 、快速互连以及io 单元构成。每个逻辑阵列块包含8 个逻辑单元le (logic element ) 和一个局部互联。每个逻辑单元则由一个4 输入查找表(lut) ,一个可编程触发器,快速进位链、级连链组成,多个lab和多个eab通过快速通道互相连接。嵌入式阵列块是acex 系列器件在结构设计上的一个重要部件。它是输入端口和输出端口都带有触发器的一种灵活的ram块,其主要功能就是实现一些规模不太大的fifo、rom、ram 和双端口ram 等。
在本液晶显示驱动电路中,主要用宏功能模块实现片上rom ,它调用fpga 上的eab 资源实现灰度数据的存储,用普通的逻辑单元存储坐标值,实现可变宽度像素的像素宽度存储。在acex1k30 中,共有6块4096 位的eab 资源,可实现45×45 可变宽度像素的18 bit 灰度显示。另外,在综合时,计数器、加法器等逻辑器件能够调用fpga 上的快速进位链等资源,提高设计的性能。液晶显示器显示方案如图2所示,整个图像分为消隐区和可视区,在可视区中划分出32×32可变宽度像素的控制显示区,每个可变宽度像素中是由n×n个像素构成的。当扫描点位于可视区内,控制显示区外时,所显示的灰度为0;当扫描信号进入控制显示区后,根据控制信号发生器所产生的地址值,由rom 中读取灰度值,送lcd显示器进行显示。控制显示区在可视区中的坐标以及每个可变宽度像素的宽度,即行或列方向上的像素数都是独立可调的,具有很强的灵活性。
图2 液晶显示器显示方案
像素时钟发生器
像素时钟发生器是lcd 液晶显示器驱动ip核中显示和控制信号发生器的基准。该显示屏的时序信号为由水平和垂直视频时序组合而成的复合视频时序。像素时钟频率为25.175mhz ,像素时钟周期为39.72ns ,行显示时间为640个时钟周期,行消隐时间为160个时钟周期,每个视频行为800 个时钟周期,帧显示时间为480个视频行周期,帧消隐时间为
关键词:液晶显示;fpga ;驱动电路
引 言
液晶显示驱动有多种方法,通常采用的方法为基于专用集成电路的方法和基于通用微处理器的方法。本文研究了一种基于fpga (ep1k30qc208-3)的液晶显示驱动方法,与专用集成电路比, fpga 更灵活;与通用微处理器相比, fpga 的速度更快。利用硬件描述语言,编制了液晶显示驱动的ip核,开发了32×32 可变宽度像素点的液晶显示驱动电路,指出,基于fpga的驱动方法能够满足液晶显示驱动时序上的要求,且具有控制灵活的特点,在外扩片外sram 或sdram 后,容易移植在更多可变宽度像素点的液晶显示器的驱动上。因fpga 液晶显示驱动器的像素时钟为25.175mhz ,普通的单片机难以满足要求,故选用altera 公司的acex 系列fpga 作为驱动电路的核心部件。fpga即现场可编程门阵列器件,是一种超大规模集成电路,具有在电路可重配置能力(in circuit reconfigurable , icr) 。设计者设计的逻辑在编译、适配后变成网络表,下载到fpga 芯片上之后, fpga 即可执行设计逻辑的功能。因此,fpga 非常适合于进行快速原型设计,设计者可完全控制产品开发过程中由逻辑设计到最终产品的全过程。
设计与实现
本液晶显示屏采用了商用的cjm10c11 系列tft 液晶显示屏,该显示屏是一种用非晶硅作为开关器件的有源矩阵液晶显示器,其接口为ttl 电平,分辨率为640×480 像素,像素尺寸为100μm×300μm ,灰度级为64级灰度,用18bit数据信号能显示262144 色。
图1 液晶显示驱动系统总体框图
液晶显示驱动电路总体框图如图1 所示。驱动电路通过串口和上位机进行通讯,数据通过串口传输到fpga 的片上rom 中,传输结束后fpga 上的液晶显示驱动电路开始工作,控制信号发生器产生控制信号及地址, 并将由片上rom 读出的各可变宽度像素点的灰度值送lcd显示器显示。在本方案中,与上位机的串行接口、片上rom、像素时钟发生器以及控制信号发生器都是在一片fpga (acex1 k30) 上实现的。
acex 系列的fpga 由排成行和列的逻辑阵列块lab (logic array block) 、每行之中嵌入的嵌入式阵列块eab (embedded array block) 、快速互连以及io 单元构成。每个逻辑阵列块包含8 个逻辑单元le (logic element ) 和一个局部互联。每个逻辑单元则由一个4 输入查找表(lut) ,一个可编程触发器,快速进位链、级连链组成,多个lab和多个eab通过快速通道互相连接。嵌入式阵列块是acex 系列器件在结构设计上的一个重要部件。它是输入端口和输出端口都带有触发器的一种灵活的ram块,其主要功能就是实现一些规模不太大的fifo、rom、ram 和双端口ram 等。
在本液晶显示驱动电路中,主要用宏功能模块实现片上rom ,它调用fpga 上的eab 资源实现灰度数据的存储,用普通的逻辑单元存储坐标值,实现可变宽度像素的像素宽度存储。在acex1k30 中,共有6块4096 位的eab 资源,可实现45×45 可变宽度像素的18 bit 灰度显示。另外,在综合时,计数器、加法器等逻辑器件能够调用fpga 上的快速进位链等资源,提高设计的性能。液晶显示器显示方案如图2所示,整个图像分为消隐区和可视区,在可视区中划分出32×32可变宽度像素的控制显示区,每个可变宽度像素中是由n×n个像素构成的。当扫描点位于可视区内,控制显示区外时,所显示的灰度为0;当扫描信号进入控制显示区后,根据控制信号发生器所产生的地址值,由rom 中读取灰度值,送lcd显示器进行显示。控制显示区在可视区中的坐标以及每个可变宽度像素的宽度,即行或列方向上的像素数都是独立可调的,具有很强的灵活性。
图2 液晶显示器显示方案
像素时钟发生器
像素时钟发生器是lcd 液晶显示器驱动ip核中显示和控制信号发生器的基准。该显示屏的时序信号为由水平和垂直视频时序组合而成的复合视频时序。像素时钟频率为25.175mhz ,像素时钟周期为39.72ns ,行显示时间为640个时钟周期,行消隐时间为160个时钟周期,每个视频行为800 个时钟周期,帧显示时间为480个视频行周期,帧消隐时间为
王 骞,丁铁夫
摘 要:基于fpga ,研究了液晶显示驱动方法,参照tft-lcd cjm10c11的逻辑和时序要求设计了32×32可变宽度像素点的液晶显示驱动电路,用硬件描述语言vhdl 编制了用于液晶显示驱动的ip 核,该ip 核用来实现可变显示坐标、可变像素宽度和可变灰度等级的液晶显示。经实验确认,该ip核占用1k30 中的458个le ,在1k30-3芯片中,最高时钟频率为25.71 mhz ,能够完成液晶显示时序及控制方面的要求且控制灵活;能驱动大部分的tft-lcd ,通用性好;在外扩sram或sdram后即可应用于更大规模的液晶显示驱动,可移植性强,是用fpga 驱动tft-lcd 的一套较佳的解决方案。
关键词:液晶显示;fpga ;驱动电路
引 言
液晶显示驱动有多种方法,通常采用的方法为基于专用集成电路的方法和基于通用微处理器的方法。本文研究了一种基于fpga (ep1k30qc208-3)的液晶显示驱动方法,与专用集成电路比, fpga 更灵活;与通用微处理器相比, fpga 的速度更快。利用硬件描述语言,编制了液晶显示驱动的ip核,开发了32×32 可变宽度像素点的液晶显示驱动电路,指出,基于fpga的驱动方法能够满足液晶显示驱动时序上的要求,且具有控制灵活的特点,在外扩片外sram 或sdram 后,容易移植在更多可变宽度像素点的液晶显示器的驱动上。因fpga 液晶显示驱动器的像素时钟为25.175mhz ,普通的单片机难以满足要求,故选用altera 公司的acex 系列fpga 作为驱动电路的核心部件。fpga即现场可编程门阵列器件,是一种超大规模集成电路,具有在电路可重配置能力(in circuit reconfigurable , icr) 。设计者设计的逻辑在编译、适配后变成网络表,下载到fpga 芯片上之后, fpga 即可执行设计逻辑的功能。因此,fpga 非常适合于进行快速原型设计,设计者可完全控制产品开发过程中由逻辑设计到最终产品的全过程。
设计与实现
本液晶显示屏采用了商用的cjm10c11 系列tft 液晶显示屏,该显示屏是一种用非晶硅作为开关器件的有源矩阵液晶显示器,其接口为ttl 电平,分辨率为640×480 像素,像素尺寸为100μm×300μm ,灰度级为64级灰度,用18bit数据信号能显示262144 色。
图1 液晶显示驱动系统总体框图
液晶显示驱动电路总体框图如图1 所示。驱动电路通过串口和上位机进行通讯,数据通过串口传输到fpga 的片上rom 中,传输结束后fpga 上的液晶显示驱动电路开始工作,控制信号发生器产生控制信号及地址, 并将由片上rom 读出的各可变宽度像素点的灰度值送lcd显示器显示。在本方案中,与上位机的串行接口、片上rom、像素时钟发生器以及控制信号发生器都是在一片fpga (acex1 k30) 上实现的。
acex 系列的fpga 由排成行和列的逻辑阵列块lab (logic array block) 、每行之中嵌入的嵌入式阵列块eab (embedded array block) 、快速互连以及io 单元构成。每个逻辑阵列块包含8 个逻辑单元le (logic element ) 和一个局部互联。每个逻辑单元则由一个4 输入查找表(lut) ,一个可编程触发器,快速进位链、级连链组成,多个lab和多个eab通过快速通道互相连接。嵌入式阵列块是acex 系列器件在结构设计上的一个重要部件。它是输入端口和输出端口都带有触发器的一种灵活的ram块,其主要功能就是实现一些规模不太大的fifo、rom、ram 和双端口ram 等。
在本液晶显示驱动电路中,主要用宏功能模块实现片上rom ,它调用fpga 上的eab 资源实现灰度数据的存储,用普通的逻辑单元存储坐标值,实现可变宽度像素的像素宽度存储。在acex1k30 中,共有6块4096 位的eab 资源,可实现45×45 可变宽度像素的18 bit 灰度显示。另外,在综合时,计数器、加法器等逻辑器件能够调用fpga 上的快速进位链等资源,提高设计的性能。液晶显示器显示方案如图2所示,整个图像分为消隐区和可视区,在可视区中划分出32×32可变宽度像素的控制显示区,每个可变宽度像素中是由n×n个像素构成的。当扫描点位于可视区内,控制显示区外时,所显示的灰度为0;当扫描信号进入控制显示区后,根据控制信号发生器所产生的地址值,由rom 中读取灰度值,送lcd显示器进行显示。控制显示区在可视区中的坐标以及每个可变宽度像素的宽度,即行或列方向上的像素数都是独立可调的,具有很强的灵活性。
图2 液晶显示器显示方案
像素时钟发生器
像素时钟发生器是lcd 液晶显示器驱动ip核中显示和控制信号发生器的基准。该显示屏的时序信号为由水平和垂直视频时序组合而成的复合视频时序。像素时钟频率为25.175mhz ,像素时钟周期为39.72ns ,行显示时间为640个时钟周期,行消隐时间为160个时钟周期,每个视频行为800 个时钟周期,帧显示时间为480个视频行周期,帧消隐时间为
关键词:液晶显示;fpga ;驱动电路
引 言
液晶显示驱动有多种方法,通常采用的方法为基于专用集成电路的方法和基于通用微处理器的方法。本文研究了一种基于fpga (ep1k30qc208-3)的液晶显示驱动方法,与专用集成电路比, fpga 更灵活;与通用微处理器相比, fpga 的速度更快。利用硬件描述语言,编制了液晶显示驱动的ip核,开发了32×32 可变宽度像素点的液晶显示驱动电路,指出,基于fpga的驱动方法能够满足液晶显示驱动时序上的要求,且具有控制灵活的特点,在外扩片外sram 或sdram 后,容易移植在更多可变宽度像素点的液晶显示器的驱动上。因fpga 液晶显示驱动器的像素时钟为25.175mhz ,普通的单片机难以满足要求,故选用altera 公司的acex 系列fpga 作为驱动电路的核心部件。fpga即现场可编程门阵列器件,是一种超大规模集成电路,具有在电路可重配置能力(in circuit reconfigurable , icr) 。设计者设计的逻辑在编译、适配后变成网络表,下载到fpga 芯片上之后, fpga 即可执行设计逻辑的功能。因此,fpga 非常适合于进行快速原型设计,设计者可完全控制产品开发过程中由逻辑设计到最终产品的全过程。
设计与实现
本液晶显示屏采用了商用的cjm10c11 系列tft 液晶显示屏,该显示屏是一种用非晶硅作为开关器件的有源矩阵液晶显示器,其接口为ttl 电平,分辨率为640×480 像素,像素尺寸为100μm×300μm ,灰度级为64级灰度,用18bit数据信号能显示262144 色。
图1 液晶显示驱动系统总体框图
液晶显示驱动电路总体框图如图1 所示。驱动电路通过串口和上位机进行通讯,数据通过串口传输到fpga 的片上rom 中,传输结束后fpga 上的液晶显示驱动电路开始工作,控制信号发生器产生控制信号及地址, 并将由片上rom 读出的各可变宽度像素点的灰度值送lcd显示器显示。在本方案中,与上位机的串行接口、片上rom、像素时钟发生器以及控制信号发生器都是在一片fpga (acex1 k30) 上实现的。
acex 系列的fpga 由排成行和列的逻辑阵列块lab (logic array block) 、每行之中嵌入的嵌入式阵列块eab (embedded array block) 、快速互连以及io 单元构成。每个逻辑阵列块包含8 个逻辑单元le (logic element ) 和一个局部互联。每个逻辑单元则由一个4 输入查找表(lut) ,一个可编程触发器,快速进位链、级连链组成,多个lab和多个eab通过快速通道互相连接。嵌入式阵列块是acex 系列器件在结构设计上的一个重要部件。它是输入端口和输出端口都带有触发器的一种灵活的ram块,其主要功能就是实现一些规模不太大的fifo、rom、ram 和双端口ram 等。
在本液晶显示驱动电路中,主要用宏功能模块实现片上rom ,它调用fpga 上的eab 资源实现灰度数据的存储,用普通的逻辑单元存储坐标值,实现可变宽度像素的像素宽度存储。在acex1k30 中,共有6块4096 位的eab 资源,可实现45×45 可变宽度像素的18 bit 灰度显示。另外,在综合时,计数器、加法器等逻辑器件能够调用fpga 上的快速进位链等资源,提高设计的性能。液晶显示器显示方案如图2所示,整个图像分为消隐区和可视区,在可视区中划分出32×32可变宽度像素的控制显示区,每个可变宽度像素中是由n×n个像素构成的。当扫描点位于可视区内,控制显示区外时,所显示的灰度为0;当扫描信号进入控制显示区后,根据控制信号发生器所产生的地址值,由rom 中读取灰度值,送lcd显示器进行显示。控制显示区在可视区中的坐标以及每个可变宽度像素的宽度,即行或列方向上的像素数都是独立可调的,具有很强的灵活性。
图2 液晶显示器显示方案
像素时钟发生器
像素时钟发生器是lcd 液晶显示器驱动ip核中显示和控制信号发生器的基准。该显示屏的时序信号为由水平和垂直视频时序组合而成的复合视频时序。像素时钟频率为25.175mhz ,像素时钟周期为39.72ns ,行显示时间为640个时钟周期,行消隐时间为160个时钟周期,每个视频行为800 个时钟周期,帧显示时间为480个视频行周期,帧消隐时间为