基于NiosII处理器的LCD滚屏设计

来源 :电子元器件应用 | 被引量 : 0次 | 上传用户:adream_T
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:NiosII嵌入式处理器以其设计灵活的优点在嵌入式领域中得到广泛应用。文中阐述了一种基于NiosII的液晶显示屏滚屏显示控制模块,给出硬件原理图与部分软件代码。该方案对于NiosII系统的开发具有借鉴意义。
  关键词:LCD;NiosII;SOPC
  Based on the NiosII processor LCD roller screen design
  YU Yang, SUN Jin-hui
  (Chinese people's Armed Police Forces Academy Foundation Department,
  Hebei Langfang 065000)
  Abstract: NiosII embedded processor with its flexible design advantages in embedded are widely used in the field. This paper describes a NiosII based liquid crystal display screen scroll screen display control module, gives the hardware schematic diagram and software code. The scheme for NiosII system development is had draw lessons from a meaning.
  Keywords: LCD;NiosII;SOPC
  Nios II系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS。Altera的Stratix 、Stratix GX、 Stratix II和 Cyclone系列FPGA全面支持Nios II处理器。Nios II系列包括3种产品,Nios II/f(快速,最高的系统性能,中等FPGA使用量);Nios II/s(标准,高性能,低FPGA使用量);Nios II/e(经济低性能,最低的FPGA使用量)。这3种产品具有32位处理器的基本结构单元——32位指令大小,32位数据和地址路径,32位通用寄存器和32个外部中断源;使用同样的指令集架构(ISA);100%二进制代码兼容,设计者可以根据系统需求的变化更改CPU,选择满足性能和成本的最佳方案,而不会影响已有的软件投入。另外,Nios II系列支持60多个外设选项,开发者能够选择合适的外设,获得最合适的处理器、外设和接口组合。本文采用CycloneTM器件中的EP1C6Q240C8来实现 LCD的滚屏设计。
  1 系统硬件结构
  本系统的硬件结构如图1所示。
  1.1 处理器
  本文系统中的处理器选用的是Altera 公司提供的Cyclone 系列EP1C6Q240C8。该芯片采用240 脚的PQFP(即Plastic Quad Flat Package,塑料方块平面封装)封装,提供185 个I/O 接口。该芯片拥有6030个LES;可提供239616 bit的RAM;芯片内部还自带有2 个锁相环,可以在高速运行的时候保证系统时钟信号的稳定性。
  1.2 EPCS配置器件
  Altera串行配置器件是工业级低成本的配置器件。它们是基于高效,低成本的要求而设计的产品,提供在系统编程(ISP)和多次编程能力,在价格敏感的大批量应用中,Altera的串行配置器件是Cyclone系列FPGA理想的配置器件,也是配置Cyclone系列FPGA最简单的方法,能够使 FPGA 和配置器件以最低的价格实现完整的可编程芯片系统 (SOPC) 解决方案。标准型配置器件,包括EPC2、EPC1、EPC1441、EPC1213、EPC1064和EPC1064V。本文使用EPC2配置器件。使用时,首先使用下载电缆将计算机生成的FPGA配置文件*.Sof使用programmer烧入EPC2配置器件中,然后由EPC2配置器件控制配置时序对FPGA进行配置,一次烧写即可重复使用,编程完后可以脱离计算机工作。
  1.3 FLASH
  对于较为复杂的SOPC(System-on-a-Program mable-chip)即可编程片上系统,用户程序和需要下载的文件一般较大,用EPCS来存储是不现实的。本文根据设计的具体要求采用FLASH来存储16*16的汉字点阵字库和保存工程文件.elf。一个汉字需用16×16点阵显示,一个字节(Byte)有8位(bit),一位代表一个点,故一个字节只能表示8个点,一个16×16点阵的汉字要占32(2×16)个字节。3755个一级汉字共需3755×32=120160 Byte,所以一级汉字字库需占117 kB存储空间;工程文件.elf较小,大约为40 kB;另外,为了满足未来扩充汉字字库的需要,因此,选择存储容量为2 Mbit的FLASH作为只读存储器,并可使用flash programmer将*.elf和需要下载的文件烧入FLASH中。
  1.4 随机存储器
  在SOPC开发中,随机存储器(RAM)主要是为了存放可执行代码和程序中用到的变量。由于所采用的处理器中的RAM的存储容量较小,根据本文中设计电路的要求,采用1048 kbit的外部SRAM。
  1.5 液晶显示模块
  液晶显示模块是由控制器、行驱动器、列驱动器和液晶显示屏等器件构成。其核心部件LCD控制器是可编程接口芯片,它一方面提供与微控制器(即NIOS处理器)的接口,一方面连接行/列驱动器。通过对可编程接口芯片编程来实现对LCD的操作控制。本文采用的接口可编程芯片是T6963C来控制单色点阵图形液晶LCD。   T6963C是一种内置控制器的图形液晶显示模块,其面向显示存储器的引脚有8根数据线(D7~D0)、16根地址线(AD15~AD0)和4根控制线,最多能管理64 KB大小的显示存储器。T6963C单屏可以达到640×128,双屏可以达到640×256。
  2 软件设计
  使用NIOS对LCD进行控制主要是通过对LCD的控制器进行编程来实现的,在本文中采用T6963c控制器,其软件方案流程图如图2所示。
  2.1 LCD初始化
  LCD模块的初始化就是对LCD模块的寄存器进行初始化,也就是对LCD控制器当中的寄存器写入要预设的数据,设置好LCD的特性。LCD模块的初始化包括地址指针设置,显示区域设置,显示方式设置,显示状态设置。其软件实现主要依据表1指令来实现。
  T6963C模块的控制指令可带有0个、1个或2个参数。在执行每条指令时都是先送入参数(如果有的话),再送入指令代码。设计软件时无论输入哪种指令,首先进行以下操作,
  (1)设置数据总线为输出模式输出
  IOWR_ALTERA_AVALON_PIO_DIRECTION(LCD_DB_BASE,0xff); //数据总线:输出
  (2)设置片选信号有效
  IOWR_ALTERA_AVALON_PIO_DATA (LCD_ CS_BASE,0);
  (3)设置写信号有效
  IOWR_ALTERA_AVALON_PIO_DATA (LCD_ WR_BASE,0);
  然后根据不同指令,编写程序。
  对于无参数指令,
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ CD_BASE,1); //选择命令,即T6963C内部通过一根地址线来确定两个寄存器,当地址线为低电平,选择DATA寄存器;当地址线为高电平,则选择COMMAND/STATUS寄存器。
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ DB_BASE,无参数指令);
  对于一个参数指令,首先输入参数,然后输入指令,即
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ CD_BASE,0); //选择数据
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ DB_BASE,参数数据);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ CD_BASE,1); //选择命令
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ DB_BASE,指令);
  对于两个个参数指令,首先输入2个参数,然后输入指令,即
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ CD_BASE,0); //选择数据
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ DB_BASE,参数数据1);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ DB_BASE,参数数据2);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ CD_BASE,1); //选择命令
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ DB_BASE,指令)。
  2.2 显示汉字
  汉字显示的基本方法有两种,即文本显示方式和图形显示方式。二者显示的方法不同,但都必须先在程序区设定汉字的字模数据。
  本文采用的是图形方式下显示汉字,使用的液晶显示屏是240*128。该液晶显示屏横向的8个点即8×1点阵(也称图形显示单位)是一个字节数据,每个字节在显示缓冲区中均有对应的地址,液晶屏幕的左上角横向8个点对应液晶模块显示缓冲区的首地址。16*16点阵汉字对应32个图形显示单位。采用图形显示方式时,根据汉字的存储规律将32个图形显示单位信息写入存储单元,则对应的位置就会显示出汉字。
  在显示汉字时,关键是确定要读取的存储单元的位置。本文中采用的汉字存储方式是按照区位的顺序排列的,前一个字节为该汉字的区号,后一个字节为该字的位号。每一个区记录94个汉字,位号则为该字在该区中的位置。因此,汉字在汉字库中的具体位置计算公式为:
  94*(区号-1)+(位号-1)(1)
  这是以汉字为单位得到的该汉字在汉字库中的位置,由此可得到16*16点阵字库以字节为单位的该汉字在汉字库中的位置:
  (94*(区号-1)+(位号-1))*32(2)
  这样通过将字模数据逐个字节地写入图形显示区,即可在显示屏上坐标为(X,Y)处顺序显示出汉字。软件实现如下。
  alt_u32 m_Addr=图形区地址高八位*256+图形区地址高八位+y*30+x;
  alt_u32 i;
  alt_u32 *Font_Addr=(alt_u32*)((内码/256-0xa1)*94+(内码%256)-0xa1)*32;
  for(i=0;i<8;)
  {
  IOWR_ALTERA_AVALON_PIO_DATA (LCD_CD_BASE,0); //设置当前地址
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE, m_Addr&0xff);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE, m_Addr/256);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,1);
  IOWR_ALTERA_AVALON_PIO_DATA (LCD_DB_BASE, 0x24);
  IOWR_ALTERA_AVALON_PIO_DATA (LCD_CD_BASE,0); //读取第一个字节   IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE, Font_Addr [i++]);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,1);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE, 0xc0);
  IOWR_ALTERA_AVALON_PIO_DATA (LCD_CD_BASE,0); //读取第二个字节
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE, Font_Addr[i++]);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE, 1);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE, 0xc4);
  m_Addr+=30;
  }
  2.3 LCD滚屏设计
  定时间、定间隔地修改文本显示区与图形显示区首地址将会产生显示画面滚动显示效果。软件实现如下:
  Delay(自行设定延时时间);
  alt_u32 Text_stadd;
  alt_u8 Text_stadd_newL,Text_stadd_newH;// 调整后的文本显示区低8位地址和高8位地址
  Text_stadd_new=文本区地址高8位*256+文本区地址低8位+0x14 //0x14表示每行可显示30个字符
  Text_stadd_newL= Text_stadd_new/256;
  Text_stadd_newH= Text_stadd_new%256;
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE, Text_stadd_newL);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE, Text_stadd_newH);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,1);
  IOWR_ALTERA_AVALON_PIO_DATA (LCD_DB_BASE,40H)。
  图形显示区首地址的调整方法同文本区的调整方法相同。
  3 结束语
  本文阐述基于NiosⅡ嵌入式处理器控制液晶显示器的硬件设计方案和软件设计方法,充分体现了NiosⅡ嵌入式处理器在LCD设计中的灵活性。
  参考文献
  [1] 周立功.SOPC嵌入式系统基础教程,北京航空航天大学出版社,2006.
  [2] 侯建军,郭勇.SOPC技术基础教程, 北京交通大学,2008.
  [3] 王伟,卢博友,刁修慧,刘平.基于嵌入式系统的LCD汉字显示,微计算机信息,2008.[17]
