DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1235|回复: 0
打印 上一主题 下一主题

[待整理] 利用FPGA实现外设通信接口之: 利用FPGA实现常用显示接口(Display Interface)

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-12 16:31:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
        10.4  利用FPGA实现常用显示接口(Display Interface)

        10.4.1  七段数码显示接口的设计与实现

        七段数码管因为价格低廉,使用简单,经常被用来实现一些简单的状态显示功能。七段数码管的标准外观图如图10.16所示。右下角的圆点用Dp来表示,用来实现小数点的显示。
       

         
        七段数码管经常用来显示十进制或十六进制的数,所以在数据显示之前,首先要进行二进制到十进制或者十六进制的转换。将它们转换成十进制的或是十六进制的数。
         
        七段数码管分为共阴和共阳两种类型。比如,红色飓风开发板使用的是共阴类型的数码管,信号是高电平有效。十六进制数据在显示的时候对应的各段输出对应关系如表10.2所示。
         
        表10.2 十六进制数据与输出的映射关系
                                                                        数    据
                       
                                                                        a
                       
                                                                        b
                       
                                                                        c
                       
                                                                        d
                       
                                                                        e
                       
                                                                        f
                       
                                                                        g
                       
                                                                        Dp
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        2
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        1
                       
                                                                        0
                       
                                                                        3
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        0
                       
                                                                        4
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        5
                       
                                                                        1
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        6
                       
                                                                        1
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        7
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        8
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        9
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        A
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        B
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        C
                       
                                                                        1
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        0
                       
                                                                        D
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        1
                       
                                                                        0
                       
                                                                        E
                       
                                                                        1
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        F
                       
                                                                        1
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
         
        红色飓风开发板上采用的是4位并联的数码管。4个数码管共用8条数据线,控制线是独立的。如果4个数码管要显示不同的数值,比如显示1234,那么就需要采用一种控制策略。最常用的方法就是动态扫描显示。
        动态扫描显示利用了时分的原理和人的视觉暂留效应。例如,一个4位动态扫描数码显示器的显示周期可划分为4个阶段。
         
        阶段1→阶段2→阶段3→阶段4
        每个周期只选通一位数据。在周期1显示第一个数码,周期2显示第二个数码。在扫描4个阶段后,又重新按顺序循环。如果扫描的速度足够快,从视觉上看就好像4个数码管同时显示不同的内容。
         
        4位扫描数码管共有4组BCD码(4位)输入线,8根8段译码输出线和4根位选通线。扫描工作中,先从4组BCD数据中选出一组,通过BCD/7段译码器译码后输出。与此同时,3/8译码器产生位选通信号,则在此瞬间,数码管应该为要显示的数值。然后再选出下一组数据译码后输出,位选通信号则相应下移一位,将下一数码管选通输出,如图10.17所示。
       

        图10.17  动态扫描原理示意图

         

         
        10.4.2  字符型LCD显示接口的设计与实现

        液晶屏(LCD)通常分为点阵型和字符型两种。字符型的液晶屏相对于数码管来说,可以显示更多的内容和字符,人机界面更为友好,而且操作简单,因此得到了广泛的应用。不同厂家的字符型LCD虽然型号不同,但是操作方法基本是一致的。
         
        字符型LCD一般会根据显示字符的数量来确定型号,如1602表示这个液晶可以显示2行字符,每行为16个。红色飓风开发板上采用的字符型LCD的型号就是1602。下面就以1602为例来介绍字符型LCD显示接口的设计方法。
         
        1602型液晶模块采用14针标准接口,各个管脚的定义如表10.3所示。
        表10.3 1602型液晶模块的管脚配置表
                                                                        管    脚
                       
                                                                        符    号
                       
                                                                        说    明
                       
                                                                        1
                       
                                                                        VSS
                       
                                                                        器件地
                       
                                                                        2
                       
                                                                        VDD
                       
                                                                        +5V电源
                       
                                                                        3
                       
                                                                        V0
                       
                                                                        对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10kW的电位器调整对比度
                       
                                                                        4
                       
                                                                        RS
                       
                                                                        寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器
                       
                                                                        5
                       
                                                                        RW
                       
                                                                        读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平、RW为高电平时可以读忙信号,当RS为高电平、RW为低电平时可以写入数据
                       
                                                                        6
                       
                                                                        E
                       
                                                                        使能端,当E端由高电平跳变成低电平时,液晶模块执行命令
                       
                                                                        7~14
                       
                                                                        D0~D7
                       
                                                                        8位双向数据线
                       
         
        1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形。这些字符包括:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等。每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是0100_0001B(41H)。
         
        显示的时候,模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。在编程实时,只需要输入相应字符的地址,液晶屏就会输出相应的字符。
         
        FPGA对液晶模块的写操作、屏幕和光标的操作都是通过指令编程来实现的。1602型液晶的操作指令表如表10.4所示。
         
        表10.4 1602型液晶模块的指令表
                                                                        序    号
                       
                                                                        指    令
                       
                                                                        RS
                       
                                                                        RW
                       
                                                                        D7
                       
                                                                        D6
                       
                                                                        D5
                       
                                                                        D4
                       
                                                                        D3
                       
                                                                        D2
                       
                                                                        D1
                       
                                                                        D0
                       
                                                                        1
                       
                                                                        清显示
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        2
                       
                                                                        光标返回
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        *
                       
                                                                        3
                       
                                                                        光标或显示模式
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        I/D
                       
                                                                        S
                       
                                                                        4
                       
                                                                        显示开/关控制
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        D
                       
                                                                        C
                       
                                                                        B
                       
                                                                        5
                       
                                                                        光标或字符移位
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        S/C
                       
                                                                        R/L
                       
                                                                        *
                       
                                                                        *
                       
                                                                        6
                       
                                                                        功能设置命令
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        DL
                       
                                                                        N
                       
                                                                        F
                       
                                                                        *
                       
                                                                        *
                       
                                                                        7
                       
                                                                        字符发生器地址设置
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        字符发生器地址(AGG)
                       
                                                                        8
                       
                                                                        DDRAM地址设置
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        显示数据存储器DDRAM的地址(ADD)
                       
                                                                        9
                       
                                                                        读忙标志或地址
                       
                                                                        0
                       
                                                                        1
                       
                                                                        BF
                       
                                                                        计数器地址(AC)
                       
                                                                        10
                       
                                                                        写数据到RAM
                       
                                                                        1
                       
                                                                        0
                       
                                                                        要写的数据
                       
                                                                        11
                       
                                                                        从RAM读数据
                       
                                                                        1
                       
                                                                        1
                       
                                                                        读出的数据
                       
         
        各条指令的说明如下(表10.4中,设1为高电平、0为低电平)。
        ·  指令1:清显示,指令码01H,光标复位到地址00H位置。
        ·  指令2:光标返回,光标返回到地址00H。
        ·  指令3:光标和显示模式设置。其中I/D表示光标移动方向,高电平右移,低电平左移;S表示屏幕上所有文字是否左移或者右移,高电平表示有效,低电平则无效。
        ·  指令4: 显示开/关控制。 其中D表示控制整体显示的开与关,高电平表示开显示,低电平表示关显示;C表示控制光标的开与关,高电平表示有光标,低电平表示无光标;B表示控制光标是否闪烁,高电平闪烁,低电平不闪烁。
        ·  指令5:光标或显示移位。其中S/C表示高电平时移动显示的文字,低电平时移动光标;R/L表示文字或光标的移动方向,高电平为右移,低电平为左移。
        ·  指令6:功能设置命令。其中DL表示高电平时为4位总线,低电平时为8位总线;N表示低电平时为单行显示,高电平时双行显示;F表示低电平时显示5×7的点阵字符,高电平时显示5×10的点阵字符。
        ·  指令7:字符发生器RAM地址设置。
        ·  指令8:DDRAM地址设置。
        ·  指令9:读忙信号和光标地址。其中BF表示忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
        ·  指令10:写数据。
        ·  指令11:读数据。
         
        10.4.3  VGA显示接口的设计与实现

        由于VGA接口是模拟信号,而FPGA只能支持数字信号,因此需要专用的D/A转换芯片来实现模拟到数字的转换。常用的DAC芯片有ADI公司的ADV7123或者ADV7125等。
         
        在某些应用场合下,VGA显示器仅仅是用来显示文字符号或者简单图形,不需要丰富的色彩和细腻的画面。这时候,VGA接口就可以适当地简化。
         
        标准的VGA接口连接器为DB15,在15个管脚里面有5个是最重要的。它们分别是红、绿,蓝三基色信号和水平、垂直两个同步控制信号,如图10.18所示,其中,VGA_R、VGA_G、VGA_B、VGA_HS、VGA_VS是直接连接到FPGA的管脚。
       

        图10.18  简化的VGA接口电路连接

         

        FPGA的管脚只有高电平和低电平两种状态,因此对于每个色彩分量信号也仅有两种状态。这样3个色彩分量就可以组合出8种颜色,如表10.5所示。
         
        表10.5 简化的VGA接口色彩对照表
                                                                        VGA_R
                       
                                                                        VGA_G
                       
                                                                        VGA_B
                       
                                                                        对应的显示颜色
                       
                                                                        0
                       
                                                                        0
                       
                                                                        0
                       
                                                                        黑色
                       
                                                                        0
                       
                                                                        0
                       
                                                                        1
                       
                                                                        绿色
                       
                                                                        0
                       
                                                                        1
                       
                                                                        0
                       
                                                                        蓝色
                       
                                                                        0
                       
                                                                        1
                       
                                                                        1
                       
                                                                        蓝绿色
                       
                                                                        1
                       
                                                                        0
                       
                                                                        0
                       
                                                                        红色
                       
                                                                        1
                       
                                                                        0
                       
                                                                        1
                       
                                                                        品红色
                       
                                                                        1
                       
                                                                        1
                       
                                                                        0
                       
                                                                        黄色
                       
                                                                        1
                       
                                                                        1
                       
                                                                        1
                       
                                                                        白色
                       
         
        VGA信号如果要正常显示,那么输出信号必须满足一定的时序关系。如图10.19所示为VGA接口电路的通用时序关系。不同的分辨率和刷新率有不同的时序如表10.6所示。
       

        图10.19  VGA接口电路的通用时序关系

         
        表10.6 常见分辨率的VGA时序参数表
                                                                        显示模式
                       
                                                                        像素时钟
                                                                        /MHz
                       
                                                                        水平方向(以像素计算)
                       
                                                                        垂直方向(以行计算)
                       
                                                                        有效视频信号
                       
                                                                        同步前
                       
                                                                        同步信号
                       
                                                                        同步后
                       
                                                                        有效视频信号
                       
                                                                        同步前
                       
                                                                        同步信号
                       
                                                                        同步后
                       
                                                                        640×480 60Hz
                       
                                                                        25.175
                       
                                                                        640
                       
                                                                        16
                       
                                                                        96
                       
                                                                        48
                       
                                                                        480
                       
                                                                        11
                       
                                                                        2
                       
                                                                        31
                       
                                                                        800×600 60Hz
                       
                                                                        40.000
                       
                                                                        800
                       
                                                                        40
                       
                                                                        128
                       
                                                                        88
                       
                                                                        600
                       
                                                                        1
                       
                                                                        4
                       
                                                                        23
                       
                                                                        1024×768 60Hz
                       
                                                                        65.000
                       
                                                                        1024
                       
                                                                        24
                       
                                                                        136
                       
                                                                        160
                       
                                                                        768
                       
                                                                        3
                       
                                                                        6
                       
                                                                        29
                       
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-2 19:55 , 耗时 0.098337 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表