基于NIOSⅡ的矩阵键盘和液晶显示外设组件的设计

发布者:Changsheng520最新更新时间:2011-07-08 关键字:NIOSⅡ  SOPC  Builder 手机看文章 扫描二维码
随时随地手机看文章
     0 引言

  NIOSⅡ是Altera公司推出的第二代IP软核处理器。它与其他IP核可构成SOPC系统的主要部分。Altera SOPC Builder提供有NiosⅡ处理器及一些常用外设接口,因此,对于一些库中没有提供的模块,用户就可以自己定义添加。用户还可以通过自定义逻辑方法在 SOPC设计中添加自己开发的IP核。而定制用户逻辑外设是使用NiosⅡ嵌入式软核处理器的SOPC系统的重要特性之一。

  本文提出了一种针对LCD控制器和矩阵键盘的IP核的设计方法。该方法利用SOPC Builder中元件编辑器Create New Component,通过自定义逻辑方法在SOPC设计中添加自己开发的液晶显示模块和键盘IP核。该控制器具有Avalon总线接口,可与其它标准IP 核一起构成以NiosⅡ为核心的片上系统,并可编写驱动程序。

  1 键盘和显示电路的硬件设计

  键盘采用4×4行列式键盘,其4根行输入线KEY0~KEY3和4根列输出线KEYSCAN0~KEYSCAN3与键盘接口电路相连,每行信号线使用上拉电阻接到3.3 V电源上。液晶显示采用的是THSl2864-12显示模块。HSl2864-12是一种图形点阵液晶显示器,液晶显示屏为128×64点阵,可显示4 行,每行显示8个汉字,该模块具有2MB的中文字型ROM,可提供8192个16×16点阵中文字型。同时,为了便于英文和其它常用字符显示,它还具有 16 KB半宽字型ROM,提供有128个16×8点阵的字母符号字型;另外,绘图显示画面还可提供一个64×256点阵的绘图区域(GDRAM)及240点的 ICONRAM,可以和文字、画面混合显示,其内含的CGRAM可提供4组软件可编程的16×16点阵造字功能。其键盘电路和显示模块接口电路如图1所示。

键盘电路和显示模块接口电路

  2 键盘扫描电路的程序设计

  行列式键盘又叫矩阵式键盘,它用带有I/O口的线组成行列结构,按键设置在行列的交点上。传统矩阵键盘大多使用软件驱动控制,即在程序中循环扫描查询键盘的状态,以判断是否有键按下,这种方法比较耗费CPU资源,而且查询扫描结果可能出现误码。本文提出了一种新的用硬件描述语言在FPGA中实现矩阵键盘控制的方法。该方法使用时序电路扫描查询键盘,在发现键按下的时候,可给出相应的键码和中断信号,并以中断的方式处理按键。矩阵键盘扫描分4个时序,在每一个时序,KEY0~KEY3(四根行线线)端口分别输出1110、1101、1011、0111扫描码,并分别控制一列按键接地,同时在每个时序查询 KEYSCAN0~KEYSCAN3(四根列线)端口。

  图2所示是一种4×4行列结构的键盘扫描电路,它由分频器电路、键盘扫描计数电路、键盘行(row)列(col)按键检测电路、按键抖动消除电路、键盘编码电路等组成。

  设计好键盘的硬件控制程序以后,键盘控制程序可封装为参数可配置的用户自定义外设组件,以在SOPCBuilder中直接添加使用。完成KEYS器件的加入后,KEYS器件就会出现在SOPCBuilder的组件选择栏的“User Logic”项目下,最后在NiosⅡIDE中设计矩阵键盘的驱动程序,安装键盘按键中断,编写按键中断服务程序,从而通过按键中断获取相应按键的键盘码。其例程如下:

  /*初始化键盘中断*/

例程如下

  3 LCD显示模块的程序设计

  在NiosⅡ和LCD的接口中,一方面可以通过在NiosⅡ系统中添加相应I/O口的方式来实现对液晶显示屏LCD的间接控制,另一方面也可以利用构建 IP核来直接进行控制。第一种是将LCD接口当作普通的外部设备PIO进行操作,LCD的数据以及读、写使能、片选信号等都包括在PIO总线内;第二种是在SOPC Builder中自己定义eomponent,并把液晶显示模块看成外部存储器,直接做成Avalon总线Slave设备。

  第一种方法在硬件工程中,需要设计与外设相连的I/O接口;而在软件工程中,需要用户编写相应的接口程序对外设进行初始化,设置相应的外设寄存器。在每次新建一个工程后,这样的工作都得重复进行,因而会增加开发成本。第二种方案需要写HDL模块,自己定义控制状态、数据寄存器和控制位,这种方式控制灵活,易于实现复杂的控制时序,而且一旦自定义设备成功后,就可以像使用其他设备一样来使用这些设备。用户也可以将这些设备共享给其他的使用者,这样就大大减少了重复工作。本设计中采用第二种方法。

   在Altera SOPC Builder中双击Create NewComponent,打开Component窗口,并在HDL Files标签下添加LCD硬件描述语言编写的文件(该文件描述了组件与Avalon总线的接口以及组件与液晶屏的接口),系统编辑器就会立即自动对文件进行分析,并从文件中读I/O信号和参数信息。Lcd 12864自定义逻辑信号如图3所示。

 

