摘 要: 為滿足在某些惡劣實驗環境條件下數據的高精度采集、海量存儲以便事后分析的需要,設計出了以MSP430F1611單片機為主控單元,采用16位高精度A/D轉換芯片ADS1146實現數據采集;利用大容量TF存儲卡實現數據的海量存儲,并通過并口轉USB芯片及相應的上位機軟件實現數據上傳以便進行事后分析。目前,該數據采集存儲系統已在相關實驗項目中得到應用,并獲得了良好穩定的實驗結果。
關鍵詞: 數據采集與存儲; MSP430F1611; 上位機; 數據上傳
中圖分類號: TN919?34 文獻標識碼: A 文章編號: 1004?373X(2013)08?0128?02
0 引 言
隨著信息技術的發展,特別是各種數字處理器件處理速度的提高,實現海量實時數據處理已成為現實。但是,在一些惡劣實驗環境條件下,數據無法實現實時處理,仍需用到存儲測試的方法。
存儲測試是指在對被測對象無影響或影響在允許范圍條件下,在被測體內置入微型存儲測試系統,現場實時完成數據采集與存儲,事后對存儲器進行回收,由上位機處理和再現被測信息的一種動態測試技術。
針對具體情況,本文設計出了基于MSP430F1611單片機高精度海量數據采集與存儲系統[1?2]。該系統以MSP430F1611單片機為主控單元,采用16位高精度A/D轉換芯片ADS1146以及2 GB容量的TF存儲卡實現數據的高精度采集與指定塊存儲;上位機與單片機之間通過并口轉USB芯片FT245相連接,其中TF存儲卡指定塊數據的讀取以及塊數據的擦除操作均是由采用LabVIEW編寫的上位機程序所完成[3]。因此,用戶可以在某些惡劣實驗環境下簡單方便地完成海量高精度數據的采集存儲以及事后處理。同時系統具有大容量、高精度、低功耗以及體積小的特點。
1 系統設計
1.1 單片機基本系統
單片機基本系統是整個控制系統的核心,它完成整個系統的信號處理和協調控制[4]。其結構框圖如圖1所示,它的主要工作是上電之后進行初始化操作,設置采樣周期,啟動A/D采樣電路,讀取采樣數據,并將其臨時存儲在自身的RAM存儲區中,當存儲的數據達到一定量時將其存入指定的TF存儲卡數據塊中;數據采集存儲完畢后,將單片機與上位機相連接,當接收到上位機發送的TF存儲卡塊數據的讀取指令時即將相應塊數據上傳至上位機并存儲為指定類型的轉向文件;此外上位機向單片機發送TF存儲卡擦除指令時,在用戶界面會彈出是否確認擦除指定塊對話框以再次確定所需擦出的塊從而防止誤擦除。
本系統中心控制單元選擇TI公司生產的16位低功耗單片機MSP430F1611[5]。該芯片工作電壓范圍為1.8~3.6 V,具有48 KB+256 B的FLASH MEMORY以及10 KB的RAM,豐富的片上外圍模塊,如定時器A,B(timer A,timer B),48個可編程I/O,以及串口0,1(UART0,1),因此能較好地滿足系統設計需求。
1.2 A/D采樣電路[6]
選擇16位高精度A/D轉換芯片ADS1146,其與單片機的連接電路如圖2所示。
ADS1146與單片機之間選擇為三線SPI通信模式,即單片機P3.1~P3.3引腳選擇為第二功能: SIMO0,SOMI0和UCLK0,通過初始化相應寄存器設置其數據傳輸速率以及可編程增益放大器的增益值,此時即可編程檢測P3.1引腳是否為低電平,如果為低,則向單片機U0TXBUF寄存器寫入0001 001X,啟動單次讀RDATA模式,接著再向單片機U0TXBUF寫入兩個NOP指令,同時將本次操作單片機所得到的U0RXBUF高字節數據MSB放入事先定義好的整型數據的高8位,將其低字節數據LSB放入該整型數據的低8位。
1.3 TF存儲卡[7?8]
TF存儲卡的作用主要是存儲數據。具體實現過程為:讀取A/D采樣數據,并將其臨時存儲在單片機的RAM存儲區中,當存儲的數據達到一定量時將其存入指定的TF存儲卡數據塊中,以此往復,直至完成TF存儲卡預定數據塊的存儲。本系統采用2 GB容量的SanDisk生產的TF存儲卡,它特別適用于具有大容量數據儲存要求的數據采集存儲系統。TF存儲卡與MSP430F1611的連接電路如圖3所示。
TF存儲卡體積為 15 mm×11 mm×1 mm,相當于手指甲蓋的大小,且包括SD協議和SPI協議2種總線模式,本系統總線模式是通過COM0指令將其設置為SPI模式,同時設置單片機UART相應的控制寄存器并且選擇P5.1~P5.3引腳第二功能SIMO1,SOMI1以及UCLK1,此外TF存儲卡初始化、單塊讀、單塊寫以及擦出操作分別調用COM1,COM17,COM24以及COM38指令及其相應步驟來完成。
1.4 與上位機通信
FT245是FTDI公司的一款并行FIFO雙向數據傳輸的USB芯片,本系統中USB通信方式如圖4所示,其中FT245向MSP430F1611單片機提供8位并行數據總線D0~D7,通過在上位機上安裝VCP驅動程序將其轉換為虛擬串口[9]。
上位機軟件是基于LabVIEW的VISA(Virtual Instrument Software Architecture)接口模塊開發而成,VISA是應用于儀器編程的標準I/O應用程序接口,是工業界通用的儀器驅動器標準應用程序接口(API),采用面向對象編程,具有很好的兼容性、擴展性和獨立性[10?11]。使用其開發的上位機用戶界面如圖5所示,當數據采集存儲完畢后,可選擇讀取數據功能,此時單片機將讀取TF存儲卡中相應塊內所存數據,以串行方式發送到上位機,并存為轉向文件.txt,以便進行數據的事后分析。
2 結 語
本系統很好地解決了在某些惡劣實驗環境條件下,數據的高精度采集海量存儲以便事后分析的問題。此外當數據采集存儲完畢后,用戶可以通過上位機軟件讀取數據指令獲取TF存儲卡中相應塊內所存數據.txt文檔,通過調用Matlab即可對數據做進一步的分析。同時該系統具有體積小、功耗低的優點。
參考文獻
[1] 李廣弟,朱月秀,王秀山.單片機基礎(修訂本)[M].北京:北京航空航天大學出版社,2001.
[2] 何小艇.電子系統設汁[M].杭州:浙江大學出版社,2001.
[3] 鄭對元.精通LabVIEW虛擬儀器程序設計[M].北京:清華大學出版社,2012.
[4] 鐘多就,譚志楊,張久偉,等.基于MSP430的低功耗水中低頻信號采集系統[J].船海工程,2008,37(5):99?101.
[5] TI. MSP430x1xx family user’s guide [M]. US: TI, 2006.
[6] TI. 16?bit analog?to?digital converters for temperature [M]. US: TI, 2009.
[7] 劉素花,龔德俊,徐永平,等.SD卡在海洋數據存儲中的應用[J].海洋科學,2009(3):16?20.
[8] 張云,惠曉威,肖迎杰.基于ARM的嵌入式文件系統研究與設計[J].計算機系統應用,2010,19(3):229?232.
[9] 孫立輝,劉院英,和志強.基于FT245BM和FPGA的USB接口設計[J].微計算機信息,2006,22(5):191?193.
[10] 戴鵬,劉劍,符曉,等.基于TMS320F2812與LabVIEW的串口通信[J].計算機工程,2009,35(4):94?96.
[11] 鄭波祥,袁贛南,劉建峰.基于LabVIEW 與DSP 串口的數據采集系統[J].微計算機信息,2004,20(2):45?46.