基于MSP430單片機的數據采集系統
1 引 言
在科學(xué)研究及其他各種領(lǐng)域中,數據采集和監測已經(jīng)成為日益重要的檢測技術(shù)。
本文引用地址:http://dyxdggzs.com/article/81518.htm在許多工業(yè)測控機械、醫療儀器以及消費電子產(chǎn)品中,都對數據采集系統的實(shí)時(shí)性與功耗提出了更高的要求:即在滿(mǎn)足微功耗、微型化的總體設計原則的基礎上,又要能實(shí)時(shí)反映現場(chǎng)采集數據的變化。這就對系統的功耗、采樣速度、數據存儲和傳輸速度等提出了更高的要求。然而,隨著(zhù)半導體與微控制器技術(shù)的飛速發(fā)展,各種微電子器件性能不斷提升,功耗卻不斷降低。技術(shù)的進(jìn)步使得高速度、低功耗的數據采集系統得以實(shí)現。
本文設計的數據采集與顯示系統采用 TI公司研制的MSP430系列超低功耗單片機作為核心控制元件,實(shí)現了數據的高速采集與顯示。
系統主要特點(diǎn):
功耗低 所有器件均采用低功耗器件全速工作時(shí),總體功率小到1W。
速度高 由于單片機內置DMA控制器,可以顯著(zhù)提高系統的速度。
2 系統硬件結構
系統在兼顧成本的同時(shí),盡量采用集成度高、功耗低、速度快的器件。系統結構如圖1所示。
![]() |
核心采用MSP430F169單片機,MSP430系列單片機是TI公司研發(fā)的16位超低功耗單片機,非常適合各種功率要求低的場(chǎng)合。MSP430F169單片機全部單周期指令,速度高,內部自帶的12化A/D和DMA控制單元可以分別為系統采樣電路和數據傳輸部分采用,使得系統的硬件電路更加集成化、小型化。
系統的顯示部分采用點(diǎn)陣式LCD,實(shí)現對現場(chǎng)采集數據波形的實(shí)時(shí)監測。LCD選用最新COG技術(shù)的點(diǎn)陣式單色黑白LCD,3.3 V 工作電壓,內部自帶顯示控制器。他的特點(diǎn)是體積小,厚度僅為2 mm;功耗低,不用時(shí)可進(jìn)入睡眠模式;速度快,指令操作周期<1 μs;外圍電路簡(jiǎn)單,只須外接幾個(gè)電容即可,特別適合于數字化儀表、便攜式儀表及智能化家電和嵌入式應用系統中,他的核心控制器采用三星公司的S6B0724芯片,可以直接與單片機進(jìn)行8位并行或串行通信,具有很高的爽活性。
3 系統各模塊介紹及軟件設計
限于篇幅,僅對系統幾個(gè)主要模塊的功能與工作過(guò)程做介紹。
3.1 A/D模塊及其子程序設計
MSP430F169內部的ADC12模塊能夠實(shí)現12位精度的模數轉換,具有高速和通用的特性。其主要特點(diǎn)有:12位轉換精度;內置采樣與保持電路;有多種時(shí)鐘源可提供給ADC12模塊,且模塊本身內置時(shí)鐘發(fā)生器;內置溫度傳感器;配有8路外部通道與4路內部通道;內置參考電源,且參考電壓有6種可編程的組合;模數轉換有4種模式,可靈活應用以節省軟件量及時(shí)間;可以關(guān)閉ADC12模塊以節省系統能耗。
本次實(shí)驗ADC12時(shí)鐘源選擇為MCLK=8 MHz,采樣頻率最大可以達到200 k/s,采用單通道多次轉換模式。限于篇幅,僅給出ADC12初始化子程序:
![]() |
3.2 DMA模塊及其程序設計
DMA(Direct Memory Access)是直接存儲器訪(fǎng)問(wèn)的意思。DMA控制器不需要CPU的干預即可提供最先進(jìn)的可配置的數據傳輸能力,從而可以解放CPU,使其不是將更多的時(shí)間浪費在等待上,而是將更多的時(shí)間用于處理數據。DMA控制器可在內存與內部及外部硬件之間進(jìn)行精確的傳輸控制。DMA消除了數據傳輸延遲時(shí)間以及CPU等待等各種開(kāi)銷(xiāo),從而提高了MCU利用率,使信號處理能力更強。
MSP430F169的DMA控制器具有如下特性:
(1)擁有3個(gè)獨立的DMA通道。
(2)可以配置通道的優(yōu)先權。
(3)每個(gè)字/字節傳送只需要2個(gè)MCLK時(shí)鐘周期。
(4)字節和字可以混合傳送:字節到字節、字節到字、字到字節、字到字。
(5)可配置多種觸發(fā)源。
(6)可配置DMA觸發(fā)方式:邊沿觸發(fā)或電平觸發(fā)。
(7)4種尋址模式:固定地址到固定地址、固定地址到塊地址、塊地址到固定地址、塊地址到塊地址。
當A/D在單通道上執行時(shí),ADC12IFGx標志置位表示轉化結束繼而觸發(fā)DMA操作,同時(shí)將A/D轉換后的數據存儲到定義在RAM中的數組r_data[]。采用DMA通道0進(jìn)行數據傳輸時(shí)的初始化程序如下所示:
![]() |
3.3 單片機與LCD的接口設計
由于此CPU與LCD均采為3.3 V 工作電壓,因此單片機與LCD之間的接口不存在電平匹配問(wèn)題,由于顯示器只需要接受指令,所以不需要大功率驅動(dòng),因此單片機可以直接與LCD連接。單片機I/O引腳豐富,為了提高顯示速度,采用并行接口,單片機的P4口與P5口的三根線(xiàn)分別作為數據線(xiàn)和控制線(xiàn)與LCD相連接,接口電路如圖2所示。
|
LCD接口是一種任務(wù)寄存器結構,所有輸入輸出操作均通過(guò)讀寫(xiě)相應寄存器來(lái)完成。按功能分為控制寄存器和數據寄存器,通過(guò)讀寫(xiě)控制寄存器,控制顯示器工作的方式與顯示方式等。數據寄存器是單片機與LCD進(jìn)行數據交換的寄存器,用以改變LCD中顯存的內容,從而改變最終顯示的內容。
軟件初始化流程圖如圖3所示。
|
3.4 圖形顯示程序設計
為了保證顯示的及時(shí)性與連續性,同時(shí)不能超出單片機速度限制和程序容量限制,系統中顯示部分的軟件設計就顯得比較重要,所以程序設計要從算法的時(shí)間復雜度和空間復雜度綜合考慮。
相對于現在的PC機,單片機的速度還是比較低的,若采用復雜曲線(xiàn)插補算法,CPU的速度顯然是不夠的,所以波形曲線(xiàn)的畫(huà)法采用逐點(diǎn)畫(huà)直線(xiàn)的方式實(shí)現,即相鄰兩點(diǎn)之間采用畫(huà)一條直線(xiàn),雖然波形稍有失真,但可以保證速度。對顯示曲線(xiàn)的線(xiàn)寬、線(xiàn)形等也不予設置以節省CPU的計算量。
生成直線(xiàn)的算法中,又有逐點(diǎn)比較法、數值微分法和Bresenham算法等,而各種算法的計算量又與具體顯示設備和顯示數據有關(guān)系。本系統采用了128×64點(diǎn)陣的顯示器,屏幕比較??;同時(shí)由于數據在X軸方向的增長(cháng)是一種固定關(guān)系,直線(xiàn)的長(cháng)度最大為64點(diǎn)(Y軸方向),且只存在從左下到右上和從左上到右下兩種情況。經(jīng)過(guò)理論分析與試驗驗證,我們采用了改進(jìn)的數值微分算法,即直線(xiàn)每向下一步,按照要畫(huà)直線(xiàn)的斜率計算下一點(diǎn)的位置,這樣一步一步逼近直線(xiàn)。X方向主動(dòng)遞增時(shí)的公式如下:
![]() |
其中:dy/dx為要畫(huà)直線(xiàn)的斜率;xi為X方向增量;yi為Y方向坐標點(diǎn)。
所有值采用整數運算,以達到節省計算量的目的,缺點(diǎn)是圖形失真度較大。
限于篇幅,給出畫(huà)直線(xiàn)的程序框圖見(jiàn)圖4。
![]() |
4 實(shí) 驗
利用該系統對一種振動(dòng)信號進(jìn)行采集。并觀(guān)察顯示波形圖的變化,驗證了在保證畫(huà)圖實(shí)時(shí)性要求的前提下系統能夠達到其最高采樣頻率。圖5為本系統采集的一個(gè)實(shí)際振動(dòng)信號隨著(zhù)時(shí)間變化的波形圖。
![]() |
5 結 語(yǔ)
實(shí)驗表明以MSP430F169單片機實(shí)現的數據采集系統,具有體積小、結構簡(jiǎn)單、功耗低、速度快等優(yōu)點(diǎn),不僅可以實(shí)現單通道、單波形顯示,而且可以通過(guò)修改軟件實(shí)現多通道數據采集系統。該系統可以推廣到對多種振動(dòng)信號和電壓信號采集中去。
評論