引言
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所示。
圖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將不斷閃爍。
圖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所示。
圖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所示。
圖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