具有硬件矢量浮点运算单元的微控制器在医疗电子中的应用

发布者:sjjawx831最新更新时间:2011-06-20 来源: 恩智浦 关键字:微控制器  ARM9  浮点运算  医疗电子 手机看文章 扫描二维码
随时随地手机看文章
  微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。

  现今的嵌入式工业及汽车系统中,有许多是基于8位或16位微控制器架构来设计的。随着新的低功耗32位架构的面市,这些应用有可能获得更高的性能、准确度和功效。此外,处理能力的提高也有助于实现新产品的差异性功能,包括先进的控制算法,GUI显示器、语音控制,以及电容式触摸感测等下一代接口。8 bit/16 bit微控制器通常需要消耗很多计算资源来做这些工作。今天,内置浮点运算的强大微控制器开始出现,32 bit微控制器有足够的能力来实现其中的许多功能。

  评估微控制器的性能

  相比于专业的DSP处理器,微控制器用于信号处理具有如下优势:

  (1)有效的循环控制;(2)丰富的外设;(3)单一的处理器结构、指令集和开发工具链;(4)统一的中断和任务切换环境,同类存储器;(5)同样的操作系统同时管理控制和信号处理任务,基于MMU;(6)由于大大地简化了开发过程,所以上市时间较短;(7)流行的微控制器容易获得,开发工具成本低。

  如何评估微控制器的性能是否满足应用需求,是工程师在项目设计的早期阶段需要考虑的问题。评价和汇总来自数据手册的信息是一种有效方法,另一种方法是使用某一类型的评估板来进行特定性能测试和功耗测试的方法。这两类方法都有各自的缺点。

  32位与8/16位系统的效率差异相当大,在16位处理器上,一次普通的32位乘/累加操作需要4次乘法与4次加法运算。由于需要访问存储器以存储中间结果或释放多个寄存器,执行效率会进一步降低,并可能减慢其他操作的速度。因此,在16处理器上,一次32位乘法可能需要20~40个周期。而32位UC3C处理器只需要单个周期即可。此外,32位管线较宽,故从存储器检索数据及指令的速度更快。

  在评估过程中,使用了三个步骤:(1)通过运行各种系统测试基准,并改变不同的系统参数,抽象出系统特征;(2)解释收集的特征数据来确立系统的行为;(3)通过系统的行为决定怎样设定控制参数,从而使系统表现达到预想的效果。

  特征化

  从理论上来说,性能测试是对运作系统式样的质化或量化评估。在实际应用中,系统的式样可能不够详细,不足以定义完整的质量测试,创建测试也许太昂贵,不能保证其开发。一个比较好的得到系统特征的折衷方法是,使用测试基准作为一个或一系列以软件执行的测试,提供量化的数据,这些数据可以用来比较不同系统的特性。

  为得到微控制器的特性,从EEMBC的Auto-Bench组选择一套性能测试基准。这些基准帮助预测微控制器在汽车电子,工业和一般应用中的性能。运行每一个基准测试都通过多次反复循环以消除一些启动代码在每次测试开始时只运行一次的影响。使用这一工业标准基准组件的一个优势就是可以将结果数据与其他类似架构微控制器的测试数据进行比较,以评判总体系统性能。

  这里所测试的微控制器是基于ARM926EJ-S内核,带硬件矢量浮点协处理器和一个32 KB的指令缓存(I-cache)。该测试衡量浮点协处理器和指令缓存的性能。在微控制器不同的工作频率时运行Auto-Bench测试基准,使用Energy-Bench测量每一基准执行中消耗的能量。Energy-Bench是另一个EEMBC工具,可以测量基准负载运行时处理器消耗的能量。从Energy-Bench收集的数据可以观察到微控制器在各种不同负载下的能量效率。选择了这些工具来评估微控制器,下一步就是确定微控制器在不同运行条件下的性能。

  性能分析

  为了分析微控制器的性能,需要决定在不同条件下的整体系统响应。在测试项目中,需要评估恩智浦微控制器上浮点协处理器和指令缓存的性能。

  运行Auto-bench基准测试组,改变4个参数:运行频率、CPU核的电压、指令缓存的状态和浮点协处理器的状态。

  图1为建立Auto-Bench/Energy-Bench测试环境的示意图。由三部分组成:数据获取系统(DAC)、软件开发环境和测试目标。美国国家仪器公司的DAC连接到PC机上,PC机运行Energy-Bench这一功耗和能耗测试软件。软件测试环境使用KeilTM集成开发工具来编译,下载和运行Auto-Bench测试基准。把供给微处理器的三个电源电压隔离开,Energy-Bench可以测量Auto-Bench基准测试中消耗的能量,并计算在每一测试中消耗的总能量。

  在4种不同的频率下运行Auto-Bench(13 MHz、52 MHz、104 MHz和208 MHz),并组合其他测试条件,包括打开或关闭浮点协处理器,打开或关闭指令缓存。浮点协处理器默认为不使能的,使得编译器对任何需要浮点运算的情况使用软件浮点。

  实际收集到的数据远比本文中所能呈现的多,这里只介绍两个有代表性的案例以表现收集的特征数据怎样决定系统的性能。图2中以图形方式表示了EEMBC的有限脉冲响应滤波(FIR)的测试数据结果。图3则以图形方式表示收集到的EEMBC的基本整数浮点的数据结果。在13 MHz运行两个不同的基准测试,在0.9 V~1.2 V之间改变CPU核的电压。当测试基准运行在CPU时钟设置为208 MHz时,AHB的时钟设置为其极限104 MHz.在所有其他测试频率中,CPU时钟和AHB时钟是相同的。