Lcd 12864自定义逻辑信号

  完成LCD_12864器件的加入后,LCD_12864器件就会出现在SOPC Builder的组件选择栏的“User Logic”项目下。图4所示是LCD模块的管脚分配图。

LCD模块的管脚分配图

  LCD模块的初始化就是对LCD进行模式设置。由于SOPC Builder中的LCDl2864控制模块已经考虑了LCD的读写时序,所以使用NIOSⅡIDE进行LCD驱动和控制时只需对LCD进行初始化。其部分初始化子程序如下:

部分初始化子程序

  之后,打开NiosⅡIDE,创建软件工程,编写test程序,即可测试验证液晶模块的显示结果。其中部分程序如下:

部分程序

  4 结束语

  本设计最后经过测试证明,矩阵键盘按键中断响应准确无误。由于其扫描过程由硬件实现,无需占用CPU资源,故可大大提高系统的性能,LCD可以接收任意中英文的输入显示。在开发设计过程中,矩阵键盘和LCD接口均封装为用户自定义的外设组件加入SOPCBuilder的元件库中,因而可以很方便地在其他系统中根据实际情况添加使用。用户也可以将这些设备共享给其他的使用者,这样就大大减少了重复工作。与其他方法相比,该方法无疑是一种更高效、灵活和低成本的开发方法,同时体现出了SOPC片上可编程系统的灵活、方便、可重用的优势。

关键字:NIOSⅡ  SOPC  Builder 引用地址:基于NIOSⅡ的矩阵键盘和液晶显示外设组件的设计

上一篇:开放核协议—IP核在SoC设计中的接口技术
下一篇:PSoC3 双轴步进电机细分控制

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

SOPCNiosII的LCD显示驱动IP设计
  引言   NioslI嵌入式处理器是A1tera公司提出的SOPC解决方案,是一种用户可随意配置和构建的32位嵌入式处理器,结合丰富的外设可快速、灵活地构建功能强大的SOPC系统。Altera公司提供了一些通用的IP核,使得用户可轻松集成属于自己的专用功能;但对于一些特定的外设,没有现成可用的IP核,如液晶模块CBGl28064等。   用户可通过自定义逻辑的方法在SOPC设计中添加自定义IP核。在实际应用中,LCD液晶显示器凭借功耗低、体积小、轻薄及控制驱动简单等特点,在智能仪器、仪表和低功耗电子产品中得到了广泛应用。本文以深圳秋田视佳实业有限公司的液晶显示模块CBGl28064为例,在基于NioslI的SOPC系统中
[嵌入式]
<font color='red'>SOPC</font>中<font color='red'>Nios</font>II的LCD显示驱动IP设计
基于SOPC软件无线电资源共享自适应结构
随着IEEE 802.11(WLAN)、IEEE 802.16(WMAN)、IEEE 802.15.4(WPAN)等无线通信网络标准的建立,传统的无线通信产品开发及生产方式已表现出不少问题,譬如:产品是针对特定的标准中一个版本开发和制造,当新技术出现或版本升级或提供新业务时,只能开发新的专用芯片,制造新一代设备。结果是要么限制了新技术和新业务的使用,要么给制造商、运营商带来更大的投资风险,给用户带来诸多不便。面对此类问题,学术界和产业界已经进行了大量的研究,大部分专家认为,软件无线电(Software-Defined Radio,简称软件无线电) 是一个解决全球无线通信需求的方案,它将成为未来无线通信设备设计的核心所在。所谓
[嵌入式]
Altera最新Nios II嵌入式评估套件展示独特FPGA能力
设计实例突出了硬件加速和远程硬件更新功能 2007年12月4号,北京 ——Altera今天宣布开始提供新的Cyclone III版Nios II嵌入式评估套件。Nios II评估套件是功能丰富的低成本平台,为嵌入式设计人员提供快捷简单的实践方式来评估Nios II处理器、SOPC Builder系统设计软件及其定制应用软件。 在独特的树脂玻璃箱中,Nios II 评估套件含有一块Cyclone III入门电路板和触摸屏LCD,通过屏幕触摸,支持开发人员启动网络和音频图像处理等实例应用软件。对于刚开始FPGA处理器设计的软件开发人员,它还是理想的开发平台。 套件包括为嵌入式软件开发提供的Nios II嵌入式设计包(EDS),7个
[新品]
基于SOPC技能的车辆电子后视镜系统设计
    随着电子技术的发展,许多智能化技术被广泛应用到车辆上,车辆后视镜系统作为重要的安全辅助装置也经历了几代的技术发展 。目前车辆后视镜系统出现了两种新技术:后视摄像和倒车雷达。前者图像直观、真实,但无法给出精确的距离;后者能精确地测量距离,但对于车后方的水坑、凸出的钢筋等无法做出反映,因此存在安全上的死角 。车辆上的雷达测距有以下几种:激光测距、微波测距和超声波测距。前两者测量距离远、测量精度高,但成本很高;后者成本低,但测距范围通常小,在倒车速度稍快时安全性不佳。     本文提出了一种基于SOPC 技术的车辆电子后视镜系统,该系统可以实时显示车辆后方的图像,并利用双频超声波实现了10m 以上的大范围测距,同时该系统具有
