當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于虛擬儀器的鎖相放大器遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)

O 引言
    20世紀(jì)80年代末美國成功研制了虛擬儀器,虛擬儀器的發(fā)展標(biāo)志著自動(dòng)測試與電子測量儀器領(lǐng)域技術(shù)發(fā)展的一個(gè)嶄新方向。虛擬儀器是利用PC機(jī)的顯示模擬傳統(tǒng)儀器的控制面板,以多種形式表達(dá)輸出檢測結(jié)果,由PC機(jī)的強(qiáng)大軟件功能實(shí)現(xiàn)信號(hào)數(shù)據(jù)的運(yùn)算、分析、處理,由I/O接口設(shè)備完成信號(hào)的采集、測量與調(diào)理,從而完成各種測試功能的一種計(jì)算機(jī)儀器系統(tǒng)。
    基于互聯(lián)網(wǎng)的遠(yuǎn)程實(shí)驗(yàn)是遠(yuǎn)程教育的一個(gè)新的發(fā)展方向。遠(yuǎn)程實(shí)驗(yàn)從遠(yuǎn)程計(jì)算機(jī)上進(jìn)行實(shí)驗(yàn)操作和觀察,所得到的實(shí)驗(yàn)結(jié)果與本地得到的完全相同,如同在實(shí)驗(yàn)室真實(shí)操作實(shí)驗(yàn)設(shè)備一樣,突破了時(shí)空限制,極大地提高了實(shí)驗(yàn)教育的靈活性。將虛擬儀器技術(shù)和網(wǎng)絡(luò)技術(shù)相結(jié)合,實(shí)現(xiàn)網(wǎng)絡(luò)化虛擬儀器,并結(jié)合電路其他元件的遠(yuǎn)程控制,可實(shí)現(xiàn)基于虛擬儀器的遠(yuǎn)程實(shí)驗(yàn)。

1 LabVIEW簡介
    LabVIEW(laboratory virtual instrument engineering workbench)是美國NI公司推出的一種基于G語言(graphics language)的虛擬儀器軟件開發(fā)工具,具有各種功能強(qiáng)大的函數(shù)庫,包括數(shù)據(jù)采集、網(wǎng)絡(luò)通信、串口控制、數(shù)據(jù)顯示及數(shù)據(jù)存儲(chǔ)等。采用旋鈕、開關(guān)、波形圖等構(gòu)造用戶界面。
    LabVIEW提供了強(qiáng)大的網(wǎng)絡(luò)通信功能,TCP/IP(transmission control protocol/internet protocol)協(xié)議是Internet最基本的協(xié)議。函數(shù)庫的Communication子模板中提供了TCP節(jié)點(diǎn),可以實(shí)現(xiàn)客戶機(jī)/服務(wù)器模式下的雙機(jī)通信。

2 遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)總體設(shè)計(jì)
    本文開發(fā)了基于虛擬儀器的鎖相放大器遠(yuǎn)程實(shí)驗(yàn)系統(tǒng),實(shí)現(xiàn)了遠(yuǎn)程測量熱敏電阻溫度特性,遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)框圖如圖1所示。


    用戶打開客戶機(jī),運(yùn)行程序,在虛擬面板上可以設(shè)置鎖相放大器的相位調(diào)節(jié)、積分時(shí)間等參數(shù)。同時(shí),通過虛擬面板可以改變加熱按鈕的狀態(tài),用戶在客戶機(jī)的虛擬面板上點(diǎn)擊加熱按鈕,接通加熱電源,控制繼電器閉合,加熱電路開始給熱敏電阻加熱,該狀態(tài)值通過Intern-et和服務(wù)器送往實(shí)驗(yàn)機(jī)。實(shí)驗(yàn)機(jī)將接收到的加熱控制狀態(tài)通過串口送入單片機(jī),通過單片機(jī)調(diào)節(jié)繼電器的狀態(tài),從而控制熱敏電阻的加熱狀態(tài)。熱敏電阻的溫度由DSl8B20數(shù)字式溫度傳感器測得,送往單片機(jī)系統(tǒng),通過串口將被測熱敏電阻溫度值讀入到實(shí)驗(yàn)機(jī)中;音頻輸入電纜采集信號(hào)發(fā)生器輸出的參考方波和橋式電路輸出的電壓值,經(jīng)聲卡模/數(shù)轉(zhuǎn)換器送入實(shí)驗(yàn)機(jī)。實(shí)驗(yàn)機(jī)中的被測信號(hào)通過服務(wù)器和Internet反饋給客戶機(jī)。用戶通過虛擬鎖相放大器和虛擬溫度計(jì)進(jìn)行觀察和測量,得到熱敏電阻溫度特性曲線。

