VC5416内部提供增强型HPI8可访问所有片内RAM空间,支持主设备与VC5416之间高速传输数据,最快可达到64Mbps[2]。主机通过访问其内部寄存器HPIA, HPIC, HPID 即可实现对从机片内RAM进行数据访问。其中HPIA是地址寄存器,存放当前HPI存储单元的地址;HPIC是控制寄存器,主、从机通过对其设置来控制HPI工作方式;HPID是数据寄存器,用于暂存通信数据。HPI主要引脚及其功能如下:
HD[0-7]: 双向三态数据线
HBIL:字节识别信号,低表示第1字节,高表示第2字节
/HCS:片选输入信号
HCTNL[0-1] :主机控制信号,用于对内部寄存器HPIA,HPIC,HPID的选择
HR/W:读写信号,高表示读,地表示写
/HDS[1,2]:数据选通信号,在主机寻址HPI周期内控制数据传送方向
/HINT:中断输出信号,由HPIC中HINT位控制
HRDY :HPI准备好,忙时被拉为低,不能访问
/HAS:地址选通信号,当地址,数据线分开时,此引脚拉高
HPIENA: HPI使能,高电平有效,在复位期间被采样
HPI16 :HPI16模式选择,选择HPI8时,此引脚拉低
HPI 寄存器地址由HCTNL[0-1]决定。HCTNL[1-0]=00时,主机可以读/写HPIC。 HCTNL[1-0]=01时,主机可以读/写HPID。每读1次,HPIA事后增1;每写1次,事前增1,因此在该方式下写操作前,HPIA中的地址值应该比要访问存储单元的地址值小1。HCTNL[1-0]=10时,主机可以读/写HPIA,该寄存器指向HPI存储器。HCTNL[1-0]=11时,主机可以读/写HPID,HPIA不受影响。HPI总线每次只能访问一个字节,对于16位DSP来说,一个单元需要访问两次。访问的是高字节(MSB)还是地字节(LSB)由HBIL引脚状态和HPIC中的BOB位决定。当BOB=1时,第一个字节为低字节;BOB=0时,第一字节为高字节。
2.2 HPI硬件设计
图像处理系统中,通过将主机/IS信号与从机HPI选通信号相连,将从机HPI寄存器映射到IO空间。如图2 所示。图2 中主机的8根数据总线D[0-7] 与HD[0-7]相连,可以实现每次对HPI寄存器进行一个字节的访问; R/W,/RD,WE分别连接VC5416的R/W,/HDS1, /HDS2实现读写逻辑控制;HPIENA拉高,对HPI模块进行选择,HPI16接地,选择HPI-8模式。通过XINT1与/HINT相连实现从机对主机的中断请求。为了实现HPI程序引导,将/HINT与/INT2相连。由于2407A的数据总线和地址总线是分开的,所以/HAS接高。为了防止主机和从机同时访问资源冲突, 将HRDY与主机的READY相连,当HPI模块忙时,主机插入等待周期。A0-A2连接从机的HBIL, HCTNL0,HCTNL1,实现主机对从机内部寄存器进行字节寻址。通过配置HPIC中的BOB位可得到各字节所对应的IO地址, BOB=0时各寄存器高、低字节对应的IO地址如表1 所示。当BOB=1时,表1 中各寄存器的高字节与低字节要对调。
表 1 BOB=0时HPI寄存器字节对应IO地址