基于NiosⅡ软核CPU的LCD控制器的制作方法

文档序号:2652401阅读:203来源:国知局
专利名称:基于NiosⅡ软核CPU的LCD控制器的制作方法
技术领域
本实用新型涉及一种IXD(即液晶显示器)控制器,采用FPGA(即大规模现场 可编程门阵列)芯片作为物理载体,利用S0PC(即可编程片上系统)技术,实现一种基于 Nios II软核CPU的IXD控制器,适用于不同的液晶显示器。
背景技术
SOPC技术是一种灵活、高效的S0C(即片上系统)解决方案。它将处理器、存储 器、I/O (输入/输出)接口、LVDS (低电压差分信号)接口等系统设计需要的部件集成到一 个可编程器件上,构建成一个可编程的片上系统。它是可编程系统,具有灵活的设计方式, 可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。可编程器件内,还具有小容量 高速随机存储器资源。由于市场上有丰富的IP Core (用于产品应用专用集成电路或者可编 辑逻辑器件的逻辑块或数据块)资源可供灵活选择,用户可以构成各种不同的系统,如单 处理器,多处理器系统。有些可编程器件内还可以包含部分可编程模拟电路。除了系统使用 的资源外,可编程器件内还具有足够的可编程逻辑资源,用于实现其它的附加逻辑。Nios II 就是SOPC技术的一个典型的应用,将一个软核放入FPGA芯片中,这个软核就是Nios II,它 只占FPGA芯片内部很少的一部分逻辑单元,成本很低。Nios II软核CPU是一种采用流水 线技术、单指令流的RISC(精简指令集计算机)处理器,其大部分指令可以在一个时钟周 期内完成。作为一种可配置的通用的RISC处理器,它可以与用户自定义逻辑结合构成片上 系统S0C,并下载到可编程器件中去。32位Nios II软核,结合外部大容量存储器,可以构成 一个功能强大的32位嵌入式处理器系统。这一系统采用Avalon总线(交换式架构的片内 总线),用于各个模块之间的连接。Avalon总线是FPGA芯片内部的一种相对简单的总线结 构,主要用于连接片内处理器与外设,以构成可编程片上系统S0PC。在现有技术中液晶显示器由于其自身体积小、无辐射、功耗低、数字化等优点,近 年来在家电、IT、嵌入式系统中飞速发展,市场前景十分广阔。各个厂家针对不同的应用领 域开发了各种各样的液晶显示器,由于各个厂家标准的多样化,使得生产的液晶显示器参 数都不相同,为了驱动各种液晶显示器,通常必须采用不同的液晶显示器专用控制芯片,且 需要重新设计相关的外部逻辑电路,一种IXD控制器只能实现一种液晶显示器的驱动,这 样不仅增加了产品的功耗和复杂度,而且价格昂贵。
发明内容本实用新型的目的旨在克服现有技术中的不足,提供一种基于Nios II软核CPU的 IXD控制器。本实用新型的内容是一种基于Nios II软核CPU的IXD控制器,包括一个大规模 现场可编程门阵列FPGA芯片和一个片外同步动态随机存取存储器(5),所述FPGA芯片中嵌 有一个Nios II软核CPU(l)、一个Avalon总线模块(2)和一个同步动态随机存取存储器的 控制模块(4),所述Nios II软核CPU(I)通过Avalon总线模块(2)还与一个IXD控制模块⑶相连,所述LCD控制模块(3)与LCD显示器(6)连接。本实用新型的内容中所述LCD控制模块(3)由直接存储器访问模块(7)、主控制 模块(9)和LCD时序发生器模块(10)构成,所述直接存储器访问模块(7)内还设有一个先 进先出的缓存器模块(8);所述直接存储器访问模块(7)的数据与指令端口挂在Avalon总线模块(2)的主 端口上,通过同步动态随机存取存储器的控制模块(4),读取片外同步动态随机存取存储器
(5)中的图像数据,并送到内部的先进先出的缓存器模块(8)中进行缓存,先进先出的缓存 器模块⑶根据LCD时序发生器模块(10)输入的读信号,向LCD时序发生器模块(10)传 输图像数据,LCD时序发生器模块(10)按照LCD显示器(6)要求的时序顺序将读取的图像 数据输出到LCD显示器(6),所述先进先出的缓存器模块(8)与直接存储器访问模块(7)之 间通过数据通道连接;所述主控制模块(9)的数据与指令端口挂在Avalon总线模块(2)的从端口上与 Nios II软核CPU(I)连接,Nios II软核CPU(I)通过主控制模块(9)对直接存储器访问模块 (7)和IXD时序发生器模块(10)进行连接和控制,IXD时序发生器模块(10)与IXD显示器
(6)连接。本实用新型的内容中所述主控制模块(9)中包含了 3个相互独立的寄存器模块, 即控制器寄存器模块(11)、起始地址寄存器模块(12)和长度寄存器模块(13);所述控制 器寄存器模块(11)用于控制直接存储器访问模块(7)和LCD时序发生器模块(10)运行和 停止;所述起始地址寄存器模块(12)用于指示直接存储器访问模块(7)读取片外同步动态 随机存取存储器(5)中的图像数据地址的起始地址寄存器;所述长度寄存器模块(13)用 于指示直接存储器访问模块(7)读取片外同步动态随机存取存储器(5)中的图像数据长度 的长度寄存器。由于采用以上的技术方案,本实用新型的有益效果是利用可编程片上系统SOPC 技术,将Nios II软核CPU和IXD控制模块集成在同一个FPGA芯片中,解决了通常情况下 一种IXD控制器只能实现一种液晶显示器的驱动,利用单一块芯片实现了 IXD控制器所有 的功能,降低了设计的复杂度,产品的功耗和成本,系统结构简单,稳定性好,方便产品的升 级,能够兼容大部分的LCD。

