ARM单芯片系统功能特征及其嵌入式应用简介
一、功能框图及功能块描述
EP7209是世界上第一片既支持流行的MP3标准,也支持诸如Microsoft Audio等快速涌现的互联网音频压缩标准的数字音频解码器片上系统。
图1是EP7209的功能框图。由图1可知EP7209含有如下功能块。
基于ARM核的音频解码器单芯片系统1
(1)ARM720T处理器含有如下功能子块:
① ARM7TDMI CPU核。该CPU核支持Thumb指令集、核调试、增强的乘法器、JTAG以及嵌入式ICE。它的时钟速率可编程为18MHz、36MHz、49MHz、74MHz。
② 内存管理单元(MMU)与ARM710核兼容,并增加了对Windows CE的支持。该内存管理单元提供了地址转换和一个有64个项的转换旁路缓冲器。
③ 提供了8KB的单一的指令和数据高速缓冲存储器以及一个四路相联高速缓冲存储器控制器。
④ 写缓冲器。
(2)38400字节的片上SRAM,可以在LCD控制器和通用应用之间共享。
(3)内存可以和高达6个独立的扩展段接口,每个扩展段有256MB,且等待状态可编程。
(4)27位的通用I/O,可以多路复用,以在需要时提供额外的功能。
(5)数字音频接口(DAI)可以直接与CD音质的DAC和编解码器相连。
(6)中断控制器。
(7)先进的系统状态控制及电源管理。
(8)2个16550A兼容的全双工UART,含16字节的发送及接收FIFO。
(9)SIR协议红外线数据编解码器,速率最高达115.2kbps。
(10)LCD控制器,16级灰度,可编程为1、2或4位每像素。
(11)片上的启动ROM,已固化了用于串行加载的启动代码。
(12)2个16位的通用定时计数器。
(13)1个32位的实时时钟(RTC)和比较器。
(14)2个同步串行接口,用于诸如ADC等Microwire或SPI外围器件。一个接口支持主模式和从模式,另一个仅支持主模式。
(15)完全的JTAG边界扫描和嵌入式ICE支持。
(16)2个可编程的脉冲宽度调制接口。
(17)1个用于和1或2个Cirrus Logic CL-PS6700 PC卡控制器器件相连的接口,可支持2个PC卡插槽。
(18)振荡器和锁相环,用于由外部的3.6864 MHz的晶振产生内核所需要的18.432MHz、36.864 MHz、 49.152MHz或73.728MHz的时钟。此外还有一个外部时钟输入端(在13MHz模式下使用)。
(19)一个低功耗的32.768kHz的振荡器,用于产生实时时钟所需要的1Hz时钟。
所有的外部存储器和外围器件都应连接到32位的数据总线D[0:31]上,并应使用28位的地址总线A[0:27]和其它控制信号。
二、基本工作原理
EP7209的核心逻辑功能是建立在一个ARM720T嵌入式处理器之上的。对EP7209的设计,以低功耗为目的进行了优化,并使用完全静态的 0.25μm的CMOS制造工艺。低功耗的思想同样体现在状态设计、时钟使用的方式上。下面将有选择地介绍EP7209的工作原理。
1.CPU内核
ARM720T由一个ARM7TDMI 32位RISC处理器、一个单一的高速缓冲和一个存储器管理单元(MMU)所构成。8KB的高速缓冲有一个四个项的相联寄存器,并被组织成512线四字(4×512×4字节)。高速缓冲直接与ATM7TDMI相连,因而高速缓冲来自CPU的虚拟地址。当所需的虚拟地址不在高速缓冲中时,由MMU将虚拟地址转换为物理地址。一个64个项的转换旁路缓冲器(TLB)被用来加速地址转换过程,并减少页表读取所需的总线传送。仅通过转换高速缓冲中未存储的地址,MMU就能够节约功率。
2.状态控制
EP7209支持如下的电源管理状态:操作、空闲和后备(节能),如图2所示。正常的程序执行状态为操作状态。这是一个完全性能状态,时钟和外围器件都被使能。除了CPU时钟被暂停外,空闲状态与操作状态是一样的。一个中断或唤醒将使空闲状态返回到操作状态。后备状态下功耗最小,选择此模式会关闭主振荡器,只对实时时钟和相关逻辑提供电源。当EP7209处于后备状态时,为保证系统能够正常唤醒,所有电源和地引脚仍然与电源和地相连是非常重要的。后备状态唯一能够变迁到的状态是操作状态。
基于ARM核的音频解码器单芯片系统2
3.复 位
EP7209有三个异步复位信号:nPOR、nPWRFL和nURESET。如它们中的任一个有效,系统复位将由内部产生。除了RTC数据和匹配寄存器外,所有的EP7209内部寄存器都将被复位。为了使系统时间在用户复位或电源失败的状况下得以保持,RTC数据和匹配寄存器仅由nPOR引起的复位所清除。
任何复位都将复位CPU,并在EP7209返回操作状态时使CPU从复位矢量处开始执行程序。
4. 时 钟
EP7209有两个时钟模式:外部时钟输入和片上PLL。时钟源的选取是由端口E的第2脚(PE[2])的一个陷阱选项来实现的。如果PE[2]在nPOR的上升沿处为高(例如上电时),外部时钟模式被选取;如果PE[2]为低,那么,片上PLL模式被选取。上电以后,PE[2]可用作通用输入输出端口。
EP7209器件有几个独立的逻辑部分,每一个都有自己的时钟频率要求。当EP7209处于外部时钟模式时,外围器件的真实频率将不同于PLL模式时的频率。
5. 中断处理
在程序的执行期间,当一个不可预测事件 (如中断或存储器错误) 发生时,通常要产生一个例外。当这些例外在同一时间发生时,将由固定优先权服务体系决定其被处理的次序。表1显示了所有例外的优先权次序。
基于ARM核的音频解码器单芯片系统3
EP7209中断控制器有两个中断类型:中断请求(IRQ)和快速中断请求(FIQ)。中断控制器有能力控制来自22个不同的FIQ和IRQ中断源的中断。这22个之中,有17个被映射为IRQ输入,而另5个源被映射为FIQ输入。FIQ较IRQ有较高的优先级。如果来自于同一个组(IRQ或FIQ)的两个中断被接收到的话,其服务次序必须由软件来解决。所有中断均为电平敏感,也就是说,它们必须与下列的次序一致。
(1)中断器件(内部或者外部)产生适当的中断。
(2)如果中断屏蔽寄存器中适当的位已被设置,那么一个FIQ或IRQ将由中断控制器产生。
(3)如中断被使能的话,处理器将跳转到适当的地址。
(4)中断调度软件读中断状态寄存器,以确定中断源并调用相应的中断服务例程。
(5)中断服务例程中的软件将清除中断源,这是通过对申请中断的器件采取一些由该器件特定的行动来实施的(如,读UART RX寄存器)。
然后,中断服务例程可以重新使能中断。任何其它未处理的中断都将以相同的方法被服务。或者,它可以返回到中断调度软件。此软件能检查任何其它的未处理中断并能相应地调度它们。"End of Interrupt"类型的中断将被锁存。所有其它的中断源(如外部中断源)必须保持有效,直到相应的服务例程开始执行为止。
- 基于ARM核的音频解码器单芯片系统研究(11-03)
- EP7209 ARM单芯片系统功能特征及其嵌入式应用简介(08-31)
- EP7209 ARM单芯片系统功能特征及其嵌入式应用(10-26)
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)