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处理器继续执行用户应用程序。
4 HOSTDP数据传输
ADSP-BF527通过外设接口总线设置HOST CONTROL寄存器的HOST_EN位使能HOSTDP。如果禁止HOSTDP,应在清除HOST_EN位前将HOST_RST置位。一旦使能HOSTDP则由外部主机控制。外部主机通过编程设置DMA发送和接收数据,并将其存储到ADSP-BF527有效的内部和外部存储器中。
4.1 HOSTDP设置
数据传输前,主机需配置DMA控制器。主机首先读取从机HOST_STATUS寄存器的ALLOW_CNFG位。如果允许配置,主机将向HOSTDP发送7个16位控制字。主机通过这些控制字配置HOSTDP的DMA读写、DMA模式、起始地址等参数。接收所有控制字后,ADSP-BF527根据控制字重新配置HOETDP。在配置完成前,主机处理器不允许提供新控制字。通过写入控制字,该设计将DMA设置为应答模式,数据传输采用停止模式。
总线宽度16位,以先传输低位数据的顺序传输数据。配置完成后,主机以所配置的方式读写数据,从而实现数据传输。数据传输过程中,通过ADSP-BF527软件编程设置控制寄存器中HER和EHW位使能或禁止主机读写HOSTDP,HER和EHW的设置,不会影响到写配置口、控制命令和读状态。由于主机不能查询HOSTDP的HER和EHW位,因此,该系统设计ADSP-BF527一直保持HER和EHW位使能。
4.2 数据读写流程
当使能HOSTDP,DMA通道配置后,主机通过所配置的DMA通道与ADSP—BF527通信。数据读写时,在有效数据的最后需附加一个传输终止字确保数据传输。数据写操作用于主机向从机的数据传输。MCF5272将ADSP-BF527所需的信号与设置写入HOSTDP的FIFO,DMA同时将从FIFO移出数据,并存储到DMA配置字规定的存储器。数据读操作用于从机向主机数据传输。ADSP—BF527的DMA将从机存储器中的数字信号处理结果移至HOSTDP的FIFO。主机执行读操作,从FIFO中读取数据。
停止模式下ADSP-BF527的HOSTDP读写操作流程如图2所示。其中,DMA_DONE位在DMA将FIFO数据移出后置1,在下一次主机写数据时置O。HOSTRD_DONE位在主机将FIFO的数据移出后置l,下一次主机读操作,DMA向FIFO传输数据时置为0。
应答模式下,主机对HOSTDP的操作时序如图3所示。在预定读写溢出时间内,ADSP-BF527仍未完成相应的读写操作,主机未接收到HRDY信号,主机超时寄存器计数溢出并产生超时中断。该设计的中断服务程序首先通过GPIO引脚告知主机数据读写失败,停止DMA通道数据传输;当主机重置HRDY信号为高电平,允许下一周期继续传输数据;并禁止HOSTDP,在停止模式下,具体的主机读写数据流程如图4所示。
5 结语
随着自动化领域监测、控制任务对嵌入式系统的要求不断提高,多处理器硬件系统模式的快速发展,电子技术和半导体加工工艺的发展促使DSP和MCU的融合。因此,MCU+DSP的双处理器结构已成为多核处理器的发展方向。