新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于LabVIEW與凌陽SPCE061A實現串口數據采集

        基于LabVIEW與凌陽SPCE061A實現串口數據采集

        作者: 時間:2012-01-31 來源:網絡 收藏

        引言

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

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

        1 LabVIEW部分設計

        1.1 VISA簡介

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

        (a)VISA內部機制

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


        圖1

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

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

        1.2 VISA庫中的串口函數

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

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

        基于LabVIEW與凌陽SPCE061A實現串口數據采集

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

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

        VISA resource name:設置串口號。

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

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

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

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

        flow control:用于設置握手信號類型。

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

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

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

        VISA resource name:設置串口號。

        byte count:設置讀取字節數。

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

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

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

        2.1硬件部分

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

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

        整個電路接口簡單,可靠性高。硬件部分原理圖如圖5所示

        圖5 硬件原理圖

        2.2軟件部分

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

        圖6. LabVIEW串口通訊程序圖

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

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

        L_ResendData:

        L_Check_TxRDY:

        R2 = [P_UART_Command2];

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

        JZ L_Check_RxRDY; //發送8位十六進制數cc

        R1 = [recFlag];

        CMP R1,0x0000; //是否接收過數據

        JZ L_Check_RxRDY;

        [P_UART_Data] = R4; //發送數據

        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.應用實例

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

        4 結論

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

        參考文獻

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

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

        [3]劉君華等.虛擬儀器圖形化編程語言LabVIEW教程.西安電子科技大學出版社,2001

        [4] 李晶皎. 嵌入式語音技術及凌陽16位單片機應用. 北京航天航空大學出版. 2003

        模數轉換器相關文章:模數轉換器工作原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 麻阳| 福州市| 芦溪县| 邢台县| 司法| 郸城县| 扎鲁特旗| 霸州市| 巴中市| 肃北| 遂川县| 青田县| 铅山县| 分宜县| 阜宁县| 建宁县| 滁州市| 林口县| 顺昌县| 江城| 册亨县| 信宜市| 吉林省| 平陆县| 怀化市| 洪洞县| 开江县| 乌兰浩特市| 朝阳县| 九龙县| 庆安县| 织金县| 唐海县| 夏邑县| 吐鲁番市| 木兰县| 仁布县| 扎鲁特旗| 菏泽市| 长宁县| 贵定县|