《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于MSP430和USB的數(shù)據(jù)采集系統(tǒng)
基于MSP430和USB的數(shù)據(jù)采集系統(tǒng)
摘要: MSP430系列單片機(jī)是由美國TI公司生產(chǎn)的新一代16位單片機(jī),它具有處理能力強(qiáng),運(yùn)行速度快、資源豐富、開發(fā)方便等優(yōu)點(diǎn),具有很高的性價(jià)比,最近幾年在國內(nèi)得到了很廣泛的應(yīng)用。通用串行總線(USB)是現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢(shì),它具有高速、可熱插拔、易擴(kuò)展、接口通用、無需外接電源等優(yōu)點(diǎn)在數(shù)據(jù)傳輸方面得到和廣泛的應(yīng)用。數(shù)據(jù)采集在工業(yè)測試系統(tǒng)中是一個(gè)很重要的環(huán)節(jié),其精確性和可靠性是至關(guān)重要的,MSP430和USB為此提供了理想的解決方案。本文以瀝青橋面防水層檢測儀為背景,闡述了基于MSP430和USB的數(shù)據(jù)采集系統(tǒng)。
Abstract:
Key words :

       引言

       MSP430系列單片機(jī)是由美國TI公司生產(chǎn)的新一代16位單片機(jī),它具有處理能力強(qiáng),運(yùn)行速度快、資源豐富、開發(fā)方便等優(yōu)點(diǎn),具有很高的性價(jià)比,最近幾年在國內(nèi)得到了很廣泛的應(yīng)用。通用串行總線(USB)是現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢(shì),它具有高速、可熱插拔、易擴(kuò)展、接口通用、無需外接電源等優(yōu)點(diǎn)在數(shù)據(jù)傳輸方面得到和廣泛的應(yīng)用。數(shù)據(jù)采集在工業(yè)測試系統(tǒng)中是一個(gè)很重要的環(huán)節(jié),其精確性和可靠性是至關(guān)重要的,MSP430和USB為此提供了理想的解決方案。本文以瀝青橋面防水層檢測儀為背景,闡述了基于MSP430和USB的數(shù)據(jù)采集系統(tǒng)。

 

       系統(tǒng)硬件設(shè)計(jì)

       本系統(tǒng)采用TI公司的MSP430F149和PHILIPS公司的USB接口芯片PDIUSBD12。PDIUSBD12符合通用串行總線USB1.1規(guī)范,是一款

 

高性能的USB接口器件,它集成了SIE、FIFO存儲(chǔ)器、收發(fā)器和電壓變換器。SIE完成USB協(xié)議層,并完成高速硬件連接,無需軟件干預(yù)。此模塊功能包括:同步模式識(shí)別、并串轉(zhuǎn)換、位填充、解填充、CRC校驗(yàn)/產(chǎn)生、地址識(shí)別和握手相應(yīng)/產(chǎn)生等。MSP430F149芯片片內(nèi)包括一個(gè)12位的A/D轉(zhuǎn)換器ADC12、采樣保持器和模擬多路器,ADC12與一般的ADC相比較,具有高速、通用的特點(diǎn),適合于精密的數(shù)據(jù)采集和轉(zhuǎn)換,能夠?qū)?個(gè)外部模擬通道和4個(gè)內(nèi)部電壓通道(包括內(nèi)部溫度傳感器反饋的電壓信號(hào)通道)進(jìn)行A/D轉(zhuǎn)換。ADC12還提供了高性能的采樣/保持電路,為用戶提供了更多的采樣觸發(fā)方式和轉(zhuǎn)換時(shí)鐘周期的選擇。ADC12提供了4種轉(zhuǎn)換模式:單通道單次轉(zhuǎn)換,系列通道單次轉(zhuǎn)換,單通道多次轉(zhuǎn)換,多通道多次轉(zhuǎn)換。數(shù)據(jù)采集流功能框圖如圖1所示。

數(shù)據(jù)采集功能框圖

