0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简述Nios的GDM12864A显示模块控制

电子工程师 来源:现代电子技术 作者:梁光胜;许钊;陈 2021-04-28 11:43 次阅读

随着微电子技术的迅猛发展,各种芯片在体积不断缩小的同时,功能却越来越强大。FPGA芯片也从最初只有几千门,发展到数百万门的规模,I/O口由几十个发展至上千个。在这种资源极其丰富的情况下,FPGA设计者不再满足于仅仅用其来设计简单的应用系统,而开始在一片FPGA上集成一个完整的电子系统,即SOPC(System On Progratomble Chip)。

它通常包括片内存储器和片内微处理器Altera公司针对其FPGA芯片推出的Nios系列处理器,就是专为SOPC设计而开发的,它是Altera Excalibur嵌入处理器计划中第一个产品,它成为业界第一款可编程优化的可配置处理器。本文阐述在SOPC中利用Nios处理器实现GDM12864A显示模块控制的方法。

1 GDM12864A显示控制器

GDM12864A是带显示存储器的图形液晶显示控制器。它的特点是内置64×64 b的显示存储器,显示屏上各像素点的显示状态与显示存储器的各位数据一一对应,显示存储器的数据直接作为图形显示的驱动信号。显示数据为“1”,相应的像素点显示;显示数据为“0”,相应的像素点就不显示。

同时GDM12864A配备了一套显示存储器的管理电路和与计算机接口电路,允许计算机直接访问显示存储器。其具体参数如下:64×64 b(512 B)的显示存储器,其数据直接作为显示驱动信号,8位并行数据接口,64路列驱动输出,低功耗,在显示期间功耗最大为2 mW,较宽的工作电压,Vcc=2.7~5.5 V,Vee=0~-10 V。GDM12864A详细指令如表1所示。

pIYBAGCI2P6AeKyEAAB7Fh4fxWY532.png

2 Nios软核

Nios处理器是Altera公司推出的一个具有32/16 b精简指令集的软核(Soft Core)CPU,它是面向用户,可以灵活定制的通用RISC嵌入式处理器,它以软核的形式交付给用户,并针对Altera公司的FPGA专门进行了优化。用户可以在Altera公司提供的开发软件中加载Nios核和相应的外围接口并定义相应的指令,然后对设计进行综合并下载到FPGA中就可以方便地定制一个具有特定功能的嵌入式处理器。

用户可以按照设计的需要选择添加必要的部件,不会出现资源浪费的现象。图1即为一个已经设计完成的基本的Nios系统,它包括了一个嵌入式系统工作所需要的所有基本端口,其中有ROMRAM接口,串口,UART,以及系统的时钟Clk,另外还有一些外设接口。

o4YBAGCI2OyASbCnAACMkcblLcE422.png

3 Nios与显示模块的接口电路

利用Nios对GDM12864A进行控制可以有两种方法:一种方法是将该显示模块的接口作为Nios的存储器或I/O设备直接挂接到Nios的Avalon总线上,Nios以访问I/O设备或读写存储器的方式对其进行控制。另一种方法是将GDM12864A的接口与Nios的并行端口相连接,Nios通过对其端口的操作来完成对显示模块的控制。这种方式具有时序简单,易实现的优点,可以直接利用软件完成所有的控制操作。本文将采用第二种控制方式,其接口电路如图2所示。

o4YBAGCI2NeALeQ7AAA33hFEkc8855.png

图2中DI为寄存器选择信号,高电平时选择数据寄存器,低电平时选择指令寄存器;RW是读写控制信号,RW为高电平时Nios可以从显示模块读取当前状态,为低电平时Nios向显示模块写数据或指令;E为使能信号。由于GDM12864A是128×64像素的显示屏,显示时被分成两个区域分别显示,所以在进行控制时需要进行显示区选择,也就是片选CS1和CS2。DB[7..0]为并行数据接口,发送指令或读取状态都通过对它的操作完成。

4 驱动程序设计

液晶显示模块控制需要严格按照其要求的时序进行,如图3所示为GDM12864A的时序图。

o4YBAGCI2MmAJV8uAABUfV9O3DU826.png

GDM12864A显示屏由左右两区组成,进行控制的时候也需要分开控制两区,本文仅给出左区写指令子程序和写数据子程序,其他操作都与其类似或可以在此基础上实现。写指令和数据的程序流程图如图4所示。

pIYBAGCI2L6ARvevAABDNVdrc20041.png

写指令子程序:

o4YBAGCI2KGAEqyrAAIRh737tIw619.png

写数据子程序:

上述程序完成了LCD控制中最基本的写命令和写数据的操作,其他的操作都可以依据他们来完成。其中Delay()函数是延时子程序,lcd_busytest()是液晶控制器状态查询子程序。