3 遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的軟件設(shè)計(jì)
    遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)采用C/S(client/server)模式,其典型運(yùn)作過程為:
    (1)服務(wù)器監(jiān)聽相應(yīng)端口的輸入;
    (2)客戶機(jī)發(fā)出一個(gè)請求;
    (3)服務(wù)器接收到此請求;
    (4)服務(wù)器處理此請求,并把結(jié)果返回給客戶機(jī);
    (5)重復(fù)上述過程,直至完成一次會(huì)話過程。
    客戶機(jī)與實(shí)驗(yàn)機(jī)的通信利用TCP/IP協(xié)議實(shí)現(xiàn)。TCP協(xié)議是一個(gè)可靠的、基于連接的協(xié)議,能保證網(wǎng)絡(luò)間的可靠傳輸。C/S模式要分別編寫客戶機(jī)和實(shí)驗(yàn)機(jī)程序,采用TCP協(xié)議可正確傳送控制命令和數(shù)據(jù)。
    鎖相放大器遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)需要實(shí)現(xiàn)遠(yuǎn)程控制繼電器的狀態(tài),聲卡采集輸入信號(hào)和參考信號(hào),串口采集溫度值,并用鎖相放大器測量熱敏電阻輸出電壓,用虛擬溫度計(jì)測量熱敏電阻的溫度。在LabVIEW環(huán)境下分別編寫客戶機(jī)和實(shí)驗(yàn)機(jī)程序,實(shí)現(xiàn)測量熱敏電阻溫度特性曲線遠(yuǎn)程實(shí)驗(yàn)。
3.1 客戶機(jī)程序
3.1.1 客戶機(jī)程序的用戶界面

    客戶機(jī)程序的用戶界面如圖2所示,集成了鎖相放大器的全部功能以及虛擬溫度計(jì),波形圖實(shí)時(shí)顯示了鎖相放大器工作過程中各個(gè)中間過程的波形。熱敏電阻的溫度值也實(shí)時(shí)顯示在虛擬溫度計(jì)上。[!--empirenews.page--]


    用戶點(diǎn)擊加熱按鈕,接通加熱電源,其狀態(tài)值經(jīng)由網(wǎng)絡(luò)送往實(shí)驗(yàn)機(jī),從而改變實(shí)驗(yàn)室內(nèi)測溫電路的繼電器狀態(tài),加熱電路開始對(duì)熱敏電阻進(jìn)行加熱。實(shí)驗(yàn)電路中橋式電路的輸出信號(hào)和熱敏電阻的溫度值,經(jīng)由網(wǎng)絡(luò)反饋給客戶機(jī),用戶通過虛擬儀器面板觀察各個(gè)點(diǎn)波形的顯示,同時(shí)讀取溫度值,完成熱敏電阻溫度特性測量。
    服務(wù)器一欄設(shè)置為實(shí)驗(yàn)室內(nèi)服務(wù)器的IP地址,剩余時(shí)間一欄顯示用戶可用的時(shí)間。本實(shí)驗(yàn)控制真實(shí)的實(shí)驗(yàn)元件,每次只能有一位用戶操作。規(guī)定每位用戶的實(shí)驗(yàn)時(shí)間為30 min。30 min后,此客戶機(jī)與實(shí)驗(yàn)機(jī)的連接自動(dòng)斷開。
