找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 嵌入式系统的存储测试技术及无线传输应用

[复制链接]
admin 发表于 2013-3-24 16:56:58 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
引言
       存储测试技术[1]方法是记录在特殊环境下运动物体参数的行之有效的方法。它是先将测试数据存入存储器,待装置回收后通过特定接口与上位机进行通信,还原数据信息。在许多消费类电子产品中,对数据采集存储系统的实时性和功耗提出了更高的要求,不仅要同时满足低功耗和微型化设计,还要实时地反映现场采集数据的变化。这样,就必须对系统的采样速率、功耗等提出更高的要求。随着半导体技术的发展,各种技术的进步使得高速度、低功耗的数据采集系统能够实现。
      本文主要使用NXP公司16/32位微控制器LPC2148[2-3]作为核心控制元件,通过与nRF24L01[4]结合使用,实现数据的采集、存储以及发送。
   1 系统原理
   整个测试系统由模拟适配电路、外部晶振、微控制器、存储器模块、电源管理模块、无线收发模块以及接口电路组成,如图1所示。
   
   图1 系统原理框图
   1.1 电源模块
   对电源模块的设计是实现整个系统省电的核心部分。即电源只需要在电路各个模块需要的时候给其供电,在不需要的时候断电来减小系统的无效耗电量。可以使用单电池电源供电实现多分枝电源网络管理,使得系统各个模块的电源相对独立供电。但此时要注意带电部分和不带电部分的兼容问题。
   1.2 模拟适配电路
   由于由传感器测量的信号十分微弱,需要经过适当的放大滤波等修正后才能够进行一系列处理。
   1.3 微控制器
   本测试系统选用NXP公司16/32位微控制器LPC2148作为核心控制元件。它内部自带10位A/D转换器,无需外加A/D转换器,即可以减小体积,又可以节省成本。同时它还具有掉电模式和空闲模式两种省电模式,合理设计可以减小系统功耗。
   1.4 接口电路以及无线收发部分
   本测试系统有两种方法与上位机进行通信,一种是通过无线收发模块nRF24L01来实现,另一种是通过特定的接口电路来实现,这样即使无线传输部分出现错误还可以保证事后回收数据。
   2 系统主要部分的硬件与软件介绍
   2.1 内部A/D转换器的开发
   LPC2148内部有两个10位逐次逼近式模数转换器,8个引脚复用为输入脚(ADC0和ADC1),它具有掉电模式,测量范围是0 V~VREF,10位的转换时间≥2.44 μs,具有一个或者多个输入的突发转换模式,可选择由输入跳变或定时器匹配信号触发转换。它的基本时钟由VPB(VLSI外围总线)时钟提供,每个转换器包含一个可编程分频器,可将时钟调整至逐步逼近转换所需的4.5 MHz(最大),完全满足精度要求的转换需要11个这样的时钟。本文用LPC2148的I/O端口来实现,使用ADC模块的通道3 进行电压的测量,定义I/O端口P0.30为AD0.3,通过定时器中断的到来而对电压进行采样,对ADC寄存器的设置如下:
   AD0CR=(1&lt;<3)| //SEL=8,选择通道3
   ((Fpclk/1000000?1)<<8)| //CLKDIV= Fpclk/1000000?1,转换时钟为 1 MHz
   (0<<16)| //BURST=0,软件控制转换操作
   (0<<17)| //CLKS=0,使用11clock转换
   (1<<21)| //PDN=1,正常工作模式
   (0<<22)| //TEST1:0=00,正常工作模式
   (1<<24)| //START=1,直接启动A/D转换
   (0<<27)| //直接启动A/D转换时此位无效
   DelayNS(10);
   ADC_Data=AD0DR;//读取A/D转换结果,并清除DONE标志位
   while(1){
   AD0CR|=1<<24; //进行第一次转换
   while((AD0STAT&amp;0x80000000)==0);//等待转换结束
   AD0CR|=1<<24;//再次启动转换
   while((AD0STAT&0x80000000)==0);//等待转换结束
   ADC_Data=AD0DR;//读取A/D转换结果
   }
   2.2 SPI与nRF24L01模块的通信
   SPI是一个全双工的串行接口。它设计成可以处理在一个给定总线上多个互联的主机和从机。在给定的数据传输过程中,接口上只能有一个主机和一个从机进行通信。在一次数据传输过程中,主机总是向从机发送数据的8~16位,而从机也总是向主机发送一个字节数据。图2 为SPI的4种不同数据的传输格式的时序。
    20121107050724472814118.jpg
   图2 SPI数据传输格式
   在设置寄存器的过程中要注意CPOL为0和1时的不同以及SSEL、CPHA之间的关系。
   SPI初始化的部分代码如下:
   void MSIP_Init(void){
   PINSEL0=(PINSEL0&(~(0xff<<8)))|(0x55<<8); //设置引脚连接SPI
   SPCCR=0x52;//设置SPI时钟分频
   SPCR=(0<<3)| //CPHA=0,数据在SCK的第一个时钟沿采样
   (1<<4)| //CPOL=1,SCK为低有效
   (1<<5)| //MSTR=1,SPI处于主模式
   (0<<6)| //LSBF=0,SPI数据传输MSB(位7)在先
   (0<<7); //SPIE=0,SPI中断被禁止
   }
    20121107050724519684119.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]; //接收缓冲,保存接收到的数据
   int main(){
   NRF24L01_Initial(); //nRF24L01初始化
   while((NRF24L01_RxStatus())!=1){//nRF24L01没有数据请求
   *P_Watchdog_Clear=0x0001;
   }
   NRF24L01_ReceiveByte(RxBuf);//接收数据
   while(1){
   *P_Watchdog_Clear=0x0001;
   }
   }
   3 实验数据与验证
   图4是用本测试系统所测得的两条实验曲线。该曲线所测的是引信电池[8]的电压量。曲线可以分成两部分,一部分是电池电压随着时间的增加而增加,另一部分是随着时间的增加电压量保持不变。这是由引信的特殊结构所致。
   经过实验论证,本测试系统在误差允许的范围内可以达到测量精度要求,从而验证了本测试系统具有较强的应用性。
   4 展望
   未来的嵌入式产品是软硬件紧密结合的设备,为了降低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,通常都具有低功耗、体积小、集成度高等特点[9]。嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期和巨大的市场潜力。
    20121107050724597804120.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.
   孙婷婷(硕士生)、马铁华(教授、博士生导师)、沈大伟(讲师),主要研究方向为动态测试与智能仪器。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-26 11:52 , Processed in 0.055986 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表