唐 續,趙芳斌,王 嘉
(1.電子科技大學 電子工程學院,四川 成都 611731;2.電子科技大學 英才實驗學院,四川 成都 611731)
單片機技術、EDA技術及SOPC(system on programmable chip)技術是高校電氣、電子和信息類專業中3門非常重要的實踐性課程[1-4]。這3門課程早期的實驗教學系統都是功能獨立的,管理和維護很不方便。近來出現了集成各類實驗功能的一體化實驗教學開發平臺[5-7],它們一般共用外圍功能模塊,通過切換不同的核心電路模塊或替換核心電路板的方式來應對單片機和EDA這2種不同類型的實驗。我校實驗教學示范中心也曾使用該方式的實驗平臺,但在開放式的新實驗教學模式[8-9]中,該平臺暴露一些問題:前一類因并置的電路模塊多,硬件故障率高,檢修麻煩;后一類因分置多種核心板,不便于在各類實驗項目頻繁交互開設時的設備管理。
本文介紹了自行研制的多功能一體化實驗教學平臺。該平臺布局緊湊,便于維護且性價比高。其突出特點是,基于單一FPGA核心板就能充分滿足單片機、EDA和SOPC的實驗教學和課程設計,以及相關技術培訓(電子類設計比賽)的需要。可面向不同專業和不同層次的學生,提供基礎應用、系統設計和實驗能力訓練,培養思考和創新思維能力。
本實驗平臺是一種多功能的51單片機、EDA及SOPC實驗教學和實驗設計平臺。硬件系統由FPGA核心板和功能底板組成。核心板中包括FPGA芯片、相關的配置芯片和下載電路。另外還提供存儲模塊和基本人機界面,包括LED模塊、數碼管模塊、按鍵模塊和撥碼開關模塊。功能底板包括RS232串口模塊、蜂鳴器、人機接口模塊(LCD模塊、點陣模塊、VGA接口和PS2接口)、A/D轉換模塊、D/A轉換模塊、實時時鐘模塊、溫度傳感器模塊、紅外收發模塊和通用I/O擴展接口等部分。實驗平臺組成如圖1所示。

圖1 一體化實驗平臺結構
1.2.1 核心板電路模塊
實驗平臺的核心板上除了提供獨立的電源輸入模塊外,還提供如下硬件電路模塊:
(1)核心模塊:采用 Xilinx Spartan-3E系列FPGA芯片XC3S250E-144,提供25萬系統門的內部邏輯,80個用戶可用I/O和28個單輸入引腳。選用扁平封裝,充分考慮了其焊接和維護的方便。FPGA配置采用標準平臺配置芯片XCF04S,下載和調試采用標準JTAG接口。
(2)存儲模塊:提供32KB的8位SRAM芯片IS61LV256供高速應用;16Mbit SPI接口的Flash存儲M25P16供大容量應用。
(3)時鐘模塊:除了提供50MHz晶振作系統時鐘外,提供兩路接入FPGA全局時鐘域的外部時鐘接口,可保證高速A/D擴展模塊等的時鐘質量要求。
(4)人機界面模塊:提供8位LED燈、8位數碼管、4個獨立按鍵和8位撥碼開關。
(5)通用I/O接口:核心板通過2個60針插座引出所有空余I/O引腳。
可見,核心板是一個具有完整基礎功能的最小系統模塊,可脫離功能底板而獨立用于自定義(如電子設計比賽中)的應用電路。隨著芯片技術的發展,更大規模和高速的核心板也可方便更新本實驗平臺。
1.2.2 功能底板電路模塊
底板的設計是為了提供常規的實驗電路模塊,滿足教學中的實驗項目需求。底板通過標準9V接口的電源適配器供電,并提供如下電路模塊:
(1)顯示電路。包括16×16的LED點陣驅動電路、128×64點陣型LCD(帶漢字字庫)驅動模塊電路和256色的VGA顯示器驅動電路。
(2)模擬信號接口電路。采用串行數字接口的8位數據轉換通道,其中A/D轉換芯片為TLC549,單通道,最大轉換速率40Ksps;D/A 轉換芯片為TLC5620,四通道,最小輸出建立時間10μs。這些接口電路可滿足常規實驗中音頻范圍信號的轉換需求。
(3)人機接口。提供了2個PS2接口,可根據實驗需求,驅動標準PS2接口的鍵盤和鼠標。
(4)通信接口。提供紅外收發對管,可實現紅外通信或遙控;提供MAX232芯片驅動的RS-232串行接口,實現FPGA之間的互連或FPGA與PC機之間的通信。
(5)IIC接口。提供基于IIC接口的數字溫度傳感器LM75和實時時鐘芯片PCF8563。
(6)擴展接口。底板引出了24根擴展I/O信號,供外擴應用系統使用。
眾多實驗功能的協調使用是多功能實驗裝置開發中的棘手問題。為保證本平臺中底板各功能電路的靈活連接,設置了跳線方式的功能選擇接口。各外圍模塊既可用跳線帽短接默認的FPGA引腳來控制,也可通過軟線連接其他控制接口。圖2為本實驗平臺硬件實物圖。

