新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 嵌入式系統(tǒng)的存儲測試技術及無線傳輸應用

嵌入式系統(tǒng)的存儲測試技術及無線傳輸應用

作者: 時間:2012-03-12 來源:網絡 收藏

是在特殊環(huán)境下記錄運動物體參數(shù)的最有效的手段。本文介紹了基于ARM7 LPC21xx開發(fā)測試系統(tǒng)的方法。Philips公司16/32位微控制器LPC21xx是基于支持實時仿真和嵌入式跟蹤的16/32 位ARM7TDMIS CPU的微控制器,它具有掉電和空閑兩種節(jié)電模式,可用電池供電并且長期工作。利用微控制器內部自帶的10位A/D轉換器來采樣,用SPI與nRF24L01模塊通信。

本文引用地址:http://butianyuan.cn/article/194334.htm

引言

[1]方法是記錄在特殊環(huán)境下運動物體參數(shù)的行之有效的方法。它是先將測試數(shù)據(jù)存入存儲器,待裝置回收后通過特定接口與上位機進行通信,還原數(shù)據(jù)信息。在許多消費類電子產品中,對數(shù)據(jù)采集存儲系統(tǒng)的實時性和功耗提出了更高的要求,不僅要同時滿足低功耗和微型化設計,還要實時地反映現(xiàn)場采集數(shù)據(jù)的變化。這樣,就必須對系統(tǒng)的采樣速率、功耗等提出更高的要求。隨著半導體技術的發(fā)展,各種技術的進步使得高速度、低功耗的數(shù)據(jù)采集系統(tǒng)能夠實現(xiàn)。

本文主要使用Philips公司16/32位微控制器LPC2148[23]作為核心控制元件,通過與nRF24L01[4]結合使用,實現(xiàn)數(shù)據(jù)的采集、存儲以及發(fā)送。

1 系統(tǒng)原理

整個測試系統(tǒng)由模擬適配電路、外部晶振、微控制器、存儲器模塊、電源管理模塊、無線收發(fā)模塊以及接口電路組成,如圖1所示。

111.jpg

圖1 系統(tǒng)原理框圖

1.1 電源模塊

對電源模塊的設計是實現(xiàn)整個系統(tǒng)省電的核心部分。即電源只需要在電路各個模塊需要的時候給其供電,在不需要的時候斷電來減小系統(tǒng)的無效耗電量??梢允褂脝坞姵仉娫垂╇妼崿F(xiàn)多分枝電源網絡管理,使得系統(tǒng)各個模塊的電源相對獨立供電。但此時要注意帶電部分和不帶電部分的兼容問題。

1.2 模擬適配電路

由于由傳感器測量的信號十分微弱,需要經過適當?shù)姆糯鬄V波等修正后才能夠進行一系列處理。

1.3 微控制器

本測試系統(tǒng)選用Philips公司16/32位微控制器LPC2148作為核心控制元件。它內部自帶10位A/D轉換器,無需外加A/D轉換器,即可以減小體積,又可以節(jié)省成本。同時它還具有掉電模式和空閑模式兩種省電模式,合理設計可以減小系統(tǒng)功耗。

1.4 接口電路以及無線收發(fā)部分

本測試系統(tǒng)有兩種方法與上位機進行通信,一種是通過無線收發(fā)模塊nRF24L01來實現(xiàn),另一種是通過特定的接口電路來實現(xiàn),這樣即使部分出現(xiàn)錯誤還可以保證事后回收數(shù)據(jù)。

2 系統(tǒng)主要部分的硬件與軟件介紹

2.1 內部A/D轉換器的開發(fā)

LPC2148內部有兩個10位逐次逼近式模數(shù)轉換器,8個引腳復用為輸入腳(ADC0和ADC1),它具有掉電模式,測量范圍是0 V~VREF,10位的轉換時間≥2.44 μs,具有一個或者多個輸入的突發(fā)轉換模式,可選擇由輸入跳變或定時器匹配信號觸發(fā)轉換。它的基本時鐘由VPB(VLSI外圍總線)時鐘提供,每個轉換器包含一個可編程分頻器,可將時鐘調整至逐步逼近轉換所需的4.5 MHz(最大),完全滿足精度要求的轉換需要11個這樣的時鐘。本文用LPC2148的I/O端口來實現(xiàn),使用ADC模塊的通道3 進行電壓的測量,定義I/O端口P0.30為AD0.3,通過定時器中斷的到來而對電壓進行采樣,對ADC寄存器的設置如下:

AD0CR=(13)| //SEL=8,選擇通道3

((Fpclk/10000001)8)| //CLKDIV= Fpclk/10000001,轉換時鐘為 1 MHz

(016)| //BURST=0,軟件控制轉換操作

(017)| //CLKS=0,使用11clock轉換

(121)| //PDN=1,正常工作模式

(022)| //TEST1:0=00,正常工作模式

(124)| //START=1,直接啟動A/D轉換

(027)| //直接啟動A/D轉換時此位無效

DelayNS(10);

