劉云朋,李鴻征
(1.焦作大學 信息工程學院,河南 焦作 454003;2.焦作大學 機電工程學院,河南 焦作 454003)
基于虛擬儀器技術的USB數(shù)字電路實驗系統(tǒng)設計
劉云朋1,李鴻征2
(1.焦作大學 信息工程學院,河南 焦作 454003;2.焦作大學 機電工程學院,河南 焦作 454003)
利用虛擬儀器技術和USB接口技術對傳統(tǒng)數(shù)字電路實驗系統(tǒng)進行了研究和重新設計。該實驗系統(tǒng)以傳統(tǒng)的實驗芯片為基礎,加上計算機和ARM微控制器,是一個以計算機為核心的實驗系統(tǒng)。利用該系統(tǒng),學生在計算機上就可以學習和掌握儀器的原理、功能和操作,完成實際的實驗測試過程,達到與使用實際儀器教學相同的目的,可以很好地完成數(shù)字電路實驗教學任務,并且對于降低實驗室建設成本具有重要意義。
虛擬儀器;數(shù)字電路實驗;實驗芯片;USB接口;VB.NET
數(shù)字電路課程作為計算機、通信、電子技術等學科必修的專業(yè)基礎課,不僅有自身的理論體系,而且是一門實踐性很強的課程[1]。隨著社會對大學生實踐能力和創(chuàng)新思維的要求越來越高,培養(yǎng)大學生的創(chuàng)新思維和實踐能力是許多工程類專業(yè)的當務之急。然而,一些高校的電子實驗教學儀器設備存在傳統(tǒng)的測量儀器設備功能單一、固定甚至落后的問題,全部采用虛擬儀器技術的實驗系統(tǒng)又存在學生不能實際接觸物理器件的問題。這樣的實驗條件對學生掌握課程內(nèi)容是一個很大的障礙。學生難以根據(jù)實際需要改變或擴展其功能,缺少真實感,不利于學生實際能力的培養(yǎng),也不利于調(diào)動學生的主動性和創(chuàng)造性。
基于以上原因,筆者在傳統(tǒng)實驗設備的基礎上,結合虛擬儀器技術和USB接口技術,自行開發(fā)了能夠滿足現(xiàn)代實驗教學要求、物美價廉的實驗教學儀器——基于虛擬儀器技術的USB數(shù)字電路實驗系統(tǒng)[2]。
系統(tǒng)由計算機(實現(xiàn)顯示、命令發(fā)出、收集信息)、信號采集和處理部件(ARM微控制器完成)、實驗對象(傳統(tǒng)實驗芯片)、供電電源(USB口提供)等部分組成。整個系統(tǒng)以傳統(tǒng)的實驗芯片為基礎,加上計算機和ARM微控制器,組成了一個以計算機為核心的實驗系統(tǒng)[3]。系統(tǒng)的框架結構如圖1所示。
圖1 系統(tǒng)的框架結構
系統(tǒng)總體功能包括控制端功能(計算機)、信號采集處理功能、實驗對象(傳統(tǒng)實驗芯片)功能3部分。
計算機實現(xiàn)的控制端功能有:(1)向微控制器發(fā)出產(chǎn)生邏輯信號命令;(2)接收微控制器檢測到邏輯信號并顯示;(3)接收微控制器檢測的節(jié)點模擬信號,實現(xiàn)虛擬示波器;(4)接收微控制器檢測的節(jié)點電壓信號,實現(xiàn)虛擬電壓表;(5)向微控制器發(fā)出產(chǎn)生方波信號命令;(6)向微控制器發(fā)出產(chǎn)生脈沖信號命令;(7)計算機多媒體講解實驗內(nèi)容;(8)計算機存儲實驗過程及結果。
信號采集處理功能由ARM微控制器完成,具體有:(1)根據(jù)計算機命令產(chǎn)生邏輯信號值;(2)檢測芯片的邏輯信號,送計算機顯示;(3)根據(jù)計算機命令產(chǎn)生方波信號源;(4)根據(jù)計算機命令產(chǎn)生脈沖信號;(5)檢測節(jié)點電壓參數(shù),送計算機顯示;(6)檢測節(jié)點模擬信號波形參數(shù),送計算機顯示。
系統(tǒng)的實驗對象是傳統(tǒng)的數(shù)字電路實驗芯片,如4LS08、74LS86、74LS32等,芯片引腳通過連線與微控制器連接,計算機的USB口提供芯片需要的5 V電源。
系統(tǒng)的數(shù)據(jù)走向如圖2所示。計算機負責發(fā)出實驗數(shù)據(jù)的參數(shù),如邏輯信號、信號源頻率等,同時顯示收集到的實驗數(shù)據(jù),包括邏輯信號、波形信號等;ARM微控制器實現(xiàn)邏輯信號的產(chǎn)生和接收,包括脈沖信號、方波信號;計算機與ARM微控制器結合實現(xiàn)模擬信號的采集,實現(xiàn)虛擬示波器和虛擬電壓表的功能。
圖2 系統(tǒng)數(shù)據(jù)走向
該實驗系統(tǒng)繼承了傳統(tǒng)實驗的可操作性、參與性強的優(yōu)點,又充分利用了計算機多媒體技術的優(yōu)勢,發(fā)揮其直觀形象、動態(tài)模擬效果、操作簡便等特點。
系統(tǒng)包括硬件系統(tǒng)和軟件系統(tǒng)兩部分。硬件系統(tǒng)由雙通道高速模擬采集通道、16路高速數(shù)字量采集通道、16路高速數(shù)字量輸出通道、2路頻率可調(diào)的信號源、2路寬度可調(diào)的脈沖源以及USB2.0接口組成。軟件系統(tǒng)由應用程序、ARM微控制器程序、USB驅動程序組成。
軟件系統(tǒng)使用VB.NET開發(fā)環(huán)境,主要是使用Windows窗體的GDI+類。應用程序的程序員可利用GDI+這樣的圖形設備接口在屏幕或打印機上顯示信息,而不需要考慮特定顯示設備的具體情況[4]。使用Windows窗體的GDI+類可以實現(xiàn)示波器圖形快速顯示。
2.1 計算機端功能模塊設計
計算機端實現(xiàn)的主要功能有兩方面:一是利用計算機顯示檢測到的芯片狀態(tài),包括虛擬示波器顯示、虛擬電壓表顯示、顯示檢測16路邏輯信號;二是計算機向ARM微控制器發(fā)出控制信號,以便產(chǎn)生16路邏輯信號、產(chǎn)生正負脈沖信號。
計算機端的操作主界面如圖3所示。系統(tǒng)界面包括選單(菜單)、功能提示區(qū)、虛擬示波器區(qū)、虛擬電壓表區(qū)、顯示檢測16路邏輯信號區(qū)、產(chǎn)生16路邏輯信號區(qū)、產(chǎn)生正負脈沖信號區(qū)、固定頻率信號源區(qū)、頻率可調(diào)信號源區(qū)。本文主要介紹選單功能模塊和虛擬示波器功能模塊的設計,其他模塊的設計不再敘述。
圖3 計算機端的操作主界面
2.1.1 選單
選單有3個子功能,分別是“選擇實驗”、“其他資料”、“退出系統(tǒng)”。
根據(jù)數(shù)字電路實驗內(nèi)容,可大致分為集成門電路邏輯功能檢測、集成觸發(fā)器檢測、計數(shù)譯碼顯示電路檢測等。本系統(tǒng)根據(jù)實驗教學需要設計了19個典型的實驗項目,由于該系統(tǒng)是一個開放的實驗平臺,還可以進行其他相關的實驗。
圖4是某個實驗指導的界面。每個實驗指導都包括實驗目的、實驗原理、設備與芯片、預習思考題、實驗步驟、實驗思考題、實驗報告、EWB仿真、芯片資料等9項內(nèi)容。其中,“實驗原理”部分詳細介紹該實驗的連接電路和工作原理等;“設備與芯片”主要是介紹實驗中所使用的芯片的功能;“實驗步驟”包括實驗的內(nèi)容以及實驗實施的具體步驟;“EWB仿真”就是一個虛擬電子實驗室,虛擬了一個逼真的實驗環(huán)境,讓學生在此做實驗,元件以及儀器都有真實的效果,實驗結果通過仿真而得到驗證;“芯片資料”是實驗所用芯片的PDF格式的文檔[5]。
子選單的“其他資料”是為學生提供實驗相關的部分實驗資料,各功能的程序設計不再贅述。
當鼠標移到上述功能區(qū)時產(chǎn)生對應功能的簡單解釋,并使當前的功能提示變成紅色。功能提示包括圖片和文字說明。
圖4 實驗指導界面
2.1.2 虛擬示波器區(qū)
ARM微控制器包含有2路A/D轉換器。A/D轉換器可以將示波器探棒端的模擬信號轉換為微控制器和計算機能夠進行處理的二進制信號。計算機接收到該二進制信號后,就會在計算機屏幕上顯示出探棒端的波形圖。使用時將引線與被測節(jié)點連接,點擊對應的功能按鈕,計算機屏幕自動顯示波形,其最大量程是10 V[6]。
具體工作流程如下。
(1) “按設定頻率采集”的編程?!鞍丛O定頻率采集”是根據(jù)設定的頻率進行采集,頻率范圍是25 Hz~130 kHz,使用A探棒。點擊“采集頻率”的設置框,輸入設定的采集頻率;點擊“按設定頻率采集”按鈕,VB.NET啟動定時器Timer1,Timer1定時發(fā)出采集命令(命令格式:11,xx,xx,xx,xx),ARM微控制器回應該命令,將A/D轉換器采集到的示波器信號回送計算機,每次512個數(shù)據(jù),計算機將接收到的A/D轉換值顯示到計算機屏幕上。
(2) “單蹤實時采集”、“雙蹤實時采集”的編程?!皢污檶崟r采集”是單蹤采集,使用A探棒;“雙蹤實時采集”是雙蹤采集,使用A、B兩根探棒。點擊“采集頻率”的設置框,輸入設定的采集頻率;點擊“按設定頻率采集”按鈕,將A/D轉換器采集到的示波器信號回送計算機,每次2個數(shù)據(jù)。單蹤使用1個數(shù)據(jù),雙蹤使用2個數(shù)據(jù),計算機將接收到的A/D轉換值顯示到計算機屏幕上。
(3) 使用GDI+繪制波形圖。要使用GDI+技術繪制波形圖,首先要創(chuàng)建Graphics對象,然后才能使用Graphics對象的DrawLine方法繪制線條[7]。本系統(tǒng)從Image對象創(chuàng)建Graphics對象,具體過程不再敘述。
(4) 本系統(tǒng)能夠將實驗結果和實驗數(shù)據(jù)保存到Word文檔中。實驗完成后點擊“記錄”按鈕后可將對應的實驗數(shù)據(jù)存儲,既可以存儲虛擬示波器圖像,也可以存儲文本信息(存儲收集到的信息)。
2.2 ARM微控制器端功能設計
ARM微控制器與傳統(tǒng)實驗芯片的接線操作界面中包括6部分:
(1) 16路邏輯信號輸出;
(2) 16路邏輯信號輸入;
(3) 方波信號源的輸出端2個;
(4) 脈沖信號源的輸出端2個;
(5) 虛擬電壓表的模擬信號輸入端1個;
(6) 虛擬示波器的模擬信號輸入端2個。
ARM微控制器選用Philips公司生產(chǎn)的LPC2148,是基于支持實時仿真和嵌入式跟蹤的32/16位ARM7TDMI-S CPU微控制器,并內(nèi)嵌512 KB的高速Flash存儲器[8]。128位寬度的存儲器接口和獨特的加速結構使32位代碼能夠在最大時鐘頻率下運行[9]。系統(tǒng)硬件設計框圖如圖5所示。
圖5 系統(tǒng)硬件框圖
系統(tǒng)中,計算機作為上位機發(fā)出控制命令,ARM微控制器接收命令,并根據(jù)命令執(zhí)行相應操作。圖6是ARM微控制器的接線圖。
圖6中,計算機的USB接口有4根線,分別是電源+、電源地、數(shù)據(jù)線D+、D-。電源+提供5 V、500 mA的電源,LPC2148的電源是3.3 V,因此需要通過穩(wěn)壓芯片LM1117-3.3進行電壓轉換。計算機端USB接口的D+、D-、電源地分別與LPC2148對應的引腳連接。
AD0.7、AD1.0分別是LPC2148的2個A/D轉換器,接虛擬示波器的信號輸入端和虛擬電壓表的信號輸入端。P1.16—P1.31是LPC2148的P1端口,共16個I/O口,每個I/O口具有內(nèi)部上拉電阻,可承受5 V電壓。這些引腳是16路邏輯信號檢測端。
ATmega32微控制器的功能是擴展接口、產(chǎn)生脈沖信號,其電源由計算機的USB口提供。
LPC2148與ATmega32之間通過串口進行通信。如果是ATmega32的操作命令,LPC2148會將計算機命令轉發(fā)到ATmega32。TX、TXD是發(fā)送端,RX、RXD是接收端。
LPC2148軟件設計分為初始化系統(tǒng)和數(shù)據(jù)處理兩部分,代碼使用ADS1.2編譯環(huán)境。
圖6 系統(tǒng)硬件設計
2.3 USB接口通信的實現(xiàn)
該系統(tǒng)采用LPC2148系列微控制器實現(xiàn)USB接口固件編程。該控制器內(nèi)部帶有一個USB設備控制器,支持32個固定配置的物理端點,并完全兼容USB2.0全速規(guī)范。LPC2148 USB設備控制器內(nèi)嵌于CPU芯片內(nèi)部,這種集成的方式不僅使USB設備控制器與CPU之間的數(shù)據(jù)交換可以穩(wěn)定地達到很高的速度,而且提高了芯片的性價比[10]。
LPC2148 USB設備控制器支持32個物理端點(16個邏輯端點),這些端點的類型以及方向是預先設定且固定的,但每個端點占用的EPRAM大小可由用戶自己設定[11],本系統(tǒng)的端點配置如表1所示。
表1 本系統(tǒng)的端點配置
由于USB協(xié)議不易掌握,編程比較復雜,為了方便用戶使用LPC2148的USB,本系統(tǒng)在PC機利用LPC2148 USB各端點進行數(shù)據(jù)的接收/發(fā)送時,選用了EasyUSBD2148.dll動態(tài)庫。該動態(tài)庫提供了在PC機上訪問這些端點的API函數(shù),通過該動態(tài)庫的API函數(shù),不必了解復雜的USB協(xié)議就可以快速完成USB的應用軟件開發(fā),實現(xiàn)從計算機接收數(shù)據(jù)或發(fā)送數(shù)據(jù)。
基于虛擬儀器技術的USB數(shù)字電路實驗系統(tǒng)采用高性能微控制器及VB語言,可以在線調(diào)試,并提供了用戶與環(huán)境動態(tài)交互的內(nèi)容和方式,使用戶可對實驗過程進行實時操控,具有操作性強、開發(fā)簡單、造價低廉、擴充性和參與性好等優(yōu)點[12],在實際的教學中具有很好的實用性和推廣面。目前,該系統(tǒng)已通過河南省科技成果鑒定,且已申請國家發(fā)明專利。
References)
[1] 徐華結,陳林.基于虛擬儀器和仿真技術的實驗室建設探討[J].池州學院學報,2009(3):115-118.
[2] 張兢,李成勇,李雪梅,等.基于虛擬儀器技術的數(shù)字電路實驗系統(tǒng)的設計與實現(xiàn)[J].重慶理工大學學報:自然科學版,2011(6):33-36.
[3] 彭裕軍.基于ARM的程控交換實驗系統(tǒng)的設計與實現(xiàn)[D].長沙:湖南大學,2007.
[4] 陳本峰,蘇琦.Windows GDI+的研究與應用[J].計算機應用研究,2003(3):56-59.
[5] 王超,李可,杜奔新.虛擬儀器技術在實驗室的應用研究[J].實驗技術與管理,2013,30(12):105-107.
[6] 張杰,常初芳,尹立云.數(shù)字電路實驗中波形的顯示方法和分析[J].濰坊學院學報,2004(3):75-76.
[7] 馬玉春,汪文彬,張鯤,等.基于.NET的實時數(shù)據(jù)線繪制[J].電腦編程技巧與維護,2010(8):50-52.
[8] 楊帆.基于嵌入式系統(tǒng)機械設備故障巡檢器的研制[D].西安:西安科技大學,2009.
[9] 陳永強,錢瑋,汪方斌.ARM的電力計量箱防竊電控制器[J].儀表技術,2007(1):46-47.
[10] 蘇維嘉,唐宇,楊靜.基于Android平臺的USB數(shù)據(jù)采集系統(tǒng)[J].計算機系統(tǒng)應用,2012(8):39-42.
[11] 李曉娜.基于32位arm微處理器的弧焊電參數(shù)采集分析系統(tǒng)[D].重慶:重慶大學,2007.
[12] 連劍.基于VRML的虛擬綜合布線系統(tǒng)[J].山東科學,2010(1):61-63.
Design of USB digital circuit experimental system based on virtual instrument technology
Liu Yunpeng1,Li Hongzheng2
(1.College of Information Technology,Jiaozuo University,Jiaozuo 454003,China; 2.College of Mechanical Engineering,Jiaozuo University,Jiaozuo 454003,China)
The traditional digital circuit experimental system is studied and designed by using virtual instrument technology and USB interface technology. Combined with the traditional experimental chip, by using the system, the students can learn and master the principle,function and operation of instruments on the computer, the test process is complete and actual,and the objective can be achieved with the use of actual teaching, and they can well accomplish the digital circuit experiment teaching tasks,and it is of great significance in reducing the cost of laboratory construction.
virtual instrument;digital circuit experiment;experimental chip;USB interface;VB.NET
2014- 05- 16
河南省自然科學基金研究資助項目“基于云計算的校園智能自主學習平臺的研究與設計”(122300410415);河南省信息技術教育研究資助項目“面向移動學習的教學開發(fā)與應用研究”(ITE12143);河南省教育科學“十一五”規(guī)劃課題“高職高專計算機專業(yè)課程教學模式與教學方法創(chuàng)新研究”(2010-JKGHAG-0351)
劉云朋(1983—),男,河南上蔡,碩士,講師,主要研究方向為計算機應用、網(wǎng)絡信息與安全.
E-mail:yunpeng2004@126.com
G434;TP391.9
A
1002-4956(2015)1- 0129- 05