嵌入式系統(tǒng)的存儲測試技術及無線傳輸應用
存儲測試技術是在特殊環(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所示。
圖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ù)的傳輸格式的時序。
圖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中斷被禁止
}
圖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]。嵌入式系統(tǒng)和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統(tǒng)產品一旦進入市場,具有較長的生命周期和巨大的市場潛力。
圖4 實驗曲線
參考文獻
[1] 祖靜, 申湘南, 張文棟. 存儲測試技術[J].兵工學報,1995(2).
[2] 周立功,等.深入淺出ARM7——LPC213x/214x[M].北京:北京航空航天大學出版社,2005.
[3] 周立功,等. ARM嵌入式系統(tǒng)基礎教程[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)測試與智能儀器。
評論