一種基于 MCS51 的低成本LabVIEW實(shí)驗(yàn)教學(xué)系統(tǒng)
0 引言
本文引用地址:http://m.butianyuan.cn/article/174877.htmNI 公司于20 世紀(jì)70 年代提出了虛擬儀器的概念。虛擬儀器是在以計(jì)算機(jī)為核心的平臺(tái)上,由用戶(hù)設(shè)計(jì),具有虛擬面板,由軟件實(shí)現(xiàn)測(cè)試功能的計(jì)算機(jī)儀器系統(tǒng),是計(jì)算機(jī)與測(cè)試儀器相結(jié)合的產(chǎn)物。虛擬儀器最常用的編程語(yǔ)言為L(zhǎng)abVIEW,是NI公司的基于圖形化編程語(yǔ)言的虛擬儀器開(kāi)發(fā)工具,利用它可以輕松組建一個(gè)測(cè)試系統(tǒng)而無(wú)需進(jìn)行繁瑣的代碼編寫(xiě)。因此虛擬儀器大大突破了傳統(tǒng)儀器在靈活性,以及數(shù)據(jù)處理、顯示、存儲(chǔ)等方面的不足,其主要優(yōu)勢(shì)在于:用戶(hù)能夠根據(jù)需求靈活的進(jìn)行功能修改和擴(kuò)展;人機(jī)界面為視窗界面,形象直觀;網(wǎng)絡(luò)連接簡(jiǎn)單易行,便于組建測(cè)控網(wǎng)絡(luò)。
目前虛擬儀器在通信、汽車(chē)、測(cè)控等行業(yè)得到了廣泛的應(yīng)用。相應(yīng)的各大高校也在NI公司的支持下,陸續(xù)開(kāi)設(shè)了虛擬儀器課程,組建了相關(guān)的實(shí)驗(yàn)室,如西安交大利用虛擬儀器講授信號(hào)處理;天津大學(xué)開(kāi)設(shè)的智能檢測(cè)儀器課程。
目前國(guó)內(nèi)高校教授虛擬儀器課程使用的信號(hào)采集板多為NI 公司的數(shù)據(jù)采集板卡,如USB600X,USB92XX,PCI62XX 系列。這類(lèi)板卡雖然性能優(yōu)良,配套軟件齊備,但是作為高校教學(xué)也存在不足之處。首先NI公司只賣(mài)板卡不賣(mài)技術(shù),這樣在教學(xué)中教師和學(xué)生只能使用板卡,而不能掌握虛擬儀器硬件系統(tǒng)的具體結(jié)構(gòu)和技術(shù)細(xì)節(jié);其次這類(lèi)板卡一般價(jià)格較貴,普遍在2 000元以上,相對(duì)高校而言開(kāi)課成本太高,這一點(diǎn)對(duì)于欠發(fā)達(dá)地區(qū)的一般學(xué)校尤為突出。
本文利用廉價(jià)的MCS51單片機(jī)設(shè)計(jì)了包含常用傳感器、數(shù)據(jù)采集模塊與USB 通信接口的LabVIEW 實(shí)驗(yàn)教學(xué)系統(tǒng),并編制了常用的實(shí)驗(yàn)案例程序,滿(mǎn)足了本科生虛擬儀器實(shí)驗(yàn)教學(xué)的需要,且成本相對(duì)于NI的產(chǎn)品大大降低,針對(duì)高校市場(chǎng)具有良好的推廣前景。
1 系統(tǒng)結(jié)構(gòu)
整個(gè)系統(tǒng)由前端傳感器、單片機(jī)數(shù)據(jù)采集以及USB通信接口幾部分組成,如圖1所示。
1.1 前端傳感系統(tǒng)
虛擬儀器實(shí)驗(yàn)系統(tǒng)的前端傳感器將待測(cè)的物理量轉(zhuǎn)換成電量(電流或電壓),作為后面采集處理系統(tǒng)的輸入信號(hào),是整個(gè)測(cè)試系統(tǒng)與外界的接口與橋梁。本實(shí)驗(yàn)系統(tǒng)集成了溫度、光強(qiáng)與電阻傳感器,并預(yù)留了擴(kuò)展接口以外接其他傳感器。其中溫度傳感器為數(shù)字溫敏器件DS18B20,能夠在-55~125 ℃的范圍內(nèi)提供9~12 b分辨率的溫度數(shù)據(jù),具有0.5 ℃的精度,適合于一般場(chǎng)合的應(yīng)用,其優(yōu)點(diǎn)在于能夠直接提供數(shù)字溫度值,可以與后端MCU直接接口,省去了調(diào)理電路。而電阻測(cè)量采用串聯(lián)分壓法,即將待測(cè)電阻Rx與已知電阻串聯(lián)后外加固定電壓Vref,將Rx上的分壓V作為待測(cè)信號(hào),后端采集與處理系統(tǒng)只需測(cè)得V 就可以根據(jù)比例關(guān)系求出Rx.光強(qiáng)傳感器則使用光敏電阻,具體電路如圖2所示。
1.2 數(shù)據(jù)采集與通信
數(shù)據(jù)采集使用12 位ADC 器件TLC2543,該器件具有11位模擬輸入端,可通過(guò)控制字靈活選擇不同輸入端口,適合于多傳感器輸入應(yīng)用。器件控制字輸入和轉(zhuǎn)換數(shù)據(jù)輸出都為串行模式,可以與51單片機(jī)以盡可能少的連線接口。51 單片機(jī)與上位機(jī)使用USB 接口通信。USB接口基于單一的總線接口來(lái)滿(mǎn)足多種應(yīng)用領(lǐng)域的需求,其具有的即插即用、支持熱插拔、易于擴(kuò)展等特性極大地方便了用戶(hù),已逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)闹髁?。由?1 單片機(jī)自身不擁有USB 接口,所以需要外接USB 控制器。
本系統(tǒng)使用PL2303 來(lái)實(shí)現(xiàn)USB 和RS 232串行端口之間的轉(zhuǎn)換。PL2303擁有2個(gè)獨(dú)立的大型緩沖進(jìn)行兩種總線的連接。大型數(shù)據(jù)緩沖器用于USB的批量數(shù)據(jù)傳輸,而串行通信可使用自動(dòng)握手模式,因而可以達(dá)到遠(yuǎn)大于標(biāo)準(zhǔn)UART 控制器的波特率。PL2303 支持USB電源管理和遠(yuǎn)程喚醒協(xié)議,當(dāng)主機(jī)掛起時(shí)消耗極小的電能;芯片亦可以安裝在電纜線中,用戶(hù)只需將其連入主機(jī)USB 或USB HUB 上,就可以實(shí)現(xiàn)與單片機(jī)RS232串口的通信。單片機(jī)與TLC2543和PL2303的具體接口電路如圖3所示。
2 實(shí)驗(yàn)程序設(shè)計(jì)
傳統(tǒng)的開(kāi)發(fā)USB 應(yīng)用系統(tǒng)的步驟是:先用Win-dows DDK(設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)包)或第三方開(kāi)發(fā)工具(如DriverStudio)開(kāi)發(fā)USB驅(qū)動(dòng)程序,然后用Visual C++編寫(xiě)DLL(動(dòng)態(tài)連接庫(kù)),最后再調(diào)用DLL來(lái)開(kāi)發(fā)應(yīng)用程序。顯然,這對(duì)Windows編程不熟悉的人來(lái)說(shuō)有一定的難度。VISA(Virtual Instrument Software Architecture)是NI公司開(kāi)發(fā)的一種用來(lái)與各種儀器總線進(jìn)行通信的高級(jí)應(yīng)用編程接口。VISA是一個(gè)綜合軟件包,不受平臺(tái)、總線和環(huán)境的限制,可用來(lái)對(duì)USB、GPIP、串口、VXI、PXI和以太網(wǎng)系統(tǒng)進(jìn)行配置、編程和調(diào)試。LabVIEW通過(guò)調(diào)用VISA函數(shù)來(lái)實(shí)現(xiàn)USB設(shè)備的控制和通信。在這里主要使用了VISA Open,VISA Write,VISA Read,VI-SA Close這4個(gè)VISA 函數(shù)。與USB 設(shè)備的通信過(guò)程分為4個(gè)步驟:
(1)由VISA Open 函數(shù)打開(kāi)VISA resource name 端口指定的USB設(shè)備;
(2)通過(guò)VISA Write函數(shù)向USB設(shè)備發(fā)送控制命令啟動(dòng)設(shè)備工作,USB設(shè)備接收到控制命令后開(kāi)始采集數(shù)據(jù)并將采集到的數(shù)據(jù)按要求發(fā)送到數(shù)據(jù)緩沖區(qū);
(3)通過(guò)VISA Read函數(shù)將數(shù)據(jù)讀出;
(4)通過(guò)VISA Close 函數(shù)關(guān)閉設(shè)備。PC 主機(jī)與USB 設(shè)備進(jìn)行通信的LabVIEW 程序框圖如圖4所示,而51單片機(jī)的程序結(jié)構(gòu)如圖5所示。
3 結(jié)語(yǔ)
虛擬儀器實(shí)驗(yàn)教學(xué)系統(tǒng)是虛擬儀器課程教學(xué)中不可或缺的設(shè)備,本文針對(duì)NI等主流數(shù)據(jù)采集板卡存在的價(jià)格昂貴且技術(shù)屏蔽問(wèn)題,利用廉價(jià)的MCS51 單片機(jī)設(shè)計(jì)了包含常用傳感器、數(shù)據(jù)采集模塊與USB通信接口的LabVIEW實(shí)驗(yàn)教學(xué)系統(tǒng)。
評(píng)論