圖1  數(shù)據(jù)采集功能框圖

       本系統(tǒng)中MSP430F149和PDIUSBD12的硬件接口電路圖如圖2所示。PDIUSBD12的8位并行數(shù)據(jù)接入MSP430的P5口,傳輸數(shù)據(jù)或者命令。MSP430的P17引腳接PDIUSBD12的A0,作為PDIUSBD12的命令或數(shù)據(jù)選擇線。當(dāng)A0=0,MSP430向PDIUSBD12發(fā)送數(shù)據(jù),當(dāng)A0=1時(shí),向PDIUSBD12發(fā)送命令。它們之間的數(shù)據(jù)交換采取中斷查詢方式,通過查詢P14(P14接PDIUSBD12的INT_N引腳)是否為低電平來確定是否接受到上位機(jī)的數(shù)據(jù)或命令,再結(jié)合D12_WR和D12_RD引腳實(shí)現(xiàn)MSP430與PDIUSBD12的數(shù)據(jù)交換。PDIUSBD12的GL_N接LED來對(duì)其進(jìn)行監(jiān)控,當(dāng)USB設(shè)備接入PC機(jī)時(shí),LED亮,當(dāng)在進(jìn)行數(shù)據(jù)傳輸時(shí),LED將不斷閃爍。

MSP430F149與PDIUSBD12接口電路圖

圖2   MSP430F149與PDIUSBD12接口電路圖

       MSP430的P6口為其ADC12模塊8個(gè)外部通道的輸入端,由于傳感器輸出的信號(hào)比較微弱,同時(shí)在瀝青橋面測試現(xiàn)場存在著很多車輛噪聲和工頻信號(hào)的干擾,傳感器采集到的數(shù)據(jù)需要經(jīng)過一定的放大和低通濾波,才能被送到MSP430的ADC12模塊進(jìn)行采集和轉(zhuǎn)換,信號(hào)調(diào)理電路如圖3所示。

信號(hào)調(diào)理電路