ADC_Data=AD0DR;//讀取A/D轉換結果,并清除DONE標志位

while(1){

AD0CR|=124; //進行第一次轉換

while((AD0STAT0x80000000)==0);//等待轉換結束

AD0CR|=124;//再次啟動轉換

while((AD0STAT0x80000000)==0);//等待轉換結束

ADC_Data=AD0DR;//讀取A/D轉換結果

}

2.2 SPI與nRF24L01模塊的通信

SPI是一個全雙工的串行接口。它設計成可以處理在一個給定總線上多個互聯(lián)的主機和從機。在給定的數(shù)據(jù)傳輸過程中,接口上只能有一個主機和一個從機進行通信。在一次數(shù)據(jù)傳輸過程中,主機總是向從機發(fā)送數(shù)據(jù)的8~16位,而從機也總是向主機發(fā)送一個字節(jié)數(shù)據(jù)。圖2 為SPI的4種不同數(shù)據(jù)的傳輸格式的時序。

22.jpg

圖2 SPI數(shù)據(jù)傳輸格式

在設置寄存器的過程中要注意CPOL為0和1時的不同以及SSEL、CPHA之間的關系。

SPI初始化的部分代碼如下:

void MSIP_Init(void){

PINSEL0=(PINSEL0(~(0xff8)))|(0x558); //設置引腳連接SPI

SPCCR=0x52;//設置SPI時鐘分頻

SPCR=(03)| //CPHA=0,數(shù)據(jù)在SCK的第一個時鐘沿采樣

(14)| //CPOL=1,SCK為低有效

(15)| //MSTR=1,SPI處于主模式

(06)| //LSBF=0,SPI數(shù)據(jù)傳輸MSB(位7)在先

(07); //SPIE=0,SPI中斷被禁止

}

33.jpg

圖3接口電路

嵌入式微控制器與NRF24L01接口電路如圖3所示。

這8個引腳分別和微控制器的GPIO口相連,微控制器在初始化是設置成相應的功能。GND為電源地;VDD為正電源1.9~3.6 V輸出;CE為工作模式的選擇,RX或TX模式;SS為SPI片選使能,低電平使能;SCK為SPI時鐘;MOSI 為SPI輸入;MISO為SPI輸出;IRQ為中斷輸出。

接收端部分代碼如下:

#include NRF24L01.h

unsigned int RxBuf[5]; //接收緩沖,保存接收到的數(shù)據(jù)

int main(){

NRF24L01_Initial(); //nRF24L01初始化

while((NRF24L01_RxStatus())!=1){//nRF24L01沒有數(shù)據(jù)請求

*P_Watchdog_Clear=0x0001;

}

NRF24L01_ReceiveByte(RxBuf);//接收數(shù)據(jù)

while(1){

*P_Watchdog_Clear=0x0001;

}

}

3 實驗數(shù)據(jù)與驗證

圖4是用本測試系統(tǒng)所測得的兩條實驗曲線。該曲線所測的是引信電池[8]的電壓量。曲線可以分成兩部分,一部分是電池電壓隨著時間的增加而增加,另一部分是隨著時間的增加電壓量保持不變。這是由引信的特殊結構所致。

經過實驗論證,本測試系統(tǒng)在誤差允許的范圍內可以達到測量精度要求,從而驗證了本測試系統(tǒng)具有較強的應用性。

4 展望

未來的嵌入式產品是軟硬件緊密結合的設備,為了降低功耗和成本,需要設計者盡量精簡系統(tǒng)內核,只保留和系統(tǒng)功能緊密相關的軟硬件,利用最低的資源實現(xiàn)最適當?shù)墓δ?,通常都具有低功耗、體積小、集成度高等特點[9]。和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此產品一旦進入市場,具有較長的生命周期和巨大的市場潛力。

a.jpg

c.jpg

圖4 實驗曲線

參考文獻

[1] 祖靜, 申湘南, 張文棟. 存儲[J].兵工學報,1995(2).

[2] 周立功,等.深入淺出ARM7——LPC213x/214x[M].北京:北京航空航天大學出版社,2005.

[3] 周立功,等. ARM基礎教程[M].北京:北京航空航天大學出版社,2005.

[4] nRF2401與SPI接口[EB/OL].[20080218].http://www.freqchina.com/SPI%20interface.pdf.

[5] ARM公司.ARM Developer Suite_CodeWarrior IDE Guide,2000.

[6] ARM公司.ARM Developer Suite_Compliers and Libraries,2000.

[7] ARM公司.ARM Developer Suite_Assembler Guide,2000.

[8] 王瑩澈,田昱,朱雅鵬. 鉛酸儲備電池在非旋轉彈引信上的應用探索[J]. 探測與控制學報,2008,30(5):5256.

[9] http://baike.baidu.com/view/6115.htm?fr=ala0_1_1.

孫婷婷(碩士生)、馬鐵華(教授、博士生導師)、沈大偉(講師),主要研究方向為動態(tài)測試與智能儀器。



評論


相關推薦

技術專區(qū)

關閉