[嵌入式]
基于NiosII的SOPC多处理器系统设计方法
两个或多个微处理器一起工作来完成某个任务的系统称为“多处理器系统”。传统基于单片机的多处理器系统结构复杂,可靠性差;而基于32位的嵌入式软核处理器NiosII的SOPC(可编程片上系统)多处理器系统解决方案,从根本上改变了多处理器系统的设计理念和方法。使用Altera公司的NiosII软核处理器和SOPC Builder工具,可以快速地设计和建立共享资源的多处理器系统。多处理器系统一般用于工作站和使用分载(load-sharing)的复杂算法(称为“对称多处理器SMP”)的高端PC计算。对于大部分嵌入式系统,当SMP的开销太大时,使用多个处理器执行不同的任务,实现不同的功能正引起越来越多的关注。Altera公司的FPGA为开发非对
[工业控制]
基于FPGA和NiosII的逆变焊接电源控制器
摘要:设计了基于FPGA和NioslI软核的全数字逆变焊接电源控制器,采用变参数PID和改进的I-I型双闭环电流-弧长控制策略,并应用于数字化MIG焊接电源系统中。介绍了该电源控制器各模块的功能及设计方案,分析了MIG焊接电流和弧长的控制问题,并进行了仿真和实际焊接试验。 关键词:FPGA;NioslI;变参数PID;双闭环控制;数字MIG逆变电源 1 概述     脉冲金属惰性气体保护焊(pulsed metal inert gas welding),简称MIG焊。MIG焊在工艺上具有以下优点:焊接保护作用好,焊缝金属纯净,焊接过程稳定,焊缝成形好等。目前,国内逆变焊机多采用以DSP为核心或以MCU+DSP为核心的控制结构。当需
[嵌入式]
基于FPGA和<font color='red'>Nios</font>II的逆变焊接电源控制器
基于DMA的大批量数据快速传输模块设计
DMA控制器作为SOPC设计中使用频率较高的IP核,可用于存储器或外设间进行批量数据传输,以提高系统数据吞吐量。然而,由于DMA控制器只支持对基于Avalon总线流传输模式的外设进行数据传输操作,对用户自定义外设不予支持。文中提出了一种基于Avalon总线流传输模式的通用DMA接口控制器设计,实现了NiosⅡ与FPGA的大批量数据快速传输,显著提高了系统的数据吞吐量。 1 Avalon—MM总线规范 Avalon总线规范是为开发SOPC环境下外设而设计的,为SOPC设计者描述这些外设的端口提供了基础。Avalon总线有多种传输模式,其中,流传输模式为从端口提供了一种机制,用于控制来自主端口的传输,流传输模式的这些特点使其特
[单片机]
基于DMA的大批量数据快速传输模块设计
基于OR1200的嵌入式SoPC硬件平台设计
摘要:针对现有商业SoPC系统的固有问题,提出了基于开源IP核与软件资源的SoPC系统硬件平台构建方案,并使用Cyclone FPGA进行了实际验证,证明了该硬件平台的实用性。探讨了该平台在普及SoPC技术和研究更高性能系统方面的积极作用。 关键词:OpenRISC1200可编程片上系统IP核 FPGA SoC(System on Chip)片上系统是现代电子系统设计的一个发展方向,它将原先分立的多个芯片集成在一块芯片上,通过提高芯片的集成度、减少系统芯片的数量和相互之间的PCB连线、减少PCB面积来降低整个系统的成本,同时使系统的性能、功能和可靠性都有很大的提高。随着新型的高性能、低成本FPGA的出现和综合技术的提高,基于
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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