图1是本实用新型实施例电原理框图;图2是本实用新型中LCD控制模块电原理框图;图中I-Nios II软核CPU,2-Aval0n总线模块,3-LCD控制模块,4-同步动态随机 存取存储器的控制模块,5-片外同步动态随机存取存储器,6-LCD显示器,7-直接存储器 DMA模块,8-先进先出的缓存器模块,9-主控制模块,IO-LCD时序发生器模块,11-控制寄存 器模块,12-起始地址寄存器模块,13-长度寄存器模块.
具体实施方式
以下结合附图对本实用新型做进一步的描述。本实施例中,采用的IXD显示器是夏普(SHARP)公司的3. 7英寸LS037V7DW01,它能显示640X480分辨率的像素,输入信号是18位(红R,绿G,蓝B,各6位)的数据。这个 IXD显示器是一个逐行扫描的设备,先从屏幕的左上方开始,扫描完水平一行480个像素点 到右上方后,再回到最左边开始扫描下一行,直到扫描完640行后一帧图像更新完毕,然 后回到左上方开始下一帧图像的扫描。在图1中,基于Nios II软核CPU的LCD控制器,包括一个Altera公司的 Cyclone III FPGA芯片,嵌入在FPGA芯片中的使用SOPC Builder定制的一个32位Nios II 软核CPU 1、一个Avalon总线模块2和一个同步动态随机存取存储器SDRAM的控制模块4 以及一个片外同步动态随机存取存储器SDRAM 5构成的一个功能强大的32位嵌入式处理 器系统,Nios II软核CPUl通过Avalon总线模块2与一个使用Verilog HDL编写的LCD控 制模块3相连,IXD控制模块3的输出端与IXD显示器6连接。在图2中,IXD控制模块3由直接存储器访问DMA模块7、主控制模块9和IXD时 序发生器模块10构成,直接存储器访问DMA模块7内还设有一个先进先出的缓存器模块8, 作为数据缓存用,用于提高直接存储器访问DMA模块7的吞吐率,先进先出的缓存器FIFO 模块8与直接存储器访问DMA模块7之间通过数据通道连接;直接存储器访问DMA模块7 的数据与指令端口挂在Avalon总线模块2的主端口上,通过同步动态随机存取存储器的控 制模块4,读取片外同步动态随机存取存储器SDRAM 5中的图像数据,并送到内部的先进先 出的缓存器FIFO模块8中进行缓存,先进先出的缓存器FIFO模块8,根据LCD时序发生器 模块10输入的读信号,向IXD时序发生器模块10传输图像数据,IXD时序发生器模块10按 照IXD显示器6要求的时序顺序将读取的图像数据输出到IXD显示器6 ;主控制模块9的数据与指令端口挂在Avalon总线模块2的从端口上与Nios II 软核CPUl连接,Nios II软核CPUl通过主控制模块9对直接存储器访问DMA模块7和IXD 时序发生器模块10进行连接和控制,IXD时序发生器模块10与IXD显示器6连接。主控制模块9中包含了三个相互独立的寄存器模块,即控制器寄存器模块11、起 始地址寄存器模块12和长度寄存器模块13 ;控制器寄存器模块11用于控制直接存储器访 问DMA模块7和IXD时序发生器模块10运行和停止;所述起始地址寄存器模块12用于指 示直接存储器访问DMA模块7读取片外同步动态随机存取存储器SDRAM 5中的图像数据地 址的起始地址寄存器;长度寄存器模块13用于指示直接存储器访问DMA模块7读取片外同 步动态随机存取存储器SDRAM 5中的图像数据长度的长度寄存器。直接存储器访问DMA模块7的核心部分是地址累加器,由于Avalon总线模块2的 地址映射方式是按字节(8bit)进行编址的,而图像数据的读取是32bit进行操作的,因此 地址累加器要按4为单位在系统时钟的驱动下进行累加,生成读取片外同步动态随机存取 存储器SDRAM 5中数据的地址。Nios II软核CPU 1通过主控模块9对直接存储器访问DMA 模块7进行初始化,设置图像数据在片外同步动态随机存取存储器SDRAM 5中的起始地址 (Start_address)和要传输的长度(FrameJength),然后设置直接存储器访问DMA模块7 传输开始标志(GoBit),这样直接存储器访问DMA模块7就在没有CPU干预的情况开始自动 读取片上片外同步动态随机存取存储器SDRAM 5中的图像数据。由于Avalon总线模块2的工作时钟和IXD时序发生器模块10的时钟不一样,如 果直接将片外同步动态随机存取存储器SDRAM 5中的数据传送会导致电路处于不稳定状 态,工作不正常。因此加入先进先出的缓存器FIFO模块8,对直接存储器访问DMA模块7读取的数据进行缓存,用以匹配时序发生模块的速度需求。本设计中的先进先出的缓存器 FIFO模块8采用Altera的宏功能调用FPGA内部的嵌入式RAM模块自动生成,这样可以最 大限度的节省FPGA的逻辑资源,先进先出的缓存器FIFO模块8大小定为4096X32。先进 先出的缓存器模FIFO块8由主控模块9写入数据,由IXD时序发生器10读出数据。先进 先出的缓存器FIFO模块8中设置一个数据上限,提供已使用的容量(wrusedw)信号给主控 模块9,用于指示先进先出的缓存器FIFO模块8已经使用的总量,当数据量高于上限时暂停 直接存储器访问DMA模块7的数据传输。工作过程为Nios II软核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 II软核CPU 1通过Avalon总线模块2从端口进行,用于控制直接存储器访问DMA模块 7、IXD时序发生器模块10和CPU,协调三者之间的时序关系,包括寄存器的读写操作。IXD时序发生器模块(10)由Verilog HDL硬件描述语言完成硬件布局,主要是设 置各种LCD的时序参数,尽量使其成为一个通用的LCD时序发生器,当采用不同的LCD显示 器时只需要设置各种参数即可匹配当前的LCD显示器要求的时序信号。LCD时序发生器模 块10通过其产生的读信号(Fifo_rdreq),读取先进先出的缓存器FIFO模块8中缓存的图 像数据,通知先进先出的缓存器FI12模块8,开始往IXD时序发生器模块10传输数据,IXD 时序发生器模块10本身由主控制模块9控制开始工作的时间。按照不同LCD显示器6的要 求时序顺序送出,同时给LCD显示器6提供水平同步信号(Hsync)、垂直同步信号(Vsync)、 数据使能信号(DEN)和时钟信号(CLK)和三基色(RGB)信号从而实现图像的显示。
权利要求1.一种基于Nios II软核CPU的IXD控制器,包括一个大规模现场可编程门阵列FPGA 芯片和一个片外同步动态随机存取存储器(5),所述FPGA芯片中嵌有一个Nios II软核 CPU(I)、一个Avalon总线模块⑵和一个同步动态随机存取存储器的控制模块(4),其特征 是所述Nios II软核CPU(I)通过Avalon总线模块(2)还与一个IXD控制模块(3)相连, 所述IXD控制模块(3)与IXD显示器(6)连接。
2.根据权利要求1所述的基于NiosII软核CPU的LCD控制器,其特征是所述LCD控 制模块⑶由直接存储器访问模块(7)、主控制模块(9)和LCD时序发生器模块(10)构成, 所述直接存储器访问模块(7)内还设有一个先进先出的缓存器模块(8);所述直接存储器访问模块(7)的数据与指令端口挂在Avalon总线模块(2)的主端口 上,通过同步动态随机存取存储器的控制模块(4),读取片外同步动态随机存取存储器(5) 中的图像数据,并送到内部的先进先出的缓存器模块(8)中进行缓存,先进先出的缓存器 模块⑶根据LCD时序发生器模块(10)输入的读信号,向LCD时序发生器模块(10)传输 图像数据,LCD时序发生器模块(10)按照LCD显示器(6)要求的时序顺序将读取的图像数 据输出到LCD显示器(6),所述先进先出的缓存器模块(8)与直接存储器访问模块(7)之间 通过数据通道连接;所述主控制模块(9)的数据与指令端口挂在Avalon总线模块⑵的从端口上与 Nios II软核CPU(I)连接,Nios II软核CPU(I)通过主控制模块(9)对直接存储器访问模块 (7)和IXD时序发生器模块(10)进行连接和控制,IXD时序发生器模块(10)与IXD显示器 (6)连接。
3.根据权利要求2所述的基于NiosII软核CPU的LCD控制器,其特征是所述主控制 模块(9)中包含了 3个相互独立的寄存器模块,即控制器寄存器模块(11)、起始地址寄存 器模块(12)和长度寄存器模块(13);所述控制器寄存器模块(11)用于控制直接存储器访 问模块(7)和LCD时序发生器模块(10)运行和停止;所述起始地址寄存器模块(12)用于 指示直接存储器访问模块(7)读取片外同步动态随机存取存储器(5)中的图像数据地址的 起始地址寄存器;所述长度寄存器模块(13)用于指示直接存储器访问模块(7)读取片外同 步动态随机存取存储器(5)中的图像数据长度的长度寄存器。
专利摘要本实用新型公开了一种基于NiosⅡ软核CPU的LCD控制器,包括一个FPGA芯片和一个片外同步动态随机存取存储器,所述FPGA芯片中嵌有NiosⅡ软核CPU、Avalon总线模块和同步动态随机存取存储器的控制模块,NiosⅡ软核CPU通过Avalon总线模块还与一个LCD控制模块相连,LCD控制模块与LCD显示器连接。利用SOPC技术,将NiosⅡ软核CPU和LCD控制模块集成在同一个FPGA芯片中,解决了通常情况下一种LCD控制器只能实现一种液晶显示器的驱动,利用单一块芯片实现了LCD控制器所有的功能,降低了设计的复杂度,产品的功耗和成本,系统结构简单,稳定性好,方便产品的升级,能够兼容大部分的LCD显示器。
文档编号G09G3/36GK201788657SQ20102019710
公开日2011年4月6日 申请日期2010年5月19日 优先权日2010年5月19日
发明者朱磊, 杨其聪 申请人:四川九洲电器集团有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1