圖2 一體化實驗平臺硬件實物圖
本實驗平臺的特色在于其軟件系統的設計。在FPGA構架下,開設EDA實驗所需的軟件系統相對簡單。這里主要介紹在本平臺上開設基于FPGA的單片機實驗和SOPC實驗的軟件系統設計。
單片機實驗的開設是基于8051單片機IP軟核來實現的。采用了MC8051IP核[10]。該IP核與51系列單片機具有相同的指令和基本功能模塊,并有開源代碼,能靈活定制。為了適用實驗教學,對其進行了封裝和定制。其主要特點如下:
(1)工作主頻為18MHz;指令執行時間為1~4個時鐘周期,執行性能優于標準8051單片機8倍左右。
(2)提供了標準MC 8051芯片的封裝界面,該單片機原理圖符號見圖3。從圖3中可見,本平臺提供的51單片機比傳統51單片機的擴展在于如下方面:

圖3 MC8051封裝界面符號
① 提供了4組8位并行雙向I/O,沒有對P3口及其第二功能進行復用,即在提供通用P3口的同時提供了串口、外部中斷、計數和讀寫等特殊功能;
②提供單一的時鐘輸入引腳供FPGA內部時鐘組件用,內部封裝了足夠的物理存儲空間,不再提供PSEN和EA信號。
(3)通過定制MC8051IP核,提供了應用程序的在線仿真功能。該仿真功能基于μVision集成開發環境 中 提 供 的 Monitor-51 工 具[11],通 過 PC 機 端μVision中的調試器和實驗平臺上MC8051IP核的存儲空間中駐留的Monitor-51監控代碼之間的串口通信實現。其工作原理示意如圖4所示。
由于實驗中學生的應用代碼需要反復修改和調試,該功能有效解決了當前51單片機IP核用于實驗教學時缺乏在線調試能力的瓶頸問題。
對實驗者來說,現在的FPGA就是一塊具有完整功能,并可在線仿真的8051單片機。可根據提供的實驗指導資料,按照常規應用設計方法開展各實驗項目。

圖4 軟核中用戶程序在線仿真原理示意圖
本實驗平臺中的SOPC實驗基于定制的可在線仿真的MC8051IP核,如圖5所示。由圖5中可見,該IP核提供單向的獨立口線,并且具有馮洛伊曼存儲結構,即統一的可讀寫的數據和代碼空間MC8051_ramx,以配合基于Monitor-51的仿真。通過加入其他FPGA的邏輯模塊和IP資源,如FFT、FIR、CORDIC等,可方便靈活地設計和構建SOPC方式的實驗應用系統。

圖5 定制的MC8051模塊結構
SOPC實驗項目的設計流程如圖6所示。該流程體現了典型的軟硬件協同設計思想。

