基于LabWindows/CVI的光譜分析系統(tǒng)的設計與實現(xiàn)
3.4 接口卡的軟件設計
本文引用地址:http://www.bjwjmy.cn/article/87549.htm硬件接口卡程序采用AT89C51匯編語言編寫,完成步進電機的控制,數(shù)據(jù)的采集,與PC機的通信以及顯示鍵盤等功能。其主程序流程圖如下圖四所示:
定時器0中斷服務程序用于產(chǎn)生方波驅動信號,用于驅動步進電機。它工作在模式1,其中,TH0、TL0由PC機所設置的轉率確定。采樣/發(fā)送標志位07H由PC機或鍵盤命令設置,若(07H)=1,則設置標志位(00H)=1,以便啟動采樣子程序與數(shù)據(jù)發(fā)送子程序,反之,則使(00H)=0停止采樣子程序與數(shù)據(jù)發(fā)送子程序。結束標志位08H,當(08H)=1時,結束采樣,反之,繼續(xù)采樣過程。在每次采集數(shù)據(jù)前應加入適當?shù)难舆t,以便使步進電機穩(wěn)定后再讀數(shù)。
AD轉換器MAX180的BUSY端子接在AT89C51的INT0上,INT0設置為邊沿觸發(fā)方式IT0=1,當BUSY信號從有效狀態(tài)變?yōu)闊o效狀態(tài)時,單片機進入其外部中斷服務程序SAMINT0完成一次數(shù)據(jù)采集。在調試時為保證軟件的功能執(zhí)行一次,平面光柵單色儀的指示波長轉一個單位,可通過微調定時中斷初始值達到以上目的。
AT89C51通過串口中斷服務程序MCRXPCINT接收上位PC機數(shù)據(jù)/命令。
部分匯編程序如下:
ORG 0000H
LJMP MAINPROC
ORG 000BH ;定時器0中斷入口地址。
LJMP TIMER0INT
ORG 0013H ;A/D轉換MAX180完成一次數(shù)據(jù)采集外部中斷1入口地址。
LJMP SAMINT0
ORG 0023H
LJMP MCRXPCINT ;AT89C51接收上位PC機數(shù)據(jù)/命令串口中斷入口地址。
ORG 0050H
MAINPROC:
MOV SP,60H
LCALL LCMINIATE ;初始化液晶顯示模塊。
?。。?br />
MAINLOOP: ;主循環(huán)。
JNB 00H,SAMPNO ;是否開始采集發(fā)送數(shù)據(jù)?00H位為標志位。為1啟動
CLR 00H
LCALL MCTXPC ;AT89C51發(fā)送數(shù)據(jù)(30H~37H)單元到PC機。發(fā)送中關閉串口中斷
LCALL SAMPLE ;開始采集數(shù)據(jù)。
SAMPNO:
LCALL READKE&PC ;查詢鍵盤及PC機命令。(01H)、(00H)
LJMP MAINLOOP
...?。?/p>
4 數(shù)據(jù)分析系統(tǒng)的設計
目前,應用程序的開發(fā)軟件非常多,如VC、VB等,但開發(fā)周期都比較長、難度也比較高;而美國NI公司推出的虛擬儀器編程語言LabWindows/CVI,利用其豐富的按鈕、圖形等用戶界面庫函數(shù),大大縮短了軟件的開發(fā)周期,并能滿足開發(fā)中的實際需要。
在設計過程中,根據(jù)實際要求,我們把系統(tǒng)分為:參數(shù)設置及動態(tài)采集,數(shù)據(jù)分析處理,數(shù)據(jù)管理等三大模塊。
在"參數(shù)設置及動態(tài)采集"模塊中,為了提高該系統(tǒng)的適應性,考慮串口通信速率可調,以適應多種采樣速率的要求。因此,系統(tǒng)應用時,應首先設定串口參數(shù),然后才能進行采樣、定位等操作。所以,系統(tǒng)分析界面上"采樣啟動/停止"、"參數(shù)定位"等功能按鈕首先是灰色的(處于無效狀態(tài)),只有串口參數(shù)設定之后,才變?yōu)橛行顟B(tài)。在測試開始之前,還必須對系統(tǒng)進行校正,即根據(jù)平面光柵單色儀指針當前位置所指示的波長,設置系統(tǒng)界面上步進電機的當前位置值,使兩者完全一致。然后點擊"參數(shù)定位"按鈕,設置測試掃描的起始波長和終止波長,這時步進電機會自動定位到要求掃描的起始位置。接著點擊"采樣啟動/停止"按鈕,系統(tǒng)開始采樣,并記錄采樣所得數(shù)據(jù)。當采樣達到預設的終止波長時,系統(tǒng)會自動停止采樣。
在"數(shù)據(jù)分析處理"模塊中,我們首先將采集到的數(shù)據(jù)通過50階的FIR工頻陷波器,以消除工頻干擾。對濾波后的數(shù)據(jù)進行求極值處理,從而得到波形的帶寬、有無多峰等特征。添加光標控件后,可動態(tài)獲取當前的波長和相對強度值。
在"數(shù)據(jù)管理"模塊中,我們把不同二極管在不同電流作用下的特征數(shù)據(jù)進行保存,在需要具體分析時,可進行數(shù)據(jù)重現(xiàn),并能夠根據(jù)參數(shù)要求,在一批測試數(shù)據(jù)中進行自動匹配篩選。從而,在安裝二極管泵浦頭時,極大地提高了裝配效率。
LabWindows/CVI編程語言提供了豐富的庫函數(shù),可以很容易的實現(xiàn)以上三大模塊的功能。可利用RS-232庫函數(shù)ComWrtByte()串口發(fā)字節(jié)命令、ComReadByte()串口接收字節(jié)命令、CloseCom()關閉串口命令、OpenComConfig()打開串口命令等實現(xiàn)與AT89C51的數(shù)據(jù)/命令收發(fā)功能。用定時器控件Timers的 SuspendTimerCallbacks ()、ResumeTimerCallbacks ()函數(shù),在回調函數(shù)中實現(xiàn)動態(tài)繪制數(shù)據(jù),自動定位等功能。
5 系統(tǒng)應用實例
把該系統(tǒng)應用于大功率激光器的裝配中,結果令人非常滿意。圖五為實際測試德國生產(chǎn)的808連續(xù)二極管條在30A與45A電流作用下的光譜特性曲線。從分析系統(tǒng)界面上可以直接讀出,30A時該二極管條的中心頻率為806.10nM,45A時為808.20nM;帶寬由0.7nM變到1.0nM;同樣,可對若干二極管條進行這樣的測試,提取它們的特征值;最后,可根據(jù)參數(shù)設置,在這些二極管中進行自動匹配篩選。
6 結束語
該測試分析系統(tǒng),實現(xiàn)了對WDP500-2A平面光柵單色儀測試系統(tǒng)的改進,實現(xiàn)了對基于MS-DOS的平面光柵單色儀數(shù)據(jù)分析系統(tǒng)的優(yōu)化。它采用RS232串口通信的硬件接口卡,使用方便;采用LabWindows/CVI語言開發(fā)分析系統(tǒng),快捷實用。其分析界面簡潔友好,功能完善,實現(xiàn)了平面光柵單色儀的自動定位、掃描、數(shù)據(jù)分析、數(shù)據(jù)處理等功能。在大功率激光器的裝配中,該測試分析系統(tǒng)的應用,不僅提高了裝配的效率,也提高了裝配的質量。同時,該測試分析系統(tǒng)也可廣泛的應用于其它光學器件的光譜分析,及光通信的研究中。
參考文獻
[1] 繆家鼎等,光電技術,94年,浙江大學出版社
[2] 李朝青,PC機及單片機數(shù)據(jù)通信技術,99年,北航社
[3] 姚天任等,現(xiàn)代數(shù)字信號處理,華中理工大學出版社,2000年
[4] WDP500-2A平面光柵單色儀使用說明
[5] NI公司LabWindows/CVI用戶手冊
作者簡介:龍興明,男, 1976年8月生,漢,碩士研究生,主要從事信息光學及計算機應用等研究。
電話:023-65331121,E-mail:lennydragon@yahoo.com
(400047重慶師范學院物理系) 龍興明,戴特力
(400044重慶大學電氣工程) 周 靜
作者通訊地址:400047 重慶師范學院物理系 龍興明
評論