3.1.2 客戶機(jī)軟件框圖程序
    軟件框圖程序如圖3所示。程序分別設(shè)置了3個(gè)While循環(huán)結(jié)構(gòu),分別完成讀取溫度值、讀取電壓值以及發(fā)送控制繼電器狀態(tài)的功能。循環(huán)中止的條件為下列三者之一:用戶點(diǎn)擊了“退出”按鈕;用戶連接時(shí)間超過了30 min;實(shí)驗(yàn)過程中TCP連接出錯(cuò),如實(shí)驗(yàn)機(jī)程序先行中止,或系統(tǒng)錯(cuò)誤引起連接中止。


    客戶端程序的軟件部分采用3個(gè)獨(dú)立的While循環(huán),每個(gè)端口分別設(shè)置了獨(dú)立的服務(wù)器端口,依次是2322,2323和2324。
    (1)讀取反饋的實(shí)驗(yàn)數(shù)據(jù)。對(duì)于數(shù)據(jù)接收,用2個(gè)TCP Read節(jié)點(diǎn)讀取實(shí)驗(yàn)機(jī)發(fā)送的聲卡采集的數(shù)據(jù)長度和字符串?dāng)?shù)據(jù)。
    2322端口接收串口讀取的溫度值,因?yàn)闇囟戎挡杉瘯r(shí)已經(jīng)轉(zhuǎn)換為4位BCD碼表示的十進(jìn)制數(shù),因此接收時(shí)讀取的字長設(shè)置為4,讀取的溫度值送入虛擬溫度計(jì)并實(shí)時(shí)顯示出來。
    2323端口對(duì)應(yīng)接收聲卡讀取的電壓值,因?yàn)槭亲蟆⒂衣暤栏鞑杉宦沸盘?hào),因此設(shè)置了2個(gè)Sequence結(jié)構(gòu),其中Sequence0接收左聲道讀取的橋式電路輸出信號(hào),送入鎖相放大器的信號(hào)輸入端;Sequence1接收右聲道讀取參考方波,送入鎖相放大器的參考信號(hào)輸入端。同時(shí)將讀取的波形實(shí)時(shí)顯示在用戶界面上。
    (2)發(fā)送繼電器控制信號(hào)。2324端口發(fā)送加熱控制電路的繼電器狀態(tài)值,用戶可以在虛擬面板生改變加熱按鈕的狀態(tài),并通過服務(wù)器反饋回實(shí)驗(yàn)機(jī),從而控制加熱電路中繼電器的狀態(tài)。加熱按鈕其處于不同的位置時(shí),向網(wǎng)絡(luò)連接發(fā)送不同的命令字。將命令字放在一個(gè)CASE結(jié)構(gòu)中,這樣便于實(shí)現(xiàn)用戶將加熱按鈕置于不同的位置時(shí),發(fā)送不同的命令字。為有效傳送數(shù)據(jù),采用2個(gè)TCP Write節(jié)點(diǎn),第1個(gè)節(jié)點(diǎn)發(fā)送字符長
度,第2個(gè)節(jié)點(diǎn)發(fā)送字符數(shù)據(jù)。
3.2 端口映射
    服務(wù)器平臺(tái)上安裝Linux操作系統(tǒng)。利用其IPtables防火墻技術(shù)進(jìn)行端口映射,使得互聯(lián)網(wǎng)上的計(jì)算機(jī)可以通過訪問服務(wù)器,間接訪問實(shí)驗(yàn)機(jī),進(jìn)行遠(yuǎn)程實(shí)驗(yàn)。端口號(hào)的選擇要避開系統(tǒng)保留端口,即O~1023。假設(shè)實(shí)驗(yàn)機(jī)程序的監(jiān)聽端口為2322。在IPtahies中,將服務(wù)器的2322端口映射到實(shí)驗(yàn)機(jī)。外界計(jì)算機(jī)訪問服務(wù)器的2322端口時(shí),若實(shí)驗(yàn)機(jī)程序正在2322端口監(jiān)聽,與客戶機(jī)的TCP連接就會(huì)建立,客戶機(jī)與實(shí)驗(yàn)機(jī)通信,傳送控制命令與實(shí)驗(yàn)數(shù)據(jù)。[!--empirenews.page--]
3.3 實(shí)驗(yàn)機(jī)程序
3.3.1 實(shí)驗(yàn)機(jī)程序的用戶界面

    實(shí)驗(yàn)機(jī)程序的用戶界面如圖4所示。波形顯示圖實(shí)時(shí)監(jiān)測聲卡采集的信號(hào);日志文件用于記錄與實(shí)驗(yàn)機(jī)建立連接的客戶數(shù)目、客戶地址和連接時(shí)間。Inputformat設(shè)置了聲卡采樣的數(shù)字聲音格式;數(shù)據(jù)采集為立體聲格式,樣本位數(shù)為16 b;為了防止數(shù)據(jù)溢出,遠(yuǎn)程數(shù)據(jù)傳送時(shí)A /D轉(zhuǎn)換率采用11 025 Hz。Constant為聲卡采集數(shù)據(jù)的縮小倍數(shù)。溫度顯示為串口采集到的熱敏電阻的溫度。


    實(shí)驗(yàn)機(jī)程序?qū)崿F(xiàn)如下功能:
    實(shí)驗(yàn)機(jī)接收用戶發(fā)送來的加熱信號(hào),通過串口送往單片機(jī)系統(tǒng),由單片機(jī)根據(jù)預(yù)先設(shè)置的指令驅(qū)動(dòng)繼電器,從而控制熱敏電阻的加熱狀態(tài)。熱敏電阻的溫度值由串口采集,送入實(shí)驗(yàn)機(jī);音頻輸入電纜左聲道采集熱敏電阻阻值改變后橋式電路的輸出電壓,右聲道采集信號(hào)發(fā)生器輸出的參考方波,通過聲卡送入實(shí)驗(yàn)機(jī)。實(shí)驗(yàn)機(jī)將采集到的所有信號(hào)經(jīng)由服務(wù)器和Internet反饋給客戶。
