• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用FPGA實(shí)現(xiàn)外設(shè)通信接口之: 利用FPGA實(shí)現(xiàn)常用顯示接口(Display Interface)

    利用FPGA實(shí)現(xiàn)外設(shè)通信接口之: 利用FPGA實(shí)現(xiàn)常用顯示接口(Display Interface)

    作者: 時(shí)間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

    本文引用地址:http://www.czjhyjcfj.com/article/201706/348806.htm

    10.4利用實(shí)現(xiàn)常用(DisplayInterface)

    10.4.1七段數(shù)碼的設(shè)計(jì)與實(shí)現(xiàn)

    因?yàn)閮r(jià)格低廉,使用簡單,經(jīng)常被用來實(shí)現(xiàn)一些簡單的狀態(tài)顯示功能。的標(biāo)準(zhǔn)外觀圖如圖10.16所示。右下角的圓點(diǎn)用Dp來表示,用來實(shí)現(xiàn)小數(shù)點(diǎn)的顯示。

    經(jīng)常用來顯示十進(jìn)制或十六進(jìn)制的數(shù),所以在數(shù)據(jù)顯示之前,首先要進(jìn)行二進(jìn)制到十進(jìn)制或者十六進(jìn)制的轉(zhuǎn)換。將它們轉(zhuǎn)換成十進(jìn)制的或是十六進(jìn)制的數(shù)。

    七段數(shù)碼管分為共陰和共陽兩種類型。比如,紅色颶風(fēng)開發(fā)板使用的是共陰類型的數(shù)碼管,信號(hào)是高電平有效。十六進(jìn)制數(shù)據(jù)在顯示的時(shí)候?qū)?yīng)的各段輸出對應(yīng)關(guān)系如表10.2所示。

    表10.2 十六進(jìn)制數(shù)據(jù)與輸出的映射關(guān)系

    數(shù)據(jù)

    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

    紅色颶風(fēng)開發(fā)板上采用的是4位并聯(lián)的數(shù)碼管。4個(gè)數(shù)碼管共用8條數(shù)據(jù)線,控制線是獨(dú)立的。如果4個(gè)數(shù)碼管要顯示不同的數(shù)值,比如顯示1234,那么就需要采用一種控制策略。最常用的方法就是動(dòng)態(tài)掃描顯示。

    動(dòng)態(tài)掃描顯示利用了時(shí)分的原理和人的視覺暫留效應(yīng)。例如,一個(gè)4位動(dòng)態(tài)掃描數(shù)碼顯示器的顯示周期可劃分為4個(gè)階段。

    階段1→階段2→階段3→階段4

    每個(gè)周期只選通一位數(shù)據(jù)。在周期1顯示第一個(gè)數(shù)碼,周期2顯示第二個(gè)數(shù)碼。在掃描4個(gè)階段后,又重新按順序循環(huán)。如果掃描的速度足夠快,從視覺上看就好像4個(gè)數(shù)碼管同時(shí)顯示不同的內(nèi)容。

    4位掃描數(shù)碼管共有4組BCD碼(4位)輸入線,8根8段譯碼輸出線和4根位選通線。掃描工作中,先從4組BCD數(shù)據(jù)中選出一組,通過BCD/7段譯碼器譯碼后輸出。與此同時(shí),3/8譯碼器產(chǎn)生位選通信號(hào),則在此瞬間,數(shù)碼管應(yīng)該為要顯示的數(shù)值。然后再選出下一組數(shù)據(jù)譯碼后輸出,位選通信號(hào)則相應(yīng)下移一位,將下一數(shù)碼管選通輸出,如圖10.17所示。

    圖10.17動(dòng)態(tài)掃描原理示意圖

    10.4.2字符型LCD的設(shè)計(jì)與實(shí)現(xiàn)

    液晶屏(LCD)通常分為點(diǎn)陣型和字符型兩種。字符型的液晶屏相對于數(shù)碼管來說,可以顯示更多的內(nèi)容和字符,人機(jī)界面更為友好,而且操作簡單,因此得到了廣泛的應(yīng)用。不同廠家的字符型LCD雖然型號(hào)不同,但是操作方法基本是一致的。

    字符型LCD一般會(huì)根據(jù)顯示字符的數(shù)量來確定型號(hào),如1602表示這個(gè)液晶可以顯示2行字符,每行為16個(gè)。紅色颶風(fēng)開發(fā)板上采用的字符型LCD的型號(hào)就是1602。下面就以1602為例來介紹的設(shè)計(jì)方法。

    1602型液晶模塊采用14針標(biāo)準(zhǔn)接口,各個(gè)管腳的定義如表10.3所示。

    表10.3 1602型液晶模塊的管腳配置表

    管腳

    符號(hào)

    說明

    1

    VSS

    器件地

    2

    VDD

    +5V電源

    3

    V0

    對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比度最高,對比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10kW的電位器調(diào)整對比度

    4

    RS

    寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器

    5

    RW

    讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平、RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平、RW為低電平時(shí)可以寫入數(shù)據(jù)

    6

    E

    使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令

    7~14

    D0~D7

    8位雙向數(shù)據(jù)線

    1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形。這些字符包括:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)和日文假名等。每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是0100_0001B(41H)。

    顯示的時(shí)候,模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。在編程實(shí)時(shí),只需要輸入相應(yīng)字符的地址,液晶屏就會(huì)輸出相應(yīng)的字符。

    對液晶模塊的寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。1602型液晶的操作指令表如表10.4所示。

    表10.4 1602型液晶模塊的指令表

    序號(hào)

    指令

    RS

    RW

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    1

    清顯示

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    2

    光標(biāo)返回

    0

    0

    0

    0

    0

    0

    0

    0

    1

    *

    3

    光標(biāo)或顯示模式

    0

    0

    0

    0

    0

    0

    0

    1

    I/D

    S

    4

    顯示開/關(guān)控制

    0

    0

    0

    0

    0

    0

    1

    D

    C

    B

    5

    光標(biāo)或字符移位

    0

    0

    0

    0

    0

    1

    S/C

    R/L

    *

    *

    6

    功能設(shè)置命令

    0

    0

    0

    0

    0

    DL

    N

    F

    *

    *

    7

    字符發(fā)生器地址設(shè)置

    0

    0

    0

    1

    字符發(fā)生器地址(AGG)

    8

    DDRAM地址設(shè)置

    0

    0

    1

    顯示數(shù)據(jù)存儲(chǔ)器DDRAM的地址(ADD)

    9

    讀忙標(biāo)志或地址

    0

    1

    BF

    計(jì)數(shù)器地址(AC)

    10

    寫數(shù)據(jù)到RAM

    1

    0

    要寫的數(shù)據(jù)

    11

    從RAM讀數(shù)據(jù)

    1

    1

    讀出的數(shù)據(jù)

    各條指令的說明如下(表10.4中,設(shè)1為高電平、0為低電平)。

    ·指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。

    ·指令2:光標(biāo)返回,光標(biāo)返回到地址00H。

    ·指令3:光標(biāo)和顯示模式設(shè)置。其中I/D表示光標(biāo)移動(dòng)方向,高電平右移,低電平左移;S表示屏幕上所有文字是否左移或者右移,高電平表示有效,低電平則無效。

    ·指令4:顯示開/關(guān)控制。其中D表示控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示;C表示控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo);B表示控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。

    ·指令5:光標(biāo)或顯示移位。其中S/C表示高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo);R/L表示文字或光標(biāo)的移動(dòng)方向,高電平為右移,低電平為左移。

    ·指令6:功能設(shè)置命令。其中DL表示高電平時(shí)為4位總線,低電平時(shí)為8位總線;N表示低電平時(shí)為單行顯示,高電平時(shí)雙行顯示;F表示低電平時(shí)顯示5×7的點(diǎn)陣字符,高電平時(shí)顯示5×10的點(diǎn)陣字符。

    ·指令7:字符發(fā)生器RAM地址設(shè)置。

    ·指令8:DDRAM地址設(shè)置。

    ·指令9:讀忙信號(hào)和光標(biāo)地址。其中BF表示忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。

    ·指令10:寫數(shù)據(jù)。

    ·指令11:讀數(shù)據(jù)。

    10.4.3顯示接口的設(shè)計(jì)與實(shí)現(xiàn)

    由于接口是模擬信號(hào),而只能支持?jǐn)?shù)字信號(hào),因此需要專用的D/A轉(zhuǎn)換芯片來實(shí)現(xiàn)模擬到數(shù)字的轉(zhuǎn)換。常用的DAC芯片有ADI公司的ADV7123或者ADV7125等。

    在某些應(yīng)用場合下,顯示器僅僅是用來顯示文字符號(hào)或者簡單圖形,不需要豐富的色彩和細(xì)膩的畫面。這時(shí)候,VGA接口就可以適當(dāng)?shù)睾喕?/p>

    標(biāo)準(zhǔn)的VGA接口連接器為DB15,在15個(gè)管腳里面有5個(gè)是最重要的。它們分別是紅、綠,藍(lán)三基色信號(hào)和水平、垂直兩個(gè)同步控制信號(hào),如圖10.18所示,其中,VGA_R、VGA_G、VGA_B、VGA_HS、VGA_VS是直接連接到FPGA的管腳。

    圖10.18簡化的VGA接口電路連接

    FPGA的管腳只有高電平和低電平兩種狀態(tài),因此對于每個(gè)色彩分量信號(hào)也僅有兩種狀態(tài)。這樣3個(gè)色彩分量就可以組合出8種顏色,如表10.5所示。

    表10.5 簡化的VGA接口色彩對照表

    VGA_R

    VGA_G

    VGA_B

    對應(yīng)的顯示顏色

    0

    0

    0

    黑色

    0

    0

    1

    綠色

    0

    1

    0

    藍(lán)色

    0

    1

    1

    藍(lán)綠色

    1

    0

    0

    紅色

    1

    0

    1

    品紅色

    1

    1

    0

    黃色

    1

    1

    1

    白色

    VGA信號(hào)如果要正常顯示,那么輸出信號(hào)必須滿足一定的時(shí)序關(guān)系。如圖10.19所示為VGA接口電路的通用時(shí)序關(guān)系。不同的分辨率和刷新率有不同的時(shí)序如表10.6所示。

    圖10.19VGA接口電路的通用時(shí)序關(guān)系

    表10.6 常見分辨率的VGA時(shí)序參數(shù)表

    顯示模式

    像素時(shí)鐘

    /MHz

    水平方向(以像素計(jì)算)

    垂直方向(以行計(jì)算)

    有效視頻信號(hào)

    同步前

    同步信號(hào)

    同步后

    有效視頻信號(hào)

    同步前

    同步信號(hào)

    同步后

    640×48060Hz

    25.175

    640

    16

    96

    48

    480

    11

    2

    31

    800×60060Hz

    40.000

    800

    40

    128

    88

    600

    1

    4

    23

    1024×76860Hz

    65.000

    1024

    24

    136

    160

    768

    3

    6

    29



    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 荥阳市| 梁河县| 贡嘎县| 南安市| 湾仔区| 渝中区| 宕昌县| 收藏| 凌云县| 宜章县| 当涂县| 北京市| 长宁县| 凉城县| 尼木县| 黄山市| 镇原县| 木里| 云霄县| 惠水县| 镇赉县| 常熟市| 靖宇县| 长泰县| 巨鹿县| 凌海市| 兴隆县| 利津县| 清远市| 涿鹿县| 兴文县| 浮山县| 延庆县| 巩义市| 雅江县| 区。| 通州区| 泾阳县| 临潭县| 贵港市| 玉龙|