当前位置: 首页 > 范文大全 > 公文范文 >

基于Nios II嵌入式软核处理器的液晶显示模块接口的实现

时间:2022-03-22 09:24:23  浏览次数:

摘要:介绍了一种基于嵌入式Nios II软核处理器实现TFT液晶显示屏接口方案,在对TMT035DNAFWU真彩液晶显示屏的时序详细分析基础上, 给出了Nios II软核处理器SOPC(可编程片上系统)与液晶显示模块的硬件接口电路以及软件编写流程,并使用 C语言进行设计描述。该系统体积小,数据处理速度快,保证了较好的实时性。

关键词:Nios嵌入式处理器;现场可编程门阵列;液晶显示器;可编程片上系统

中图分类号:TN873;TP332文献标识码:B

Implementation of LCD Display Interface Module Based on Embedded Processor Nios II

LIN Zhi-qi1,2,ZHANG Xiu-qian1,FU Li1

(1.College of Electrical and Electronic Engineering Changchun University of Technology, Changchun 130012;2.College of Opto-Engineering Changchun University of science and Technology,changchun 130022,China)

Abstract: This paper introduce a method of design and implementation of the LCD Display interface module based on embedded processor Nios II. It analyses the timing of TMT035DNAFWU TFT_LCD, bring forward the hardware interface circuit between Embedded Processor Nios SOPC(System On Programmable Chip)and LCD display module and the flowchart of software with relevant programs. Then describes the design in C. The system is small volume, fast data processing, guarantees better real-time property.

Keywords: embedded processor Nios II; FPGA; LCD; SOPC

引言

液晶显示屏(liquid crystal display,LCD)作为一种显示器件,以其体积小、功耗低、寿命长、不产生电磁辐射污染、可显示大量复杂文字及图形信息等特点,现已成为嵌入式设备中必不可少的外围接口器件之一。特别是彩色LCD也越来越多地应用到了嵌入式系统中,如新一代手机和掌上电脑多采用TFT显示器件,支持彩色图形界面和视频媒体播放。LCD还被广泛应用于电子设备及控制领域中,成为测量结果显示和人机对话的重要工具。

本文中LCD采用320×240点阵型TMT035DNAFWU真彩液晶显示模块,其大小为3.5in,模块尺寸70.8mm×52.56mm,输入24位元的RGB,偏振片透射,彩色数字为16万,对比度300,可视角度60°/60°/40°/60°。本文中将Nios II软核技术与液晶屏相结合,来实现LCD接口和图形显示,体积小,使设计具有较强的伸缩性,符合便携式系统的要求。

1嵌入式Nios II软核处理器

1.1 Nios II软核简介[1],[2]

Nios II 系列软核处理器是Altera 的第二代FPGA 32位RSIC嵌入式处理器,其性能超过200DMIPS,采用全新的架构,比第一代Nios具有更高的效率和性能。和第一代相比,Nios II核平均占用不到50% 的FPGA 资源,而计算性能增长了1 倍。采用32位指令、32位数据和地址、32位通用寄存器和32个外部中断源;支持用户的专用指令多达256个,这使得设计者能够细致地调整系统硬件以满足性能目标。因为Nios II处理器是软核,因此开发者能够从无限的系统配置组合中选择满足性能和成本目标的方案,而不必为系统级设计考虑采用ASIC。Nios II系列包括三种软CPU核,一种是最大系统性能,一种为最少逻辑使用量优化的,还有一种是前两种CPU 的平衡。所有核都是100%代码兼容,让设计者根据系统需求变化改变CPU而不会影响现有的软件投入。Nios II处理器具有完善的软件开发套件,包括编译器集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。Atera公司同时还推出了NiosTM集成开发环境(IDE) ,Nios II IDE基于开放和可扩展的Eclipse平台,不仅可以将通用用户界面和业界最好的开发环境完美结合, 还能够与第三方工具无缝地集成在一起。

1.2SOPC设计

对于复杂的系统 ,由于有很多种状态机 ,或有很多外设的系统 ,纯粹用基于硬件的FPGA(现场编程逻辑门阵列)来实现还是比较困难的。因此可以把一个微处理器嵌入到FPGA芯片中 ,用来控制各种状态的切换,协调各个外设之间的同步以及实现对任务的调度。目前,FPGA芯片密度已达到百万门级,在一片FPGA芯片上就可以实现DSP、MCU控制和各种控制算法等复杂的功能,而且随着较高级EDA开发工具的出现,利用FPGA或CPLD等可编程器件来进行SOPC设计也成为可能。SOPC其特点在于可编程性, 而Nios II嵌入式处理器是Altera公司最新推出的应用于SOPC技术的软核CPU,是一种面向用户的,以RISC为基础的,可配置、可伸缩的软核处理器, Altera公司以IP的方式提供给设计者。Nios II软核通过Avalon总线将外部存储器(包括ROM,RAM)、液晶显示屏、以太网控制器、CDR驱动器、USB 接口甚至红外适配器等外部设备连接在一起 ,协调它们之间的多机协同和数据共享 , 必要的时候还可以在Nios核中加入实时操作系统 ,来实现对多任务的处理。

Nios II处理器[3]具有完善的开发软件Quartus II, Quartus II开发软件中的SOPC Builder开发工具通过它可以创建Nios CPU设计项目,为设计人员提供SoPC设计所必需的软硬件设计平台。设计人员使用SoPC Builder生成Nios处理器,然后根据需要,从SoPC Builder的通用外设和接口库中添加外围设备,而且可以利用软件中的用户逻辑接口向导,将自制的外设添加在Nios处理器系统中,并给其分配地址空间、DMA、中断等资源并生成相应的硬件驱动模块,能直接向应用程序提供可使用的接口,配置完成后通过Generate进行系统模块的生成,并同时自动产生每个模块的HDL文件和一些必要的仲裁逻辑来协调系统中各部件的工作。

