基于NiosⅡ处理器的TFT-LCD图形显示设计
随着工艺技术的发展与市场的需要,超大规模、高速、低功耗的FPGA不断推出,并且被广泛地应用在高速、高密度的数字电路设计领域。SoPC[1](System on a Programmable Chip)是一种基于FPGA 的SoC设计方案,它将FPGA及微处理器的核心嵌在同一芯片上,构成一个可编程的SoPC系统框架,具有高度的集成能力,很大程度上减小了产品体积以及外部信号对系统的干扰,大大增加了系统的可靠性、稳定性和灵活性。本文介绍一种基于Nios Ⅱ软核处理器实现对LCD控制显示图形的方法。在设计中,利用Altera的FPGA的SoPC Builder定制Nios Ⅱ软核处理器及其与显示功能相关的"软"硬件模块,来协同实现控制显示的软硬件设计。
1 系统设计
在工业控制和消费电子领域,LCD的显示技术呈现出越来越多的方式。本设计采用基于NiosⅡ处理器的液晶显示图形的设计方法,在SoPC Builder中以自定义接口的形式利用总线方式对LCD控制器进行设计,LCD控制器[2]一端接收用户控制,一端实现LCD复杂时序,并集成多种功能。用户只需要与控制器的简单接口交互,便能达到控制LCD的目的,进而编写应用程序,实现显示汉字、图片、画图等功能。本文的设计方法大大降低了工作量,加快了数据的处理速度和扫描频率,提高了各个功能模块的集成度,改善了系统的性能和可靠性。
本设计最终实现了一个基于Altera公司的DE2 开发板的TFT-LCD 控制器对已知图形的显示。
2 硬件设计
2.1 系统的整体结构
SoPC系统基于Avalon 总线与其他系统构件来通信,整个SoPC系统设计中的外设通过Avalon总线模块连接起来,并且总线规范为外设端口与总线模块之间的数据传输提供了互连模型。
本设计的SoPC系统整体结构如图1所示。
2.2 SoPC系统建立
基于FPGA的SoPC方案[3]的可配置性表现在搭建硬件平台时,用户可以根据自己要实现的功能来灵活选择所需要的存储器以及外围接口设备,而不用把所有提供的元件添加到系统中,这样就可以因功能不同而有针对性地设计每一个系统,从而也避免了添加无用元件占用FPGA资源而引起浪费。例如,由系统的整体结构可知,本系统所需要的基本组件有CPU、SDRAM控制器、JTAG-UART、SRAM、定时器以及用三态桥来连接的CPI-FLASH,因为在TFT-LCD已经带有控制器了,所以就不需要以自定义组件的形式在SoPC Builder中添加该元件的控制器。
本系统的构建基于QuartusⅡ8.0版本的SoPC Builder工具,它使用CPU、存储器接口和外围设备(例如本设计中添加的挂接在三态桥上的接口gx_tft_lcd)生成系统模块,并在Avalon总线模块和所有系统组件上的从属设备端口之间自动生成互连逻辑。由于利用总线方式来访问已经带有控制器(TCB8000A)的TFT LCD,因此需要在Nios Ⅱ系统模块中手动添加一个三态接口gx_tft_lcd。因为是只创建一个接口,因此不需要HDL文件和HAL文件,但是在信号设置时,应根据Avalon总线三态从端口写时序图和TCB8000A的控制接口来添加需要的信号。
设置生成新元件后就可以将新定制的gx_tft_lcd添加到Nios系统中,产生Nios II 系统模块,并添加到工程中。保存编译,通过之后可将编译生成的sof文件下载到FPGA芯片,至此硬件方面的工作基本完成。
- 基于嵌入式NiosⅡ软核的串口直接读写寄存器方式编程 (09-08)
- TFT-LCD在GPS导航仪中的应用(11-26)
- 基于SIP协议的语音网关开发设计(01-06)
- AX100存储系统直连Windows服务器指南(06-16)
- 新型CPU及微处理器低压大电流可编程输出电源设计(04-09)
- 基于RISC架构的龙芯处理器(04-27)