朱建武


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