CN201788657U - 基于NiosⅡ软核CPU的LCD控制器 - Google Patents
基于NiosⅡ软核CPU的LCD控制器 Download PDFInfo
- Publication number
- CN201788657U CN201788657U CN2010201971024U CN201020197102U CN201788657U CN 201788657 U CN201788657 U CN 201788657U CN 2010201971024 U CN2010201971024 U CN 2010201971024U CN 201020197102 U CN201020197102 U CN 201020197102U CN 201788657 U CN201788657 U CN 201788657U
- Authority
- CN
- China
- Prior art keywords
- module
- lcd
- nios
- control module
- soft
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Liquid Crystal Display Device Control (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本实用新型公开了一种基于NiosⅡ软核CPU的LCD控制器,包括:一个FPGA芯片和一个片外同步动态随机存取存储器,所述FPGA芯片中嵌有NiosⅡ软核CPU、Avalon总线模块和同步动态随机存取存储器的控制模块,NiosⅡ软核CPU通过Avalon总线模块还与一个LCD控制模块相连,LCD控制模块与LCD显示器连接。利用SOPC技术,将NiosⅡ软核CPU和LCD控制模块集成在同一个FPGA芯片中,解决了通常情况下一种LCD控制器只能实现一种液晶显示器的驱动,利用单一块芯片实现了LCD控制器所有的功能,降低了设计的复杂度,产品的功耗和成本,系统结构简单,稳定性好,方便产品的升级,能够兼容大部分的LCD显示器。
Description
技术领域
本实用新型涉及一种LCD(即:液晶显示器)控制器,采用FPGA(即:大规模现场可编程门阵列)芯片作为物理载体,利用SOPC(即:可编程片上系统)技术,实现一种基于NiosⅡ软核CPU的LCD控制器,适用于不同的液晶显示器。
背景技术
SOPC技术是一种灵活、高效的SOC(即:片上系统)解决方案。它将处理器、存储器、I/O(输入/输出)接口、LVDS(低电压差分信号)接口等系统设计需要的部件集成到一个可编程器件上,构建成一个可编程的片上系统。它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。可编程器件内,还具有小容量高速随机存储器资源。由于市场上有丰富的IP Core(用于产品应用专用集成电路或者可编辑逻辑器件的逻辑块或数据块)资源可供灵活选择,用户可以构成各种不同的系统,如单处理器,多处理器系统。有些可编程器件内还可以包含部分可编程模拟电路。除了系统使用的资源外,可编程器件内还具有足够的可编程逻辑资源,用于实现其它的附加逻辑。NiosⅡ就是SOPC技术的一个典型的应用,将一个软核放入FPGA芯片中,这个软核就是Nios Ⅱ,它只占FPGA芯片内部很少的一部分逻辑单元,成本很低。Nios Ⅱ软核CPU是一种采用流水线技术、单指令流的RISC(精简 指令集计算机)处理器,其大部分指令可以在一个时钟周期内完成。作为一种可配置的通用的RISC处理器,它可以与用户自定义逻辑结合构成片上系统SOC,并下载到可编程器件中去。32位NiosⅡ软核,结合外部大容量存储器,可以构成一个功能强大的32位嵌入式处理器系统。这一系统采用Avalon总线(交换式架构的片内总线),用于各个模块之间的连接。Avalon总线是FPGA芯片内部的一种相对简单的总线结构,主要用于连接片内处理器与外设,以构成可编程片上系统SOPC。
在现有技术中液晶显示器由于其自身体积小、无辐射、功耗低、数字化等优点,近年来在家电、IT、嵌入式系统中飞速发展,市场前景十分广阔。各个厂家针对不同的应用领域开发了各种各样的液晶显示器,由于各个厂家标准的多样化,使得生产的液晶显示器参数都不相同,为了驱动各种液晶显示器,通常必须采用不同的液晶显示器专用控制芯片,且需要重新设计相关的外部逻辑电路,一种LCD控制器只能实现一种液晶显示器的驱动,这样不仅增加了产品的功耗和复杂度,而且价格昂贵。
发明内容
本实用新型的目的旨在克服现有技术中的不足,提供一种基于NiosⅡ软核CPU的LCD控制器。
本实用新型的内容是:一种基于NiosⅡ软核CPU的LCD控制器,包括:一个大规模现场可编程门阵列FPGA芯片和一个片外同步动态随机存取存储器(5),所述FPGA芯片中嵌有一个NiosⅡ软核CPU(1)、一个Avalon总线模块(2)和一个同步动态随机存取存储器的控制模块(4),所述NiosⅡ软核CPU(1)通过Avalon总线模块(2)还与一个LCD控制模块 (3)相连,所述LCD控制模块(3)与LCD显示器(6)连接。
本实用新型的内容中:所述LCD控制模块(3)由直接存储器访问模块(7)、主控制模块(9)和LCD时序发生器模块(10)构成,所述直接存储器访问模块(7)内还设有一个先进先出的缓存器模块(8);
所述直接存储器访问模块(7)的数据与指令端口挂在Avalon总线模块(2)的主端口上,通过同步动态随机存取存储器的控制模块(4),读取片外同步动态随机存取存储器(5)中的图像数据,并送到内部的先进先出的缓存器模块(8)中进行缓存,先进先出的缓存器模块(8)根据LCD时序发生器模块(10)输入的读信号,向LCD时序发生器模块(10)传输图像数据,LCD时序发生器模块(10)按照LCD显示器(6)要求的时序顺序将读取的图像数据输出到LCD显示器(6),所述先进先出的缓存器模块(8)与直接存储器访问模块(7)之间通过数据通道连接;
所述主控制模块(9)的数据与指令端口挂在Avalon总线模块(2)的从端口上与NiosⅡ软核CPU(1)连接,NiosⅡ软核CPU(1)通过主控制模块(9)对直接存储器访问模块(7)和LCD时序发生器模块(10)进行连接和控制,LCD时序发生器模块(10)与LCD显示器(6)连接。
本实用新型的内容中:所述主控制模块(9)中包含了3个相互独立的寄存器模块,即:控制器寄存器模块(11)、起始地址寄存器模块(12)和长度寄存器模块(13);所述控制器寄存器模块(11)用于控制直接存储器访问模块(7)和LCD时序发生器模块(10)运行和停止;所述起始地址寄存器模块(12)用于指示直接存储器访问模块(7)读取片外同步动态随机存取存储器(5)中的图像数据地址的起始地址寄存器;所述长 度寄存器模块(13)用于指示直接存储器访问模块(7)读取片外同步动态随机存取存储器(5)中的图像数据长度的长度寄存器。
由于采用以上的技术方案,本实用新型的有益效果是:利用可编程片上系统SOPC技术,将NiosⅡ软核CPU和LCD控制模块集成在同一个FPGA芯片中,解决了通常情况下一种LCD控制器只能实现一种液晶显示器的驱动,利用单一块芯片实现了LCD控制器所有的功能,降低了设计的复杂度,产品的功耗和成本,系统结构简单,稳定性好,方便产品的升级,能够兼容大部分的LCD。
附图说明
图1是本实用新型实施例电原理框图;
图2是本实用新型中LCD控制模块电原理框图;
图中:1-NiosⅡ软核CPU,2-Avalon总线模块,3-LCD控制模块,4-同步动态随机存取存储器的控制模块,5-片外同步动态随机存取存储器,6-LCD显示器,7-直接存储器DMA模块,8-先进先出的缓存器模块,9-主控制模块,10-LCD时序发生器模块,11-控制寄存器模块,12-起始地址寄存器模块,13-长度寄存器模块.
具体实施方式
下面结合附图对本实用新型做进一步的描述。
本实施例中,采用的LCD显示器是夏普(SHARP)公司的3.7英寸LS037V7DW01,它能显示640×480分辨率的像素,输入信号是18位(红R,绿G,蓝B,各6位)的数据。这个LCD显示器是一个逐行扫描的设备,先从屏幕的左上方开始,扫描完水平一行480个像素点到右上方后,再回到最 左边开始扫描下一行,直到扫描完640行后一帧图像更新完毕,然后回到左上方开始下一帧图像的扫描。
在图1中,基于NiosⅡ软核CPU的LCD控制器,包括:一个Altera公司的CycloneⅢFPGA芯片,嵌入在FPGA芯片中的使用SOPC Builder定制的一个32位NiosⅡ软核CPU 1、一个Avalon总线模块2和一个同步动态随机存取存储器SDRAM的控制模块4以及一个片外同步动态随机存取存储器SDRAM 5构成的一个功能强大的32位嵌入式处理器系统,NiosⅡ软核CPU1通过Avalon总线模块2与一个使用Verilog HDL编写的LCD控制模块3相连,LCD控制模块3的输出端与LCD显示器6连接。
在图2中,LCD控制模块3由直接存储器访问DMA模块7、主控制模块9和LCD时序发生器模块10构成,直接存储器访问DMA模块7内还设有一个先进先出的缓存器模块8,作为数据缓存用,用于提高直接存储器访问DMA模块7的吞吐率,先进先出的缓存器FIFO模块8与直接存储器访问DMA模块7之间通过数据通道连接;直接存储器访问DMA模块7的数据与指令端口挂在Avalon总线模块2的主端口上,通过同步动态随机存取存储器的控制模块4,读取片外同步动态随机存取存储器SDRAM 5中的图像数据,并送到内部的先进先出的缓存器FIFO模块8中进行缓存,先进先出的缓存器FIFO模块8,根据LCD时序发生器模块10输入的读信号,向LCD时序发生器模块10传输图像数据,LCD时序发生器模块10按照LCD显示器6要求的时序顺序将读取的图像数据输出到LCD显示器6;
主控制模块9的数据与指令端口挂在Avalon总线模块2的从端口上 与NiosⅡ软核CPU1连接,NiosⅡ软核CPU1通过主控制模块9对直接存储器访问DMA模块7和LCD时序发生器模块10进行连接和控制,LCD时序发生器模块10与LCD显示器6连接。
主控制模块9中包含了三个相互独立的寄存器模块,即:控制器寄存器模块11、起始地址寄存器模块12和长度寄存器模块13;控制器寄存器模块11用于控制直接存储器访问DMA模块7和LCD时序发生器模块10运行和停止;所述起始地址寄存器模块12用于指示直接存储器访问DMA模块7读取片外同步动态随机存取存储器SDRAM 5中的图像数据地址的起始地址寄存器;长度寄存器模块13用于指示直接存储器访问DMA模块7读取片外同步动态随机存取存储器SDRAM 5中的图像数据长度的长度寄存器。
直接存储器访问DMA模块7的核心部分是地址累加器,由于Avalon总线模块2的地址映射方式是按字节(8bit)进行编址的,而图像数据的读取是32bit进行操作的,因此地址累加器要按4为单位在系统时钟的驱动下进行累加,生成读取片外同步动态随机存取存储器SDRAM 5中数据的地址。NiosⅡ软核CPU 1通过主控模块9对直接存储器访问DMA模块7进行初始化,设置图像数据在片外同步动态随机存取存储器SDRAM 5中的起始地址(Start_address)和要传输的长度(Frame_length),然后设置直接存储器访问DMA模块7传输开始标志(GoBit),这样直接存储器访问DMA模块7就在没有CPU干预的情况开始自动读取片上片外同步动态随机存取存储器SDRAM 5中的图像数据。
由于Avalon总线模块2的工作时钟和LCD时序发生器模块10的时钟不一样,如果直接将片外同步动态随机存取存储器SDRAM 5中的数据传送会 导致电路处于不稳定状态,工作不正常。因此加入先进先出的缓存器FIFO模块8,对直接存储器访问DMA模块7读取的数据进行缓存,用以匹配时序发生模块的速度需求。本设计中的先进先出的缓存器FIFO模块8采用Altera的宏功能调用FPGA内部的嵌入式RAM模块自动生成,这样可以最大限度的节省FPGA的逻辑资源,先进先出的缓存器FIFO模块8大小定为4096×32。先进先出的缓存器模FIFO块8由主控模块9写入数据,由LCD时序发生器10读出数据。先进先出的缓存器FIFO模块8中设置一个数据上限,提供已使用的容量(wrusedw)信号给主控模块9,用于指示先进先出的缓存器FIFO模块8已经使用的总量,当数据量高于上限时暂停直接存储器访问DMA模块7的数据传输。
工作过程为:NiosⅡ软核CPU 1通过其指令端口和数据端口,在Avalon总线模块2的桥接关系下开启LCD控制模块3,LCD控制模块3中直接存储器访问DMA模块7开始工作,直接存储器访问DMA模块7通过Avalon总线模块2读取片外同步动态随机存取存储器SDRAM 5中的图像数据,并送到先进先出的缓存器FIFO模块8中进行缓存,直接存储器访问DMA模块7在这个过程中承担数据线路连接的角色,能够使大量的数据流在不通过CPU干预的情况下直接读取到先进先出的缓存器FIFO模块8中保存,提高数据的吞吐量,CPU只需对片外同步动态随机存取存储器SDRAM 5中的图像数据进行更新就行了。直接存储器访问DMA模块7读取数据的地址和长度由CPU控制主控制模块9中的起始地址(Start_address)寄存器模块12和长度(Frame_length)寄存器模块13提供,同时先进先出的缓存器FIFO模块8向主控制模块9提供先进先 出的缓存器FIFO模块8中已经使用的容量(Fifo_wrusedw)信号,用于指示自身存储容量的使用情况,当主控制模块9发现先进先出的缓存器FIFO模块8已经使用的容量(Fifo_wrusedw)提供的大容量指示和主控制模块9本身设置的容量指示一致时,向直接存储器访问DMA模块7送出先进先出的缓存器FIFO模块8容量指示信号当其中有效时,表示先进先出的缓存器FIFO模块8的存储容量快满,通知立即停止直接存储器访问DMA模块7的工作。主控制模块9中的寄存器操作全部由NiosⅡ软核CPU 1通过Avalon总线模块2从端口进行,用于控制直接存储器访问DMA模块7、LCD时序发生器模块10和CPU,协调三者之间的时序关系,包括寄存器的读写操作。
LCD时序发生器模块(10)由Verilog HDL硬件描述语言完成硬件布局,主要是设置各种LCD的时序参数,尽量使其成为一个通用的LCD时序发生器,当采用不同的LCD显示器时只需要设置各种参数即可匹配当前的LCD显示器要求的时序信号。LCD时序发生器模块10通过其产生的读信号(Fifo_rdreq),读取先进先出的缓存器FIFO模块8中缓存的图像数据,通知先进先出的缓存器FI12模块8,开始往LCD时序发生器模块10传输数据,LCD时序发生器模块10本身由主控制模块9控制开始工作的时间。按照不同LCD显示器6的要求时序顺序送出,同时给LCD显示器6提供水平同步信号(Hsync)、垂直同步信号(Vsync)、数据使能信号(DEN)和时钟信号(CLK)和三基色(RGB)信号从而实现图像的显示。
Claims (3)
1.一种基于NiosⅡ软核CPU的LCD控制器,包括:一个大规模现场可编程门阵列FPGA芯片和一个片外同步动态随机存取存储器(5),所述FPGA芯片中嵌有一个NiosⅡ软核CPU(1)、一个Avalon总线模块(2)和一个同步动态随机存取存储器的控制模块(4),其特征是:所述NiosⅡ软核CPU(1)通过Avalon总线模块(2)还与一个LCD控制模块(3)相连,所述LCD控制模块(3)与LCD显示器(6)连接。
2.根据权利要求1所述的基于NiosⅡ软核CPU的LCD控制器,其特征是:所述LCD控制模块(3)由直接存储器访问模块(7)、主控制模块(9)和LCD时序发生器模块(10)构成,所述直接存储器访问模块(7)内还设有一个先进先出的缓存器模块(8);
所述直接存储器访问模块(7)的数据与指令端口挂在Avalon总线模块(2)的主端口上,通过同步动态随机存取存储器的控制模块(4),读取片外同步动态随机存取存储器(5)中的图像数据,并送到内部的先进先出的缓存器模块(8)中进行缓存,先进先出的缓存器模块(8)根据LCD时序发生器模块(10)输入的读信号,向LCD时序发生器模块(10)传输图像数据,LCD时序发生器模块(10)按照LCD显示器(6)要求的时序顺序将读取的图像数据输出到LCD显示器(6),所述先进先出的缓存器模块(8)与直接存储器访问模块(7)之间通过数据通道连接;
所述主控制模块(9)的数据与指令端口挂在Avalon总线模块(2)的从端口上与NiosⅡ软核CPU(1)连接,NiosⅡ软核CPU(1)通过主控制模块(9)对直接存储器访问模块(7)和LCD时序发生器模块(10)进行连接和控制,LCD时序发生器模块(10)与LCD显示器(6)连接。
3.根据权利要求2所述的基于NiosⅡ软核CPU的LCD控制器,其特征是:所述主控制模块(9)中包含了3个相互独立的寄存器模块,即:控制器寄存器模块(11)、起始地址寄存器模块(12)和长度寄存器模块(13);所述控制器寄存器模块(11)用于控制直接存储器访问模块(7)和LCD时序发生器模块(10)运行和停止;所述起始地址寄存器模块(12)用于指示直接存储器访问模块(7)读取片外同步动态随机存取存储器(5)中的图像数据地址的起始地址寄存器;所述长度寄存器模块(13)用于指示直接存储器访问模块(7)读取片外同步动态随机存取存储器(5)中的图像数据长度的长度寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010201971024U CN201788657U (zh) | 2010-05-19 | 2010-05-19 | 基于NiosⅡ软核CPU的LCD控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010201971024U CN201788657U (zh) | 2010-05-19 | 2010-05-19 | 基于NiosⅡ软核CPU的LCD控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN201788657U true CN201788657U (zh) | 2011-04-06 |
Family
ID=43820614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010201971024U Expired - Fee Related CN201788657U (zh) | 2010-05-19 | 2010-05-19 | 基于NiosⅡ软核CPU的LCD控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN201788657U (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324589A (zh) * | 2013-06-26 | 2013-09-25 | 四川九洲电器集团有限责任公司 | Sd卡控制系统 |
CN103383710A (zh) * | 2013-07-05 | 2013-11-06 | 燕山大学 | 基于sopc模拟脑电波的电路板及构建大脑动力学模型的方法 |
CN103744632A (zh) * | 2013-11-28 | 2014-04-23 | 苏州长风航空电子有限公司 | 一种基于NiosⅡ的低成本机载显示器图形生成装置及其方法 |
CN105425028A (zh) * | 2015-10-27 | 2016-03-23 | 中国电子科技集团公司第四十一研究所 | 一种基于fpga的微波功率测量装置 |
CN108228130A (zh) * | 2018-01-11 | 2018-06-29 | 北京安博通科技股份有限公司 | 一种嵌入式设备的液晶屏显示方法及装置 |
CN110889333A (zh) * | 2019-10-31 | 2020-03-17 | 安徽普华灵动机器人科技有限公司 | 一种司机疲劳驾驶智能检测识别系统 |
CN114078456A (zh) * | 2021-10-12 | 2022-02-22 | 浙江汉德瑞智能科技有限公司 | 基于vhdl的lcd显示控制方法 |
-
2010
- 2010-05-19 CN CN2010201971024U patent/CN201788657U/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324589A (zh) * | 2013-06-26 | 2013-09-25 | 四川九洲电器集团有限责任公司 | Sd卡控制系统 |
CN103383710A (zh) * | 2013-07-05 | 2013-11-06 | 燕山大学 | 基于sopc模拟脑电波的电路板及构建大脑动力学模型的方法 |
CN103744632A (zh) * | 2013-11-28 | 2014-04-23 | 苏州长风航空电子有限公司 | 一种基于NiosⅡ的低成本机载显示器图形生成装置及其方法 |
CN105425028A (zh) * | 2015-10-27 | 2016-03-23 | 中国电子科技集团公司第四十一研究所 | 一种基于fpga的微波功率测量装置 |
CN108228130A (zh) * | 2018-01-11 | 2018-06-29 | 北京安博通科技股份有限公司 | 一种嵌入式设备的液晶屏显示方法及装置 |
CN110889333A (zh) * | 2019-10-31 | 2020-03-17 | 安徽普华灵动机器人科技有限公司 | 一种司机疲劳驾驶智能检测识别系统 |
CN114078456A (zh) * | 2021-10-12 | 2022-02-22 | 浙江汉德瑞智能科技有限公司 | 基于vhdl的lcd显示控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN201788657U (zh) | 基于NiosⅡ软核CPU的LCD控制器 | |
CN203616547U (zh) | 液晶显示模组的测试系统 | |
EP2972761B1 (en) | Display co-processing | |
TWI418975B (zh) | 混合圖形顯示電源管理的裝置與系統及其非暫態機器可讀取媒體 | |
CN102945291A (zh) | 基于pci-e的高速图像采集存储卡 | |
CN102074205B (zh) | Lcd控制器的控制方法 | |
CN102025934A (zh) | 基于AXI总线的数字电视SoC的存储控制方法 | |
CN107277390A (zh) | 一种基于Zynq多路视频拼接系统 | |
CN202502713U (zh) | 基于sopc的led显示屏控制器 | |
TW201423403A (zh) | 共用資源的存取請求之有效率處理 | |
CN101515436B (zh) | 嵌入式led显示屏控制系统 | |
CN203708370U (zh) | 一种多路数字图像处理系统 | |
CN103813125B (zh) | 一种多路数字图像处理系统 | |
CN115101025B (zh) | 一种支持虚拟帧缓冲的lcd控制电路及其控制方法 | |
CN201522841U (zh) | Lcd控制器 | |
CN100498754C (zh) | 一种复杂电路系统通用总线 | |
CN103745681B (zh) | 一种基于综合可编程器件的图形发生器 | |
Zhang et al. | Research and implementation of the cmos camera device driver based on S3C2440 | |
US20170322614A1 (en) | Power management techniques | |
CN1318939C (zh) | 改变系统模式之请求的处理方法与装置及计算机系统 | |
CN218240952U (zh) | 一种基于arm的低功耗航空国产图形处理系统 | |
CN103853305A (zh) | 一种电源管理方法及电子设备 | |
CN110659004A (zh) | 显示面板的动态睡眠 | |
CN201812476U (zh) | 基于fpga的16位色液晶屏显示控制驱动板 | |
CN210016555U (zh) | 一种基于fpga的高清视频采集系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110406 Termination date: 20180519 |