圖3  信號(hào)調(diào)理電路

       主放大器我們選用美國ADI公司的精密儀表放大器AD620。

       圖3中運(yùn)放U2部分組成了一個(gè)二階壓控低通有源濾波器。傳感器信號(hào)通過調(diào)節(jié)放大之后被送到濾波器的輸入端,通過濾波后將干擾部分消除。其傳遞函數(shù)為:。其中為特征角頻率。

       由于傳感器測量的是拉、壓力信號(hào),即放大濾波后輸出的電壓信號(hào)為雙極性信號(hào),范圍約為-10V~+10V,必須將它轉(zhuǎn)換為單極性信號(hào),即對(duì)信號(hào)進(jìn)行直流偏置,在此采用簡單的電阻分壓方式,如圖3所示。所需要的+2.5V電壓基準(zhǔn)可以由MSP430F149提供。

 

 

       軟件設(shè)計(jì)

       本系統(tǒng)的軟件設(shè)計(jì)主要包括單片機(jī)程序、USB驅(qū)動(dòng)程序、PC機(jī)應(yīng)用程序。單片機(jī)部分的程序也稱為固件,它包括USB設(shè)備的連接、USB協(xié)議和中斷處理等。PDIUSBD12可以按照USB1.1協(xié)議對(duì)數(shù)據(jù)進(jìn)行封裝,然后與PC機(jī)進(jìn)行數(shù)據(jù)交換。MSP430根據(jù)接受到的命令通過PDIUSBD12與PC機(jī)的應(yīng)用程序進(jìn)行交互。

       MSP430向PDIUSBD12發(fā)送數(shù)據(jù)/命令部分程序如下:

       void outportb(unsigned char port, unsigned char val)  
       { 
       P1OUT&=0xBF;            /使PDIUSBD12的WR引腳為低電平 
     &nbs

 

p; P5DIR=0xFF;              /P5口為輸出模式 
       if(port) 
       P1OUT|=A0;          /A0為高電平,傳輸命令 
       else 
       P1OUT&=~A0;         /A0為低電平,傳輸數(shù)據(jù) 
       P5OUT=val;                /向PDIUSBD12寫數(shù)據(jù) 
       P1OUT|=~0xBF;            /恢復(fù)PDIUSBD12的WR引腳為高電平 
       }

       MSP430從PDIUSBD12讀取數(shù)據(jù)的部分固件程序如下:

       unsigned char inportb(void) 
       { 
       unsigned char data="0x00"; 
       P1OUT&= 0xDF;        /使PDIUSBD12的RD引腳為低電平 
       P5DIR=0x00;         / P5口為輸入模式 
       data="P5IN";          /從PDIUSBD12讀取數(shù)據(jù) 
       P1OUT|=~0xDF;    /恢復(fù)PDIUSBD12的RD引腳為高電平 
       return i; 
       }

       MSP430中ADC12模塊提供了4種轉(zhuǎn)換模式,在此采取序列通道單次轉(zhuǎn)換模式,以方便上位機(jī)實(shí)時(shí)控制。四個(gè)通道A/D轉(zhuǎn)換只須啟動(dòng)一次,最后一個(gè)通道轉(zhuǎn)換完成后設(shè)置中斷標(biāo)志位。對(duì)轉(zhuǎn)換模式、轉(zhuǎn)換采樣時(shí)序以及轉(zhuǎn)換通道的設(shè)置如下:

       ADC12CTL0=ADC12ON+SHT0_2+MSC;     /打開ADC12并設(shè)置采樣時(shí)間 
       ADC12CTL1=SHP+CONSEQ_1;              /序列通道單次轉(zhuǎn)換模式    
    

 

   ADC12MCTL0=INCH_0;                   /選擇通道0 
       ADC12MCTL1=INCH_1;                   /選擇通道1 
       ADC12MCTL2= INCH_2;                 /選擇通道2 
       ADC12MCTL3= INCH_3+EOS;             /選擇通道3和序列結(jié)束標(biāo)志 
       ADC12CTL0|=ENC;                      /啟動(dòng)AD轉(zhuǎn)換

       整個(gè)數(shù)據(jù)采集的過程都是由PC機(jī)為中心,PC機(jī)通過向MSP430發(fā)送命令來控制A/D轉(zhuǎn)換的開始和結(jié)束。對(duì)于MSP430收到的控制數(shù)據(jù)(命令),我們?cè)诖艘?guī)定:

       字節(jié)1:0xFF----啟動(dòng)A/D轉(zhuǎn)換,0xFE----停止A/D轉(zhuǎn)換

       如果MSP430收到的數(shù)據(jù)第一個(gè)字節(jié)是0xFF,先設(shè)置標(biāo)志adflag=1,然后啟動(dòng)A/D轉(zhuǎn)換并設(shè)置相應(yīng)其他的參數(shù),當(dāng)四個(gè)通道的數(shù)據(jù)采集和轉(zhuǎn)換均完成,最后通過USB接口向PC發(fā)送采集到的數(shù)據(jù)。當(dāng)MSP430收到的數(shù)據(jù)的第一個(gè)字節(jié)是0xFE,則設(shè)置adflag=0,不啟動(dòng)A/D轉(zhuǎn)換。

       PC機(jī)端的應(yīng)用程序是VB.NET環(huán)境下開發(fā),它主要完成對(duì)采集到的數(shù)據(jù)進(jìn)行解封裝、顯示,控制整個(gè)數(shù)據(jù)采集系統(tǒng)的進(jìn)行、停止、并設(shè)置相應(yīng)的一些參數(shù),以及最后的數(shù)據(jù)分析處理工作。上位機(jī)程序框圖如圖4所示。

上位機(jī)程序框圖

圖4  上位機(jī)程序框圖

       結(jié)語

       橋面防水層測試儀對(duì)橋面瀝青和水泥之間的防水層的測試包括拉拔、撕裂、剪切等試驗(yàn),本系統(tǒng)將三種試驗(yàn)的電氣硬件部分通用化,通過上位機(jī)軟件的設(shè)置對(duì)不同試驗(yàn)的數(shù)據(jù)進(jìn)行相應(yīng)的解封裝、顯示和處理分析。在瀝青橋面測試現(xiàn)場中,由于天氣、溫度、濕度等一些不確定的因素,對(duì)測試結(jié)果造成了一定的影響,這就要求測試周期應(yīng)盡量短,試驗(yàn)點(diǎn)應(yīng)盡量多,高速、實(shí)時(shí)、便攜式、多通道測試儀的優(yōu)點(diǎn)在此得到了充分的體現(xiàn)。試驗(yàn)表明,該系統(tǒng)應(yīng)用到拉拔儀、剪切儀試驗(yàn)中,用戶界面友好,操作簡便,測試的精度、速度以及系統(tǒng)的可靠性完全滿足要求。

 

       參考文獻(xiàn):

       1.  TEXAS INSTRUMENTS. MSP430x14x MIXED SIGNAL MICROCONTROLLER. 2001
       2.  ANALOG DEVICES. AD620 data sheet. 1999

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