基于LabVIEW與凌陽SPCE061A實現(xiàn)串口數(shù)據(jù)采集(MAX232EPE)
出處:xusnwise 發(fā)布于:2007-04-20 16:41:49
關鍵詞:LabVIEW;虛擬儀器;SPCE061A;串口;數(shù)據(jù)采集
引言
LabVIEW是一個劃時代的圖形化編程系統(tǒng),應用于數(shù)據(jù)采集與控制、信號分析等方面,它為不熟悉文本語言編程的科技工作者在測控領域建立計算機儀器系統(tǒng)——虛擬儀器,提供了一個便捷、輕松的圖形化設計環(huán)境。由于其靈活、簡單易用、開發(fā)效率高等特點,正逐漸成為科技工作者進行儀器應用與開發(fā)的得力工具。數(shù)據(jù)采集是開發(fā)過程中一個重要的環(huán)節(jié),NI公司提供了各種不同類型的基于LabVIEW的數(shù)據(jù)采集卡,但是其價格昂貴,對于小型企業(yè)、實驗教學等方面仍存在著不可避免的資金問題。而市面上銷售的第三方開發(fā)的數(shù)據(jù)采集卡,由于不具備對LabVIEW的直接支持,需要用戶開發(fā)其驅動程序,使用也不方便。如果采用以凌陽16位單片機SPCE061A作為前端數(shù)據(jù)采集,通過串口進行與LabVIEW的數(shù)據(jù)通訊,就可實現(xiàn)低成本、靈活方便、接口簡單的數(shù)據(jù)采集系統(tǒng)。這對于許多信號頻率不是太高的場合,此方案無疑非常便利。本文所介紹的就是這樣一種利用LabVIEW 對SPCE061A的數(shù)據(jù)進行分析處理,并通過串口實現(xiàn)二者之間的數(shù)據(jù)交換、經(jīng)濟實用的數(shù)據(jù)采集及分析系統(tǒng)。
本系統(tǒng)主要包含兩部分的設計:LabVIEW部分設計和SPCE061A數(shù)據(jù)采集與串口通訊部分設計。
1 LabVIEW部分設計
1.1 VISA簡介
LabVIEW提供了功能強大的VISA庫。VISA(Virtual Instrument Software Architecture——虛擬儀器軟件規(guī)范,是用于儀器編程的標準I/O函數(shù)庫及其相關規(guī)范的總稱。VISA庫駐留于計算機系統(tǒng)中,完成計算機與儀器之間的連接,用以實現(xiàn)對儀器的程序控制,其實質是用于虛擬儀器系統(tǒng)的標準的API。VISA本身不具備編程能力,它是一個高層API,通過調用底層驅動程序來實現(xiàn)對儀器的編程,其層次如圖1(a)所示。VISA是采用VPP標準的I/O接口軟件,其軟件結構應包含三部分,如圖1(b)所示。
(a)VISA內部機制
(b)虛擬儀器的軟件體系結構

圖1
與其它現(xiàn)存的I/O接口軟件相比,VISA的I/O控制功能具有如下幾個特點:適用于各種儀器類型如VXI儀器、GPIB儀器、RS-232 串行儀器、消息基器件、寄存器器件、存儲器器件等儀器);適用于各種硬件接口類型;適用于單、多處理器結構或分布式網(wǎng)絡結構;適用于多種網(wǎng)絡機制。
VISA的I/O的軟件庫的源程序是的,其與操作系統(tǒng)及編程語言無關,只是提供了標準形式的API文件作為系統(tǒng)的輸出。
1.2 VISA庫中的串口函數(shù)
本文用到的主要的串口通訊函數(shù)調用路徑為:Functions→Instrument I/O→VISA→VISA Advanced→Interface→Specific→Serial中。
1) VISA Configure Serial Port節(jié)點(如圖2所示)

圖2 VISA Configure Serial Port.vi圖標及其端口
該節(jié)點主要用于串口的初始化。主要參數(shù)意義如下:
l VISA resource name:設置串口號。
l baud rate:設置波特率,默認值為9600。
l data bits:設置數(shù)據(jù)位。該位應在5~8之間,默認值為8。
l parity:奇偶校驗位,默認值為無校驗、偶校驗等。
l stop bits:設置停止位,可以為1、1.5、2。
l flow control:用于設置握手信號類型。
2) VISA Read節(jié)點(如圖3所示)

