DSP之外部设备连接接口之HPI

      通过主机借口HPI,外部主机可以直接访问DSP内部的双访问RAM(DARAM).

      HPI可以让外部的主处理器直接访问DSP内存映射中的部分内存,而无需DSP干预。通过主机接口还可以完成DSP的程序引导,DSP向主机发出中断信号要求主机响应中断等功能。HPI提供了一个16位宽的并口,使用14位地址,每个地址装一个16位的字。

HPI不能直接访问其他的外设寄存器,如果主机需要从其他外设获取数据,则必须通过CPU或6个DMA通道中的一个,先将数据搬到DARAM中,反之依然。

      主机在HPI外部地址线上的地址,当成字地址,而不是字节地址来对待。

      HPI的14根地址线,使主机可以访问到内部的地址为000060H~003FFFH的双访问RAM(DARAM)。0~00005Fh为MMR保留,HPI不能访问。

      在所有的C5509上,HPI和EMIF共享一个并口。EBSR(外部总线选择寄存器)中的并行端口位决定这个端口用于数据EMIF模式(00b),完全EMIF(01b),非复用HPI(10b)或者HPI模式(11b)。并口模式位的复位值由复位时GPIO 0引脚的状态决定。复位是GPIO 0引脚为高,是完全EMIF模式,低,复用HPI模式。

     HPI信号简介

信号名称
类型
说明
HD[15:0]
输入 / 输出 / 高阻
主机数据总线
在非复用模式下,只传输数据信号;复用模式下传输数据和地址信号
HA[19:0]
输入
主机地址总线
复用模式下传输主机到HPI口的地址信号;复用模式下HA[1]变成HCNTL1HA[2]变为HAS_,其他引脚没有使用
HBE[1:0]
输入
主机字节选择信号,但在 TMS320VC5510 2.0 版本之后不再 支持该信号
HCS_
输入
片选信号,低有效
HR/W_
输入
读写信号

HDS1_, HDS2_
输入
数据选通信号, HPI 接口的数据选通信号是这两个信号的同或 结果。选通信号至少应持续 2 CPU 周期, HDS1_ HDS2_ 号的连接根据主机选通信号而对应不同的接法。
主机有独立的读写选通信号,并且低有效,则一个接HDS1_,一个接HDS2_主机只有一个低有效的选通信号,则这个信号接到HDS1_HDS2_之一,而另一个引脚接高电平;主机有一个高有效地选通信号,则这个信号接HDS1_HDS2_,另一个引脚接低电平
HRDY
输出
EHPI 就绪信号。当这个信号为低时,标志 EHPI 接口忙,主机 应延长传输周期,信号为高时,表示传输过程已经结束,主机 可以继续下一次传输。当 HCS_ 信号为高时, HRDY 信号总为

HCNTL0 HCNTL1
输入
EHPI 口控制信号
非复用模式下HCNTLO为低时,EHPI接口将访问数据存储器,为高时访问EHPI控制寄存器,HCNTL1被地址线占用;复用模式下,HCNTL1HCNTL0信号用来选择访问的寄存器类
HCNTL[1:0]           寄存器访问类型
       00                      HPIC 读或写
       01                      HPID 读写,并且访问后地址自动增加 1
       10                      HPIA 读写
       11                      HPID 读写,访问后地址不增加
HAS_
输入
地址选通信号,该信号只在复用模式下起作用,这个信号使得 HCNTL[1:0] HR/W_ 信号可以在访问结束之前就消失
HMODE
输入
EHPI 模式选择信号,当为高时 EHPI 接口工作在非复用模式下, 为低工作在复用模式下
RST_MODE
输入
复位模式信号,但该信号在高版本 C55x 处理器中已经不再支持
HINT_
输出
DSP 到主机中断信号,该信号受状态寄存器 ST3_55 HINT 位控制

1 HPI接口的非复用连接方式

        非复用模式下,HPI口地址和数据分别使用单独的总线,接下来给出C55x DSP通过HPI接口采用非复用方式访问另一个C55x DSP的信号连接图。
        图中DSP1的通用IO信号IO7用来选通数据寄存器或者控制寄存器,图中没有标出的EHPI口信号不连接即可。非复用连接方式下数据和地址分别使用不同的总线,地址信号不必再通过EHPI数据总线传递,访问更加方便、快捷。

    1, 不使用HPIA HPI地址寄存器。对于每次传输的地址,必须在HA上给定。

    2.HPID HPI数据寄存器的作用是,临时保存通过HPI传送的数据。如果当前的访问是读操作,HPID保存从DSP存储器中读取的数据,如果是写操作,保存要写给DSP的数据。DSP CPU不能访问HPID.

    3.HPIC 包含了DSPINT位,使主机可以发送中断请求给DSP, DSP CPU不能访问HPIC。

