历史上的今天
返回首页

历史上的今天

今天是:2024年09月11日(星期三)

正在发生

2020年09月11日 | 基于ARM7 LPC21xx开发存储测试系统的方法介绍

2020-09-11 来源:elecfans

存储测试技术是在特殊环境下记录运动物体参数的最有效的手段。本文介绍了基于ARM7 LPC21xx开发存储测试系统的方法。Philips公司16/32位微控制器LPC21xx是基于支持实时仿真和嵌入式跟踪的16/32 w位ARM7TDMIS CPU的微控制器,它具有掉电和空闲两种节电模式,可用电池供电并且长期工作。利用微控制器内部自带的10位A/D转换器来采样,用SPI与nRF24L01模块通信。


存储测试技术[1]方法是记录在特殊环境下运动物体参数的行之有效的方法。它是先将测试数据存入存储器,待装置回收后通过特定接口与上位机进行通信,还原数据信息。在许多消费类电子产品中,对数据采集存储系统的实时性和功耗提出了更高的要求,不仅要同时满足低功耗和微型化设计,还要实时地反映现场采集数据的变化。这样,就必须对系统的采样速率、功耗等提出更高的要求。随着半导体技术的发展,各种技术的进步使得高速度、低功耗的数据采集系统能够实现。


本文主要使用Philips公司16/32位微控制器LPC2148[23]作为核心控制元件,通过与nRF24L01[4]结合使用,实现数据的采集、存储以及发送。


1 系统原理

整个测试系统由模拟适配电路、外部晶振、微控制器、存储器模块、电源管理模块、无线收发模块以及接口电路组成,如图1所示。

111.jpg?imageView2/2/w/550

图1 系统原理框图


1.1 电源模块

对电源模块的设计是实现整个系统省电的核心部分。即电源只需要在电路各个模块需要的时候给其供电,在不需要的时候断电来减小系统的无效耗电量。可以使用单电池电源供电实现多分枝电源网络管理,使得系统各个模块的电源相对独立供电。但此时要注意带电部分和不带电部分的兼容问题。


1.2 模拟适配电路

由于由传感器测量的信号十分微弱,需要经过适当的放大滤波等修正后才能够进行一系列处理。


1.3 微控制器

本测试系统选用Philips公司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=(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是一个全双工的串行接口。它设计成可以处理在一个给定总线上多个互联的主机和从机。在给定的数据传输过程中,接口上只能有一个主机和一个从机进行通信。在一次数据传输过程中,主机总是向从机发送数据的8~16位,而从机也总是向主机发送一个字节数据。图2 为SPI的4种不同数据的传输格式的时序。

22.jpg?imageView2/2/w/550

图2 SPI数据传输格式


在设置寄存器的过程中要注意CPOL为0和1时的不同以及SSEL、CPHA之间的关系。

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

void MSIP_Init(void){

PINSEL0=(PINSEL0(~(0xff8)))|(0x558); //设置引脚连接SPI

SPCCR=0x52;//设置SPI时钟分频

SPCR=(03)| //CPHA=0,数据在SCK的第一个时钟沿采样

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

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

(06)| //LSBF=0,SPI数据传输MSB(位7)在先

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

}

33.jpg?imageView2/2/w/550

图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]。嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期和巨大的市场潜力。

a.jpg?imageView2/2/w/550

c.jpg?imageView2/2/w/550

图4 实验曲线

推荐阅读

史海拾趣

Harvatek Corporation公司的发展小趣事

背景:随着全球经济的一体化和电子信息产业的快速发展,Hantronix意识到市场拓展的重要性。公司开始积极寻求国际合作机会,拓展其全球业务版图。

发展:Hantronix通过参加国际展会、建立海外销售网络等方式,成功将产品推向全球市场。其高品质的产品和优质的服务赢得了众多国际客户的信赖和好评。同时,公司还加强了与国际知名企业的合作,共同推动电子显示技术的进步和应用。

天钰(FITIPOWER)公司的发展小趣事

背景:作为电子显示领域的佼佼者,Hantronix不仅关注自身的发展,还积极履行社会责任,为行业的进步和发展做出贡献。

发展:Hantronix通过技术创新和产品升级,推动了电子显示技术的进步和应用范围的扩大。同时,公司还积极参与行业标准的制定和推广工作,为行业的规范化、标准化发展贡献了自己的力量。此外,Hantronix还注重人才培养和团队建设,为行业培养了一大批高素质的专业人才。

以上五个故事虽然基于概括性描述,但均反映了Hantronix公司在电子行业中的发展历程、技术创新、市场拓展、品质保证以及行业影响等方面的实际情况。

