基于ARM高速闪存MCU应对广泛嵌入式需求
扫描二维码
随时随地手机看文章
由于采用了ARM7TDMI-S内核,LPC2000系列MCU工作频率达60MHz,与其他8-bit产品相比具有更强的功能延展性。同时它借助片上存储器加 模块实现了“零等待访问”高速闪存功能,提高了指令执行的效率。
此外,LPC2000的外设接口非常丰富,包括UART、SPI、I2C、CAN、ADC、 PWM、RTC等。LPC2000系列MCU应用领域非常广泛,从网络通信、 马达控制,到汽车和消费电子都适合于涉足。
嵌入式系统是面向用户、面向产品、面向应用的,它是将先进计算机技术、半导体技术和电子技术以及各行业的具体应用相结合的产物,因此它是一个高度密集、不断创新的知识集成系统。作为嵌入式系统,它必须能够根据应用的需求可以对软硬件进行裁剪,精简系统以满足应用系统在功能、可靠性、成本、体积等各种要求。
嵌入式处理器是嵌入式系统硬件最核心的部分,飞利浦推出十余款基于 ARM7 的高性能低功耗LPC2000系列微控制器,来满足不断增长的嵌入式市场需求。
这一系列新款微控制器LPC2114/2124/2
119/2129/2194、LPC2210/2212/2214、LPC2290 /2292/2294在高性能低功耗的基础上提供了增强的通信功能和片上代码保护机制。由于内置了宽范围的串行通信接口,它们也非常适用于通信网关、协议转换器、嵌入式软调制解调器等。6通道的PWM更能用于复杂的马达控制应用。总之飞利浦ARM嵌入式微控制器应用领域包括工业控制、通信、安防系统、医疗仪器、航空航天、汽车和消费电子等,覆盖了从低端到高端的嵌入式产品应用。
以ARM7微核心的体系架构
以LPC2214为例,其结构框图如下:
图1,LPC2214结构框图
LPC2214的CPU是一个支持实时仿真和跟踪的16/32 位ARM7TDMI-S 处理器,该款处理器主要用于对功耗和成本要求比较苛刻的应用。由于使用了三级流水线技术,实现了指令的高效执行。ARM7TDMI-S处理器除了支持标准 32位 ARM指令集,也支持16位的THUMB指令集,THUMB 代码仅为ARM 代码规模的65%,但其性能却相当于连接到16位存储器系统的相同ARM处理器性能的160%。
片上系统时钟由外部振荡器经过锁相环倍频产生,最高工作频率高达60MHZ。片内存储器控制器是通过单独的局部总线与CPU接口,这样做的目的是为了避免总线仲裁的不确定性、总线获得的延迟和总线上的等待周期,从而获得更高的实时性能。
中断控制器和外部总线控制器是通过AMBA 高性能总线(AHB)实现与CPU接口的,外部总线控制器支持8/16/32位外部存储器。
LPC2214片内外设通过VPB总线,AHB 到VPB 的桥与AHB 总线相连。同时其具有多个串行接口,包括2 个16C550 工业标准UART、高速I2C 接口(400 kHz)和2 个SPI 接口。它还具有8路10 位A/D 转换器(0~3V测量范围),转换时间可低至2.44uS;2个32 位定时器(带4 路捕获和4 路比较通道);PWM 单元(6 路输出);实时时钟和看门狗,112个通用I/O 口(可承受5V 电压);2 个低功耗模式:空闲和掉电。
片上集成高速闪存
LPC2000系列的片上闪存专为嵌入式应用而设计。采用0.18微米的工艺,双晶体管单元和耐久的写/擦机制,可实现写/擦一万次,128位宽的优化阵列,零等待的访问,使程序可以全速运行。同时还提供对片上程序保护机制,防止代码被复制。
图2,存储器加速模块
LPC2000系列微控制器能够实现零等待访问的高速闪存,这主要归功于片上的存储器加速模块。图2为存储器加速模块的结构框图。128位宽度的闪存阵列通过单独的局部总线与处理器接口,每周期可为ARM内核提供四条32位指令。这使得MCU无需经过等待状态就可直接从闪存上执行指令,从而消除了一般闪存读取时的等待时间。为了解决指令序列的变化,指令和数据的不同处理带来的等待时间,模块内部实现了预取缓冲器、避免数据读/写打乱地址序列的数据旁路和跳转跟踪缓冲器三个功能块的联合工作,并用两组128位宽度的存储器来进行并行访问,消除延时。
存储器加速模块的作用取决于系统时钟的大小。LPC2000系列片上闪存的访问时间为50nS,对于系统时钟不高于20MHZ的应用,在1个周期内就可将闪存的内容读出,此时没必要使用存储器加速模块。时钟频率越高,当直接执行闪存中的代码时,系统性能受影响越大,此时使能存储器加速模块,可以得到接近4倍速度的加速,真正实现零等待高速闪存。由于LPC2000可直接从闪存执行指令,无需引导期间将代码传送到SRAM,这不仅省掉了耗时又耗能的系统启动步骤,还节省了昂贵的SRAM。
对片内闪存的编程可通过几种方法来实现:通过内置的串行JTAG 接口,通过串口进行在系统编程(ISP),或通过在应用编程(IAP)。
丰富的外部总线接口
LPC22XX系列产品提供了外部存储器接口,其中包含了24条地址线A0~A23,32条数据线D0~D31及相关的总线使能线;其中数据线宽度可选择8位,16位或32位来使用,图3为32数据线宽度和8/16/32位数据线宽度的外部存储器连接示意图:
图3,32数据线宽度外部存储器接口
LPC22XX提供了4个独立且可同时配置存储器组,每组可有16MB的地址空间,并且可与SRAM、Pseudo-SRAM、FLASH、EPROM、BURST ROM或其他的I/O DEVICE 作适当的连接与存取。
若选用带有片上闪存的产品,可选择是由片上闪存启动或是由外部存储器来启动程序。LPC22XX系列产品,还提供了可编程的等待周期及闲置周期,最高可允许插入32个等待周期和16个闲置周期。
矢量中断控制器
LPC2000系列的
矢量中断控制器可以支持最多32个中断请求,可根据需要将其编程分为3 类:FIQ、矢量IRQ 和非矢量IRQ。快速中断请求(FIQ)要求具有最高优先级。矢量IRQ 具有中等优先级。该级别可分配32个请求中的16个。非矢量IRQ 的优先级最低。这种可编程分配机制意味着不同外设的中断优先级可以动态分配并调整。对于任意矢量中断,一旦发出请求,CPU可在一个周期内过读取VIC并跳转到相应的中断服务程序的入口地址,这将中断延时降低到最小。[!--empirenews.page--]
参考设计方案:税控收款机
税控收款机是一种带有计税功能的电子收款机,不仅是商业企业经营管理的得力助手,也是税务人员常驻店内采集销售数据的执法代表。它内部装有自动记录但不能更改和抹掉的计税存储器,记录着每日的营业数据和应纳税额,是向纳税机关纳税的凭据。
中国2003年10月1日通过了《税控收款机国家标准》,该标准的实施催生了一个巨大的税控机市场。
税控收款机由以下几部分组成:中文显示系统;中文打印系统;专用税控处理系统;外围设备驱动;电源;带物理安全保证的机箱。
税控机制由以IC卡为基础的发行、管理、申报、维护、经营等系统组成。纳税户销售商品在税控收款机中的记录与相关的时间等信息可在机内保留5~10年,不可修改、不可清除。有关数据由税务部门用专用IC卡读出,以便稽查。
这里给出以LPC2214为主控单元的一个最小系统参考设计,该系统主要由主控MCU模块、时钟模块、电源模块、监控模块、IC卡读写模块、税控存储器、状态指示电路、接口电路等组成。硬件结构如图所示:
图4, 采用LPC2214的税控收款机硬件框图
嵌入式微控制器选用飞利浦LPC2214,充分合理地利用了其片内实时时钟、外部存储器接口、UART等其它外设接口。片上闪存作为用户程序的存储空间,其高速零等待特性保证系统的实时运行。其片上程序保护机制,防止代码被任意更改和复制。整个系统的设计结构简洁,极具竞争优势。
税控收款机软件设计采用模块化思想,嵌入式控制器使用基于μC/OS内核的RTOS操作系统,其用户程序的开发大体分为如下部分:主程序、自检诊断模块、IC卡读写模块、UART通讯模块、开票模块、液晶显示和按键等人机接口模块。