寧改娣 金印彬 劉濤 楊爽
摘要:隨著數字電子技術的飛速發展和廣泛應用,各高校數字電子技術教材也在不斷適應發展的需要,國內一些著名數字電子技術教材不斷更新版本,新教材也不斷出版。但是無論教材怎么更新,一些經典內容仍然被大多數教材保留,其中,串行序列檢測電路設計幾乎全部教材都有介紹,但教材中設計的檢測電路在某些情況下會出現錯誤結果,本文提出了一種合理的設計方案,并用EDA仿真軟件驗證了電路滿足設計要求。
關鍵詞:數字電子技術;時序電路;串行序列;仿真;EDA
中圖分類號:G642.4 文獻標志碼:A 文章編號:1674-9324(2013)06-0131-02
串行序列檢測在通信領域應用廣泛,因此,教材中對這種電路的設計進行介紹是有必要的。但是目前大多數的數字電子技術教材介紹的串行序列檢測電路都存在一定的問題,作者在2003年全國高校電子經驗交流會上就指出了問題并提出了多種修訂方案[1],該文也引起了一些老師對該問題的注意[2]。但當時論文中給出的修訂方案與時序邏輯電路狀態圖描述不一致。同時,作者最近在圖書館查閱了最新出版的數字電子技術教材,其中的串行序列檢測電路設計仍然是采用以往教材中的設計方法,都沒有進行功能驗證,問題依然存在。因此本文有必要進一步討論這一問題。另外,串行序列檢測電路設計作為數字電子技術的一個經典實例,欠缺一定的基礎知識,比如串行通信的概念、異步串行通信幀格式概念、串行通信的檢測和同步問題等。作者在教學中,首先讓學生查找資料熟悉上述基本概念,然后設計串行序列檢測電路,掌握上述基本概念后,個別同學自己就會發現以往教材中設計存在的問題。這種教學方式執行多年,效果很好。
一、傳統串行序列檢測電路仿真
大多數數字電子技術教材都是設計了110或111的串行序列檢測電路,多數教材中得到的111序列檢測電路(要求檢測到連續的3個1時輸出Z=1)如圖1(a)所示,利用MaxplusⅡ仿真的結果如圖1(b)所示。圖1(b)中箭頭表示在CP的上沿檢測串行輸入X,檢測到第一個有效的1時進入01,檢測到第二個有效的1時進入11狀態,此時輸出Z在檢測到連續兩個1時輸出變量Z就1,顯然與設計命題要求不符。其他序列的檢測也有類似情況,即不是在有效的檢測時刻輸出1。
二、改進的串行序列電路設計方法
參考文獻[3]中提出了這一問題的解決方案,分別給出了Mealy型和Moore型狀態圖,這樣可以得到正確的設計電路。但這種方法的狀態圖與傳統時序邏輯電路狀態圖不一致。傳統狀態圖是反映時序邏輯電路狀態轉換規律及相應輸入、輸出取值關系的一種圖形,在狀態轉換圖中以圓圈及圈內的字母或數字表示電路的各個狀態,以箭頭表示狀態轉換的方向,相應輸入/輸出標注在轉換箭頭上,圖2給出了傳統的兩狀態變量的部分狀態圖。本文根據串行序列檢測的特點,即輸出是由檢測狀態S確定的,當檢測到有效序列,無論下一個串行輸入X為0還是為1,都輸出1。則可以將狀態圖表示為如圖3所示的傳統形式,進行可重疊序列檢測,圖4是醫電93班吳鵬同學按照改進方法設計的111序列檢測電路及仿真結果,由圖4(b)可見,只要檢測到有效數據串就輸出1,結論完全正確。
三、實例安排順序和教學方式的改變
這一實例所有教材都是安排在基于觸發器的時序電路設計部分,因此限制了學生的思路。最近幾個學期在時序邏輯電路分析、設計、寄存器等所有知識介紹完之后,讓學生開始查串行通信資料、做序列檢測電路設計、仿真驗證電路功能,并做PPT在課堂上介紹。多數學生對串行通信概念、幀格式、波特率、幀同步等問題都介紹的比較清楚,個別同學對序列檢測電路還設計了幾種方案,其中包括了參考文獻[1]中提到的用移位寄存器、輸出與檢測時刻同步等方法,拓展了學生的思路,部分學生對設計的電路進行了仿真和分析。這種方式激發了學生學習數字電子技術的熱情,對數字電子技術設計產生了濃厚的興趣。因此,建議各教材在補充相關基礎知識的同時,將這一實例放在時序邏輯電路一章的最后,由學生根據自己所學知識進行設計。
通過以上分析可見,即使再多教材使用了再久的實例,也需要進行實踐檢驗;建議教材中基于觸發器的時序電路設計步驟中,應該增加“電路功能驗證”一步,如果有這一步,就可以避免之前教材所設計電路存在的問題。
參考文獻:
[1]寧改娣,楊栓科.串行序列檢測同步時序電路設計探討[C].全國高校電子經驗交流會論文集,2003.
[2]陳文楷等.討論式教學方法如何引入課堂[C].全國高等學校電子技術教學研究會年會,2005.
[3]張克農,寧改娣.數字電子技術基礎(第2版)[M].北京:高等教育出版社,2010.
基金項目:西安交通大學教學教改項目
作者簡介:寧改娣(1964.2-),女,漢族,博士,研究生導師,陜西人,西安交通大學。長期從事電子技術、微處理器技術、電力電子技術應用教學與研究工作。