基于單片機(jī)的高精度海量數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)
摘要:為滿足在某些惡劣實(shí)驗(yàn)環(huán)境條件下數(shù)據(jù)的高精度采集。海量存儲(chǔ)以便事后分析的需要,設(shè)計(jì)出了以MSP430F1611單片機(jī)為主控單元,采用16位高精度A/D轉(zhuǎn)換芯片ADS1146實(shí)現(xiàn)數(shù)據(jù)采集;利用大容量TF存儲(chǔ)卡實(shí)現(xiàn)數(shù)據(jù)的海量存儲(chǔ),并通過(guò)并口轉(zhuǎn)USB芯片及相應(yīng)的上位機(jī)軟件實(shí)現(xiàn)數(shù)據(jù)上傳以便進(jìn)行事后分析。目前,該數(shù)據(jù)采集存儲(chǔ)系統(tǒng)已在相關(guān)實(shí)驗(yàn)項(xiàng)目中得到應(yīng)用,并獲得了良好穩(wěn)定的實(shí)驗(yàn)結(jié)果。
0 引言
隨著信息技術(shù)的發(fā)展,特別是各種數(shù)字處理器件處理速度的提高,實(shí)現(xiàn)海量實(shí)時(shí)數(shù)據(jù)處理已成為現(xiàn)實(shí)。但是,在一些惡劣實(shí)驗(yàn)環(huán)境條件下,數(shù)據(jù)無(wú)法實(shí)現(xiàn)實(shí)時(shí)處理,仍需用到存儲(chǔ)測(cè)試的方法。
存儲(chǔ)測(cè)試是指在對(duì)被測(cè)對(duì)象無(wú)影響或影響在允許范圍條件下,在被測(cè)體內(nèi)置入微型存儲(chǔ)測(cè)試系統(tǒng),現(xiàn)場(chǎng)實(shí)時(shí)完成數(shù)據(jù)采集與存儲(chǔ),事后對(duì)存儲(chǔ)器進(jìn)行回收,由上位機(jī)處理和再現(xiàn)被測(cè)信息的一種動(dòng)態(tài)測(cè)試技術(shù)。
針對(duì)具體情況,本文設(shè)計(jì)出了基于MSP430F1611單片機(jī)高精度海量數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)。該系統(tǒng)以MSP430F1611單片機(jī)為主控單元,采用16位高精度A/D轉(zhuǎn)換芯片ADS1146 以及2 GB 容量的TF 存儲(chǔ)卡實(shí)現(xiàn)數(shù)據(jù)的高精度采集與指定塊存儲(chǔ);上位機(jī)與單片機(jī)之間通過(guò)并口轉(zhuǎn)USB 芯片F(xiàn)T245 相連接,其中TF 存儲(chǔ)卡指定塊數(shù)據(jù)的讀取以及塊數(shù)據(jù)的擦除操作均是由采用Lab-
VIEW 編寫(xiě)的上位機(jī)程序所完成。因此,用戶可以在某些惡劣實(shí)驗(yàn)環(huán)境下簡(jiǎn)單方便地完成海量高精度數(shù)據(jù)的采集存儲(chǔ)以及事后處理。同時(shí)系統(tǒng)具有大容量。高精度。低功耗以及體積小的特點(diǎn)。
1 系統(tǒng)設(shè)計(jì)
1.1 單片機(jī)基本系統(tǒng)
單片機(jī)基本系統(tǒng)是整個(gè)控制系統(tǒng)的核心,它完成整個(gè)系統(tǒng)的信號(hào)處理和協(xié)調(diào)控制。其結(jié)構(gòu)框圖如圖1所示,它的主要工作是上電之后進(jìn)行初始化操作,設(shè)置采樣周期,啟動(dòng)A/D采樣電路,讀取采樣數(shù)據(jù),并將其臨時(shí)存儲(chǔ)在自身的RAM 存儲(chǔ)區(qū)中,當(dāng)存儲(chǔ)的數(shù)據(jù)達(dá)到一定量時(shí)將其存入指定的TF存儲(chǔ)卡數(shù)據(jù)塊中;數(shù)據(jù)采集存儲(chǔ)完畢后,將單片機(jī)與上位機(jī)相連接,當(dāng)接收到上位機(jī)發(fā)送的TF存儲(chǔ)卡塊數(shù)據(jù)的讀取指令時(shí)即將相應(yīng)塊數(shù)據(jù)上傳至上位機(jī)并存儲(chǔ)為指定類型的轉(zhuǎn)向文件;此外上位機(jī)向單片機(jī)發(fā)送TF存儲(chǔ)卡擦除指令時(shí),在用戶界面會(huì)彈出是否確認(rèn)擦除指定塊對(duì)話框以再次確定所需擦出的塊從而防止誤擦除。
本系統(tǒng)中心控制單元選擇TI公司生產(chǎn)的16位低功耗單片機(jī)MSP430F1611[5]?該芯片工作電壓范圍為1.8~3.6 V,具有48 KB+256 B的FLASH MEMORY 以及10 KB 的RAM,豐富的片上外圍模塊,如定時(shí)器A,B(timer A,timer B),48 個(gè)可編程I/O,以及串口0,1(UART0,1),因此能較好地滿足系統(tǒng)設(shè)計(jì)需求。
1.2 A/D采樣電路
選擇16 位高精度A/D 轉(zhuǎn)換芯片ADS1146,其與單片機(jī)的連接電路如圖2所示。
ADS1146與單片機(jī)之間選擇為三線SPI通信模式,即單片機(jī)P3.1~P3.3 引腳選擇為第二功能:SIMO0,SOMI0和UCLK0,通過(guò)初始化相應(yīng)寄存器設(shè)置其數(shù)據(jù)傳輸速率以及可編程增益放大器的增益值,此時(shí)即可編程檢測(cè)P3.1 引腳是否為低電平,如果為低,則向單片機(jī)U0TXBUF 寄存器寫(xiě)入0001 001X,啟動(dòng)單次讀RDATA模式,接著再向單片機(jī)U0TXBUF 寫(xiě)入兩個(gè)NOP 指令,同時(shí)將本次操作單片機(jī)所得到的U0RXBUF 高字節(jié)數(shù)據(jù)MSB放入事先定義好的整型數(shù)據(jù)的高8位,將其低字節(jié)數(shù)據(jù)LSB放入該整型數(shù)據(jù)的低8位。
評(píng)論