圖6 SOPC實驗項目的設計流程
基于所提供的軟硬件系統資源,本實驗平臺為不同專業方向和學習層次的學生提供了非常豐富的實驗項目供選擇。如圖7所示,基于所提供的功能電路模塊及單片機內部模塊,可實現單片機類的基礎應用實驗及其綜合設計;基于所提供的功能電路模塊及FPGA內部邏輯資源,可實現EDA類的基礎應用實驗及其綜合設計。聯合單片機方式和EDA方式對各功能電路模塊選擇性地使用,可實現SOPC類的綜合設計型和創新性實驗項目。設置的典型實驗項目如表1所示。其中,有的側重于邏輯設計,有的側重于程序設計,有的側重于系統綜合設計,還有的則需數字信號處理理論及方法的掌握和運用。

圖7 一體化實驗平臺的實驗項目

表1 綜合設計型實驗項目舉例
在實驗教學中,本平臺的實驗項目分3個層次開設:
(1)基礎層。分別配合“單片機原理及應用”和“EDA原理及應用”的基礎實驗。對前者,提供單片機內部功能模塊的驗證和基本程序設計的實驗;對后者,提供基礎邏輯模塊的驗證、常用邏輯電路描述和基本EDA流程訓練實驗。
(2)綜合層。結合實驗平臺提供的硬件功能模塊及豐富的實驗例程,使學生分別掌握以單片機方式和EDA方式作電子設計的不同思路與方法,領會它們在驅動相同功能電路時的優缺點并綜合應用。主要為高年級的開放式公共專業基礎課——電子技術綜合實驗提供支持。
(3)設計層。以電子應用小系統的有效構建為實驗目的。首先圍繞實驗硬件平臺,以SOPC的方式實現綜合設計型實驗項目,掌握軟硬件的協同,優化系統設計的方法;其次,通過添加外圍電路,設計和實現自定義的應用項目,主要配合英才實驗學院的創新學分實驗和電子設計競賽的校級培訓。
本文研制一種基于FPGA核心芯片和多種外圍功能模塊的EDA、單片機和SOPC一體化實驗平臺。該實驗平臺的使用簡化了實驗設備維護,方便了學生的實驗內容選擇,適應了我校多專業、不同層次學生的實驗需求,有力地支持了我校“三開放”模式的實驗教學和競賽培訓。希望為同行提供參考,共同推進高校電子技術實踐教學和實驗設計的發展。
(References)
[1]張江印.高校單片機教學模式的研究[J].實驗室研究與探索,2011,30(9):103-106.
[2]劉婭琴,林霖.EDA課程教學探索和實踐[J].電氣電子教學學報,2010,32(4):34-35.
[3]何志敏.SOPC課程教學研究與實踐[J].實驗科學與技術,2011,9(5):245-246,265.
[4]韋思健,張馳,韓文龍,等.最新的SOPC技術與EDA實驗教學[J].實驗技術與管理,2006,23(1):113-115.
[5]孫紅偉.基于FPGA的SOPC實驗系統的研究與開發[D].保定:華北電力大學,2011.
[6]劉延飛,李琪,郭鎖利,等.開發EDA綜合實驗平臺提高學生工程創新能力[J].實驗室研究與探索,2007,26(8):63-64,79.
[7]孫旭,謝興紅,林凡強,等.單片機、DSP、EDA的綜合實驗系統的設計[J].實驗科學與技術,2008,6(6):55-57.
[8]王云平.國外大學實驗室管理及其對國內開放實驗室的啟示[J].實驗技術與管理,2010,27(3):149-151.
[9]皮之軍,李建海,于敏,等.開放式實驗教學模式的研究與探索[J].實驗技術與管理,2010,27(5):27-29.
[10]王瑞,游志宇,杜楊,等.MC8051單片機IP核的FPGA實現與應用[J].電子設計工程,2009,17(1):57-60.
[11]尹勇.μVision2單片機應用程序開發指南[M].北京:科學出版社,2005:300-306.