2系统硬件设计[4]

由于TMT035DNAFWU液晶模块显示的控制和驱动都由模块内部的控制器及电路来完成,与外部Nios II处理器的连接只需24位数据线和3条控制线及电源。在本文中利用在Nios II系统中添加相应的PIO方式来实现对TFT液晶显示屏LCD的控制。液晶LCD结构图如图1,时序图如图2所示。

根据显示模块的要求,对LCD控制需要24位I/O口与模组的数据线连接作为数据总线,此外还需要3条作为时序的控制线以及一个数据缓存器(RAM)。在SOPC Builder添加1个24位的数据PIO端口LCD_DB[23..0](将控制指令和显示数据输入到液晶显示模块中)和3个1位的数据PIO端口,分别定义为LCD_Dclk(数据采样时钟信号,为行扫描时数据载入提供时钟)、LCD_HSYNC(水平同步输入)、LCD_VSYNC(垂直同步输入)。添加完后按Generate按钮生成顶视图,如图3所示。外部CPU通过这些控制线和数据线来设置所需要的显示方式,此外还要用一个数据缓存器RAM,用来缓存图像和数据信息。

在设计中,我们把液晶显示屏LCD接口作为普通外设的PIO来进行操作。如图4所示的Nios II与LCD接口电路图中LCD的数据采样时钟信号Dclk、数据DATA、水平同步输入HSYNC、垂直同步输入VSYNC都包括在PIO总线内,在不太复杂的系统中,这种方法简单明了,易于掌握。

3LCD显示控制器的软件设计

3.1LCD显示控制器的程序框架

系统硬件上电复位后 ,软件根据用户的需要自动对各项控控器指令代码及其参数进行设置 ,从而完成对液晶模块的参数如液晶的行数、列数、以及显示方式一系列的初始化过程[6]。LCD显示控制器的程序框架如图5所示。

LCD显示控制器的程序框架中,颜色查找表是一块256×24位的静态RAM区,程序包括两块颜色查找表,一共512×24位;寄存器包括整个程序需要的各种控制、状态寄存器;颜色处理器用于将接收到的像素数据转换成RGB颜色信息;光标处理器用于将保存的光标信息转换成可见的光标;FIFO 用于保证连续的数据流输出到LCD显示器上;视频定时产生器用于产生显示需要的各种同步信号,如场同步、行同步、复合同步信号等。

3.2LCD显示控制器程序的实现[6]

LCD显示控制器顶层程序代码如下:

Module lcd_enh_top(…); //输入和输出

Input wb_clk_i; //外部时钟输入

Input wb_rst_i; //同步有效重启信号

Input rst_i;//异步重启信号

Output wb_inta_o; //中断请求信号

……

//连接各个子模块

lcd_wb_slave wbs(

.clk_i(wb_clk_i ),

……

);

……

//读输出FIFO内容时产生中断信号

always@(posedge clk_p_i)

luint_pclk<=#1 line_fifo_rreq & line_fifo_empty_rd;

always@(posedge wb_clk_i or negedge arst)

//ctrl_ven是控制寄存器中的VEN位,是显示器工作的使能位

//显示器不工作时,清除中断

If(!ctrl_ven)

Begin

Sluint<=#1 1,b0;

Luint<=#11,b0;

End

Else

Begin

Sluint<=#1 luint_pclk;

Luint<=#1sluint;

End

End module

4结论

本文通过对液晶显示屏接口的设计,能够验证Nios II软核与传统硬核相比具有很多优点。Nios只占用 FPGA片内的一少部分资源 ,其余的硬件资源可以用来设计其它的模块 ,这样将 CPU与 PLD的功能集于一身 ,既简化了电路板设计 ,又不存在接口速率的瓶颈问题 。在FPGA中使用软核处理器Nios II和硬核相比有很大的灵活性,可配置的程度很大,可以将按钮、LED、外部存储器、液晶显示屏、USB接口等外部设备连接在一起,进行外设的协调工作和数据共享。可见Nios II是一个性价比较高的软核CPU,应用于SOPC设计,充分体现了SOPC技术的灵活与高效,缩短了系统的开发周期。

参考文献

[1]郭书军,王玉华,葛纫秋.嵌入式处理器原理及应用-Nios系统设计和C语言编程[M].北京:清华大学出版社,2004.

[2]周晓光,王永明,祝明德.基于CPLD的液晶显示屏与嵌入式处理器的接口设计[J].电子测量技术,2006,29(5):36-38.

[3]彭澄廉.挑战SOC- 基于NIOS的SOPC设计与实践[M].北京:清华大学出版社,2004.

[4]任苙萍,Anita Ren. FPGA 嵌入式微处理器软核迎向开放时代[R]. CompoTech China 2005.11.

[5]王彦,陈琼,田丹丹.基于 FPGA的 LCD驱动程序设计[J].工艺与应用真空电子技术,2004(6):10-12.

[6]求是科技.FPGA数字电子系统设计与开发实例导航[M].北京:人民邮电出版社,2005.6.

作者简介:林志琦(1964-),男,吉林长春人,博士,长春工业大学副教授,主要从事应用电子研究,E-mail: zhiqiln@yahoo.com。

推荐访问: 嵌入式 处理器 接口 液晶显示模块 Nios