图2 EEMBC的有限脉冲响应滤波(FIR)测试数据结果

图3 收集到的EEMBC的基本整数浮点数据结果

  浮点运算就是实数运算,因为计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。现在大多数机器都是32位的,也就是说32位都用来表示整数的话,那么对于无符号整数就是0 到 2^32-1,对于有符号的话就是-2^31 到 2^31-1.

  首先来看指令缓存的性能,观察图2和标示着循环次数/s的图。数据表明,在所有频率下,当指令缓存使能时,微控制器的绝对性能都更好。第二,当CPU时钟频率增加时,即使指令缓存提供了更好的绝对性能,其提高的相对幅度不是线性的。通过观察标示着循环次数/s/MHz的图,读者可以验证这一特性。图2表明,对于几乎所有的CPU时钟频率性能都线性增加大约100次/s/MHz,而除了运行在208 MHz时,根据指令缓存使能与否,性能降至60或80次/s/MHz.

  很明显,当指令缓存使能时,系统运行更快。因为当CPU从指令缓存执行指令时,对AHB RAM进行读写的次数减少。

  非线性性能特征是由于AHB时钟具有最高104 MHz的上限的结果。当AHB时钟慢于CPU时钟时,CPU必须等待较长的时间以从AHB总线的RAM上读取指令,其结果是每MHz相对性能的增加较小。

  下面分析一下指令缓存对能耗的影响。如果只考虑图2中功率(Power)的绝对功耗,也许会得出关闭指令缓存可以节省整个系统能量的结论。然而,Energy-Bench数据表明,当指令缓存被使能时,每一个基准循环消耗的能量实际上是低于指令缓存被关闭时的。

  更详细地对能量(Energy)图进行观察表明,当指令缓存使能,在208 MHz,1.2 V时每个循环消耗的能量甚至低于其他运行频率。实际上,有10%~12%的提高。换句话说,在使能指令缓存的情况下执行同样的基准,高速(208 MHz)运行较短的一段时间比低速(52 MHz或104 MHz)运行较长时间具有更好的能量效率。

  从图3及循环次数/s的图可以看到使用浮点协处理器的运行效率和能耗。这张图相当生动地表明了集成的浮点协处理器的性能效果。在频率为208 MHz时,使能指令缓存,使用软件浮点运算,微控制器运行在大约8 500次/s;而使用浮点协处理器,这一值越至超过32 500次/s,性能提高超过280 %.

  检验浮点协处理器的能耗效果参见图3中的能量图。当指令缓存使能、使用软件浮点运算时,每个基准负载在208 MHz的能量表明微控制器消耗每次循环大约16 J; 而使用浮点协处理器时,这一值小于4 J/循环-节省超过75%的能量,而工作量是相同的。

  图2和循环次数/s图表明,在频率为13 MHz、供电电压为0.9 V和1.2 V时,性能基准数据是相等的。

  然而,功率图表示,在1.2 V时的功耗比0.9 V时的功耗要高大约75%.

  系统控制参数

  在测试例子中,使用的EEMBC特性工具决定目标测试系统中指令缓存和浮点协处理器的性能。根据这一性能,可以选择通用的配置参数,以提供具有低能耗的系统性能的最好条件。

  下面是一些参数选择,在类似那些EEMBC Auto-Bench基准测试组的环境下,可以控制系统的功率利用率和性能:

  (1)使能指令缓存能使性能更好;

  (2)使用硬件浮点协处理器比软件浮点的运算性能明显提高且能耗明显降低;

  (3)在208 MHz时,指令缓存使能,其能耗比低频率时要好;

  (4)对于13 MHz低功耗运行,内核电压在0.9 V时比1.2 V时要好得多。

  除以上这些总体概要外,更重要的事实是,根据工业标准的性能和能量基准测试得到的数据,确定了系统的性能。而这些基准可以公开得到,并可得到独立权威的验证。

  使用EEMBC Auto-Bench基准和Energy-Bench基准,可以得到一致的性能分析,很容易演示给其他人。而且,可以被重复、验证。

  设计嵌入式系统通常是一项很有挑战性的任务,几乎每一个嵌入式系统都有相对唯一的硬件配置。对于特定的嵌入式操作系统,经常需要重写特定的代码。对此通常还有非常严格的能耗限制。本文给出了量化的科学测试方法以帮助嵌入式工程师考虑如何选择适合于特定应用的控制器来构建系统。即使所测试的嵌入式系统差异很大,确凿的数据仍可以帮助系统评估者比较相同的性能特征。

  在本文的测试设置中,使用了EEMBC的特性工具来决定恩智浦微控制器的性能。然后使用这些性能信息为特定的运行环境选择最好的控制参数。该测试例程量化了评估系统中使用微控制器的指令缓存和浮点协处理器的系统性能。收集到的特征数据方便定义系统行为,并提供一种方法学来选择运行参数以控制系统性能和能量消耗。

  测试结果表明,硬件向量浮点运算单元的使用可以使系统性能提高5倍左右,并可减少代码量,降低功耗。

  硬件浮点协处理器VFP9是NXP基于ARM926EJ-S内核的LPC3000系列的特征,NXP低功耗的90 nm工艺技术可以以非常小的芯片面积和极小的功耗实现这一功能,使得LPC3000 ARM9微控制器非常适合需要进行信号处理的医疗电子等行业应用。

