1 HPI主机接口构成
TMS320C5402芯片的HPI接口分为HPI8(8位主机接口)和HPI16(16位主机接口)两种,其应用方式大同小异,这里主讲HPI8。HPI8实际上是一个8位的并行端口,主机通过它可以直接访问DSP片内的一段RAM。在早期的DSP中,这段公用的RAM是一段2K字的双口RAM(对于TMSVC5402则可以访问所有的片内RAM)。当主机和DSP同时访问同一地址时,主机优先。HPI8数据的传输必须以字节为单位。在DSP与主机传送数据时,HPI能自动地将外部接口传来连续的8位数组合成16位数后传送给主机。
HPI主机由以下五个部分组成:
●HPI存储器(DARAM)。HPI RAM主要用于DSP与主机之间传送数据,也可以用作通用的双导址数据RAM或程序RAM。
●HPI地址寄存器(HPIA)。它只能由主机对直接访问。该寄存器中存放着当前寻址的HPI存储单元的地址。
●HPI数据锁存器(HPID)。它也只能由主机对其直接访问。如果当前进行读操作,则HPID中存放的是要从HPI存储器中读出的数据;如果当前进行写操作,则HPID中存放的是将要写到HPI存储器的数据。
●HPI控制寄存器(HPIC)。DSP和主机都能对它直接访问。
●HPI控制逻辑。用于处理HPI与主机之间的接口信号。
HPI的引脚在无主机访问时呈高阻态,因此可以直接挂在主机数据总线上,使得硬件电路特别简单。
HPI引脚由以下几部分组成:
(1)HD0~HD7:双向并行三态数据总线。
(2)HCS:HPI片选信号。
(3)HAS:地址选通信号,此信号用于主机的数据线和地址线复用的情况。
(4)HBIL:字节识别信号,用于识别主机传送过来的是第一个字节还是第二个字节。
(5)HCNTL0、HCNTL1:主机控制信号,用来选择主机所要寻址的寄存器。
(6)HDS1、HDS2:数据选通信号,在主机寻址HPI周期内控制数据的传送。
(7)HINT:HPI中断输出信号,受HPIC中的HINT位控制。
(8)HRDY:HPI准备好端。
(9)HR/W:HPI读写信号
(10)HPIENA:HPI允许信号,若系统选中HPI则将它连到高电平,否则悬空或接低电平。
主机访问HPI的一个字包括两个步骤:首先访问第一个字节,此时HBIL为0;然后访问第二个字节,此时HBIL为1;这两步组成一个访问单元。这个访问单元不可被拆开或颠倒,不管当前访问的是HPIA、HPIC还是HPID。
HPI有两种工作方式:
●共用寻址方式(SAM),这是常用的操作方式。在SAM方式下,主机和DSP都能寻址HPI寄存器,异步工作的主机的寻址可以在HPI内部得到同步。如果DSP与主机的周期发生冲突,主机有优先权。
●仅主机寻址方式(HOM)。在HOM方式下,只能让主机寻址HPI存储器,DSP则处于复位状态或最小功耗状态;
HPI支持DSP与主机之间数据的高速传输。在HOM方式下,主机可以更快的速度工作,且与DSP的时钟频率无关。
2 应用系统及结果
滑窗算法是数字信号处理中一种常用的基本算法,在通信、雷达、电子对抗、参数估计、信号识别中有着广泛的应用。滑窗算法的性质限制了它的用途,高速DSP芯片的出现才扩大了它的实际应用。本文利用两片TI公司的高速DSP芯片TMS320C5402,应用其HPI接口并行实现多种滑窗算法,满足了某雷达系统解模糊的实时需要。整个系统的基本框图如图1所示。
HPI在双处理器中的应用原理图如图2所示。在本方案中,将不用的信号如HAS、HPIENA、HDS2接高,而HRDY悬空。由上面的分析可以很容易地得到HPI操作控制线占用的I/O端口,详细的分配情况见表1。
表1 HPI操作占用的I/O端口分配图
访问方式
访问对象
|
读 写 访 问
|
第一字节对应端口地址 |
第二字节对应端口地址 |
HPIC |
0h |
020h |
HPIA |
080h |
0A0h |
HPID(地址自增) |
040h |
060h |
HPID(无地址自增) |
0C0h |
0E0h |
当对HPIC进行访问时(将一个十六位的数据送到HPIC中),首先将低八位数据送到端口地址为0h的I/O空间,然后将高八位送到端口地址为020h的I/O空间。HPID、HPIA的访问方式与之相同。下面是HPI接口初始化程序的部分代码;
PORTW *AR0,0h
LD *AR0,*-8,a
STL A,*AR0
PORTW *AR0,020h
代码说明:AR0中存放的是要发送数据的地址,这一段程序将一个16位的数据送到HPIC中。
参照上述步骤可以方便地通过HPI将DSP与FPGA、DSP和单片机等其它主机相连如图3所示。
大量仿真与实测数据表明,各项指标均满足设计要求。该系统已在某雷达系统中获得应用。