引言
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è)測(cè)試系統(tǒng)中是一個(gè)很重要的環(huán)節(jié),,其精確性和可靠性是至關(guān)重要的,MSP430和USB為此提供了理想的解決方案,。本文以瀝青橋面防水層檢測(cè)儀為背景,,闡述了基于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í)在瀝青橋面測(cè)試現(xiàn)場(chǎng)存在著很多車輛噪聲和工頻信號(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ù)為:。其中為特征角頻率,。
由于傳感器測(cè)量的是拉,、壓力信號(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é)語
橋面防水層測(cè)試儀對(duì)橋面瀝青和水泥之間的防水層的測(cè)試包括拉拔,、撕裂、剪切等試驗(yàn),,本系統(tǒng)將三種試驗(yàn)的電氣硬件部分通用化,,通過上位機(jī)軟件的設(shè)置對(duì)不同試驗(yàn)的數(shù)據(jù)進(jìn)行相應(yīng)的解封裝、顯示和處理分析,。在瀝青橋面測(cè)試現(xiàn)場(chǎng)中,,由于天氣,、溫度、濕度等一些不確定的因素,,對(duì)測(cè)試結(jié)果造成了一定的影響,,這就要求測(cè)試周期應(yīng)盡量短,試驗(yàn)點(diǎn)應(yīng)盡量多,,高速,、實(shí)時(shí)、便攜式,、多通道測(cè)試儀的優(yōu)點(diǎn)在此得到了充分的體現(xiàn),。試驗(yàn)表明,該系統(tǒng)應(yīng)用到拉拔儀,、剪切儀試驗(yàn)中,用戶界面友好,,操作簡便,,測(cè)試的精度、速度以及系統(tǒng)的可靠性完全滿足要求,。
參考文獻(xiàn):
1. TEXAS INSTRUMENTS. MSP430x14x MIXED SIGNAL MICROCONTROLLER. 2001
2. ANALOG DEVICES. AD620 data sheet. 1999