关键字:微控制器  ARM9  浮点运算  医疗电子 引用地址:具有硬件矢量浮点运算单元的微控制器在医疗电子中的应用

上一篇:具有硬件矢量浮点运算单元的微控制器在医疗电子中的应用
下一篇:美研究人员开发一种纳米粒子:可"侦察"肿瘤

推荐阅读最新更新时间:2024-03-16 11:42

基于USB总线和Aduc831单片机的数据采集系统的设计
由于信息网络化的发展,经常需要将各种设备与主机相连,传统的外设与主机的通讯接口一般是基于PCI总线、ISA总线或者是RS-232C串行总线。 PCI总线虽具有高的传输速度(132Mbps),支持"即插即用"功能,但其缺点是插拔麻烦,且扩展槽有限(一般为5~6个)。ISA总线显然存在着同样的问题。RS-232C串行总线虽然连接简单,但其缺点是传输速度慢(56kbps). 而通用串行总线(Universal Serial Bus,简称USB)的出现能很好地解决以上这些冲突。我们利用新型高性能单片机Aduc831设计了基于USB总线的数据采集系统。 1. USB简介 1.1 USB特点 USB的英文全称为Universal
[嵌入式]
单片机系统应用中的抗干扰措施
1主要干扰渠道及防护措施   工业生产中的干扰一般都以脉冲形式进入微机,干扰窜入系统的渠道主要有三条,即供电系统;过程通道;空间磁场。   通常防护措施如下:   (1)供电系统   在微机系统中,最严重的干扰来源为电源的污染。为了防止从电源系统引入的干扰,一是要将微机的供电与大功率的用电设备的电源分开,最好单独供电;二是在单片机系统电源变压器的初级串接一低通滤波器(如图1所示),有效阻止高次谐波串入系统,改善电源波形,提高单片机系统的抗干扰能力。   (2)输入输出通道   输入输出通道是单片机与传感器、单片机与上位机以及单片机与执行机构之间的信息传送的路径。在微机系统中,传输线上的信息多为脉冲波和较弱的测量信号电压
[单片机]
<font color='red'>单片机</font>系统应用中的抗干扰措施
简述AVR单片机中断
关于AVR中断: 系统在正常运行主程序时,如果突然有一个重要的任务要马上处理,那么系统就要保存现在的工作,然后再去处理这个任务,执行这个重要任务完毕以后再返回原来的主程序继续运行,这就是中断。 主程序一旦进入中断服务程序,那么AVR芯片将自动的关闭全局中断,在这个期间不再执行其它的中断请求,直到中断程序结束以后芯片才自动的重新开放全局中断。(注意,在这个期间某些中断请求可能会被丢弃,某些请求会留下中断请求标致,一旦当前的中断执行完毕,这个有中断标致的请求就有可能马上得到响应,如INT0的下降沿触发就会留下中断请求标致,而低电平触发就不会流下中断请求标致)。如果你想在执行中断服务程序时响应另外一个更重要的中断,那么就要在中断
[单片机]
简述AVR<font color='red'>单片机</font>中断
高频谐振式铅酸蓄电池修复系统的研究
1 引言 铅酸蓄电池因其结构简单、价格低廉、使用可靠而得到广泛应用。由于铅酸蓄电池经常出现使用或维护不当等问题,其极板上会生成白色粗晶粒硫化铅,简称硫化或极化。铅酸蓄电池的硫化会导致蓄电池内阻增大,容量下降,使许多铅酸蓄电池过早报废,实际上报废电池中有80%以上都可以修复而延长使用寿命。随着开关电源技术的不断应用,利用高频谐波与硫酸铅晶体实现共振,并击碎硫酸铅晶体达到修复目的的方法比较有前景,具有重要的经济效益和社会效益。 2 修复仪主电路 2.1 直流恒压电源 修复仪采用恒压电源叠加高频谐振的方法,在高频谐振电路前级有一个15 V直流恒压电源,修复仪并未将其与高频谐振电路一体化,15 V直流恒压电源限流电路如图1
[电源管理]
高频谐振式铅酸蓄电池修复系统的研究
基于C51单片机的按键识别原理图
  每按下一次开关 SP1 ,计数值加 1 ,通过 AT89S51 单片机的 P1 端口的 P1.0 到 P 1.3显示出其的二进制计数值。   ( 1 . 把 “ 单片机系统 ” 区域中的 P3.7/RD 端口连接到 “ 独立式键盘 ” 区域中 的SP1 端口上;   ( 2 . 把 “ 单片机系统 ” 区域中的 P1.0 - P1.4 端口用 8 芯排线连接到 “ 八路发光二极管指示模块 ” 区域中的 “ L1 - L8 ” 端口上;要求, P1.0 连接到 L1 ,P1.1 连接到 L2 , P1.2 连接到 L3 , P1.3 连接到 L4 上。
[单片机]
基于C51<font color='red'>单片机</font>的按键识别原理图
基于8031单片机的工业顺序控制
掌握工业顺序控制程序的简单编程,中断的使用。 实验内容 1.实验原理图: 2.实验内容 8032的P1.0—P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,高电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,低电平启动。P3.3为外故障输入模拟开关,P3.3为0时不断告警。P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。 3、实验说明 实验中用外部中断0,编中断服务程序的关键是: (1)保护进入中断时的状态,并在退出中断之前恢复进入状态。 (2)必须在中断程序中设定是否允许中断重入,即设置EX0位。 一般中断程序进入时应保护PSW、ACC以及中断程序使用但非其专用的寄存器,本
[单片机]
基于8031<font color='red'>单片机</font>的工业顺序控制
基于单片机的DTMF信号的译码算法的实现
1、 引言 DTMF信号首先用于电话的拨号系统,在频率编码遥控系统及数据编码传输中的应用也很普遍。目前的DTMF译码器中,大多采用通用集成器件(单音译码电路和组合门电路)或专用DTMF信号译码集成电路(如MC145436等)组成译码电路。在很多情况下,DTMF译码器输出的数据仍需送入单片机进行相应的运算及处理,进而控制其它各种设备的动作。因此,如果能找到一种基于单片机的DTMF信号的译码算法,再辅之以简单的整形电路就可以,既可省去成套译码电路,又能达到简化电路降低成本的目的。本文所要介绍的,就是这种构想的初衷,结果通过计算机仿真计算数据论证认为完全能够达到设计要求。 2、DTMF信 号频率组成及整形前DTMF信号的幅值密
[单片机]
单片机通讯程序
发送机发送按键信息,接收机把接受的信息用数码管显示出来 发送机程序 #include reg52.h #define uchar unsigned char #define uint unsigned int void delay(uint); void SET_SYSTEM(void); uchar KEY_scan(void); void main() { uchar data i; delay(100); SET_SYSTEM(); while(1) { i=KEY_scan(); if(i) { TI=0; SBUF=i; while(!TI); } } } /*
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新医疗电子文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 医学成像 家庭消费 监护/遥测 植入式器材 临床设备 通用技术/产品 其他技术 综合资讯

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved