◆周文輝 鄧春健
作者:周文輝,電子科技大學中山學院副教授,主要研究方向為自動化技術與應用;鄧春健,電子科技大學中山學院(528402)。
由于數字邏輯電路和單片機在實際工程應用中的重要性,目前,全國大多數理工類院校自動化專業把以上兩門課程列為重點課程,并配以28學時以上的教學實驗,以提高學生的動手與設計能力。受到傳統實驗設備的限制,兩門課程的實驗只能單獨開展,但在實際的電子設備設計過程中,單片機控制和數字邏輯電路設計具有不可分割的特點,造成學生對課程知識點的掌握無法融會貫通[1]。
基于單片機/FPGA雙核心實驗教學平臺的研制和應用是解決上述問題的有效途徑。實驗教學平臺以硬件實驗軟件化的設計思想,通過對可編程邏輯器件FPGA的編程,實現數字邏輯電路的設計與驗證以及單片機的開發與控制。實驗教學平臺既能夠支持數字電路實驗,也能支持單片機實驗教學,并通過實驗教學平臺實現兩課程教學與實踐的無縫銜接,將大幅提高教師課程教學的效率和學生的實踐創新能力。
總體結構 實驗教學平臺總體結構如圖1所示。采用底板和核心板組成的模塊化結構,底板通用,核心板為FPGA和單片機雙核心模式,主要包括三個部分。
1)FPGA/單片機實驗核心板。選擇ALTERA Cyclone II或更高級,I/O口兼容3.3 V/5.0 V TTL電平的FPGA芯片作為主控板,在EDA軟件設計好的硬件電路可以通過下載電纜(AS和JTAG下載接口)下載到核心板,實現對外圍功能底板各外設的控制;單片機選擇具有16 KB系統內可編程Flash的8位AVR微控制器ATmega16,也可根據教材內容選型。
2)外圍功能底板。設計多個外圍設備作為核心板的控制對象,包括10 M或100 M以太網接口、VGA接口、串口、PS/2鍵鼠接口、紅外接口、I2C接口、SD卡媒體接口、液晶屏接口、A/D和D/A、七段碼顯示器、LED點陣顯示器、矩陣鍵盤、撥碼開關、555電路、RAM、蜂鳴器和步進電機驅動等。
3)BBII下載電纜。實現計算機上設計的硬件電路下載到核心板的數據傳輸功能。
系統功能 實驗平臺的創新主要體現在它的綜合教學功能,既可作為數字電路的實驗教學平臺,又可用作單片機的教學開發板??砷_設的數字邏輯電路實驗包括門電路、撥碼開關、編碼器、譯解碼器、多路復用器、比較器、加法器、移位寄存器、計數器、數字鐘、A/D和D/A轉換等。學生通過QuartusII進行形象的數字電路設計并定義FPGA的引腳后,將程序下載到FPGA,即可直觀地觀察實驗結果,有利于提高學生的學習興趣。
進入單片機學習階段,通過實驗平臺進行以單片機為核心、電子電路為外圍設備的應用實例實驗,將單片機的知識點和數字電路知識點貫通起來,有利于提高學生對課程知識的綜合運用能力。平臺可進行單片機的最小系統實驗,包括發光二極管試驗、流水燈、七段數碼管靜態與動態顯示、單片機定時器運用、單片機中斷、矩陣鍵盤檢測、溫度顯示、紅外收發、步進電機驅動等。此外,學生還可根據個人特點,發揮主動性和創造性,依托實驗平臺設計以單片機為核心,結合數字邏輯電路和外圍設備的綜合性控制實驗,進一步鍛煉創新能力。


