<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于LabVIEW與凌陽(yáng)SPCE061A實(shí)現串口數據采集

基于LabVIEW與凌陽(yáng)SPCE061A實(shí)現串口數據采集

作者: 時(shí)間:2012-01-31 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

是一個(gè)劃時(shí)代的圖形化編程系統,應用于與控制、信號分析等方面,它為不熟悉文本語(yǔ)言編程的專(zhuān)業(yè)科技工作者在測控領(lǐng)域建立計算機儀器系統——,提供了一個(gè)便捷、輕松的圖形化設計環(huán)境。由于其靈活、簡(jiǎn)單易用、開(kāi)發(fā)效率高等特點(diǎn),正逐漸成為科技工作者進(jìn)行儀器應用與開(kāi)發(fā)的得力工具。是開(kāi)發(fā)過(guò)程中一個(gè)重要的環(huán)節,NI公司提供了各種不同類(lèi)型的基于卡,但是其價(jià)格昂貴,對于小型企業(yè)、實(shí)驗教學(xué)等方面仍存在著(zhù)不可避免的資金問(wèn)題。而市面上銷(xiāo)售的第三方開(kāi)發(fā)的數據采集卡,由于不具備對的直接支持,需要用戶(hù)開(kāi)發(fā)其驅動(dòng)程序,使用也不方便。如果采用以凌陽(yáng)16位單片機作為前端數據采集,通過(guò)進(jìn)行與LabVIEW的數據通訊,就可實(shí)現低成本、靈活方便、接口簡(jiǎn)單的數據采集系統。這對于許多信號頻率不是太高的場(chǎng)合,此方案無(wú)疑非常便利。本文所介紹的就是這樣一種利用LabVIEW 對的數據進(jìn)行分析處理,并通過(guò)實(shí)現二者之間的數據交換、經(jīng)濟實(shí)用的數據采集及分析系統。

本系統主要包含兩部分的設計:LabVIEW部分設計和數據采集與通訊部分設計。

1 LabVIEW部分設計

1.1 VISA簡(jiǎn)介

LabVIEW提供了功能強大的VISA庫。VISA(Virtual Instrument Software Architecture——軟件規范,是用于儀器編程的標準I/O函數庫及其相關(guān)規范的總稱(chēng)。VISA庫駐留于計算機系統中,完成計算機與儀器之間的連接,用以實(shí)現對儀器的程序控制,其實(shí)質(zhì)是用于系統的標準的API。VISA本身不具備編程能力,它是一個(gè)高層API,通過(guò)調用底層驅動(dòng)程序來(lái)實(shí)現對儀器的編程,其層次如圖1(a)所示。VISA是采用VPP標準的I/O接口軟件,其軟件結構應包含三部分,如圖1(b)所示。

(a)VISA內部機制

(b)虛擬儀器的軟件體系結構


圖1

與其它現存的I/O接口軟件相比,VISA的I/O控制功能具有如下幾個(gè)特點(diǎn):適用于各種儀器類(lèi)型如VXI儀器、GPIB儀器、RS-232 串行儀器、消息基器件、寄存器器件、存儲器器件等儀器);適用于各種硬件接口類(lèi)型;適用于單、多處理器結構或分布式網(wǎng)絡(luò )結構;適用于多種網(wǎng)絡(luò )機制。

VISA的I/O的軟件庫的源程序是唯一的,其與操作系統及編程語(yǔ)言無(wú)關(guān),只是提供了標準形式的API文件作為系統的輸出。

1.2 VISA庫中的串口函數

本文用到的主要的串口通訊函數調用路徑為:Functions→Instrument I/O→VISA→VISA Advanced→Interface→Specific→Serial中。

1) VISA Configure Serial Port節點(diǎn)(如圖2所示)

基于LabVIEW與凌陽(yáng)SPCE061A實(shí)現串口數據采集

圖2 VISA Configure Serial Port.vi圖標及其端口

該節點(diǎn)主要用于串口的初始化。主要參數意義如下:

VISA resource name:設置串口號。

baud rate:設置波特率,默認值為9600。

data bits:設置數據位。該位應在5~8之間,默認值為8。

parity:奇偶校驗位,默認值為無(wú)校驗、偶校驗等。

stop bits:設置停止位,可以為1、1.5、2。

flow control:用于設置握手信號類(lèi)型。

2) VISA Read節點(diǎn)(如圖3所示)

圖3 VISA Read.vi 圖標及其端口

該節點(diǎn)為串口讀子VI,為本文中的主要節點(diǎn),將串口中的數據讀出,然后利用LabVIEW的強大數據處理功能對其進(jìn)行分析處理。主要參數意義如下:

VISA resource name:設置串口號。

byte count:設置讀取字節數。

read buffer:從串口讀取的字符。

由于LabVIEW的串行通訊子VI只允許對字符串的讀寫(xiě),因此本文中在進(jìn)行數據處理時(shí),必須要實(shí)現字符串與數字之間的正確轉換。此外,若要讀入當前串口中的所有字符,則要先執行“VISA Bytes at Serial Port”子VI,用以確定將要讀入的確切的字節數,然后將其輸出作為VISA Read節點(diǎn)的輸入即可。

2 SPCE061A數據采集與串口通訊部分設計

2.1硬件部分

