ARM开发板,即以英国ARM(Advanced RISC Machines)公司的核心晶片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估核心晶片的功能和研发各科技类企业的产品。
ARM开发板根据ARM核心可以分为ARM7、ARM9、ARM11、 Cortex-M系列、Cortex-R系列、Cortex-A系列。其中Cortex-M系列又可分为Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4;Cortex-R系列分为Cortex-R4、Cortex-R5、Cortex-R7;Cortex-A系列分为Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A50等,同样也就有了对应核心的Cortex-M0开发板、Cortex-A5开发板、Cortex-A8开发板、Cortex-A9开发板、Cortex-R4开发板等等。由于ARM公司只对外提供ARM核心,各大厂商在授权付费使用ARM核心的基础上研发生产各自的晶片,形成了嵌入式ARM CPU的大家庭,提供这些核心晶片的厂商有Atmel、TI、飞思卡尔、NXP、ST、和三星等。
基本介绍
- 中文名:ARM开发板
- 外文名:Advanced RISC Machines
- 作用:评估核心晶片的功能
- 功能接口:如扩展了TFT-LCD、LVDS接口等
基本概述
ARM开发板在CPU的基础上增加外设后如图中所示,具备许多功能接口,如扩展了TFT-LCD、LVDS接口、触控萤幕、VGA、矩阵键盘、外部汇流排接口、CAN、SPI、PWM、高速USB HOST\Device、SD卡、RS232\RS485串口,音频、MIC等常用接口,国内领先的嵌入式方案厂商往往有多个核心平台的ARM开发板使各科技类企业的研发工程师可以方便的测试ARM开发板和研发公司的产品,通过开发板内的资料文档可快速开发公司产品,缩短研发周期。
医学套用
基于ARM核的ADμC7024在医疗电子中的套用
随着信息技术的迅猛发展和人民生活水平的提高,极大地推动了医疗电子设备的发展,当今医疗电子设备的发展趋势是高精度、实时性、低功耗和小尺寸,作为医疗电子设备中核心地位的MCU(微处理器)也随着这一发展趋势向前不断衍变着。由早期的8位MCU发展到目前的32位RISC(精简指令集计算机)MCU。美国ADI公司根据市场的需要最新推出了一款基于ARM(高级精简指令集计算机)核的微处理器ADμC7024便是目前32位RISC MCU的杰出代表。ADμC7024卓越的处理能力、集成众多片上外围器件和晶片低功耗的特点,完全胜任目前医疗电子设备的需求及未来的发展目标。
本文以ADμC7024在医疗电子中监护产品脉搏血氧计的套用为例,重点介绍其在医疗电子行业中的实际用途。
ARM核心特点
英国ARM公司是嵌入式RISC处理器的IP(智慧财产权)供应商,它为ARM架构处理器提供ARM处理器核心(如ARM7TDMI、ARM9TDMI及ARM10TDMI等)。由各半导体公司在上述处理器核心基础上进行再设计,嵌入各种外围和处理部件,形成各种MCU。目前基于ARM核心的晶片在嵌入式处理器市场上占据75%的份额。
ARM作为嵌入式系统的处理器,具有低电压,低功耗和高集成度等特点,并具有开放性和可扩充性。事实上,ARM核心已成为嵌入式系统首选的处理器核心。而对于医疗电子设备而言,并不需要图像处理等方面更高的要求,因此,ARM7TDMI核心以0.9MIPS(百万条指令每秒)/MHz的高效处理能力足以满足套用需要。
ARM7TDMI核心是ARM核系列中32位通用核心中的一个产品,它採用三级流水线结构,指令的执行分成取指、译值和执行3个阶段。运算器能够实现32位整数运算。核心不但能够执行32位高效ARM指令,同时还支持简洁的16位Thumb指令集以提高代码密度。
ARM7TDMI名称的含义为:
a)ARM7:ARM系列具有32位运算能力的核心,它採用冯·诺依曼结构,数据长度可以是8位,16位和32位,而指令长度是32位。
b)T:内含16位压缩指令集Thumb,由于32位RISC型处理器的指令代码利用率较低,ARM为了弥补不足,在新型ARM架构(V4T版以上,成熟架构由V3版发展到V6版)定义了16位的Thumb指令集,Thumb指令集比通常的8位和16位CISC/RISC处理器具有更好的代码密度,而晶片面积只增加6%,可使程式存储器更小。
c)D:支持片内调试,该核心包含用于调试的硬体结构,可使CPU进入调试模组,可以方便地进行断点观察点设定、单步调试和多步调试
d)M:採用增强型乘法器。AARM7TDMI指令集包含2个32位×32位的乘法指令和2个乘法累加MAC指令,该结构使得指令的执行比其他类型的ARM7核心减小了许多机器周期。
e)I:内含嵌入式ICE宏单元,ARM架构的处理器晶片都嵌入了Embedded ICE-RT逻辑块,便于通过JTAG接口来仿真调试RAM架构晶片。
晶片内部结构及特点
美国ADI公司利用其在模拟电路领域的优势,综合基于8052-8位ADμC8xx的技术积累,将ARM7TDMI核心和ADC(A/D转换器),DAC(D/A转换器)等外围设备集成在一块晶片上,就是最近推向市场的拳头产品ADμC702x系列。其中ADμC7020、ADμC7021、ADμC7022、ADμC7026等晶片除了在片上Flash和SRAM容量大小、ADC和DAC通道数量、PWM(脉宽调製)相位数量有差别外,其他完全一致;而ADμC7026,ADμC7027具有外部扩展记忆体接口。
本文主要介绍其中具有代表性的一款--ADμC7024,工业级的ADμC7024工作于2.7V-3.6V电源电压,64引脚CSP封装的晶片面积仅为9mm×9mm,在1MHz时钟频率下晶片最高功耗为5mA,在最大时钟频率45MHz下晶片最高功耗为60mA。其原理框图如图1所示。
2.1 片上集成高性能的ADC和DAC
ADμC7024片上集成了10通道12位逐次逼近型ADC,能够在电源电压为2.7V-3.6V的範围正常工作,在系统时钟频率为45MHz下的最高採样率高达1MSPS(百万次採样每秒)。该ADC模组提供一个高精度、低漂移的片上2.5V基準电压VREF,该电压通过片上REFCON暂存器的软体配置也能作为输出,向外提供基準参考源。ADC能够工作于单端转换模式或者差分转换模式,在单端转换模式下的输入电压範围是0至VREF,在差分转换模式下输入电压範围是0至AVDD(AVDD通常情况下为3.3V)ADC单个或连续的转换能够被外部引脚CONVstar、片上PLA、定时器1或定时器2所触发。
通过ADC控制暂存器ADCCON,通道选择暂存器ADCCP和ADCCN软体配置好ADC后,转换结果将存储在暂存器ADCDAT位27至位16中,通过ADC状态暂存器ADCSTA的位0可以查看ADC转换是否完成,当ADC转换结束时,位0被置位;当读取ADC-DAT时,该位自动被清空。当ADC正在执行转换操作时,片上引脚ADCBusy保持高电平,一旦转换结束,该引脚马上变为低电平。
还可以通过ADCRST暂存器将ADC模组中所有暂存器恢复至默认值;通过调整ADCOF和ADCGN暂存器的值可以调整ADC转换精度,不过,该暂存器出厂时已经过校準。
由于该ADC的是逐次逼近型结构,因此比较适合低功耗的产品套用。
ADμC7024片上还集成有2通道12位DAC。每个DAC都具有轨至轨的输出电压範围,驱动能力可达100pF或者5kΩ,每个DAC也能通过软体配置来选择输出範围0至VREF(内部基準电压)、0至DACref(外部基準电压)和0至AVDD,而DACref的取值範围是0V至AVDD。
DAC的使用十分简单,通过DAC控制暂存器DAC0CON或者DAC1CON来选择通道和配置DAC通道特性,然后通过向DAC0CON或DAC1CON的位27至位16写入数值,就可以在DAC引脚上得到所需要的模拟电压结果。
2.2 片上集成Flash暂存器和SRAM
ADμC7024片上集成了64KB的Flash存储器,其中低62KB的Flash存储器是用户可以编程的,剩下的高2kB区域是用户不可接触的固件程式,里面包含了线上串列下载程式及出厂配置默认方案。ADμC7024片上Flash存储器能够通过串列编程模式,JTAG编程模式或并行编程模式在系统中编程。
1)串列编程模式
当片上BM引脚晶片被拉低时,ADμC7024重启动将进入串列下载模式,通过标準的UART连线埠或IIC连线埠线上下载程式。
2)并行编程模式
并行编程协定使得片上Flash存储器能够通过工业级第三方编程器进行编程。
3)JTAG编程模式
ADμC7024片上Flash存储器完全遵守IEEE 1149.1规範,因而可以通过标準的JTAG接口来下载程式和进行调试代码,使得系统的开发十分简单易行。
而ADμC7024片上Flash存储器通过FEEPRO、FEEHIDE暂存器的软体设定可以防止程式通过JTAG接口或并行编程模式被读出,有效地保障了开发人员的劳动成果。
2.3 晶振和PLL
ADμC7024片上集成了一个32.768KHz晶振、一个时钟分频器和一个PLL(锁相环)。内部的PLL能够将晶振频率放大1376倍,即为系统提供一个稳定的45MHz。
为了降低系统功耗,可以通过软体设定时钟分频器的控制暂存器PLLCON和POWCON将经过PLL后输出的45MHz降频,最大可降低至352KHz,由于内部晶振有±3%的误差,因此,用户可以选择外接一个32.768kHz的晶振,通过软体设定PLLCON值使用外部晶振,使系统的性能稳定可靠。
2.4 复用I/O及标準的UART、SPI、IIC
ADμC7024提供30个通用型双向I/O引脚。所有的I/O引脚具有5V电压耐压能力,一些I/O引脚中与其他外围设备引脚复用。在默认情况下,所有的GPIO都是I/O模式,如果在实际中需要将I/O口复用成其他情况的,只需要按照I/O控制配置暂存器GPxCON的手册配置方案软体编程即可(这里x表示连线埠0,连线埠1,…,连线埠4,如1连线埠5引脚则是P1.5)。在配置成I/O情况下,可以通过置位数据暂存器GPxDAT中某些位的值使引脚输出"1";同时可以清除数据暂存器GPxDAT中的某些位的值使引脚输出"0";还可以读数据暂存器GPxDAT中某些位的值得到输入引脚的值(x同前面介绍,具体设定请参考ADμC7024手册)。
ADμC7024片上集成了2个标準的、全双工模式的异步串口UART(通用异步收发器),它们与16450串口标準所兼容。片上UART的波特率产生器中包含一个小数分频器,使得UART波特率的产生更加精确。同时,其中一个UART还支持网路定址模式下的串口传送接收模式。UART的使用首先通过I/O的配置成UART连线埠引脚。然后通过软体配置UART配置暂存器及波特率设定暂存器就可以通过COMTX暂存器、COMRX暂存器分别传送和接收数据。
ADμC7024片上也集成了标準工业级同步串口SPI(串列外围接口),SPI接口可以同步接收和传送8位数据,最高速率可达5.6Mbit/s。该SPI能够被配置成主(Master)或者从(Slave)两种工作模式,关于SPI使能、选择工作模式、串列时钟相位及极性、先传送低有效位还是高有效位等多项设定,均是通过SPICON编程而得到,而主模式传送的串列时钟频率由SPIDIV来设定,从模式则不用设定串列时钟频率,因为串列时钟是由主模式的SPI来决定的,通过读取SPISTA中某些数据位的值,可以知道SPI是否传送结束或者接收结束。
ADμC7024还具有两个经Philips公司授权的IIC接口,IIC是Philips公司20世纪80年代开发的一个简单的两线汇流排,包括一条数据线和一条时钟线,速率有100kHz和400kHz两种方式,目前IIC已经成为重要的全球业界标準,被所有主要的积体电路厂商所认同和使用。它採用主-从通信方式,採用汇流排仲裁特性,使得在某一时刻只有两个器件进行通信,具体数据指标参考ADμC7024数据手册。
2.5 中断系统
中断系统是一个MCU在套用中的灵魂所在。ADμC7024片上中断控制器控制着24个中断源。这些中断源包括片上ADC中断、UART中断、2个外部中断请求XIRQ0和XIRQ1等,而ARM7TDMI核心仅仅将这些中断源分成两大类来识别,一类是IRQ,另一类是FIQ。所有中断源能够单独地被禁止。中断系统的控制和配置管理由9个关于中断方面的暂存器所控制,4个涉及到IRQ的暂存器、4个涉及到FIQ的暂存器,1个用来选择已编程的中断源暂存器SWICFG。虽然作为一个已编程的中断源是不能够被禁止掉的,但是它们可以被SWICFG来控制。
2.6 定时器
ADμC7024有4个通用定时器:定时器0、定时器1、定时器2和定时器3。这4个定时器在一般的操作模式下均能按照默认值计数或者按照预设值暂存器TxLD(x表示0,1,2,和3中的某一个暂存器)中值来计算。在任意时刻可以通过读取TxVAL暂存器中的值了解定时器中的当前计数值。通过配置TxCON的值可以设定相应的定时器按照一定的方式开始计数。
定时器0是一个通用型16位倒计数定时器,该定时器的刻度尺频率来源是系统时钟,计数默认值可以是系统时钟频率、系统时钟频率的16分频和256分频。
定时器1是一个32位通用型累加定时器或者倒计时定时器。该定时器的刻度尺频率来源可以是32kHz晶振、系统时钟和外部GPIO三者之一。计数默认值可以是刻度尺频率、刻度尺频率的16分频、256分频和32768分频。定时器1可以被设定为标準的32位时间值,如Hours:Minutes:Seconds:Hundreths这样的格式。定时器1通过预设回响IRQ事件,可以比通常情况下定时器0回响IRQ中断请求要準确得多。它还可以用来触发ADC转换过程。
定时器2的系统刻度尺频率来源是内部集成的32.768kHz晶振,当系统时钟停止工作时,该定时器还可以继续运行,这一特性可以用来将处于休眠状态的系统核心恢复至正常工作状态。
定时器3由两种工作模式,一种通常模式与前面3个定时器一样,还有一种是看门狗模式。一旦程式跑飞时,可以利用该定时器看门狗模式来重启动处理器,令其恢复正常工作。
2.7 其他外围设备及特性
片上还集成有独立的比较器、电源监控模组、三相PWM(在ADμC7020、ADμC7021、ADμC7022是单相PWM)以及PLA(可程式逻辑阵列)。其中PLA的输入输出引脚与GPIO复用。
引脚定义
ADμC7024引脚定义见表1。 详细请点击引用连结。
4 套用实例
该晶片卓越的数据处理能力、片上集成的高精度ADC及DAC等丰富的片上外围设备以及时钟频率可调节的特点,使得在要求低功耗、高精度、实时性等嵌入式微信号处理系统中的套用如鱼得水。现以脉搏血氧计为例,介绍其中一个广泛的套用领域。其系统框图如图2所示。 详细请点击引用连结。
ADμC7024作为系统的核心MCU,负责控制和协调其他电路模组的正常工作,它将採集到的血氧信号经过数据处理后,通过SPI汇流排传送给LCD显示屏得以显示。
根据实际临床结果显示,ADμC7024已完全胜任设计血氧模组的任务,处理能力、採样率、採样精度、功耗、实时性要求等指标完全达到系统的要求,
ARM体系架构使得医疗电子的稳定性得到极大保障。最后,採用第三方Keil公司μVision开发工具,用C语言作为开发语言,利用GNU的ARM-ELF-GCC等工具作为编译器及连结器,易学易用,它的调试仿真工具也是Keil公司开发的Ulink仿真器,调试简单,缩短上市时间,便于移植。
可以预料,在不久的将来,ADμC7024以其独树一帜的性能必将在医疗电子行业中发挥越来越大的作用。