其他文献
摘要:对于通信电源设备的防雷建设来说属于系统性的工程,必须从市电交流电力网超高压开始,逐步的制定防雷措施。在对电力线入局之前的电力变压器设备低压侧进行防雷保护时,要做好通信机房的屏蔽和防雷地线的设置等工作,需要保证各个环节的防雷措施都能發挥应有的作用。还要按照规程对通信电源设备进行有效的保护,才能提高通信的安全,实现预期的建设目标。现阶段在对通信电源设备进行防雷保护时,相关技术已经得到了初步的发展
期刊
摘 要:随着科学技术的不断探究和创新,计算机技术获得了各行各业的广泛运用,为人们的日常生活和工作提供了非常大的便利。安全防护工作占据了计算机网络化创建过程当中很大一部分比重。所以,计算机用户一定要格外关注网络安全的预防问题,根据计算机网络安全的真实状况,利用高效的安全防护策略。  关键词:计算机网络;安全防护;云计算技术  一、前言  如今是一个信息化的时代,人们每时每刻都在和信息接触,计算机网络
期刊
通讯作者:王晓东,1978年6月,男,汉,辽宁朝阳人,现任职于朝阳市委党校,副教授,本科。研究方向:电子商务与政务信息化。  摘要:5G+AI的综合应用研究对人类社会及经济的影响力与日俱增,在这种新的形势下,研究其对人类社会造成的影響具有十分重要的意义。通过对生产率、劳动力就业、收入不平等等经济方面的影响以及对人类思维方式、生产方式、生活方式等社会方面的影响进行充分的研究,从中找出5G+AI的综合
期刊
摘 要:随着我国经济建设工作的不断发展,社会各界的运作方式都在原有的基础上产生了翻天覆地的变化。电力行业的运作方式也在这种新的时代背景下具有更加先进的运作方式。不同类型所有制的企业的生产过程和管理模式都会具备不同的特点,企业在社会中的竞争力会因此受到影响。因此,企业领导需要将自己的眼光放得长远一些,认真研究现阶段市场环境的实际情况,并积极利用自己的工作之余分析市场未来的发展走势,并根据相关数据信息
期刊
摘 要:自从第三次工业革命以来,计算机信息技术取得了飞快发展,加快了大数据时代来临的脚步。随着网络技术的进步与发展,计算机信息处理技术逐渐成为了人们日常工作中的重要工具,传统的信息处理技术在逐渐被淘汰,在大数据时代下,计算机信息处理技术更是得到了广泛的应用,为数据信息处理提供了便利快捷的条件。本文通过对大数据定义和特点的进行分析,并对关键技术进行了分析研究。  关键词:大数据;计算机信息处理技术;
期刊
TONGTU牌《低中频电脑治疗仪》(以下简称“治疗仪”)是根据现代物理治疗学、医学美容解剖学和电子工程学原理,经过多年的试验而精心研制的,由广州市天河通途电子有限公司生产。它集静态、动态干扰电、三维动态干扰电疗法、正弦调制、脉冲调制中频电疗法、双调制中频电疗法、间动电疗法、经皮电刺激疗法、按摩疗法、脉动直流电药物离子导入疗法等多种疗法于一体,充分结合了"低频电疗仪"和"中频电疗仪"的优点重新设计出
期刊
通讯作者:王雪飞,1980年6月,女,汉,黑龙江绥化人,现任绥化学院教师,副教授,硕士研究生学历。研究方向:自动化。  摘要:在对一些听力存在困难的学生进行教育时,要想提高这些学生的学习水平,需要对其进行专业的管理。首先教师应该根据这一群体的特殊性,制定更加完善的教学管理系统,通过系统的设计和分析,对现有的教学方法和内容进行改变,从而进一步提高课堂教学的效果。在进行系统应用时,还可以促进日常管理工
期刊
摘 要:将轨道角动量(OAM)理论引入水声通信中来,利用不同拓扑模式螺旋声波内在正交性,构建基于OAM拓扑模式复用(TCM)的多入多出(MIMO)水声系统,获得更高信道容量和频谱效率。理论上拓扑模式可以无限制的增大、即模式复用的次数没有限制,基于此复用的MIMO系统将获得更高的频谱利用率。本文概述了浅海和深海水声信道的差异,描述了水声OAM-MIMO技术的现状和发展情况,并提出了未来可能遇到的技术
期刊
2SD315A的外形如图33所示,引脚排列如图34所示。  下面以2SD315A为例,对CONCEPT公司驱动器加以说明:  配套能力强,1 700 V,2 500 V,3 300 V三种电压等级;内部双DC/DC变换器,两路驱动电源隔离;单15 V供电,内部+15 V,-15 V由DC/DC变换器得到;用变压器隔离,工作频率100 kHz;-40~+85 ℃工作范围;独立工作方式或半桥工作方式;
期刊
【编者按】电力电子器件是半导体功率器件的总称,是构成电力电子设备的基础,是从事电力电子器件设计、研发、生产、营销和应用人员以及电源技术工作者应该熟悉的内容。本刊从去年4月份开始以“电力电子器件知识”为题开展讲座,以满足广大读者增长知识和用好这些器件的需求。欢迎厂家及用户的工程师们撰稿,并望提出宝贵意见。
期刊