圖3 VISA Read.vi 圖標及其端口
該節(jié)點為串口讀子VI,為本文中的主要節(jié)點,將串口中的數(shù)據(jù)讀出,然后利用LabVIEW的強大數(shù)據(jù)處理功能對其進行分析處理。主要參數(shù)意義如下:
l VISA resource name:設置串口號。
l byte count:設置讀取字節(jié)數(shù)。
l read buffer:從串口讀取的字符。
由于LabVIEW的串行通訊子VI只允許對字符串的讀寫,因此本文中在進行數(shù)據(jù)處理時,必須要實現(xiàn)字符串與數(shù)字之間的正確轉換。此外,若要讀入當前串口中的所有字符,則要先執(zhí)行“VISA Bytes at Serial Port”子VI,用以確定將要讀入的確切的字節(jié)數(shù),然后將其輸出作為VISA Read節(jié)點的輸入即可。
2 SPCE061A數(shù)據(jù)采集與串口通訊部分設計
2.1硬件部分
SPCE061A內置8通道10位模-數(shù)轉換器,其中7個通道用于將模擬量信號 (例如電壓信號) 轉換為數(shù)字量信號, 可以直接通過引線(IOA[0~6])輸入。另外一個通道只用于語音輸入,即通過內置自動增益控制放大器的麥克風通道(MIC_IN)輸入。實際上可以把模數(shù)轉換器(ADC,Analog to Digital Converter)看作是一個實現(xiàn)模/數(shù)信號轉換的編碼器。在ADC內,由數(shù)模轉換器DAC0和逐次逼近寄存器SAR組成逐次逼近式模-數(shù)轉換器。另外,SPCE061A內置UART模塊,UART模塊提供了一個全雙工標準接口,用于完成SPCE061A與外設之間的串行通訊。借助于IOB口的特殊功能和UART IRQ中斷,可以同時完成UART接口的接收和發(fā)送數(shù)據(jù)的過程。UART模塊的接收管腳Rx和Tx分別與IOB7和IOB10共用。
本電路采用RS-232串行接口標準,在電氣特性上,RS-232采用負邏輯,要求高低兩信號間有較大的幅度,標準為:邏輯“1”在-5V~-15V之間,邏輯“0”在+5V~+15V之間,通常采用-1V左右為邏輯1,+10V左右為邏輯0。本電路采用符合RS-232標準的驅動芯片MAX232EPE實現(xiàn)此轉換。由于SPCE061A的信號輸入輸出為TTL電平,邏輯1為3.3V左右,邏輯0為0.4V左右,而MAX232EPE要求+5V供電,因此,在 MAX232EPE和SPCE061A之間加了電平匹配電路。
整個電路接口簡單,可靠性高。硬件部分原理圖如圖5所示

圖5 硬件原理圖
2.2軟件部分
LabVIEW軟件與串口實現(xiàn)數(shù)據(jù)通訊的程序圖,如圖6所示,由于SPCE061A發(fā)送給Labview的是字符串數(shù)據(jù),所以先把該字符串轉換為字符數(shù)組,然后通過一個數(shù)組索引指定數(shù)組的個字符顯示并形成波形。

圖6. LabVIEW串口通訊程序圖
單片機SPCE061A利用通用串行接口UART實現(xiàn)串口通訊部分程序:
//************************主程序*****************************************//
L_ResendData:
L_Check_TxRDY:
R2 = [P_UART_Command2];
R2 &= 0x0040; //檢測輸出是否READY
JZ L_Check_RxRDY; //發(fā)送8位十六進制數(shù)cc
R1 = [recFlag];
CMP R1,0x0000; //是否接收過數(shù)據(jù)
JZ L_Check_RxRDY;
[P_UART_Data] = R4; //發(fā)送數(shù)據(jù)
R1 = 0x0000; [recFlag] = R1;
L_Check_RxRDY:
R2 = [P_UART_Command2]; //檢測是否有數(shù)據(jù)接收
R2 &= 0x0080;
JZ L_Check_RxRDY;
R4 = [P_UART_Data]; //接收數(shù)據(jù)
R1 = 0x0001;
[recFlag] = R1; //設置接收標識符
goto L_ResendData;
3.應用實例
如圖7所示,利用該數(shù)據(jù)采集系統(tǒng)進行一溫度數(shù)據(jù)的采集,在圖5的硬件原理圖中,將鉑熱電阻PT100測得的溫度電壓值(該測溫電路由電壓跟隨和電壓放大電路組成)送入到SPCE061A的IOA4端口,通過該路AD轉換通道,將電壓值經(jīng)過數(shù)據(jù)處理后轉換為16進制數(shù)據(jù)值,并將處理后的溫度數(shù)據(jù)通過串口發(fā)送給LabVIEW,經(jīng)過分析對比PT100鉑電阻準確的溫度曲線與所測得的溫度曲線可以得出在該溫度采集系統(tǒng)的軟件編程過程中應該對AD轉換后的數(shù)據(jù)乘以一個多大的溫度系數(shù)以及在分段溫度系數(shù)的情況下得出溫度系數(shù)轉折點,使處理后的所得的溫度數(shù)值盡可能的接近真實溫度值。
圖7 利用LabVIEW與SPCE061A的溫度數(shù)據(jù)數(shù)據(jù)采集系統(tǒng)
4 結論
LabVIEW作為一個具有良好開放性的虛擬儀器開發(fā)平臺,為面向儀器的編程提供了強有力的支持,在LabVIEW環(huán)境下能夠開發(fā)出各種功能強大、開放性好的虛擬儀器軟件,構造出實用的計算機輔助測試、分析與控制系統(tǒng)。本文利用SPCE061A進行前端數(shù)據(jù)采集,通過串口實現(xiàn)與LabVIEW的數(shù)據(jù)通訊,利用LabVIEW的強大信號分析處理功能,開發(fā)了一套投資少、操作簡便的數(shù)據(jù)采集與信號分析系統(tǒng)(其虛擬面板如圖7 所示)。實驗證明,該系統(tǒng)運行良好。
參考文獻:
[1]. SPCE061A datasheet http://www.hbjingang.com/datasheet/SPCE061A_1082153.html.
[2]. RS-232 datasheet http://www.hbjingang.com/datasheet/RS-232+_584855.html.
[3]. MAX232EPE datasheet http://www.hbjingang.com/datasheet/MAX232EPE_1015303.html.
[4]. TTL datasheet http://www.hbjingang.com/datasheet/TTL_1174409.html.
[5]. PT100 datasheet http://www.hbjingang.com/datasheet/PT100_1196170.html.
版權與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。
如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
- 單片機技術特性與嵌入式開發(fā)實踐指南2026/1/7 10:00:02
- 單片機(MCU)與數(shù)字信號處理器(DSP)分類及選型技術指南2025/12/30 10:02:37
- 工業(yè)級DSP信號處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內建N/N預驅電機專用SoC單片機2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴充定義2025/10/27 13:59:22