SPCE061A內置8通道10位模-數轉換器,其中7個(gè)通道用于將模擬量信號 (例如電壓信號) 轉換為數字量信號, 可以直接通過(guò)引線(xiàn)(IOA[0~6])輸入。另外一個(gè)通道只用于語(yǔ)音輸入,即通過(guò)內置自動(dòng)增益控制放大器的麥克風(fēng)通道(MIC_IN)輸入。實(shí)際上可以把模數轉換器(ADC,Analog to Digital Converter)看作是一個(gè)實(shí)現模/數信號轉換的編碼器。在A(yíng)DC內,由數模轉換器DAC0和逐次逼近寄存器SAR組成逐次逼近式模-數轉換器。另外,SPCE061A內置UART模塊,UART模塊提供了一個(gè)全雙工標準接口,用于完成SPCE061A與外設之間的串行通訊。借助于IOB口的特殊功能和UART IRQ中斷,可以同時(shí)完成UART接口的接收和發(fā)送數據的過(guò)程。UART模塊的接收管腳Rx和Tx分別與IOB7和IOB10共用。

本電路采用RS-232串行接口標準,在電氣特性上,RS-232采用負邏輯,要求高低兩信號間有較大的幅度,標準為:邏輯“1”在 -5V~-15V之間,邏輯“0”在+5V~+15V之間,通常采用-1V左右為邏輯1,+10V左右為邏輯0。本電路采用符合RS-232標準的驅動(dòng)芯片MAX232EPE實(shí)現此轉換。由于SPCE061A的信號輸入輸出為T(mén)TL電平,邏輯1為3.3V左右,邏輯0為0.4V左右,而MAX232EPE 要求+5V供電,因此,在 MAX232EPE和SPCE061A之間加了電平匹配電路。

整個(gè)電路接口簡(jiǎn)單,可靠性高。硬件部分原理圖如圖5所示

圖5 硬件原理圖

2.2軟件部分

LabVIEW軟件與串口實(shí)現數據通訊的程序圖,如圖6所示,由于SPCE061A發(fā)送給Labview的是字符串數據,所以先把該字符串轉換為字符數組,然后通過(guò)一個(gè)數組索引指定數組的第一個(gè)字符顯示并形成波形。

圖6. LabVIEW串口通訊程序圖

單片機SPCE061A利用通用串行接口UART實(shí)現串口通訊部分程序:

//************************主程序*****************************************//

L_ResendData:

L_Check_TxRDY:

R2 = [P_UART_Command2];

R2 = 0x0040; //檢測輸出是否READY

JZ L_Check_RxRDY; //發(fā)送8位十六進(jìn)制數cc

R1 = [recFlag];

CMP R1,0x0000; //是否接收過(guò)數據

JZ L_Check_RxRDY;

[P_UART_Data] = R4; //發(fā)送數據

R1 = 0x0000; [recFlag] = R1;

L_Check_RxRDY:

R2 = [P_UART_Command2]; //檢測是否有數據接收

R2 = 0x0080;

JZ L_Check_RxRDY;

R4 = [P_UART_Data]; //接收數據

R1 = 0x0001;

[recFlag] = R1; //設置接收標識符

goto L_ResendData;

3.應用實(shí)例

如圖7所示,利用該數據采集系統進(jìn)行一溫度數據的采集,在圖5的硬件原理圖中,將鉑熱電阻PT100測得的溫度電壓值(該測溫電路由電壓跟隨和電壓放大電路組成)送入到SPCE061A的IOA4端口,通過(guò)該路AD轉換通道,將電壓值經(jīng)過(guò)數據處理后轉換為16進(jìn)制數據值,并將處理后的溫度數據通過(guò)串口發(fā)送給LabVIEW,經(jīng)過(guò)分析對比PT100鉑電阻準確的溫度曲線(xiàn)與所測得的溫度曲線(xiàn)可以得出在該溫度采集系統的軟件編程過(guò)程中應該對AD轉換后的數據乘以一個(gè)多大的溫度系數以及在分段溫度系數的情況下得出溫度系數轉折點(diǎn),使處理后的所得的溫度數值盡可能的接近真實(shí)溫度值。

4 結論

LabVIEW作為一個(gè)具有良好開(kāi)放性的虛擬儀器開(kāi)發(fā)平臺,為面向儀器的編程提供了強有力的支持,在LabVIEW環(huán)境下能夠開(kāi)發(fā)出各種功能強大、開(kāi)放性好的虛擬儀器軟件,構造出實(shí)用的計算機輔助測試、分析與控制系統。本文利用SPCE061A進(jìn)行前端數據采集,通過(guò)串口實(shí)現與LabVIEW的數據通訊,利用LabVIEW的強大信號分析處理功能,開(kāi)發(fā)了一套投資少、操作簡(jiǎn)便的數據采集與信號分析系統。實(shí)驗證明,該系統運行良好。

參考文獻

[1]LabVIEW User Manual.USA: National Instruments Corporation.1998

[2]楊樂(lè )平等.LabVIEW程序設計與應用.電子工業(yè)出版社,2001

[3]劉君華等.虛擬儀器圖形化編程語(yǔ)言L(fǎng)abVIEW教程.西安電子科技大學(xué)出版社,2001

[4] 李晶皎. 嵌入式語(yǔ)音技術(shù)及凌陽(yáng)16位單片機應用. 北京航天航空大學(xué)出版. 2003

模數轉換器相關(guān)文章:模數轉換器工作原理




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>