3.3.2 實(shí)驗(yàn)機(jī)軟件框圖程序
    實(shí)驗(yàn)機(jī)框圖程序如圖5所示。實(shí)驗(yàn)機(jī)程序的軟件部分整體采用一個(gè)While循環(huán),其l中又包含2個(gè)While循環(huán)。其中一個(gè)While循環(huán)中設(shè)置了一個(gè)順序結(jié)構(gòu),Sequence 0中包含了2322監(jiān)聽端口,用于監(jiān)聽串口讀取溫度值;Sequence 1中包含了2323端口,用于監(jiān)聽聲卡讀取電壓值。
另外一個(gè)While循環(huán)中包含了一個(gè)2324監(jiān)聽端口,用于接收客戶機(jī)發(fā)送來的當(dāng)前繼電器狀態(tài)值。當(dāng)接收到閉合繼電器控制指令時(shí),發(fā)送“30 H”到單片機(jī),控制繼電器閉合;當(dāng)接收到斷開繼電器控制指令時(shí);發(fā)送“31H”到單片機(jī),控制繼電器斷開。單片機(jī)與實(shí)驗(yàn)機(jī)通過串行口通信,接收計(jì)算機(jī)發(fā)送的控制指令。


    (1)實(shí)驗(yàn)機(jī)與單片機(jī)的串行通信。實(shí)驗(yàn)機(jī)與單片機(jī)的通信利用LabVIEW中的VISA庫(virtua|instrument software architecture)實(shí)現(xiàn)。V-ISA作為新一代程控儀器I/O軟件規(guī)范,在接口無關(guān)性、平臺(tái)獨(dú)立性、可擴(kuò)展性和功能上都有很大提高。本文單片機(jī)帶有RS 232接口,計(jì)算機(jī)通過串口與之通信。單片機(jī)通過串口與實(shí)驗(yàn)機(jī)相連,VISA Configure Serial Port節(jié)點(diǎn)中VISA Resouce Name設(shè)為ASRL4:INSTR。參數(shù)與單片機(jī)的設(shè)置一致:傳輸速率4 800 b/s,起始位1位,數(shù)據(jù)位8位,停止位1位,無校驗(yàn)位。
    (2)聲卡采集電路信號(hào)。用SI Read節(jié)點(diǎn)讀取聲卡采集的電路信號(hào),Stereo 16 b端口顯示讀取的數(shù)據(jù)。Index Array函數(shù)分別提取0列(左聲道)和1列(右聲道)的信號(hào),縮小一定倍數(shù)后,經(jīng)Type Cast函數(shù)轉(zhuǎn)為字符串?dāng)?shù)據(jù):Sequence 0發(fā)送音頻電纜左聲道采集的數(shù)據(jù),即熱敏電阻兩端的電壓;Sequence 1發(fā)送音頻電纜右聲道采集的數(shù)據(jù),即信號(hào)發(fā)生器輸出的參考方波。信號(hào)波形同時(shí)顯示在前面板波形顯示器中顯示。

4 結(jié)語
    本文開發(fā)了基于虛擬儀器鎖相放大器遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)。用LabVIEW軟件編寫了客戶機(jī)與實(shí)驗(yàn)機(jī)程序,實(shí)現(xiàn)了遠(yuǎn)程測量熱敏電阻溫度特性曲線。與傳統(tǒng)實(shí)驗(yàn)相比,只需要一臺(tái)計(jì)算機(jī)、一臺(tái)信號(hào)發(fā)生器以及必要的硬件實(shí)驗(yàn)電路即可進(jìn)行實(shí)驗(yàn)。在此基礎(chǔ)上結(jié)合網(wǎng)絡(luò)技術(shù)和儀器控制技術(shù),實(shí)現(xiàn)遠(yuǎn)程實(shí)驗(yàn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