MCU+DSP嵌入式平台的i机接口与引导设计
自动化控制要求实时采集数据,快速控制,多样分析,通信灵活,虽然采用单个处理器构成的硬件平台不能满足要求。采用以MCU+DSP双处理器为核心的硬件平台则是较合理的设计方案。利用DSP实现数据实时采集、分析、计算;MCU完成管理、通信、人机接口等异步系统控制功能。该硬件平台的MCU与DSP接口设计与数据传输是系统设计的重要部分,将直接影响系统性能和数据传输效率。数据传输通常采用双端口RAM、串行通信、并行主机等接口方式。其中,并行主机接口的方式可以满足大量数据实时传输要求。这里以MCF5272型和ADSP-BF527型数字信号处理器构建一种MCU+DSP双处理器的嵌入式平台,详细论述DSP通过主机DMA端口(Host DMA Port,简称HOSTDP)实现主机引导加载程序以及DSP与主机的通信。
2 MCU+DSP双处理器接口设计
图l为MCU+DSP双处理器ADSP-BF527与MCF5272的接口电路。该嵌入式平台采用ColdFire系列的MCF5272型MCU作为主机。MCF5272具有基于第二代ColdFire V2的内核,32位数据和地址总线,SDRAM接口,4个16位定时器,3通道PWM输出,主频高达66 MHz,丰富的外部接口和较强的通信功能。此外,该器件还具有出色的编码密度和系统性能。
图1 ADSP-BF527与MCF5272的接口电路
该系统DSP采用ADSP-BF527型数字信号处理器,该器件采用了微信号架构(MSA),时钟频率达600 MHz,功耗低至O.8 V,支持强大的片上总线系统,具有多个独立的DMA控制器,拥有较强的并行数据处理能力。ADSP-BF527带有一个HOSTDP,便于与外部主机构成双处理器架构,完成多种数据处理和控制任务。ADSP-BF527的HOSTDP内部分为主机外部接口模块(HEI)、外围访问总线(PAB)接口模块、FIFO模块、控制逻辑模块和DMA接口模块。
图1中,接口电路各信号的功能为:HWAIT为握手信号,防止Boot Kernel忙时主机写数据;HOST_DATA为16位数据总线,主机与从机数据交换的通道;HOST_ADDR为访问属性信号,O表示访问数据接口,l表示访问配置接口;HOST_CE为主机对从机使能;HOST_WR为主机写入HOSTDP使能信号;HOST_RD为主机读取HOSTDP使能信号;HOST_ACK为数据传输握手信号,应答模式下为HRDY,中断模式下为FRDY;TOUT为读写操作超时信号,应答模式下Host-Timeout计数溢出时产生;BMODE[3:0]为启动模式设置信号。
3 ADSP-BF527启动与程序加载
ADSP-BF527复位包括硬件和软件复位,复位中断优先级最高。当释放RESET信号后,该处理器开始从片内BootROM的0xEF00 0000地址读取指令并执行。片内Boot ROM含有一个Boot引导核,用于预引导和加载用户数据。
3.1 预引导
ADSP-BF527复位后,Boot引导核首先调用Preboot子程序。Preboot子程序通过访问一次可编程ROM(OTP)中的工厂设置页(FPS)和预引导设置页(PBS)来设置系统映射寄存器(MMR),包括锁相环(PLL)、电源调节、SDRAM控制器、异步外部总线接口单元(EBIU)、HWAIT的信号模式以及0TP定制引导。
PBS由用户设置,每次使用4页。当PBS出现错误时,可置0TPINVALID位,使其无效,再使用下一个4页。如果设置PBS首页的PLL和电源调节错误,可采用BMODE=0000引导模式补救。该模式预引导程序不读取PBS页,FPS处理后,ADSP-BF527处理器变为空闲状态。
处于安全考虑,PBS页设置引导模式禁止/使能位,禁止其他引导方式。这样即使BMODE引脚设置对应这些禁止引导方式,不会引导Boot引导核进入空闲状态。
3.2 引导模式设置
预引导结束后,Boot引导核根据BMODE[3:0]引脚设置启动相应的引导方式加载用户数据(引导流)。引导流为已定义格式,包含若干数据块和特殊指令,每数据块都含有一个16字节的块头,该块头由DSP的开发工具Visual DSP++设置生成,用于指示引导核是否完成引导过程。BMODE[3:0]引脚设置的引导模式包括无引导、主机引导和从机引导模式。引导模式设置如表1所示。
其中无引导模式由厂商编程设置0TP页完成。主机引导模式中DSP自行加载用户数据.通常是从并行接口的Flash或者SPI、TWI接口的存储器读取数据。从机模式DSP作为从机,主机控制RESET信号。通常主机先设置RESET信号,然后通过检测HWAIT引脚等待预引导程序实现,最后提供加载用户数据。
3.3 HOST DMA引导模式
该系统为MCU+DSP架构,主处理器MCF5272通过HOSTDP控制从机ADSP-BF527。ADSP-BF527的程序作为MCF5272数据写入Flash存储器中。该系统加电复位后,MCF5272向从机加载程序并引导启动。因此采用HOST DMA引导设计较灵活,独立存储器个数少,提高性能并降低成本。系统维护时,Flash中ADSP-BF527程序通过修改主机通信接口,提高产品维护效率。该设计的BMODE[3:0]引脚电平设置为1110,采用从机16位HOSTDP引导模式。
当主机复位ADSP-BF527后,ADSP-BF527可从片上BootROM的0xEF00 0000地址执行预引导程序。预引导结束后,向主机发送HWAIT信号,主机开始向ADSP-BF527加载用户数据。用户数据加载完成后,主机发送HIR9命令,ADSP-BF527引导核执行调用指令,程序指针跳至EVTl寄存器内用户应用程序的首地址,将控制权交给用户应用程序。此时,引导结束。ADSP-BF527处理器继续执行用户应用程序。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)