APP下载

一种可配置主机并行接口的协议描述

2014-04-29汪扬埔文仁轶王枢

电脑迷 2014年13期

汪扬埔 文仁轶 王枢

摘 要 可配置主机并行接口(Host-Port Interface,简称HPI)是DSP与外部系统进行通信的一个重要并行接口部件。通过HPI,可以完成外部主设备系统与DSP内部存储空间的数据交换、DSP芯片的自举以及调试。本文详细介绍了DSP64X 主机并行接口(HPI)的主要协议,包括外部接口、四个寄存器的配置、配置为16位和32位的总线访问等。

关键词 可配置主机 并行接口 描述

中图分类号:TP3 文献标识码:A

DSP64X具有32条外部引脚接口,通过DSP复位期间对特定的芯片管脚使能,可以配置HPI接口支持16位宽的数据总线和32位宽的数据总线两种模式(文中一律简称为HPI 16模式和HPI 32模式)。不管是HPI 16模式还是HPI 32模式,HPI都是以字传输来实现对DSP存储空间的访问。

1HPI外部接口描述

通过配置,外部HPI信号可以与各种主机部件实现接口。配置HCS 与HDS[1:2] 三个锁存信号的电平,可产生一个低电平有效的内部锁存信号HSTROBE 。HSTROBE 表示内部产生的选通信号,在其下降沿会对主机驱动的输入控制信号HCNTL[1:0],HHWIL,HR/W 进行采样。

2 HPI的寄存器配置

HPI是通过特定的寄存器配置来实现外部主机与CPU之间的通讯的。DSP64X中共有4个寄存器:HPI数据寄存器(HPID)、HPI地址寄存器(HPIA)、HPI控制寄存器(HPIC)、HPI传输请求控制寄存器(TRCTL)。主机能对HPIC、HPIA、HPID三个寄存器进行读/写访问,而CPU能对HPIC、HPIA、TRCTL进行访问。外主机通过访问HPI实现与DSP传输的基本流程为:主机首先通过配置外部引脚到适当的电平,写地址寄存器HPIA,配置主机所要访问的DSP存储空间的地址;然后改变外部控制信号,发出访问主机接口的数据寄存器的命令,主机接口根据命令产生相应请求提交给EDMA控制器。如果EDMA控制器忙,则向HPI发送忙信号,HPI将外部HRDY信号拉高,表示DSP忙,使主机进入等待状态,直到EDMA完成当前操作。如果EDMA 控制器处于空闲状态,将直接响应HPI的请求,并对HPI送来的地址进行译码,送到相应的EDMA通道进行存取。

3HPI的总线访问描述

DSP64X的HPI总线访问可分为HPI 16和HPI 32两种模式。为保证数据正确传输,在任何一个HPI进行传输(包括HPIC、HPIA和HPID寄存器访问)之前,都必须保证HRDY 信号为低电平,否则传输的正确性不能得到保证。

3.1配置为HPI 16模式的总线访问

配置为HPI 16模式传输,在对两个半字访问时,HCNTL[1:0]和HR/W 必须要设定为相同的值。对于第一个半字传输,HHWIL应配置为低电平;而对于第二个半字的传输,HHWIL必须配置高电平。HPI 16模式数据传输包括HAS 信号不使用时读、写操作和HAS 信号使用时的读、写操作4种情况。

3.1.1锁存控制信号

在信号配置时,是否使用HAS 信号,锁存控制信号的方式也不相同。如果HAS 没有使用,并且连接在高电平,则由HSTROBE 的下降沿锁存控制信号;如果使用HAS ,则由HAS 的下降沿锁存控制信号,此时HAS 信号的下降沿必须领先于HSTROBE 信号的下降沿。

3.1.2HPID寄存器的读操作

(1) 固定地址读HPID模式。在一次固定地址读中,当HPI向EDMA发送请求时,此时HRDY 信号应被置高电平,直到被请求的数据被加载如HPID寄存器;在第二个半字读取的时,因为请求数据已经存在于HPID寄存器之中,所以HRDY 信号应为低电平。

(2)自增地址读HPID模式。如果是第一次HPID寄存器读操作,那么在HSTROBE 信号的下降沿之后,HRDY 要被配置为高电平。当第一个数据由EDMA送入内部缓存后,数据应地址自动指向下一个,HPI继续执行连续的数据捕获。当前读操作完成时,如果缓存中已有准备好的数据,HRDY 信号应该在下一次读操作时保持有效,所以在检测到HRDY 有效前,外部主机不能停止读周期。

3.1.3HPID寄存器的写操作

(1)固定地址写HPID模式。在一次固定地址写HPID寄存器操作中,主机要向HPID依次传输2个半字,写访问结束(由HSTROBE 的第二个上升沿标示)后,HPID里的32位数据开始按照HPIA寄存器指定的地址进行传输。因此在检测到HRDY 信号为低电平之前,主机不应该终止一个写周期。

(2)自增地址写HPID模式。自增地址写HPID寄存器的数据应先被写入内部缓存区,直到缓存半满或者写操作结束时,DSP再启动EDMA进行内部传输。此时,由于数据已存在于缓存区,HPID可以立即接收下一个写数据,HRDY 信号会在主机进行下一次写操作时保持有效,所以在检测到HRDY 有效前,外部主机不能停止写周期。

3.1.4HPIC和HPIA寄存器访问操作

为保证数据传输的正确,在配置HPIC或HPIA寄存器时,必须要在HPID寄存器访问状态转换之前完成。

3.2 配置为HPI 32模式的总线访问

由于使用32位数据总线,因此每次读/写操作只需要进行一次32位的传输,此时半字选择信号HHWIL被配置为无效,除此之外,HPI 32的操作与HPI 16的操作类似。