基于NiosⅡ处理器的TFT-LCD图形显示设计

发布者:TranquilOasis最新更新时间:2010-11-24 来源: 微型机与应用2010年第18期关键字:TFT-LCD  NiosⅡFPGA  SoPC 手机看文章 扫描二维码
随时随地手机看文章

  随着工艺技术的发展与市场的需要,超大规模、高速、低功耗的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所示。

[page]

  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芯片,至此硬件方面的工作基本完成。

  图2所示为搭建本设计的硬件平台中使用SoPC Builder工具来添加生成的系统模块。

  3 软件设计

  Nios II处理器的软件程序设计使用HAL (Hardware Abstraction Layer)系统库。HAI系统库[4]为程序员提供了应用程序与底层硬件交互的设备驱动接口,简化了应用程序的开发,同时还为应用程序与底层硬件驱动划分了一条很清晰的分界线,从而大大提高了应用程序的可复用性,使得应用程序不受底层硬件变化的影响实现系统硬件和应用程序之间的通信。HAI API[5](Application Program Interface)集成了ANSI C标准库,使上层程序像访问C函数库一样访问系统硬件和软件。软件设计不用考虑底层硬件实现的细节而直接编写应用程序。系统软件结构如图3所示。

  软件系统主要分为两部分:系统的初始化对LCD控制器的控制以及显示数据的处理。[page]

  系统初始化,调用HAL的各模块初始化程序,并定义在后面程序当中要用到的各个对LCD显示屏背景颜色、字体颜色设置的函数。

  本设计采用总线方式[6]对LCD控制器(TCB8000A)的时序进行控制,利用SoPC Builder添加完一个挂接在三态桥上的接口,将TCB8000A的控制引脚与Avalon总线相关联。由于TCB8000A的控制时序与Avalon总线三态接口的时序吻合,因此只需在定制接口时调整等待、建立时间便可以达到控制目的。在Nios程序内用简单的写操作产生Avalon总线时序,需要注意的是TCB8000A只需一个地址控制线A1,且与总线的A1相连,因此写操作应使总线上的地址线A1符合TCB8000A对A1管脚的时序要求。即在并行模式下,MPU首先把完整的命令包送入地址为F004H的只写寄存器(A1=0),然后将“1”送到地址为F006H的寄存器(A1=1),结束一个命令包,并打开显示。对于地址线A0,A2~A17使用的控制板已经设定好了,所以只需要控制A1便可完成命令的送入。流程图如图4所示。

  代码如下:

  void SdCmd(alt_u8 Command)   //send command

  {

  IOWR(GX_TFT_LCD_BASE, 0, Command);          //A1=0

  }

  void CmdEnd()                                 //send command

  {

  IOWR(GX_TFT_LCD_BASE, 2, 1);                     //A1=1

  }

  在控制时序的基础上,程序中的显示图片部分[7]首先把要显示的图片用Bmp2HexPro.exe软件工具转换成数据信息, 把图片的数据信息以头文件的形式(picture.h)添加在工程中。

  对储存的多张图片进行分类标号(例如picx1、picx2、picx3等),然后在C主程序中用switch语句[8]来分别调用表示该图片信息的索引号码,示例程序如下:

  void ShowBMP160(alt_u32 X,alt_u32 Y, alt_u8 picIndex)

  {

  alt_u8 i,j,k,Buffer[5],*pic;

  alt_u16  p;

  alt_u32 addr;

  switch(picIndex){

  case 1: pic=picx1;break;

  case 2: pic=picx2; break;

  case 3: pic=picx3; break;

  default: break;

  }[page]

  接下来就是给LCD的RAM分配地址,把要显示的图片的数据信息以数据指针的方式从左到右依次写入目的地址。而SdCmd()函数为自己编写的发送数据命令的子函数。

  addr=Y*5;

  addr=addr<<7;

  addr=addr+X*2;               //same as addr=X*2+Y*320*2

  p=0;                                            //Data ROM pointer

  for(j=0;j<10;j++)         //sprit one line data to 8 packet

  {

  SdCmd(0x84);

  //send data packet,送一个像素的数据到内存

  SdCmd(40);

  //no of byte in one packet,结束一个命令包

  for(k=0;k<20;k++)       //no of pixels in one packet

  {

  SdCmd(pic[p+1]);                          //low byte

  SdCmd(pic[p]);                             //high byte

  p+=2;

  }

  CmdEnd();

  }

  addr+=640;                                      //next line

  }

  }

  对于汉字以及字符的显示也是通过定义PrintGB()函数,类似上述程序以命令包的形式把要显示的信息送入目的地址,在后面的程序中直接调用该子函数来进行显示。

  随着LCD显示越来越多地应用于生产生活的各个方面,各种各样的处理器控制LCD显示的方案也相继出现,本文通过整个系统设计和在硬件平台上实验提出了一种基于FPGA的SoPC方案,并最终在平台上面验证了其可行性。该方案的优势在于系统功能改进的灵活性, 在不改变硬件平台的情况下对系统进行增删和优化,降低了系统成本,这是传统ARM方案无法达到的。由于微处理器和用户逻辑接口都集成在一块Cyclone芯片上, 编程人员可以灵活地定义I/O接口, 基于FPGA有更好的灵活性和可靠性[9]。对基于NiosⅡ的微处理器, 用户能根据显示屏的大小灵活调整硬件逻辑设计以实现对显示屏的控制,而不需要改变其原有硬件构成。但是16位微控制器却只能对固定大小的显示屏进行控制。从长远来看,基于NiosⅡ的微处理器, 可以通过更改其硬件逻辑配置方便地进行版本升级,节省了成本。开发人员通过处理器[10]指令集中增加定制指令, 可以加速软件算法, 定制指令可以在一个周期的时间内完成复杂的处理任务,为系统优化提供了一种高性价比的解决方案。[page]

  参考文献

  [1]  潘松,黄继业,曾毓.SoPC技术实用教程[M].北京:清华大学出版社,2005.

  [2]  王刚,张潋.基于FPGA的SoPC嵌入式系统设计与典型实例[M].北京:电子工业出版社,2009.

  [3]  王晓迪,张景秀.SoPC系统设计与实践[M].北京:北京航空航天大学出版社,2008.

  [4]  蔡伟刚.NiosⅡ软件架构解析[M].西安:西安电子科技大学出版社,2007.

  [5]  田秀伟,郑喜凤,丁铁夫.基于SoPC的LED显示屏控制器设计[J].液晶与显示,2007,22(6):737-741.

  [6]  孙恺,程世恒.NiosⅡ系统开发设计与应用实例[M]. 北京:北京航空航天大学出版社,2007.

  [7]  郭强.液晶显示应用技术[M].北京:电子工业出版社, 2003.

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

  [9]  孙伟,龚兆岗,杨忠根.基于NiosⅡ的LED显示屏控制系统[J].上海海事大学学报,2005,26(2).

  [10] 高兵,陈莉平.液晶和矩阵键盘SoPC外设组件设计开发[J].微计算机信息,2008,3(2):152-154.

关键字:TFT-LCD  NiosⅡFPGA  SoPC 引用地址:基于NiosⅡ处理器的TFT-LCD图形显示设计

上一篇:Altera在SPS/IPC/DRIVES 2010上展示下一代嵌入式工业网络、电机控制和安全解决方案
下一篇:基于AMBA架构的SoC系统事务级建模

推荐阅读最新更新时间:2024-05-02 21:12

面板行业信贷再思考:香饽饽还是烫手山芋
  中央经济工作会议甫一结束,一行三会和商业银行纷纷跟进表态。对于被贴上“产能过剩”标签的行业,各家银行唯恐避之不及,均严控产能过剩行业的贷款投放。目前银行已开始启动过剩产能贷款摸底调查,以备决策之用。   今年十月,钢铁、水泥、平板玻璃、煤化工、多晶硅、风电设备六大行业被确定为产能过剩行业。除了这些行业,实际上随着地方经济增长和4万亿元投资计划刺激,今年以来很多行业的投资热潮大大超出了市场的预期,资金密集和技术密集型的面板行业即是此中一例。不过,这些投资如此集中的行业对银行来说究竟是香饽饽还是烫手山芋,恐怕不能过早下结论。   原本在年初还担心金融危机会抑制面板行业投资,现在看来担心完全没有必要。根据公开数据粗略计算,今年以
