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