您当前的位置:五五电子网电子知识单片机-工控设备ARM单片机带ARM核的双CPU数字信号处理器(三) 正文
带ARM核的双CPU数字信号处理器(三)

带ARM核的双CPU数字信号处理器(三)

点击数:7382 次   录入时间:03-04 11:49:50   整理:http://www.55dianzi.com   ARM单片机

(4)DSP外围

DSP子系统提供了与5409类似的高速全双工串口——2个多通道缓冲串口(McBSPs)。它们允许与其它的54x设备、编解码器及系统中的其它设备进行直接接口。

DSP 子系统包括1个6通道的DMA控制器,用于执行独立的数据传输。在DMA控制器进行DMA传输时有几点限制;第1,DMA控制器能访问通常在程序空间的 RAM,不能访问在MCU子系统中执行的RAM,不能访问在DSP数据空间与API接口连接的RAM;第2,DMA控制器不能在McBSP DRR和DXR寄存器之间进行数据传输,不能在McBSP DRR或DXR寄存器与外部资源之间进行数据传输;第3,DMA控制器不能对外部资源进行32位的访问。

MCU 和DSP之间通过片上共享的API存储器进行信息交换。API存储器是一个8K×16位字的DARAM(Dual-ACCess RAM)块。API存储器还可以被DSP用作通用数据或程序DARAM。在这个电路中,只有DSP存储器有DARAM。API通过分体切换控制寄存器可以选择两种操作模式之一:共享访问模式SAM(Shared-Access Mode)和主机模式HOM(Host-Only Mode)。在SAM模式下,DSP和MCU都可以访问API存储器。来自MCU的异步主机访问在内部被重新同步。如果DSP和MCU试图在同一时间进行访问操作,那么MCU进行优先访问,而DSP则等待1个周期。当DSP处于IDLE1模式时,SAM可以运行。在HOM模式下,只有MCU可以访问API 存储器,对于DSP则禁止读访问。当DSP从一个复位相退出时,缺省配置是SAM模式。当DSP处于正常操作模式或IDLE1模式时,通常选择SAM模式;当DSP处于IDLE2或IDLE3模式时,通常选择HOM模式。

(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唤醒。




本文关键字:处理器  ARM单片机单片机-工控设备 - ARM单片机

《带ARM核的双CPU数字信号处理器(三)》相关文章>>>