当前位置:首页 > 测试测量 > 测试测量
[导读]存储测试技术是在特殊环境下记录运动物体参数的最有效的手段。本文介绍了基于ARM7 LPC21xx开发存储测试系统的方法。Philips公司16/32位微控制器LPC21xx是基于支持实时仿真和嵌入式跟踪的16/32 位ARM7TDMI?S CPU的微

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

引言

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

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

1 系统原理

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

图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=(1<<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&0x80000000)==0);//等待转换结束

AD0CR|=1<<24;//再次启动转换

while((AD0STAT&0x80000000)==0);//等待转换结束

ADC_Data=AD0DR;//读取A/D转换结果

}

2.2 SPI与nRF24L01模块的通信

SPI是一个全双工的串行接口。它设计成可以处理在一个给定总线上多个互联的主机和从机。在给定的数据传输过程中,接口上只能有一个主机和一个从机进行通信。在一次数据传输过程中,主机总是向从机发送数据的8~16位,而从机也总是向主机发送一个字节数据。图2 为SPI的4种不同数据的传输格式的时序。

图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中断被禁止

}

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

图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.

孙婷婷(硕士生)、马铁华(教授、博士生导师)、沈大伟(讲师),主要研究方向为动态测试与智能仪器。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统

【2024年3月25日,德国慕尼黑和瑞典瓦尔贝格讯】不同汽车的独特性给汽车零部件供应商和OEM厂商等带来了挑战,因为每辆车的驾驶方式、驾驶地点、驾驶者、设计、用途以及道路和交通状况都是独一无二的。为保证每辆汽车都能正常运...

关键字: AI 机器学习 嵌入式系统

GD32F303作为一款先进的微控制器,在嵌入式系统领域有着广泛的应用。本文旨在深入探究GD32F303的发布时间,并分析其背后的技术背景和市场环境。通过对相关资料的梳理和分析,本文揭示了GD32F303发布的历史背景、...

关键字: GD32F303 微控制器 嵌入式系统
关闭
关闭