夏夏xyxy

NIOSⅡ嵌入式处理器的特点及实现控制液晶显示器

0
阅读(574)

  随着科学技术的发展和人民生活水平的提高。液晶显示器" target="_blank">液晶显示器(LCD)以其具有功耗低、体积小、重最轻、超薄等许多其他显示器无法比拟的优点,近几年来被广泛用于智能仪器、仪表和低功耗电子产品中。本文介绍一种基于NIOSⅡ的LCD的控制方法。利用SoPC技术,在NIOSⅡ系统中添加相应的I/O端口实现对液晶显示器的控制。

  NIOSⅡ嵌入式处理器——MA8601以其设计灵活在嵌入式领域中得到广泛应用。着重介绍嵌入式系统中的液晶显示屏模块。比较NIOSⅡ与ARM嵌入式处理器的特点,以SED1520为例,阐述一种基于NIOSⅡ的液晶显示屏的软硬件控制方法,给出硬件原理图与部分软件代码。该方案能够有效地实现LCD的显示。对于嵌入式系统其他模块的开发具有借鉴意义。

  1 NIOSⅡ嵌入式软核处理器

  随着微电子技术的发展 和半导体制造工艺的提高,工业生产、家用电器中的监测控制、信号处理等集成电路设计已经进入了片上系统(System On Chip)时代。在传统的集成电路设计中,需要考虑大量的外围电路 ,而且由于 PCB板中的IC芯片之间的连线延时,以及本身的体积和重量等因素的限制,整机系统的性能受到了很大的制约。FPGA可以把整个数字系统集成在一个芯片上,功能密度高、体积小、功耗低 、可靠性高,因此获得了广泛的应用。而且同 ASIC相比,FPGA成本低廉,设计灵活 ,成为了集成电路设计的发展趋势。

  但是对于复杂的系统 ,比如有很多种状态机,或者有很多外设的系统,纯粹用基于硬件的 FPGA来实现还是 比较困难的,因此通常是把一个微处理器嵌入到FPGA芯片中,用来控制各种状态的切换、协调各个外设之间的同步以及实现对任务的调度。

  Nios是 Altera公司推出的嵌入在其 FPGA内部的软核处理器,它的可配置程度很高,可以将外部存储器(包括 ROM,RAM),液晶显示屏,以太网控制器,CDR驱动器 ,USB接口甚至红外适配器 等外部设备连接在一起 ,协调它们之间的多机协同和数据共享 ,必要的时候还可以在Nios核中加入实时操作系统 ,来实现对多任务的调度。而且 Nios价格便宜 ,设计灵活 ,因此正在获得越来越广泛的使用,目前已经在蓝牙一以太网接入,远程信号采集等方面得到了应用。

  NIOSⅡ是Altera公司在NIOS的基础上,于2004年发布的嵌入式软核处理器。所谓软核,是指用HDL文本形式提交给用户,他经过RTL级设计优化和功能验证,但其中不含任何具体的物理信息。NIOSⅡ是采用流水线技术和哈佛结构的通用RISC(Refined Instruction Set Computer,精简指令集计算机)。一个NIOSⅡ处理器系统由NIOSⅡCPU和一系列的外设组成。NIOSⅡ系统包括NIOSⅡCPU、片内外设、片内存储器和片外外设,他们的接口都在Altera公司的芯片上实现。相当于在单片机实现1台计算机或1个微控制器。所有的NIOSⅡ处理器系统使用统一的指令集和编程方式。NIOSⅡ的处理器实例如图1所示。

  NIOSⅡ嵌入式处理器的特点及实现控制液晶显示器

  ARM是常用的嵌入式处理器之一。在设计SoC时,常把ARM作为硬核植入到FPGA中。硬核具有成本低、速度快等优点。但是将IP硬核直接植入FPGA的解决力案存在以下不足:由于硬核是预先植入的,设计者无法相据实际需要改变处理器的结构;无法根据实际设计需要在同一FPGA中集成多个处理器;无法根据需要裁减处理器硬件资源以降低FPGA成本等。

  2 液晶屏控制器的选择

  SED1520系列是日本Seiko Epson公司出品的将行、列驱动器和控制器集成在一起的控制器。在小规模图形液晶显示模块上使用SED1520液晶显示驱动控制器,组成显示驱动和控制系统是低成本、低功耗、高集成的最佳选择。

  SED1520的基本特点有:快速8位MCU接口,可适配Intel8080系列或M6800系列时序;丰富的指令集;共80个驱动器输出;低功耗:外部时钟2 kHz时为30μW;占空比可设置为1/16或1/32;低功耗CMOS工艺;可以级联使用,以扩展行、列驱动力;电源范围广:LCD电压VDD-VSS=-2.4~-7.0 V;SED1520系列共有6种型号:SED1520FOA,SED1520FAA,SED1521FOA,SED1521FAA,SED1520D,SED1521D。其中SED1520FOA应用最为广泛,SED1520的指令集见表1。

  NIOSⅡ嵌入式处理器的特点及实现控制液晶显示器

  3 LCD的硬件设计

  一般来说,对于不太复杂的系统,把外部设备看作普通PIO是比较简单的方法。首先在QUARTUSⅡ软件中的SoPC BUILDER中添加1个8位的lcd_data[70],4个1位的lcd_cd,led_ce,lcd_rd,lcd_wr。再设置lcd_data的属性为双向三态“Tri_state”,其他4个信号的属性设为“Output only”。lcd_data[70]为数据位,传输数据;lcd_cd为命令、数据使能信号,当lcd_cd为高电平时数据线上传输命令,当lcd_cd为低电平时数据线上传输数据;lcd_ce为片选信号,低电平有效;lcd_rd为读使能,低电平有效;lcd_wr为写使能,低电平有效。NIOSⅡ和LCD模块的接口电路如图2所示。图2中LCD硬件原理备注:读状态字的代码中,D7对应BUSY,D7=1为忙,D7=0为准备好;D6对应ADC,D6=1为反向方式,D6=0为正常方式;D5对应当前显示状态,D5=1为关显示,D5=0为开显示;D4对应复位信号,D4=1为执行复位,D4=0为正常操作。

  NIOSⅡ嵌入式处理器的特点及实现控制液晶显示器

  4 LCD的软件设计

  由于所有在LCD屏幕上显示的数据,不论是文本方式,还是图形方式,都存放在外部的显示存储器中所以在软件设计时,NIOSⅡ处理器只要将指令直接送至LCD的外部显示存储区,控制器就可以控制液晶屏显示用户所需要的数据及其显示方式。下面以写单参数命令子程序和写数据子程序为例,介绍软件设计过程:

  NIOSⅡ嵌入式处理器的特点及实现控制液晶显示器

  NIOSⅡ嵌入式处理器的特点及实现控制液晶显示器

  5 结语

  本文阐述基于NIOSⅡ嵌入式处理器控制液晶显示器的硬件设计方案和软件设计方法。通过该设计,充分体现出NIOSⅡ嵌入式处理器在设计中的灵活性,更好地节约了成本。