5 结 语

本文介绍了一种利用嵌入式软核处理器控制LCD的方法,并给出了硬件接口电路和软件设计实例,从而将整个电子系统包括显示控制完全用一块FPGA芯片实现。Nios系列嵌入式软核处理器具有性价比高,简单灵活的特点,非常适合于SOPC系统设计,市场应用前景广阔。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47758

    浏览量

    409050
  • 存储器
    +关注

    关注

    38

    文章

    7143

    浏览量

    161975
  • 电压
    +关注

    关注

    45

    文章

    5081

    浏览量

    114408
  • 液晶显示器
    +关注

    关注

    11

    文章

    556

    浏览量

    43316
收藏 人收藏

    评论

    相关推荐

    固维GDM-8055校准介绍

    电子发烧友网站提供《固维GDM-8055校准介绍.doc》资料免费下载
    发表于 01-26 15:41 0次下载

    LCD12864点阵图形液晶显示模块中文资料

    电子发烧友网站提供《LCD12864点阵图形液晶显示模块中文资料.doc》资料免费下载
    发表于 11-17 11:48 0次下载
    LCD<b class='flag-5'>12864</b>点阵图形液晶<b class='flag-5'>显示</b><b class='flag-5'>模块</b>中文资料

    基于NIOS II的SD卡读写控制设计

    电子发烧友网站提供《基于NIOS II的SD卡读写控制设计.pdf》资料免费下载
    发表于 11-06 10:06 7次下载
    基于<b class='flag-5'>NIOS</b> II的SD卡读写<b class='flag-5'>控制</b>设计

    如何用st7920控制的LCD12864打点法显示汉字?

    请教各位大神,最近在玩st7920控制的LCD12864这个屏,有一些疑问,希望大神们带带小白: 用打点法显示自己想要的汉字,具体是怎么实现的啊?比如说,我现在可以任意位置打一个点了,然后我怎么实现我想要的汉字呢?
    发表于 10-08 06:14

    FYD12864-0402B液晶显示模块使用手册

    FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块显示分辨率为128×64,内置8192个16
    发表于 09-28 08:16

    浅谈GTU、GUID、GDM在电子方面可以运用的场景

    GTU GUID GDM
    的头像 发表于 09-19 07:45 830次阅读

    LCD12864液晶显示模块串行连接方式

    1.芯片简介 LCD12864液晶显示模块是 128×64点阵的汉字图形型液晶显示模块,可显示
    的头像 发表于 09-11 11:26 2641次阅读
    LCD<b class='flag-5'>12864</b>液晶<b class='flag-5'>显示</b><b class='flag-5'>模块</b>串行连接方式

    控制模块的功能简述 控制模块电路原理图设计

    在本节中,我们来完成控制模块的电路设计。首先我们需要对控制模块做一下简单的功能分析,也就是说我们先要了解控制
    发表于 07-26 14:33 2060次阅读
    <b class='flag-5'>控制</b><b class='flag-5'>模块</b>的功能<b class='flag-5'>简述</b> <b class='flag-5'>控制</b><b class='flag-5'>模块</b>电路原理图设计

    常规LED显示屏安装方法简述

    常规LED显示屏的安装虽然比较简单,但还是需要有一定的技术基础和动手操作能力,以下是一个常规的LED显示屏安装方法简述,可供大家参考:
    的头像 发表于 06-26 10:52 1679次阅读
    常规LED<b class='flag-5'>显示</b>屏安装方法<b class='flag-5'>简述</b>

    Proteus教程:LCD12864中英文显示

    Proteus教程:LCD12864中英文显示
    的头像 发表于 06-14 11:24 1625次阅读
    Proteus教程:LCD<b class='flag-5'>12864</b>中英文<b class='flag-5'>显示</b>

    基于51单片机的LCD12864显示开机仿真程序

    基于51单片机的LCD12864显示开机画面仿真设计
    发表于 05-22 15:57 0次下载

    基于89C51单片机的按键12864显示源程序

    基于89C51单片机的按键 12864显示源程序
    发表于 05-16 09:52 5次下载

    基于AT89C51单片机开关控制12864LCD串行模式显示

    基于AT89C51单片机开关控制12864LCD串行模式显示Proteus仿真及程序
    发表于 05-04 15:09 1次下载

    COG ST7565R 驱动12864 6800接口C程序

    有ST7565R控制的COG产品,驱动12864显示屏,6800并口
    发表于 04-28 09:49 18次下载

    基于51单片机的12864中文显示测试设计资料源程序

    基于51单片机的12864中文显示测试设计资料源程序
    发表于 04-27 15:17 2次下载