《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于FPGA及VHDL的LED點陣漢字滾動顯示設(shè)計方案
基于FPGA及VHDL的LED點陣漢字滾動顯示設(shè)計方案
摘要: 漢字滾動顯示器的傳統(tǒng)設(shè)計方法是用單片機(jī)來控制的,雖然單片機(jī)方案具有價格低廉,程序編程靈活等特點,但由于單片機(jī)硬件資源的限制,未來對設(shè)計的變更和升級,總是要付出較多研發(fā)經(jīng)費和較長投放市場周期的代價,甚至有可能需要重新設(shè)計。況且,在以顯示為主的系統(tǒng)中,單片機(jī)的運算和控制等主要功能的利用率很低,單片機(jī)的優(yōu)勢得不到發(fā)揮,相當(dāng)于很大的資源浪費?! 〔捎肊DA技術(shù)的自頂向下的模塊化設(shè)計方法,借助相關(guān)開發(fā)軟件,例如QualtusⅡ軟件,將硬件描述語言——VHDL程序固化于具有豐富I/O口、內(nèi)部邏輯和連線資源的FPGA(現(xiàn)場可編程門陣列)中。該技術(shù)具有系統(tǒng)設(shè)計效率高、集成度好、保密性強(qiáng)、易于修改、易于實現(xiàn)等優(yōu)點,成為當(dāng)今數(shù)字系統(tǒng)設(shè)計主流技術(shù)。此方式所制作的LED點陣控制器,由于是純硬件行為,具有速度快、可靠性高、抗干擾能力強(qiáng)、開發(fā)周期短等顯著優(yōu)點?! ? EDA點陣顯示漢字原理  以8×8的LED點陣為例,8×8的LED點陣是由64個發(fā)光二極管按矩陣形式排列而成,每一行上的發(fā)光管有一個公共的陽極(或陰極),每一列上的發(fā)光管有一個公共的陰極(或陽極),一般按動態(tài)掃描方式顯示漢字或圖形。掃描分為點掃描、行掃描和列掃描三種方式。
Abstract:
Key words :

  漢字滾動顯示器的傳統(tǒng)設(shè)計方法是用單片機(jī)來控制的,雖然單片機(jī)方案具有價格低廉,程序編程靈活等特點,但由于單片機(jī)硬件資源的限制,未來對設(shè)計的變更和升級,總是要付出較多研發(fā)經(jīng)費和較長投放市場周期的代價,甚至有可能需要重新設(shè)計。況且,在以顯示為主的系統(tǒng)中,單片機(jī)的運算和控制等主要功能的利用率很低,單片機(jī)的優(yōu)勢得不到發(fā)揮,相當(dāng)于很大的資源浪費。

  采用EDA技術(shù)的自頂向下的模塊化設(shè)計方法,借助相關(guān)開發(fā)軟件,例如QualtusⅡ軟件,將硬件描述語言——VHDL程序固化于具有豐富I/O口、內(nèi)部邏輯和連線資源的FPGA(現(xiàn)場可編程門陣列)中。該技術(shù)具有系統(tǒng)設(shè)計效率高、集成度好、保密性強(qiáng)、易于修改、易于實現(xiàn)等優(yōu)點,成為當(dāng)今數(shù)字系統(tǒng)設(shè)計主流技術(shù)。此方式所制作的LED點陣控制器,由于是純硬件行為,具有速度快、可靠性高、抗干擾能力強(qiáng)、開發(fā)周期短等顯著優(yōu)點。

  1 EDA點陣顯示漢字原理

  以8×8的LED點陣為例,8×8的LED點陣是由64個發(fā)光二極管按矩陣形式排列而成,每一行上的發(fā)光管有一個公共的陽極(或陰極),每一列上的發(fā)光管有一個公共的陰極(或陽極),一般按動態(tài)掃描方式顯示漢字或圖形。掃描分為點掃描、行掃描和列掃描三種方式。行掃描需要按行抽取字型碼,列掃描則需要按列抽取字型碼。為滿足視覺暫留要求,若使用點掃描方式,其掃描頻率必須大于16×64=1 024Hz,周期小于1ms。若使用行或列掃描,則頻率必須大于16×8=128Hz,周期小于7.8ms。由于所用實驗板上提供有1 kHz的時鐘,本例設(shè)計中利用該時鐘進(jìn)行掃描,使每行掃描時間為1 ms,實驗結(jié)果顯示亮度合適?,F(xiàn)以行掃描為例簡單說明動態(tài)掃描顯示的原理。圖1給出漢字“熱”在點陣為列共陽時的行字模。工作時先將要掃描行的點陣字模從各列上輸出,再讓譯碼器選中(掃描)該行,使本行得以顯示,接著再送下一行數(shù)據(jù),再使下一行有效,直到8行全被掃描一遍。至此,一幅完整的文字信息就顯現(xiàn)出來,然后再反復(fù)掃描這8行直至顯示新的信息。以下設(shè)計采用行掃描方式實現(xiàn)滾動顯示。

  

 

  2 硬件原理圖

  整個電路由五大部分組成:時鐘計數(shù)模塊GEL_CLK,存儲漢字字模的ROM模塊ROMZI,數(shù)據(jù)分配器模塊MUX,移位模塊YW及顯示模塊XIANSH-I。時鐘計數(shù)模塊用于產(chǎn)生整個電路所需要的時鐘及其對時鐘的計數(shù)值,例如:移位時鐘CLK YW,移位計數(shù)器CNT YW,字計數(shù)器CNT WORD,顯示掃描計數(shù)器CNT SM。ROMZI模塊是由QualtusⅡ中的LPM 1PORT ROM定制成,用來存儲8個待顯示的漢字。MUX模塊用于在掃描時鐘及掃描計數(shù)器的作用下,從ROM中讀出一個漢字的8個行字模信息,送給移位模塊YW,YW模塊在移位時鐘及移位計數(shù)器作用下,根據(jù)SELECT信號選擇對讀出的字模信息,進(jìn)行相應(yīng)的移位(左移、右移、上移、下移)后,最后送顯示模塊DISP驅(qū)動LED點陣顯示漢字。原理圖如圖2所示。

  

 

  3 模塊設(shè)計及時序仿真

  3.1 時鐘計數(shù)產(chǎn)生模塊

  時鐘計數(shù)產(chǎn)生模塊由1 kHz的輸人時鐘為基準(zhǔn),進(jìn)行17位的循環(huán)計數(shù)CNT[16..O]。該時鐘,既是動態(tài)掃描顯示的時鐘,也是從ROM中取一個字8個字模的時鐘,對之進(jìn)行的3位循環(huán)計數(shù)作為掃描顯示計數(shù)器和取一個字的字型碼計數(shù)器。CNT[16..O]中的CNT[9]是對該時鐘的1 024分頻,將其作為移位時鐘CNT_YW,周期約為l s。CNT[13…lO]作為4位的移位計數(shù)器,是對移位時鐘CLK_YW的計數(shù),也是對移位位數(shù)的統(tǒng)計。16個狀態(tài)使一個漢字逐列移進(jìn)點陣,又逐列移出。每經(jīng)過16個移位時鐘,將會顯示完一個漢字。CNT[16..14]作為3位的取字計數(shù)器。

  CNT[16…14]&CNT[2..O]作為ROM地址發(fā)生器。

  3.2 ROMZI模塊

  利用LPM參數(shù)化模塊庫中單口ROM,利用QualtusⅡ中的MegaWizard Plug-In Manager定制而成,定制前首先要制作LPM ROM初始化文件,其中存儲待顯示漢字的字模數(shù)據(jù),然后按照LPM MegaWizardPlug-In Manager的向?qū)崾?,結(jié)合設(shè)計要求進(jìn)行定制。

  

 

  

 

  圖3為所定制ROM中的初始化漢字“元旦生日開心快樂”的字型碼。數(shù)據(jù)分配模塊MUX要求能在8個時鐘作用下,從ROM中讀出一行(一個漢字的8個字型碼)分別送到數(shù)據(jù)分配器中的WLl~WL8輸出端。圖4為數(shù)據(jù)分配模塊在掃描時鐘作用下讀取的字模數(shù)據(jù),比較圖3和圖4可知,仿真結(jié)果正確,能滿足題目要求。

  3.3 移位模塊YW

  移位模塊YW是整個設(shè)計的核心,行掃描實現(xiàn)左移,是通過每來一個移位時鐘,將每一行的字模按位左移一位,掃描時鐘到來時送出移位后的新字模。通過8次移位,可將一個漢字移出點陣平面,按類似的道理,也可以將一個漢字經(jīng)8次移位后移進(jìn)點陣平面。本例(圖2)中,CNT YW為移位時鐘的計數(shù)值,以WLl~WL8為欲顯示漢字的原始字模,L10~L80為移位后從列上送出的8行顯示字模信息,LLl~LL8為8個原始字模信息未送出位的暫存信號。設(shè)計中需要16個移位時鐘,通過前8個時鐘將WLl~WL8字模移進(jìn)LED點陣平面,再經(jīng)后8個時鐘,將漢字又一位一位地移出。 移位設(shè)計參考文獻(xiàn)中有關(guān)移位寄存器的設(shè)計,分計數(shù)值為“0000"和非"0000"兩部分處理,對第一行字模的處理為:

  

 

  其他行可按相同方法處理,具體參見如下的程序:

  

 

  

 

  右移處理方法與上面左移相反,如對第一行可按如下方法處理:

  

 

  上移時的部分程序按以下思路編制:L10~L70在CNT_YW為初態(tài)“0000”時,各信號均賦值X“00”,非初態(tài)時,均進(jìn)行上移一位。即:L10<=L20;L20<=L30;…;L60<=L70;L70<=L80;對于L80,在漢字移進(jìn)LED過程中即前8個狀態(tài)各移進(jìn)一個新行,在移出LED即后8個狀態(tài)時,都補進(jìn)X“00”。程序如下:

  

 

  下移程序可按相反思路去編。

  3.4 顯示模塊DISP設(shè)計

  顯示模塊DISP是以CNT_SM為掃描計數(shù)器,是對1kHz進(jìn)行三位循環(huán)計數(shù),由前述的時鐘計數(shù)產(chǎn)生模塊產(chǎn)生,WLl~WL8為待送出顯示的8個8位字型碼,由前述的移位模塊YW提供;SW[7..O]為行掃描輸出信號,連接至點陣的8個行;DATA[7..0]為行掃描時對應(yīng)的列輸出字型碼,對外連至點陣的8列。該模塊參考文獻(xiàn)中數(shù)碼管動態(tài)顯示程序進(jìn)行設(shè)計如下:

  

 

  

 

  4 硬件實現(xiàn)

  上述各模塊分別在QualtusⅡ中通過了仿真驗證,最后對整體設(shè)計進(jìn)行了硬件驗證。將設(shè)計載入KH31001開發(fā)板的Cyclone工系列EPlC6Q-240C8FPGA器件中,實驗證明漢字滾動顯示掃描情況均正常,能夠按照預(yù)想進(jìn)行移位顯示,這說明。FPGA的內(nèi)核硬件工作良好,可以正確地實現(xiàn)所要求的設(shè)計功能。

  5 系統(tǒng)擴(kuò)展

  本文是針對8×8點陣設(shè)計,故每次取8個字形碼,如果是16×16點陣,將RONZI中存儲的字形碼改為16位,數(shù)據(jù)線改為16位,一個漢字需要16個16位的字形碼,數(shù)據(jù)分配模塊MUX、移位模塊YW、顯示模塊DISP,均要將輸入輸出數(shù)據(jù)中的原來的8位改成相應(yīng)的16位。掃描及取字型碼計數(shù)器CNT_SM應(yīng)改為CNT計數(shù)器的低4位。一個16×16點陣漢字的移進(jìn)移出共需32個狀態(tài)。由5位的計數(shù)器提供。如用CNT[16..0]中的14~10位作為該計數(shù)器,這可在時鐘計數(shù)器產(chǎn)生單元CLK_GE中應(yīng)做相應(yīng)修改,字計數(shù)器CNT WORD按照每取16個字進(jìn)行加1統(tǒng)計。顯示DISP部分的譯碼器要由3-8譯碼改為4-16譯碼。顯示的漢字信息越多,ROM的地址線位數(shù)越多,字計數(shù)器CNT_WORD應(yīng)在時鐘計數(shù)器產(chǎn)生單元GE_CLK中,將相應(yīng)的計數(shù)器位數(shù)擴(kuò)展,由CNT計數(shù)器的最高位到位15來承擔(dān)。若還是8個漢字,計數(shù)器應(yīng)為CNT[17..O],CNT[17..15]為字計數(shù)器;若為16個漢字,計數(shù)器應(yīng)為CNT[18..O],CNT[18..15]為字計數(shù)器,…,依次類推。

  6 結(jié)語

  本文在KH31001開發(fā)板上實現(xiàn)了基于Altera公司的Cyclone I系列FPGA器件EPlC6Q240C8硬件及VHDL硬件描述語言設(shè)計的LED點陣漢字滾動顯示,能在8×8點陣上滾動顯示“元旦生日開心快樂”8個漢字。文中從LED點陣顯示漢字的原理闡述出發(fā),給出了點陣漢字滾動顯示控制器的原理圖,部分模塊的VHDL源程序及時序仿真圖,并能由按鍵選擇其滾動方式:左移、右移、上移、下移等,給出了系統(tǒng)擴(kuò)展成16×16點陣漢字滾動的改動思路。從文中描述的系統(tǒng)擴(kuò)展方案中看出,當(dāng)系統(tǒng)顯示字符個數(shù)變化時,只需對控制邏輯和連接關(guān)系做適當(dāng)?shù)男薷模賹⑿薷耐瓿傻某绦蛳螺d到器件即可,顯然,系統(tǒng)的維護(hù)和修改是極其方便和容易的,本文對同類設(shè)計也具有一定的參考價值。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国外成人在线视频网站| 一区二区三区高清在线观看| 欧美美女操人视频| 免费精品视频| 久久蜜桃香蕉精品一区二区三区| 香蕉久久精品日日躁夜夜躁| 亚洲特色特黄| 亚洲视频图片小说| 亚洲天堂av图片| 亚洲天堂久久| 亚洲综合精品| 午夜精品视频在线观看| 午夜在线不卡| 欧美一区二区在线播放| 欧美一区二区成人6969| 欧美一区二区女人| 久久精品视频导航| 久久深夜福利| 农村妇女精品| 欧美激情亚洲综合一区| 欧美精品在线免费观看| 欧美日韩精品欧美日韩精品| 欧美日韩亚洲一区二| 欧美午夜精品理论片a级按摩| 欧美午夜激情小视频| 欧美午夜女人视频在线| 国产精品亚洲综合天堂夜夜| 国产日韩一区二区| 精品成人乱色一区二区| 亚洲国产精品一区制服丝袜| 亚洲美女毛片| 亚洲一区日本| 久久不见久久见免费视频1| 亚洲激情一区二区| 一区二区三区 在线观看视频| 亚洲一区二区三区在线看| 亚洲一区观看| 亚洲欧美日韩电影| 欧美在线亚洲综合一区| 蜜臀a∨国产成人精品| 欧美欧美全黄| 国产毛片久久| 在线欧美视频| 一本高清dvd不卡在线观看| 亚洲一区在线看| 久久精品毛片| 日韩亚洲成人av在线| 亚洲综合成人在线| 久久久久久久波多野高潮日日| 欧美成人免费在线观看| 欧美午夜一区二区福利视频| 国产婷婷色一区二区三区在线 | 乱中年女人伦av一区二区| 欧美成人国产va精品日本一级| 欧美日韩高清在线| 国产视频亚洲精品| 亚洲品质自拍| 亚洲主播在线播放| 亚洲乱码国产乱码精品精天堂 | 国产精品永久在线| 在线国产精品一区| 亚洲午夜久久久久久久久电影院| 久久成年人视频| 亚洲最新合集| 久久久国产午夜精品| 欧美三区视频| 在线观看欧美一区| 亚洲午夜电影| 亚洲精品中文字幕有码专区| 久久大逼视频| 欧美特黄一级| 亚洲国产精品久久久久婷婷884 | 欧美无砖砖区免费| 在线观看亚洲一区| 亚洲欧美日韩综合aⅴ视频| 99re热这里只有精品免费视频| 欧美一区影院| 欧美视频日韩视频在线观看| 精东粉嫩av免费一区二区三区| 亚洲一区二区免费| 一本一本久久a久久精品综合麻豆| 久久久久久色| 国产伦精品一区二区三区免费迷 | 亚洲第一中文字幕| 午夜精品美女久久久久av福利| 一区二区三区 在线观看视频| 玖玖在线精品| 国产欧美精品xxxx另类| 日韩视频国产视频| 亚洲国产精品一区二区久 | 国产亚洲综合在线| 亚洲视频在线播放| 亚洲免费观看高清完整版在线观看熊 | 日韩一级成人av| 久久综合给合| 国产婷婷97碰碰久久人人蜜臀| 亚洲一本视频| 亚洲特级片在线| 欧美日韩亚洲另类| 亚洲欧洲日本国产| 亚洲国产欧美一区二区三区丁香婷| 欧美在线视频播放| 国产精品美女久久久久久免费| 亚洲欧洲日本专区| 亚洲精品久久久久久下一站| 可以看av的网站久久看| 国产一区二区三区久久| 亚洲欧美日韩精品久久亚洲区| 亚洲午夜小视频| 欧美调教vk| 夜夜嗨av色综合久久久综合网| 日韩亚洲视频| 欧美乱妇高清无乱码| 亚洲精品久久久蜜桃| 夜夜夜精品看看| 欧美日韩精品欧美日韩精品| 亚洲剧情一区二区| 一区二区三区四区国产精品| 欧美精品一区二区三区在线播放 | 亚洲精品国精品久久99热| 亚洲免费黄色| 欧美激情中文字幕乱码免费| 亚洲精品视频免费观看| 一本一道久久综合狠狠老精东影业 | 欧美日韩ab| 日韩视频精品在线| 国产精品99久久不卡二区| 欧美三级资源在线| 亚洲一区二区免费看| 欧美一级电影久久| 国产拍揄自揄精品视频麻豆| 欧美一区二区日韩| 久久亚洲精品一区二区| 在线成人h网| 日韩视频亚洲视频| 欧美日韩精品是欧美日韩精品| 一区二区三区国产盗摄| 亚洲欧美日韩精品在线| 国产模特精品视频久久久久 | 亚洲日本va午夜在线电影 | 国产精品国产三级国产aⅴ9色| 亚洲视频电影在线| 欧美在线关看| 在线观看欧美一区| 日韩视频在线免费| 国产精品久久久久久久午夜片| 午夜精品久久久久影视 | 午夜日韩激情| 久久亚洲欧美国产精品乐播| 1024成人| 中文在线资源观看网站视频免费不卡 | 亚洲精品国产系列| 亚洲欧美三级在线| 红桃av永久久久| 日韩视频在线一区二区三区| 欧美视频中文在线看| 午夜精品福利在线| 免费观看一区| 一区二区三区黄色| 久久久精品国产一区二区三区| 亚洲国产经典视频| 亚洲欧美国产77777| 狠狠色丁香久久婷婷综合丁香| 亚洲毛片在线看| 国产精品日本| 亚洲黄网站在线观看| 欧美成人综合网站| 久久精品理论片| 欧美成人中文| 国产亚洲激情| 亚洲人体偷拍| 国产精品成人观看视频免费 | 亚洲综合不卡| 激情伊人五月天久久综合| 一区二区三区欧美日韩| 国产一区二区三区观看 | 久久综合网hezyo| 99视频国产精品免费观看| 久久视频一区二区| 亚洲美女av在线播放| 久久久久在线| 亚洲伦理在线观看| 久久亚洲春色中文字幕| 亚洲深夜激情| 欧美成人性网| 新67194成人永久网站| 欧美另类一区二区三区| 欧美中文在线免费| 国产精品高潮呻吟久久av黑人| 亚洲国产一区二区三区青草影视| 欧美性片在线观看| 亚洲精美视频| 国产日韩高清一区二区三区在线| 99国产精品99久久久久久粉嫩| 国产麻豆9l精品三级站| 99视频精品在线| 韩国在线视频一区| 午夜精品一区二区三区在线播放 | 国产精品久久久久久久app| 亚洲日本黄色|