摘要:介紹一種利用單片機采集數據,LabVIEW作為開發(fā)平臺,二者之間通過串口實現數據通訊的數據采集系統(tǒng),詳細介紹了軟、硬件設計方案。
1 LabVIEW部分設計
1.1 VISA簡介
LabVIEW提供了功能強大的VISA庫。VISA(Virtual Instrument Software Architecture)——虛擬儀器軟件規(guī)范,是用于儀器編程的標準I/O函數庫及其相關規(guī)范的總稱。VISA庫駐留于計算機系統(tǒng)中,完成計算機與儀器之間的連接,用以實現對儀器的程序控制,其實質是用于虛擬儀器系統(tǒng)的標準的API。VISA本身不具備編程能力,它是一個高層API,通過調用底層驅動程序來實現對儀器的編程,其層次如圖1所示。VISA是采用VPP標準的I/O接口軟件,其軟件結構包含三部分,如圖2所示。
與其他現存的I/O接口軟件相比,VISA的I/O控制功能具有如下幾個特點:適用于各種儀器類型(如VXI儀器、GPIB儀器、RS-232串行儀器、消息基器件、寄存器器件、存儲器器件等儀器);適用于各種硬件接口類型;適用于單、多處理器結構或分布式網絡結構;適用于多種網絡機制。
VISA的I/O軟件庫的源程序是唯一的,其與操作系統(tǒng)及編程語言無關,只是提供了標準形式的API文件作為系統(tǒng)的輸出。
1.2 VISA庫中的串口通訊函數
本文用到的主要的串口通訊函數調用路徑為:FunctionsInstrument I/OVISAVISA AdvancedInterface SpecificSerial中。
(1)VISA Configure Serial Port節(jié)點(圖3所示)
該節(jié)點主要用于串口的初始化。主要參數意義如下:
VISA resource name:VISA資源名稱,本文指串口號。baud rate:波特率,默認為9600。
data bits:一幀信息中的位數,LabVIEW中允許5~8位數據,默認值為8位。
stop bits:一幀信息中的停止位的位數,可為1位、1位半或2位。
Parity:奇偶校驗設置?蔀闊o校驗、奇校驗或偶校驗。
flow control:該參數數據類型為簇,用于串行通訊中的握手方式。
(2)VISA Read節(jié)點(圖4所示)
該節(jié)點為串口讀子VI,為本文中的主要節(jié)點,將串口中的數據讀出,然后利用LabVIEW的強大數據處理功能對其進行分析處理。主要參數意義如下:
VISA resource name:同上。
byte count:用于設置所要讀的字符數。由于LabVIEW的串行通訊子VI只允許對字符串的讀寫,因此本文中在進行數據處理時,必須要實現字符串與數字之間的正確轉換。此外,若要讀入當前串口中的所有字符,則要執(zhí)行“VISA Bytes at Serial Port”子VI,用以確定將要讀入的確切的字節(jié)數,然后將其輸出作為VISA Read節(jié)點的輸入即可。
(3)VISA Close節(jié)點(圖5所示)
該節(jié)點用于將打開的VISA資源關閉。只有一個主要參數:
VISA resource name:意義同上。
本文所用LabVIEW串口通訊程序的波特率為9600,無奇偶校驗,8位數據位,1位停止位,禁止軟、硬件握手。
2 單片機部分設計
2.1 硬件部分
MCS-51單片機內部有一個功能很強的全雙工串行口,該串行口有4種工作方式,波特率可用軟件設置,由片內的定時器/計數器產生,接收、發(fā)送均可觸發(fā)中斷系統(tǒng),使用十分方便。有2個物理上獨立的接收、發(fā)送緩沖器SBUF,對外也有兩條獨立的收、發(fā)信號線RXD(P3.0)和TXD(P3.1)。
本文采用RS232串行接口標準,在電氣特性上,RS232采用負邏輯,要求高低兩信號間有較大的幅度,標準為:邏輯“1”在-5V~-15V之間,邏輯“0”在+5V~+15V之間,通常采用-10V左右為邏輯1,+10V左右為邏輯0。由于MCS-51系統(tǒng)的信號輸入輸出為TTL電平,邏輯1為3.8V左右,邏輯0為0.4V左右,因此,必須外接電路實現TTL電平到RS232電平的轉換。本文采用MAX232E實現此轉換。
采用TLC0831芯片進行數據的采集。TLC0831芯片為8位逐次逼近電壓型A/D轉換器,支持單信道輸入串口輸出,極性設置固定,不需尋址。其主要特點為:8位分辨率;5V的電源提供0~5V的可調基準電壓;輸入輸出可與TTL和MOS兼容。
若要提高信號的采樣頻率,只需選擇轉換速度較快的A/D芯片即可。硬件部分原理圖如圖6。
2.2 軟件部分
下面給出單片機軟件部分的主要程序。波特率設置為9600,用定時器1產生波特率,串口工作在方式1,無奇偶校驗。定時器0設定采樣的時間間隔。TLC0831為A/D轉換器數據采樣子程序,SEND為單片機發(fā)送子程序。
3 結論
本文利用單片機進行前端數據采集,通過串口實現與LabVIEW的數據通訊,利用LabVIEW的強大信號分析處理功能,開發(fā)了一套投資少、操作簡便的數據采集與信息分析系統(tǒng)(其虛擬面板如圖7所示)。實驗證明,該系統(tǒng)運行良好。
參考文獻:
[1] LabVIEW User Manual[M]. USA:National Instruments Corporation,1998.
[2] 楊樂平,等.LabVIEW程序設計與應用[M].電子工業(yè)出版社,2001.
[3] 劉君華,等.虛擬儀器圖形化編程語言LabVIEW教程[M].西安電子科技大學出版社,2001.
[4] 張毅剛,等.MCS51單片機應用設計[M].哈爾濱工業(yè)大學出版社,1997.
作者:羅光坤 楊昊 黃惟公 四川工業(yè)學院機械工程與自動化 來源:《儀表技術》2003年01期