廣西機(jī)電職業(yè)技術(shù)學(xué)院 甘慶玉
?
基于SIMULINK的計數(shù)譯碼顯示電路的仿真
廣西機(jī)電職業(yè)技術(shù)學(xué)院甘慶玉
在Simulink環(huán)境下包含著許多典型的數(shù)字電路仿真模塊。本文先以計數(shù)器為例,根據(jù)其邏輯功能,采用觸發(fā)器來實現(xiàn),并封裝成模塊。然后利用組合邏輯電路設(shè)計出譯碼電路模塊,接著設(shè)計了LED數(shù)碼管顯示電路,并將三者組合成計數(shù)譯碼顯示系統(tǒng)仿真模型。設(shè)計與仿真結(jié)果驗證了此設(shè)計的正確性和可靠性,同時也表明,運用Simulink進(jìn)行對電路虛擬仿真,可以方便、有效地進(jìn)行數(shù)字電子電路的設(shè)計和分析。
S imulink;計數(shù)模塊;譯碼模塊;顯示電路;仿真
MATLAB軟件是美國MathWorks公司開發(fā)的數(shù)學(xué)軟件,可以開發(fā)算法、計算數(shù)值、可視化數(shù)據(jù)以及分析數(shù)據(jù)。Simulink是MATLAB重要的組成部件。在Simulink環(huán)境中,只需要通過簡單直觀的鼠標(biāo)操作,給各模塊連線,就可以建立系統(tǒng)模型,設(shè)置系統(tǒng)參數(shù)和輸出方式來觀察仿真結(jié)果。
在數(shù)字電路的設(shè)計、分析時,經(jīng)常會用到Simulink提供的Logic and Bit Operations(邏輯和位操作)模塊庫、Simulink Extras模塊庫里的Flip Flops(觸發(fā)器)模塊庫,以及Sources信號源模塊庫和Sink(接收)模塊庫等。Logic and Bit Operations(邏輯和位操作)模塊庫里有面向數(shù)字邏輯電路的常用邏輯和位操作模塊,比如基本的AND與(OR或、NOT非)運算、Combinatorial Logic組合邏輯運算、Compare To Constant常數(shù)比較器、Compare To Zero與零比較器、Bit Clear位清零、Bit Set位置位等;Flip Flops(觸發(fā)器)模塊庫里有SR觸發(fā)器、D觸發(fā)器、JK觸發(fā)器3種典型觸發(fā)器;常用的數(shù)字電路輸入信號源,比如Pulse Generator時鐘脈沖信號、Signal Generator信號發(fā)生器等由Sources信號源模塊庫提供;Sink(接收)模塊庫里提供了虛擬的顯示儀器,有Scope示波器、Display輸出顯示器等,對仿真結(jié)果可視化,方便分析測試。本文結(jié)合十進(jìn)制計數(shù)譯碼顯示電路的設(shè)計,在Simulink環(huán)境下,先利用JK觸發(fā)器實現(xiàn)上升沿觸發(fā)的十進(jìn)制計數(shù)器,再利用組合邏輯電路設(shè)計出譯碼模塊,最后設(shè)計LED數(shù)碼管顯示電路,將三者組合成綜合的計數(shù)譯碼顯示系統(tǒng),并進(jìn)行了仿真測試。
2.1計數(shù)器模塊
設(shè)計計數(shù)器電路的目的是在一定時間測出輸入的脈沖數(shù)目。利用Simulink可以很方便地實現(xiàn)任意進(jìn)制的計數(shù)器,同步或異步、加法或減法,但是在Flip Flops(觸發(fā)器)模塊庫里的JK觸發(fā)器是下降沿觸發(fā)。為了實現(xiàn)上升沿觸發(fā),參照Simulink里的JK觸發(fā)器內(nèi)部結(jié)構(gòu),封裝了一個JKFFup的子系統(tǒng),時鐘采用上升沿觸發(fā),并設(shè)置了初始變量initital_condition=0,如圖1、2所示。

圖1 封裝的JKFFup模塊

圖2 JKFFup模塊的參數(shù)設(shè)置
十進(jìn)制計數(shù)器一共是10個狀態(tài),需要用4個JK觸發(fā)器。然后根據(jù)JK觸發(fā)器的特征方程和10個狀態(tài)轉(zhuǎn)換(從0000到1001),用卡諾圖化簡得出激勵方程:


圖3 十進(jìn)制計數(shù)器電路圖

最后根據(jù)激勵方程畫出由JK觸發(fā)器組成的十進(jìn)制計數(shù)器的電路圖。如圖3所示。
也將此十進(jìn)制計數(shù)器電路做為一個子系統(tǒng),封裝成Counter10模塊。從Flip Flops(觸發(fā)器)模塊庫里調(diào)用Clock 時鐘提供一個數(shù)字時鐘信號,周期設(shè)為1,與Counter10模塊的CLK連接;從Sink(接收)模塊庫里調(diào)用Scope示波器,設(shè)置4個輸入通道。將這4通道與Counter10模塊的輸出Q3、Q2、Q1、Q0連接。仿真運行時間設(shè)置為11s。觀察示波器的輸出圖,如圖4所示。

圖4 十進(jìn)制計數(shù)器電路輸出波形
由圖4計數(shù)器電路輸出的波形可以看出隨著Clock時鐘脈沖的到來,計數(shù)器Counter10模塊的輸出Q3Q2Q1Q0狀態(tài)從0000、0001、...、1001周而復(fù)始地變化,正好實現(xiàn)模為10的計數(shù)器。

圖5 數(shù)字顯示譯碼器電路
2.2數(shù)字顯示譯碼器(見圖5)模塊
在Simulink軟件里,沒有專門的數(shù)字顯示譯碼器電路。先根據(jù)譯碼器驅(qū)動7段數(shù)碼管顯示數(shù)字的原理,寫出真值表(可以參照BCD七段字符顯示譯碼器7448的真值表)。根據(jù)真值表,用卡諾圖化簡(同時考慮相同因子),得出驅(qū)動7段數(shù)碼管的信號的表達(dá)式為:




其中,譯碼器輸入信號A3~A0分別與Counter10計數(shù)模塊的輸出Q3~Q0連接。譯碼器輸出信號Ya~Yg分別控制7段數(shù)碼管的a段~g段的發(fā)光二極管。
2.3數(shù)碼管顯示電路
為了形象地表達(dá)數(shù)碼二極管的工作原理,這里用7個綠色LED來組裝成一個七段數(shù)碼管,高電平點亮方式。綠色LED用Simulink軟件Gauges Blockset(儀表對象箱)模塊庫里的子模庫LEDs里的Green Rec來表示。但由于Green Rec元件是受double型數(shù)據(jù)控制,但譯碼電路模塊輸出是boolean型數(shù)據(jù),所以從Signal Attributes(信號屬性)模塊庫里調(diào)用Data Type Conversion實現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換。
將計數(shù)模塊、譯碼模塊、數(shù)碼顯示電路組合成一個系統(tǒng),并給系統(tǒng)加上時鐘脈沖信號源,如圖6所示。

設(shè)置不同的仿真時間,進(jìn)行系統(tǒng)仿真,觀察仿真結(jié)果。得到的結(jié)果如圖7所示。

圖7 仿真結(jié)果
可以看出在對應(yīng)的脈沖個數(shù)到來時,數(shù)碼管顯示模塊顯示出對應(yīng)的數(shù)碼。經(jīng)此驗證,所設(shè)計的十進(jìn)制計數(shù)譯碼顯示電路的邏輯功能是正確的。
本文運用Simulink軟件,設(shè)計了十進(jìn)制計數(shù)模塊、BCD數(shù)碼顯示譯碼模塊和數(shù)碼管顯示模塊,并將三者組合連接,建立起十進(jìn)制計數(shù)譯碼顯示系統(tǒng)的仿真模型。從Scope示波器觀察到的仿真波形和自創(chuàng)的數(shù)碼管顯示模塊的輸出數(shù)碼來看,仿真模型達(dá)到了設(shè)計要求。
利用Simulink來設(shè)計與仿真十進(jìn)制計數(shù)譯碼顯示電路的方法,能夠高效、快速地構(gòu)建出仿真系統(tǒng)模型,直觀形象地展示結(jié)果。這種方法,不僅可以提高在教學(xué)效率和上課效果,而且可以提高學(xué)生的學(xué)習(xí)興趣,加深對整個系統(tǒng)工作原理的理解。運用Simulink進(jìn)行對電路虛擬仿真,可以方便、有效地進(jìn)行數(shù)字電子電路的設(shè)計和分析,為各種數(shù)字電子電路設(shè)計和分析提供一種有效的方法。
[1]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.
[2]彭晗,林永和,楊奕琦.MATLAB/Simulink仿真技術(shù)在模擬與數(shù)字電路教學(xué)中的應(yīng)用[J].計算機(jī)時代,2010(10):69-71.
[3]高春芳.Simulink在數(shù)字電路仿真中的應(yīng)用[J].安慶師范學(xué)院學(xué)報(自然科學(xué)版),2005,8:78-81.
The simulation of the count-decode-display circuit based on SIMULINK
Gan Qing Yu
(Guangxi Technological College of Machinery and Electricity ,Nanning,530007)
Simulation modules related to digital circuit are offered in Simulink.In this paper,at first,counter is designed by using triggers according to its logic function,and packaged into a module.Then,the decoder module is built by using combinational logic circuit,and the LED displaying circuit also. Finally all three circuits are combined into a count-decode-display system.The simulation results verify the correctness and reliability of the design,and also show that the design or analysis of digital circuits can be carried out conveniently and effectively by using software of Simulink to simulate the circuit.
S imulink;counter module;decoder module;display circuit;simulation
甘慶玉(1978—),女,廣西南寧人,廣西大學(xué)碩士,廣西機(jī)電職業(yè)技術(shù)學(xué)院講師,研究方向:電子信息與通信。