朱建武
摘 要 采用了大規(guī)??删幊踢壿嬈骷?,用數(shù)字電路的設(shè)計(jì)方法,將優(yōu)先編碼器和七段數(shù)碼管結(jié)合在一起實(shí)現(xiàn)了火警報(bào)警顯示電路。
關(guān)鍵詞 FPGA 編碼器 優(yōu)先編碼器 七段數(shù)碼管 傳感器 開(kāi)發(fā)板 集成電路
中圖分類號(hào):TP202 文獻(xiàn)標(biāo)識(shí)碼:A
1設(shè)計(jì)要求
假設(shè)分別有八層樓,每層樓裝有一個(gè)火警報(bào)警傳感器,當(dāng)傳感器報(bào)警時(shí),能在控制中心的顯示屏上顯示發(fā)生火警的樓層數(shù),在FPGA開(kāi)發(fā)板上模擬火警報(bào)警顯示電路。
2分析
此電路的設(shè)計(jì)需要用到8-3線二進(jìn)制編碼器74LS148,顯示譯碼器74LS48,七段數(shù)碼管,QuartusII開(kāi)發(fā)工具,Altera公司的FPGA實(shí)驗(yàn)開(kāi)發(fā)板。用I0、I1、I2、I3、I4、I5、I6、I7變量分別代表八層樓的狀態(tài),當(dāng)邏輯值為1的時(shí)候,代表該樓層失火,當(dāng)邏輯值為0的時(shí)候代表該樓層沒(méi)有失火。用Y0、Y1、Y2變量分別代表火警報(bào)警系統(tǒng)的三個(gè)輸出端,根據(jù)輸出端輸出不同的二進(jìn)制的值從而可以判斷出火警發(fā)生的樓層數(shù)。
3大規(guī)??删幊踢壿嬈骷?/p>
FPFA是一種可以編程的數(shù)字集成電路(IC,Integrated Circuit),其內(nèi)部集成上千百萬(wàn)個(gè)門陣列供使用,在功能上可以取代傳統(tǒng)規(guī)模的IC芯片組合的方式實(shí)現(xiàn)數(shù)字系統(tǒng);更重要的是,其現(xiàn)場(chǎng)可編程特性允許設(shè)計(jì)人員在工作現(xiàn)場(chǎng)完成對(duì)邏輯塊和連線的配置,實(shí)現(xiàn)或更改復(fù)雜的電子系統(tǒng)的功能,所有的FPGA結(jié)構(gòu)中都包含可配置的邏輯塊、可配置的I/O模塊和可編程互聯(lián)資源三個(gè)部分。
FPGA的主要開(kāi)發(fā)流程:(1)設(shè)計(jì)輸入;(2)邏輯綜合;(3)功能仿真;(4)布局布線;(5)時(shí)序分析;(6)時(shí)序仿真;(7)編程及配置。
4存在的問(wèn)題
(1)電路設(shè)計(jì)時(shí)考慮的是理想狀態(tài),即樓層失火時(shí)不會(huì)出現(xiàn)兩層樓同時(shí)失火的情況,在現(xiàn)實(shí)中不會(huì)出現(xiàn)理想狀態(tài)只有一層樓失火的情況。
解決方案:使用優(yōu)先編碼器,即對(duì)優(yōu)先級(jí)別高的輸入條件進(jìn)行編碼,輸入變量下標(biāo)值越大,優(yōu)先級(jí)別越高,在輸入變量中,I7的優(yōu)先級(jí)別最高,I0的優(yōu)先級(jí)別最低,當(dāng)同時(shí)出現(xiàn)多層樓失火的情況,先對(duì)優(yōu)先級(jí)別高的輸入變量編碼,即先顯示優(yōu)先級(jí)別高的樓層,再顯示優(yōu)先基低的樓層,依次顯示。
(2)8-3線二進(jìn)制編碼器輸出端有三個(gè),而顯示譯碼器輸入端有四個(gè),如何將編碼器和顯示譯碼器連接到一起?
解決方案:將8-3線編碼器的輸出端Y2Y1Y0分別連接到顯示譯碼器四位輸入端的低三位里面,可以在七段數(shù)碼管上分別顯示0-7這八個(gè)數(shù)。
(3)樓層數(shù)不匹配的問(wèn)題:七段數(shù)碼管依次顯示0-7這八個(gè)數(shù)字分別代表樓層數(shù)1-8層,如何讓數(shù)碼管能顯示出火警的真實(shí)樓層數(shù)?
解決方案:可以在8-3編碼器的輸出端上連接一個(gè)三位二進(jìn)制的加法器,加法器設(shè)置初始值為001不變,即編碼器的輸出結(jié)果每次都會(huì)自動(dòng)加一,從而保證七段數(shù)碼管的顯示樓層數(shù)與真實(shí)情況相匹配。
5總結(jié)
隨著電子技術(shù)的發(fā)展,人工智能和大數(shù)據(jù)等新興行業(yè)的發(fā)展, FPGA必將成為應(yīng)用最廣泛的電子設(shè)計(jì)工具。