特点:

    1 数据和地址使用分开的总线。

    2 主机用HCNTL0和HR/W信号来说明周期类型。

       包括:

                 主机驱动HCNTL0引脚上的电平,来选择访问类型。0 HPIC访问,1 HPID访问。

                 主机通过HR/W引脚来选择传输方向。 高 读 低 写

 

2  EHPI接口的复用连接方式
         EHPI口如果采用复用连接方式,地址和数据则都将通过数据总线传递,接下来给出PCI总线控制器PCI2040同C55x EHPI口的连接图。
         PCI2040是为C54x和C6000系列处理器通过HPI接口连接到PCI总线专门提供的,但由于C55x处理器的主机接口数据总线由C54x的8位变为16位,因此C55x是模拟C6000的HPI接口同PCI2040相连接的,由于C6000的HRDY信号为低有效,而C55x的HRDY为高有效,因此C55x的HRDY信号必须通过一个非门连接到PCI2040上。PCI2040没有HAS信号,故而C55x中的HAS_信号接到高电平。

     复用模式下:

             1 地址和数据在同一条总线(HPI数据总线,HD[15:0])上传输,因此需要地址寄存器HPIA来存放地址,但HPIA是16位寄存器,主机必须写一个16位地址,其中bit13~0是真正地址,15~14为0,且在读写操作前,必须加载HPIA。

             2 HPID与非复用模式一样。

             3 HPIC 也是。

      特点:

             地址和数据共用数据总线HD

             主机用HCNTL[1:0]和HR/W信号来表示周期类型。

             HAS允许HCNTL[1:0]和HR/W在访问周期内先撤销,可以有更多时间将总线状态从地址转为数据。HAS对主机是个可选信号,用一个总线来装载地址和数据,HPI可以不用HAS,将其拉高。

3 EHPI口的寄存器

        EHPI有下列寄存器:数据寄存器(HPID)、地址寄存器(HPIA)和控制寄存器(HPIC),数据寄存器是一个16位寄存器,用来存放输入、输出的数据,在非复用方式下,该寄存器只起缓存作用,对主机来说该寄存器是透明的;而复用方式下,主机对DSP内存的访问都必须经过数据寄存器,DSP再根据地址寄存器中的地址访问数据存储器。地址寄存器是一个16或20位寄存器,该寄存器保存复用方式下读写操作的地址,而地址寄存器也将根据HCNTL1和HCNTL0的状态决定访问结束后寄存器内的地址是否加1,地址寄存器在非复用方式下不起作用。
        控制寄存器HPIC控制数据的传输,主机还可以通过该寄存器向DSP发出中断,要求DSP响应中断,另外主机通过控制HPIC中的RESET位,在DSP复位引脚为高时可以控制DSP的复位或使DSP脱离复位状态。

HPIC 寄存器的说明

字段
复位值
说明
15~6
Reserved

 

保留
5
XADD
0
1
扩展地址使能位。在复用模式下如果使用 20 位地址,则须通 过设置该位决定访问的是 HPIA 19~16 位还是 15~0 位。
写到 HPIA 15~0 位;
写到 HPIA 19~16
4~2
Reserved

 

保留
1
DSPINT
0
1
主机对 DSP 的中断申请位。
清除 DSPINT
DSP 发出中断申请
0
RESET
0
1
复位。
清除复位;
使 DSP 停止进入复位状态

 

利用RESET位,主机可以通过软件使DSP进入复位状态,在该状态下,主机可以对DSP进行程序加载,加载完成之后清除复位标志,如果DSP设置的是EHPI引导,在主机清除复位标志后,DSP接下来将从10000h地址开始执行程序。下图给出了通过EHPI口加载DSP程序的流程.

通过 EHPI 口加载程序的过程
 
注意:
          HPI不属于任何idle域,因此,不能进入idle模式。然而:
          1 如果时钟发生器idle域,或DMA idle域处于idle,主机不能访问DSP的存储器。
          2 DSP 在EBSR中,包含一个主机模式idle 位HIDL。若为0,时钟发生器不能进入idle模式,为了使HPI工作,它保持激活状态,若为1,时钟发生器可以进入idle状态。
          HPI依靠DMA控制器工作,因此仿真影响了DMA控制器,也会影响HPI。DMA的FREE位决定遇到仿真断点和其他仿真中断时的行为:
          0 复位后的值,中断将DMA挂起。
          1 不会中断DMA传输
     DSP进入复位状态,HPIC强制恢复其默认值,HPIA和HPIA不会被DSP初始化。 
  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值