新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的可編程電阻的設(shè)計(jì)

基于FPGA的可編程電阻的設(shè)計(jì)

作者: 時(shí)間:2011-01-11 來(lái)源:網(wǎng)絡(luò) 收藏

1.4 輸出顯示電路
輸出顯示電路主要功能是實(shí)時(shí)顯示對(duì)應(yīng)的鍵盤輸入電阻值的大小、當(dāng)前工作的步數(shù)和預(yù)置時(shí)間。根據(jù)要求,本實(shí)驗(yàn)采用數(shù)碼管來(lái)顯示其阻值即可,能夠滿足要求,為了顯示以上數(shù)據(jù),每個(gè)阻值的顯示至少需要九個(gè)數(shù)碼管,其中五位用來(lái)顯示當(dāng)前阻值的大小,兩位用來(lái)顯示當(dāng)前的工作步數(shù),兩位用來(lái)顯示數(shù)據(jù)的工作時(shí)間,如果采用靜態(tài)顯示控制將會(huì)需要相當(dāng)多的引腳端資源(9×2×8=144個(gè)),為了減少對(duì)引腳資源的使用,本設(shè)計(jì)中采用掃描的方式來(lái)實(shí)現(xiàn)LED的動(dòng)態(tài)顯示。

2 軟件設(shè)計(jì)及部分仿真結(jié)果
本設(shè)計(jì)中,主要控制程序都是通過(guò)的軟件編程來(lái)實(shí)現(xiàn)。軟件設(shè)計(jì)大體可以分為三個(gè)大模塊:鍵盤掃描模塊、LED顯示模塊、繼電器電阻驅(qū)動(dòng)電路模塊。
2.1 鍵盤掃描模塊
鍵盤掃描模塊主要用來(lái)檢測(cè)外界輸入的數(shù)據(jù),主要由分頻器電路、鍵盤掃描計(jì)數(shù)器電路、鍵盤行和列按鍵檢測(cè)電路、按鍵抖動(dòng)消除電路和鍵盤編碼電路組成。
因?yàn)楸驹O(shè)計(jì)中外接頻率為一般用6MHz的信號(hào)作為時(shí)鐘信號(hào),但是鍵盤掃描不需要那么高的頻率,所以需要一個(gè)分頻電路將其頻率降低為1kHz。鍵盤掃描計(jì)數(shù)器主要為鍵盤行和列按鍵檢測(cè)電路和鍵盤編碼電路服務(wù),鍵盤行和列按鍵檢測(cè)電路用來(lái)檢測(cè)鍵盤輸入所在行列的位置,按鍵抖動(dòng)消除電路主要目的是為了避免按鍵時(shí)鍵盤產(chǎn)生的拉動(dòng)效應(yīng)使按鍵使能位產(chǎn)生不必要的抖動(dòng)變化而造成重復(fù)統(tǒng)計(jì)按鍵次數(shù)的結(jié)果。同時(shí),鍵盤位置的代號(hào),并不是鍵盤上的按鍵值,所以要用鍵盤編碼電路來(lái)傳遞真正的按鍵值。
2.2 LED顯示模塊
LED顯示模塊采用動(dòng)態(tài)顯示方式,這種實(shí)現(xiàn)方法是依次點(diǎn)亮各個(gè)LED數(shù)碼管,循環(huán)進(jìn)行顯示,這種顯示方式控制好數(shù)碼管之間的延時(shí)相當(dāng)重要,根據(jù)人眼視覺(jué)暫留原理,LED數(shù)碼管每秒的導(dǎo)通16次以上,人眼就無(wú)法分辯LED數(shù)碼管短暫的不亮,認(rèn)為是一直點(diǎn)亮的,但延時(shí)也不是越小越好,因?yàn)長(zhǎng)ED數(shù)碼管達(dá)到一定亮需要一定時(shí)間。為了達(dá)到較好的效果,本設(shè)計(jì)中延時(shí)取0.005s。
2.3 繼電器電阻驅(qū)動(dòng)電路模塊
繼電器電阻驅(qū)動(dòng)電路模塊主要是根據(jù)鍵盤輸入的電阻值,判斷相應(yīng)的一些電阻是否要接入,從而使電阻對(duì)應(yīng)的繼電器閉合或斷開(kāi),給予其對(duì)應(yīng)的信號(hào)1或O即可。
2.4 仿真結(jié)果
由上述理論可知,電阻1的產(chǎn)生原理和電阻2的產(chǎn)生原理完全一樣,為了使仿真結(jié)果更加明了,這里的仿真波形只用電阻1來(lái)驗(yàn)證其正確性,其仿真波形如圖3所示。
c.JPG

此圖是仿真圖中的一部分,只選擇了幾個(gè)有代表性的信號(hào)顯示出來(lái)加以說(shuō)明,從圖中可以看出有時(shí)鐘信號(hào)clk,復(fù)位信號(hào)reset,電阻1選擇信號(hào) resistancel,numll至num51顯示的分別是電阻值的小數(shù)位、個(gè)位、十位、百位、干位。step11和step21分別顯示的是當(dāng)前工作的步數(shù)
的個(gè)位和十位,其中time11和time21分別顯示的是工作時(shí)間的個(gè)位和十位。Bus9則是動(dòng)態(tài)顯示時(shí)的數(shù)據(jù)信號(hào),JIDIANQI則代表的是16個(gè)繼電器的開(kāi)關(guān)狀態(tài)。從上圖中可以看出該電阻的小數(shù)位的段碼為07H,對(duì)應(yīng)的二進(jìn)制就是00000111,其對(duì)應(yīng)顯示的數(shù)字是7即小數(shù)位為7,同理可知其個(gè)位數(shù)為5,十位數(shù)為4,百位數(shù)為3,千位數(shù)為1,所以其阻值就為1345.7Ω,從圖中可以看出總線上是循環(huán)傳遞著時(shí)間、步數(shù)和數(shù)值信息,根據(jù)阻值,其相應(yīng)的繼電器會(huì)閉合,根據(jù)上述電阻網(wǎng)絡(luò)原理,J4、J6、J8、J9、J10、J12、J14閉合,其余的繼電器均斷開(kāi),即對(duì)應(yīng)的二
進(jìn)制代碼為(0010101110101000)B,換算成十六進(jìn)制即為2BA8,從上圖可以看出其驗(yàn)證結(jié)果是正確的。

3 結(jié)束語(yǔ)
系統(tǒng)通過(guò)引進(jìn)FPGA來(lái)實(shí)現(xiàn)電阻提供這一模塊,且將周圍其他數(shù)字邏輯電路也集成至該芯片中。這樣既解決了系統(tǒng)的特殊性,又增強(qiáng)了系統(tǒng)的抗干擾性,提高了控制精度,也簡(jiǎn)化了調(diào)試。此外,本系統(tǒng)還將驅(qū)動(dòng)電路、編解碼電路等硬件通過(guò)VHDL語(yǔ)言在FPGA芯片中實(shí)現(xiàn),相比以前的模擬電路和單片機(jī)的實(shí)現(xiàn)方法,使用的元器件更少,體積也更小,針對(duì)不同場(chǎng)合,修改起來(lái)也更加方便。具有很好的市場(chǎng)前景。

本文引用地址:http://m.butianyuan.cn/article/191402.htm

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