(5)DSP电源管理
DSP子系统具有3种省电模式,分别由IDLE1、IDLE2和IDLE3指令激活。在这种3种模式下,C54x DSP核进入睡眠状态,从而与正常模式相比大大降低了功耗。这3种模式的区别于对芯片内部模块的关闭程序及唤醒方式不同。在IDLE1模式下,关闭除DSP系统时钟以外的所DSP活动。因为系统时钟要用于DSP子系统外围模式,所以DSP外围电路能够继续工作。这样,外围(例如串口和定时器)则可以命名DSP离开省电状态。在IDLE2模式下,同时关闭DSP子系统的外围及DSP核,但是DSP子系统的锁相环(PLL)时钟放大器则仍将保持活动状态以便可以从IDLE2状态快速恢复。由于DSP子系统的外围在这种模式下被关闭,它们不能像IDLE1那样通过产生中断来唤醒C54x。然而,由于外围的完全关闭使功耗大大地降低了。为了终止IDLE2,可以通过复位或激活中断0来实现。IDLE3模式与IDLE2模式类似,只不过它还将关闭锁相环(PLL)电路。IDLE3用于获得最小可能的DSP功耗。另外,如果系统要求C54x运行在较低的速度下以节省功耗,那么IDLE3状态允许外部重新配置DSP PLL。与IDLE3一样,通过复位或激活断0可以终止IDLE3。
3 MCU子系统功能介绍
5470 MCU子系统包括TI公司的增加了仿真特性的ARM7TDMI微处理器核以及一些外围,包括SPI和I2C接口、通用异步收发器、定时器、通用输入/输出接口和外部存储器接口。MCU子系统提供4K×32位的通用RAM和4K×32位的太网包RAM。
(1)MCU核
MCU子系统使用TI公司的增加了仿真特性的ARM7TDMIE核,它是ARM公司ARM7TDMI核的一种衍生品。ARM7TDMI处理器核是ARM7 Thumb家庭中的一种,是一种低功耗3的32位RISC处理器,并且组合了Thumb 16位的压缩指令集。这种微处理器可以通过执行中2位或16位指令来处理32位、16位或8位数据。由于引入Thumb而获得的卓越的代码密度,可以降低对存储器大小的需求,并且可以从16位宽的存储器获得32位的系统性能,从而降低了系统的成本。
MCU存储器空间包括内部RAM、内部外围、用于访问外存储器和外区域以及外部SDRAM。
(2)MCU存储器接口
MCU存储器接口通过1条32位宽的数据总线使MCU与内部及外部的存储器和外部设备连接。这条总线支持MCU访问8位、16位和32位的数据。所有的外围控制寄存器均为32位,因此只能使用32位的操作进行访问。
MCU存储器接口允许端配置,以便保证所有的外部设备工作在同样的端模式下。MCU存储器接口还提供对外部访问的管理,所支持的外部设备包括ROM(Flash)、SRAM和SDRAM。外部数据部线是一种32位的双向总线。MCU对内部外围和内部存储器的访问通常在0等待状态执行。SDRAM刷新周期使任何MCU访问发生延迟。MCU对外部SDRAM存储器访问的定时由SDRAM接口寄存器控制。
API接口用于MCU对DSP存储器中的某一小部分进行访问,它提供了一条通向DSP子系统中的API RAM的16位数据通路。所有的32位事务被分成2个16位的API事务。API接口支持向连续的访问操作之间可编程地插入等待状态,以保证MCU子系统和DSP子系统之间的信号同步。
(3)MCU外围
5470MCU子系统的外围主要包括通用异步收发器(UART)接口、串行外围接口(SPI)、通用I/O口、I2C接口、定时器和中断控制器。
UART模块通过2个64位深的先进先出堆栈对处理器接收到的字符数据执行从串行到并行的转换,并对处理器传输的字符数据执行从并行到串行的转换。SPI是一个双向的3路接口,用于为从或向外部设备进行的数据传输提供一个3路串行接口。这个串口完全由MCU存储器接口控制。它是基于一个循环移位寄存器的,允许2种传输模式,即并行输入、串行输出和串行输入、并行输出。54703提供36个通用I/O口(GPIO),它们可以通过内部寄存器配置成读或写模式。这些GPIO被分成2组:GPIO(19:0)和KBGPIO(15:0)。KBGPIO是键盘GPIO引脚,它们当中有些具有内部上拉电阻,但其进行的操作与GPIO(19:0)引脚类似。主I2C接口模块为MCU子系统总线和I2C引脚之间提供了1个接口,它允许MCU控制与I2C引脚连接的外部设备。I2C接口实际上一是个并行到串行和串行到并行的转换器。从MCU接收的并行数据必须在I2C总线上转换为适当的串行格式传输给外部设备,从I2C总线上接收的串行数据必须转换为适当的并行格式传输给MCU。5470 MCU子系统包括3个16位的定时器,它们可被配置为“自动加载”或“倒计数器0并停止”2种模式。当定时器计数到0时,向MCU产生1个中断。定时器0可被配置为看门狗定时器或通用定时器,定时器1和时器2为通用定时器。看门狗定时器在倒计数为0时复位MCU子系统,以避免用户程序被死循环阻塞而使程序失去控制。MCU子系统的中断控制器对MCU子系统的16个中断源(IRQ0~15)进行优先权和屏蔽控制。它还可以将这些中断划分为MCU的2种中断输入:nIRQ(低优先级中断请求)和nFIQ(快速中断请求)。它既可以从内部模块也可以从外部的芯片环境中接收中断。外部中断可以通过GPIO和/或KBGPIO引脚提供。
(4)MCU的省电模式
MCU及其子系统外围可以通过设置CLKM_BER和WAKEUP_REG2个寄存器的适当位被关闭和唤醒。在MCU关闭之间,由软件来负责将ARM_CLOCK设置为旁路或低频模式。由来自某外围的第1个中断将MCU唤醒。
(5)MCU外部时钟管理
5470器件由外围时钟输入信号REFCLK提供时钟定时。5470 REFCLK输入不提供时钟振荡器。所以它必须由遇到VIH和VIL请求的方形波输入信号来驱动。DSP和MCU子系统的时钟都是通过使用锁相环由REFCLK衍生的。复位或加电之后,2个子系统中各自CLKMD寄存器内容由各自锁相环上可编程内部端口的状态决定。对于MCU子系统,这些内部端口是硬连线的,所以缺省模式下的可编程性能是不可用的。对于DSP子系统,DSP PLL的可编程内部端口与寄存器DSP_REG的输出相连接,此寄存器由RISC处理器控制。这样在MCU子系统的控制下,DSP PLL的缺省值则允许为可编程的。图3为时钟管理模块框图。
MCU子系统有3种运行模式:PLL(正常情况下)模式、DIV模式和省电模式。在省电模式下,输入时钟频率被一个大数(512~1023)相除。当把MCU子系统时钟模块配置为省电运行模式时,如果使用一个小于512的值做除数,则将导致时钟停止。与DSP时钟相似,MCU子系统时钟也是由输入时钟(REFCLK)的扩展版本衍生的。RISC使用的PLL与DSP PLL一样,因此,RISC处理器使用与DSP相同的最小输入时钟频率限制和扩缩值(scalingvalue)。
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.