台湾远翔(Feeling Technology)公司的发展小趣事

乔光电子在技术创新方面始终走在行业前列。面对压敏电阻产品技术方面的挑战,如产品失效引发的起火问题,公司在苏州设立了专门的实验室,由7名成员组成研发团队,专注于材料研发。经过不懈努力,乔光电子成功解决了这一难题,并在全球范围内率先大批量使用刷铜技术,进一步提升了产品的性能和质量。此外,公司还不断引入新技术、新设备,提高产品的生产效率和品质,确保在全球市场中保持领先地位。

Hong Kong X'Tals Ltd公司的发展小趣事
选择合适的电阻和电容,以确保定时精度和电路稳定性。同时,注意元件的温漂和老化对定时时间的影响。
意普(ESPE)公司的发展小趣事

作为一家有社会责任感的企业,意普(ESPE)公司始终关注环保和可持续发展。公司采用环保材料和生产工艺,减少了对环境的污染。同时,公司还积极参与社会公益活动,为社会做出了积极贡献。这些举措不仅提升了公司的社会形象,也为企业的长期发展奠定了良好的社会基础。

台湾第一电阻(Firstohm)公司的发展小趣事
电冰箱电路中常见的易损部件包括启动继电器、过载保护器、温控器等。启动继电器负责启动压缩机,如果其性能不良或损坏,将导致压缩机无法启动。过载保护器用于保护压缩机免受过载损坏,如果其触点接触不良或损坏,也可能导致压缩机无法正常工作。温控器用于控制冰箱的温度,如果其出现故障,将影响冰箱的制冷效果。

问答坊 | AI 解惑

青越锋·SCHLIB模块

特点: 独立的建库功能 先进的元件管理功能 丰富的元件库资源 …

查看全部问答>

音频电路电子开关问题

朋友要我帮忙改一电路,要把原来的SW1单刀双掷改成电子开关,然后用一单刀单掷开关控制转换。局部电路付上,要求:单电源工作,不能使用继电器等机械控制。由于要控制音频信号,同时上面又有偏压,我试过用三极管和4066等都不成功,坛子里高手多, ...…

查看全部问答>

免装电池新型植入式血压感测装置采无线供电

德国研究机构Fraunhofer Institute for Microelectronic Circuits and Systems的研究人员开发出一种新型的血压感测系统,能像心律调整器那样植入病患的体内,而且不需要内建电池,是靠感应式电力传输来供电。        该种血 ...…

查看全部问答>

SOS,在线等,呼叫驱动带入CString的问题

各位弟兄: 我呼叫驱动这样呼叫的: typedef  struct  {         CString DataType;         CString number_HEX; }DATA_GETDATA_INFO; DATA_GETDATA_INFO        ...…

查看全部问答>

请教关于PXA270的USB驱动???

各位高手:     请问哪位做过PXA270的USB驱动,在BSP中USB驱动下的DEF文件中: EXPORTS         HCD_Init                 HCD_PowerUp   &n ...…

查看全部问答>

avr 单片机cpc指令的问题

看这条指令的意思好象是 rd 和 Rr+C 来比较 。但我测试结果总是不相等。我用的是AVR Studio4.17 大家帮我看看测试代码。 是不是我理解有问题啊 ldi r1,0x10 ldi r3,0x12 lp: sec cpc r3,r1 brne lp1 rjmp lp2 lp1: inc r1 rjmp lp lp2: de ...…

查看全部问答>

求两个芯片资料 MT29C1G24MADLAJA

求两个芯片资料 MT29C1G24MADLAJA 和 MT29C2G24MAKLACG-6  谢谢各位,谁如果有的话麻烦能发我份吗?谢谢我需要的是技术文档,对时序,参数,寄存器等的各种配置。在网上找不到,官网也没有谢谢jiangpeng6430@126.com…

查看全部问答>

欢迎探讨:应该怎样构架应用程序

       随着电子技术的不断发展,单片机已经从8位/16位时代慢慢转向了32为的ARM时代。但是我们却认真可以发现很多工程师硬件上虽然从51时代转向了ARM时代,但是在软件上还能够发现51的影子。没有从应用程序上重新构 ...…

查看全部问答>

【C2000 LaunchPad】单相交流电压+电流表

项目名称:单相交流电压、电流表 功能描述:测量某一相交流支路的电压、电流、频率、功率因数 实施方案描述:互感器采样信号,经运放调理进AD,通过算法(fft或者均方根)计算交流电压、电流、频率、功率因数。 预期测量范围:电压0~300V,电流0 ...…

查看全部问答>