《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于LabVIEW與單片機(jī)串口的數(shù)據(jù)采集系統(tǒng)
基于LabVIEW與單片機(jī)串口的數(shù)據(jù)采集系統(tǒng)
摘要: 介紹一種利用單片機(jī)采集數(shù)據(jù),,LabVIEW作為開(kāi)發(fā)平臺(tái),,二者之間通過(guò)串口實(shí)現(xiàn)數(shù)據(jù)通訊的數(shù)據(jù)采集系統(tǒng),,詳細(xì)介紹了軟、硬件設(shè)計(jì)方案,。
Abstract:
Key words :

1LabVIEW部分設(shè)計(jì)
1.1VISA簡(jiǎn)介

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

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

 

    該節(jié)點(diǎn)主要用于串口的初始化,。主要參數(shù)意義如下:
        VISA resource name:VISA資源名稱(chēng),,本文指串口號(hào)。baud rate:波特率,,默認(rèn)為9600,。
        data bits:一幀信息中的位數(shù),LabVIEW中允許5~8位數(shù)據(jù),默認(rèn)值為8位,。
        stop bits:一幀信息中的停止位的位數(shù),,可為1位、1位半或2位,。
        Parity:奇偶校驗(yàn)設(shè)置,??蔀闊o(wú)校驗(yàn),、奇校驗(yàn)或偶校驗(yàn)。
        flow control:該參數(shù)數(shù)據(jù)類(lèi)型為簇,,用于串行通訊中的握手方式,。
        (2)VISA Read節(jié)點(diǎn)(圖4所示)

 

    該節(jié)點(diǎn)為串口讀子VI,為本文中的主要節(jié)點(diǎn),,將串口中的數(shù)據(jù)讀出,,然后利用LabVIEW的強(qiáng)大數(shù)據(jù)處理功能對(duì)其進(jìn)行分析處理。主要參數(shù)意義如下:
        VISA resource name:同上,。
        byte count:用于設(shè)置所要讀的字符數(shù),。由于LabVIEW的串行通訊子VI只允許對(duì)字符串的讀寫(xiě),因此本文中在進(jìn)行數(shù)據(jù)處理時(shí),,必須要實(shí)現(xiàn)字符串與數(shù)字之間的正確轉(zhuǎn)換,。此外,若要讀入當(dāng)前串口中的所有字符,,則要執(zhí)行“VISA Bytes at Serial Port”子VI,,用以確定將要讀入的確切的字節(jié)數(shù),然后將其輸出作為VISA Read節(jié)點(diǎn)的輸入即可,。
        (3)VISA Close節(jié)點(diǎn)(圖5所示)

 

    該節(jié)點(diǎn)用于將打開(kāi)的VISA資源關(guān)閉,。只有一個(gè)主要參數(shù):
        VISA resource name:意義同上。
    本文所用LabVIEW串口通訊程序的波特率為9600,,無(wú)奇偶校驗(yàn),,8位數(shù)據(jù)位,1位停止位,,禁止軟,、硬件握手。
2單片機(jī)部分設(shè)計(jì)
2.1硬件部分

        MCS-51單片機(jī)內(nèi)部有一個(gè)功能很強(qiáng)的全雙工串行口,,該串行口有4種工作方式,,波特率可用軟件設(shè)置,由片內(nèi)的定時(shí)器/計(jì)數(shù)器產(chǎn)生,,接收,、發(fā)送均可觸發(fā)中斷系統(tǒng),使用十分方便。有2個(gè)物理上獨(dú)立的接收,、發(fā)送緩沖器SBUF,,對(duì)外也有兩條獨(dú)立的收、發(fā)信號(hào)線RXD(P3.0)和TXD(P3.1),。
    本文采用RS232串行接口標(biāo)準(zhǔn),,在電氣特性上,RS232采用負(fù)邏輯,,要求高低兩信號(hào)間有較大的幅度,,標(biāo)準(zhǔn)為:邏輯“1”在-5V~-15V之間,邏輯“0”在+5V~+15V之間,,通常采用-10V左右為邏輯1,,+10V左右為邏輯0。由于MCS-51系統(tǒng)的信號(hào)輸入輸出為T(mén)TL電平,,邏輯1為3.8V左右,,邏輯0為0.4V左右,因此,,必須外接電路實(shí)現(xiàn)TTL電平到RS232電平的轉(zhuǎn)換,。本文采用MAX232E實(shí)現(xiàn)此轉(zhuǎn)換。
    采用TLC0831芯片進(jìn)行數(shù)據(jù)的采集,。TLC0831芯片為8位逐次逼近電壓型A/D轉(zhuǎn)換器,,支持單信道輸入串口輸出,極性設(shè)置固定,,不需尋址,。其主要特點(diǎn)為:8位分辨率;5V的電源提供0~5V的可調(diào)基準(zhǔn)電壓,;輸入輸出可與TTL和MOS兼容,。
    若要提高信號(hào)的采樣頻率,只需選擇轉(zhuǎn)換速度較快的A/D芯片即可,。硬件部分原理圖如圖6,。
2.2軟件部分
    下面給出單片機(jī)軟件部分的主要程序。波特率設(shè)置為9600,,用定時(shí)器1產(chǎn)生波特率,,串口工作在方式1,無(wú)奇偶校驗(yàn),。定時(shí)器0設(shè)定采樣的時(shí)間間隔,。TLC0831為A/D轉(zhuǎn)換器數(shù)據(jù)采樣子程序,SEND為單片機(jī)發(fā)送子程序,。


3結(jié)論
    本文利用單片機(jī)進(jìn)行前端數(shù)據(jù)采集,,通過(guò)串口實(shí)現(xiàn)與LabVIEW的數(shù)據(jù)通訊,,利用LabVIEW的強(qiáng)大信號(hào)分析處理功能,開(kāi)發(fā)了一套投資少,、操作簡(jiǎn)便的數(shù)據(jù)采集與信息分析系統(tǒng)(其虛擬面板如圖7所示),。實(shí)驗(yàn)證明,該系統(tǒng)運(yùn)行良好,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。