數字邏輯電路綜合實驗 采用74LS90構成模10計數器,通過顯示譯碼器74LS47和七段數碼管組成的一位數碼顯示電路,顯示0~9的十進制計數過程。該實驗綜合運用了組合邏輯電路和時序邏輯電路的基礎知識,具有較強的代表性。但在以往的實驗教學中,該實驗完成的情況一直不太理想。究其原因,主要是實驗涉及的電路模塊和芯片較多,在傳統的數字電路實驗箱上完成,學生需要在實驗面板上大量連線。這些導線縱橫交錯,容易出現錯接、漏接,接觸不良等問題,學生課堂實驗時間往往耗費在查線、查漏等非專業知識問題上,實驗效果受到極大影響。
本實驗平臺綜合了仿真實驗和硬件實驗的優勢,實驗箱提供了CP計數脈沖產生電路、七段共陰數碼管顯示電路等硬件模塊,在所設計電路的輸入和輸出兩個關鍵位置給予學生直觀的操作和結果顯示。而計數器、譯碼器等容易損耗的器件芯片以及連線較為復雜的電路部分,則通過計算機仿真軟件來實現電路的設計和連接,充分體現了實驗平臺在數字電路實驗教學中的優越性。具體實驗步驟如下。
在QuartusII中建立一個工程,把異步計數器74LS90的QA輸出端連接到CLKB輸入端,然后把計數脈沖CP加到CLKA輸入端,同時SET9A、SET9B、CLRA和CLRB引腳接地,即可實現十進制計數功能;顯示譯碼器74LS47把8421BCD碼轉換為低電平有效的譯碼信號,驅動七段共陽數碼管,顯示0~9十個數字。把74LS47的A、B、C、D輸入引腳分別與74LS90的QA、QB、QC、QD 輸出引腳相連,同時74LS47的LTN、RBIN、BIN引腳接高電平,OA、OB、OC、OD、OE、OF、OG引腳分別與數碼管的A、B、C、D、E、F、G引腳相連,從而構成一位數碼顯示電路[2]。
電路設計完成后,即可點擊QuartusII菜單中的“Processing|Start ComPilation”進行編譯,并對FPGA中的I/O相應的輸入和輸出管腳進行定義。單擊QuartusII菜單中的“Assignments|Pinplanner”,根據圖2所示各引腳對應關系完成電路輸入和輸出的定義。對定義好引腳的電路重復一次編譯工作,再通過ByteBlasterII下載電纜的Jtag口下載編譯好的sof文件到FPGA電路板中,即可開始實驗操作[3]。
單片機溫度檢測與顯示實驗 實驗平臺集成了具有I2C接口的LM75A溫度傳感器,在-55~+125 ℃的溫度范圍內將溫度直接轉換為數字信號,顯示精度可達0.125 ℃。單片機通過I2C總線直接讀取其內部寄存器的數據,并通過I2C接口對4個數據寄存器進行操作,以設置為不同的工作模式[4]。平臺設置了LM75A的SDA和SCL引腳與單片機的P1.3和P1.4引腳硬件相連,七段數碼管的片選引腳與4-16線譯碼器74HC154的輸出端硬件相連,當74HC154的選通端(OE1、OE2)均為低電平時,可將地址輸入端(ABCD)的二進制編碼在譯碼器對應的輸出端以低電平有效的形式譯出,則電路可通過地址端(ABCD)實現對七段數碼管的片選控制。
由于在實驗平臺中,數碼管顯示模塊的A~G引腳與FPGA的相應引腳是硬件相連的,因此,本實驗最小系統只要按圖3所示對FPGA的相應引腳進行分配,即可進行單片機程序的燒寫和實驗。

實驗教學平臺的成功研制和應用,克服了傳統數字電路實驗箱和單片機實驗箱只能單獨開出本門課程實驗,兩門課程教學無法實現有效關聯的缺點,為電類各專業學生提供了一個創新實驗平臺。目前,實驗平臺已在計算機學院嵌入式專業開展示范應用,并逐步推廣到自動化、電子信息工程等多個專業。通過平臺實訓,學生的學習和動手能力大幅提高,為后續專業課程的學習打下良好的基礎。
近年來,在校學生積極參加科技競賽活動,獲得國家級獎勵50余項,省級獎勵40余項。其中,示范應用的嵌入式專業學生獲得國家獎勵15項,省級獎勵26項。此外,通過實驗平臺進行教學的專任教師,教學效果備受同行和學生的好評。其中,2名教師獲得省級優秀教師稱號,5名教師獲得市級優秀教師稱號。實驗平臺無論是在提升學生綜合設計和創新能力,還是在教師教學手段的改變和教學能力的提升方面,均取得令人滿意的效果。
[1]熊正鵬.基于PLC與單片機雙平臺控制的開放式機電教學實驗設備的研制[J].實驗室研究與探索,2004,23(12):40-41.
[2]鄧元慶,關宇,賈鵬.數字設計基礎與應用[M].北京:清華大學出版社,2005.
[3]江國強.數字電路的Verilog HDL設計[M].北京:機械工業出版社,2007.
[4]蘇變玲.基于Proteus的單片機仿真教學的研究[J].實驗室研究與探索,2009,28(4):75-78.