[半导体设计/制造]
基于FPGA NiosII的MPEG-4视频播放器
基于FPGA NiosII的MPEG-4视频播放器 介绍Altera FPGA SOPC平台上MPEG-4视频播放器的实现。以NiosII用户自定义指令方式实现IQ、IDCT、MC等计算密集型功能模块,从而在XviD Codec基础上实现Simple Profile视觉框架下,L1级、QCIF、25fps的MPEG-4视频实时解码。 关键词 MPEG-4 视频播放器 SOPC NiosII FPGA 引 言 多媒体技术实用化的关键技术之一,就是解决视频、音频数字化以后数据量大,与数字存储媒体、通信网容量小的矛盾,其解决途径就是压缩。 为了支持低比特率视频传输业务,MPEG(Moving Pict
[嵌入式]
基于<font color='red'>FPGA</font> <font color='red'>Nios</font>II的MPEG-4视频播放器
大尺寸TFT-LCD面板迎来新时代?Q2本土超日本
随着新世代线和更高世代线的投产,中国TFT- LCD供应商正在扩大生产计划。DisplaySearch最新报告Quarterly Large-Area Production Strategy Report指出,2011年第二季度中国大陆将有望在大尺寸TFT-LCD面板产量上超过日本。第一季度,中国大陆大尺寸TFT-LCD面板平均月产量为270万片,日本月产量为320万片,这些面板主要应用于上网本、平板电脑、笔记本电脑、显示器和电视机。但到第二季度,中国大陆平均月产量提高到340万片,而日本则减少到230万片;并且从2011年第三季度到2012年第一季度,中国大陆面板产量将持续超过日本。 “韩国一直是大尺寸TFT-LCD的
[家用电子]
大尺寸<font color='red'>TFT-LCD</font>面板迎来新时代?Q2本土超日本
基于ARM芯片S3C2410的TFT-LCD驱动方法
S3C2410是三星公司生产的基于ARM920T内核的RISC微处理器,主频率可达203MHz,适用于信息家电、Smart Phone、Tablet、手持设备、移动终端等领域。其中,集成的LCD控制器具有通用性,可与大多数的LCD显示模块接口。 PD064VT5是一种用非晶硅TFT作为开关器件的有源矩阵液晶显示器,该模块包括TFT-LCD显示屏、驱动电路和背光源,其接口为TTL电平。分辨率为640 x480像素,可通过18bit数据信号显示262 144种色彩。 1 S3C2410的LCD控制器 S3C2410中的LCD控制器可用于传输视频数据并产生必要的控制信号(像VFRAME、VLINE、VCLK、VM等
[单片机]
基于ARM芯片S3C2410的<font color='red'>TFT-LCD</font>驱动方法
单片DSP处理器功能系统的SOPC技术设计
   摘要 结合Altera公司推出的Nios II嵌入式软核处理器,提出一种具有常规DSP处理器功能的NiosII系统SOPC解决方案;利用NiosII可自定叉指令的特点,通过Matlab和DSP Builder或直接用VHDL设计并生成复数乘法器、整数乘法器和浮点乘法器等硬件模块,将它们定制为相应的指令,从而将软件的灵活性和硬件的高速性结合起来,较好地解决了传统DSP处理器所面临的速度问题、硬件结构不可重构性问题、开发升级周期长和不可移植性等问题。   随着微电子技术和计算机工具软件的发展,可编程片上系统SOPC的设计理念和设计方法成为了一种趋势。为了解决传统DSP处理器所面临的速度问题、硬件结构不可重构性问题、开发升级周期
[嵌入式]
基于SOPC的雷达采集和图像显示系统
  1前言   雷达数据采集及图像显示是雷达的一个基本应用,普遍应用于军事、气象预测、环境监测、船舶导航等领域。雷达数据具有实时性、高速性的特点。一般说来,对雷达信号采样的时钟频率在100MHz以上,雷达数据采集和处理单元的数据吞吐量要求在Gbits/s以上。因此,要实现一个雷达数据采集和图像显示系统,对处理器的处理速度要求很高。传统的雷达数据采集和图像显示系统采用的是微处理器+FPGA(或DSP)方案,利用微处理器实现操作系统、雷达GUI和显示器控制,利用FPGA(或DSP)实现高速雷达数据采集和处理,这种方案的缺点是要想实现雷达图像在800*600以上分辨率的大屏幕显示比较困难,要么有较高的处理器速度,要么有独立显卡的支持,这
[电源管理]
SOPC_SOPC是什么?
SOPC,英文全称为System On a Programmable Chip,中文意思为可编程片上系统。 用可编程逻辑技术把整个系统放到一块硅片上,称作SOPC。可编程片上系统(SOPC)是一种特殊的嵌入式系统:它是用可编程逻辑技术把整个系统放到一块硅片上,来用于嵌入式系统的研究和电子信息处理。首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。可以这样说,SOPC 是PLD和SOC技术融合的结果。    SOPC有何特点?   SOPC结合了SOC和PLD、FPGA各自的优点,一般具备以下基本特征:(1)至少包含
[模拟电子]
<font color='red'>SOPC</font>_<font color='red'>SOPC</font>是什么?
SOPC上实现的波形发生器
摘 要:可编程片上系统(SoPC)设计是一个崭新的、富有生机的嵌入式系统设计方向。嵌入式集成化设计已成为电子领域发展的一个重要方向。Xilinx提供的EDK正是用于创建基于FPGA的嵌入式系统的开发工具包。本文介绍基于SoPc的波形发生器在EDK工具包下的设计与实现。本设计采用嵌入式软处理器核MicroBlaze以及自主编写的包括实现DDS在内的多种IP Core,最大限度地实现系统的集成化。 引 言 SoPc可编程片上系统是一种特殊的嵌入式微处理器系统。首先,它是片上系统(SoC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,以FPGA为硬件基础,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件系统
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved