張成
摘要:針對傳統數字電子技術中課堂教學內容較為枯燥,學生們感性認識較差等問題,通過Matlab/Simulink仿真工具提供的基本數字模塊和自定義的數字模塊,實現對基本時序邏輯單元——同步RS觸發器的仿真,從而很方便地驗證同步RS觸發器電路設計的正確性,令學生更直觀地實現數字時序電路的分析、調試與仿真,為提高學生的實際操作能力打下基礎。
關鍵詞:數字電路,Matlab/Simulink仿真,同步RS觸發器
中圖分類號:TN702 文獻標識碼:B
1. 引言
數字電路與邏輯設計課程[1]是工科電子信息類與電氣工程類專業的專業基礎課,對學習后續相關專業課起著不可替代的作用。該門課程的教學一般包含理論教學、實驗教學和課程設計等教學環節。通常情況下,完成一定內容的理論教學后,再安排相關實驗課程,在實驗板上搭建具體的硬件電路或專用的數字電路實驗儀器進行測試、修改和完善。但是,這些方法往往面臨連線多、易于出現錯誤或需要反復調試,難以排查錯誤等問題,這種教學方式會導致學生對所學內容的感性認知較差,從而較低對課堂理論教學的積極性。因此,引入虛擬仿真軟件勢在必行。
Matlab[2]集算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境,主要包括Matlab和Simulink[3]兩大部分,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等諸多領域。
針對目前課堂教學的問題,采用Matlab/ Simulink仿真工具進行數字電路的調試、仿真與驗證,可以有效避免傳統方法的容易出現的各種缺點,同時還能在省時、省力的條件下使課堂的講解更加生動,更易被學生理解。因此,本文通過同步RS觸發器為例介紹Matlab軟件實現數字電路仿真的方法。
2. 電路設計與仿真
數字電路按照功能劃分,可以分為組合邏輯電路和時序邏輯電路。二者之間最重要的區別是時序電路中通常還需要對數據進行存儲,這一功能通常是由觸發器來實現的。觸發器是時序邏輯電路的基本邏輯部件,它有兩個穩定的邏輯狀態,即狀態0和狀態1。根據輸入端信號的不同,觸發器可具有置0、置1、狀態保持等功能。當輸入信號消失后,觸發器的狀態能夠保持不變。因此,觸發器具有實現1位二值信號的記憶的功能。
觸發器可以按照邏輯功能的不同,分為同步RS觸發器、JK觸發器、D觸發器和T觸發器等。其中同步RS觸發器是學習其它觸發器的基礎,因此,下面將介紹如何用Matlab/Simulink仿真工具實現同步RS觸發器的相關功能。
2.1 基本原理
由與非門組成的同步RS觸發器的電路圖如圖1所示,其真值表如表1所示。
其中, 是約束條件,表示 和 不能同時為0。
2.2 仿真實現
由于同步RS觸發器的功能和組合邏輯電路的學習相比差異較大,不易于學生的理解,因此,在課堂學習的過程中通過Simulink軟件模擬同步RS觸發器,從而強化學生對同步RS觸發器功能的理解。同步RS觸發器的仿真步驟如下:
首先,添加模塊。在Matlab軟件中運行Simulink模塊,再打開模塊瀏覽器,再采用Simulink模塊庫中的標準模塊來構建同步RS觸發器模型。鑒于激活模塊需要放到Subsystem中的設計區域中,因此先將Connections模塊庫中的Subsystem功能模塊復制到設計區域內,再進入Subsystem的設計區域進行設計。
具體而言,通過4個與非邏輯(NAND模塊)組成。同時,還需要在反饋的位置加上兩個加法器產生初始值。從而避免產生代數環的錯誤。另外,還在同步RS觸發器的前端添加一個功能激活(enable)模塊,使其成為具有時能端的同步RS觸發器。
選用Simulink中的logical operator模塊和pulse generator模塊,并設置各個模塊的參數,再將不同的模塊通過信號線連接起來,建立同步RS觸發器的Simulink仿真模型,其內部結構如圖2所示。
輸入端R和S接Constant模塊,enable接pulse generator,輸出數據被導入到Matlab的workspace空間,然后方便調用Matlab的函數顯示相應的結果,時序仿真結果如圖3所示。
在圖3中,其中‘R input和‘S input分別表示R和S端的信號輸入。‘enable表示時鐘脈沖,‘Q output和‘Q-inverse output分別表示輸出信號 和 。
3. 結束語
綜上所述,隨著電子技術的高速發展,數字電路的形式日趨復雜化,僅依靠傳統的課堂教學模式已經逐漸不能滿足新技術人才的發展要求。故應利用多種新技術和傳統的課堂教學方式相結合,本文采用Matlab/Simulink軟件進行仿真:一方面可以彌補課堂教學的不足,加深學生對課堂所講的概念與工作原理等理論知識的理解;另一方面,也可以克服通過電路元件搭建實驗電路帶來的不便,如實驗室元器件品種、規模、數量的不足,儀器的陳舊老化,實驗板電路的單調等問題,電路出現故障后難以調試等問題,不利于學生的創新設計。因此,利用Matlab/Simulink軟件進行仿真在日常數字電路與邏輯設計課堂教學中發揮著越來越重要的作用。
參考文獻
[1] 王毓銀,沈明山. 數字電路邏輯設計[M]. 高等教育出版社, 2006.
[2] 張德豐,丁偉雄,雷曉平. MATLAB 程序設計與綜合應用[M]. 清華大學出版社, 2012.
[3] 鐘麟,王峰. MATLAB 仿真技術與應用教程[M]. 國防工業出版社, 2004.
[4] 朱莉. Matlab 環境下的數字電路建模和仿真[J]. 電腦知識與技術, 2011, 7(30):7496-7497.