位置:51电子网 » 技术资料 » 集成电路

基于HPI接口的高速数据传输设计

发布时间:2008/8/12 0:00:00 访问次数:609

引言

  dsp芯片能够大大提高数字信号处理的效率,但在主机与dsp构成的系统中,当dsp与主机间需要大数据量传输时,数据传输速率就会成为程序运行速度的瓶颈。所以在程序调试过程中,实现主机与dsp之间的快速数据传输,不仅可以提高程序运行效率,还可以大大节省调试程序的时间。
tms320c6000系列的hpi(host port interface)接口不仅可以方便主机对dsp的控制,还可以实现主机与dsp内存的快速数据传输。这里用双tms320c6416(600mhz)来进行实验,通过hpi接口实现了主dsp(下文中都称为"主机")和从dsp的快速数据传输,并通过实验测试了hpi接口的数据传输速率。

系统介绍

hpi概述

  hpi(host-port interface)主机接口,是ti高性能dsp上配置的与主机进行通信的片内外设。通过hpi接口,主机可以非常方便地访问dsp的所有地址空间,从而实现对dsp的控制。

  tms320c6416的hpi接口是一个16bit/32bit宽的并行端口。主机(host)对cpu地址空间的访问是通过edma控制器实现的。hpi接口的访问主要通过三个专用寄存器来实现,它们分别是hpi控制寄存器(hpic)、hpi地址寄存器(hpia)和hpi数据寄存器(hpid)。

hpi接口信号简介

(1) hd[31∶0](数据总线)

(2) hcntl[1∶0](控制hpi访问类型)

  如前所述,对hpi的访问需要通过三个寄存器,即hpi地址寄存器(hpia),hpi数据寄存器(hpid)和hpi控制寄存器(hpic)来实现。hcntl[1∶0]就是用于选择这三个寄存器的专用引脚。

(3) hhwil (半字指示选择)

  hhwil指示当前的为第一个或是第二个半字传输,但需要注意的是,它并不代表是最高有效的(most significant)还是最低有效的(least significant),而决定的依据是hpic中的hwob位的状态。在hpi32模式下,不使用此信号。

(4) hr/w (读/写操作指示)

(5) hrdy (输出准备好)

(6) hcs,hds1,hds2(选通信号)

  当hcs有效,并且hds1和hds2中仅有一个有效时,内部触发信号hstrobe有效。这三个信号的组合逻辑其实就是片选和读/写信号构成的组合逻辑,因此,可直接与主机的片选和读/写信号相连。

(7) has (地址输入选通)

(8) hint(向主机输出的中断)

hpi接口寄存器简介

  如上所述,主机通过hpi接口对dsp的访问实际上是通过三个寄存器来实现的,下面就针对这三个专用寄存器进行介绍。

(1) hpi控制寄存器(hpic)

  hpic中每一位都有特定的功能,在对hpi进行访问的过程中需要特别注意。简要介绍一下这些功能位的作用。

  ①hwob(半字顺序位)

  如果hwob=1,第一个半字为最低有效;如果hwob=0,第一个半字为最高有效。hwob对地址和数据都起作用,如果采用hpi16模式,在访问数据或者地址寄存器之前,应该首先初始化hwob位。

  ②dspint(主机产生的processor-to-cpu中断,用于hpi启动方式中将dsp内核从复位状态中唤醒)

  ③hint(dsp-to-host中断,即通过向此位写入特定值来产生对主机的中断)

(2) hpi地址寄存器(hpia)

  存放32bit数据,指向将要访问的dsp地址空间中的地址。

(3) hpi数据寄存器(hpid)

  在写操作中存放将要写入hpia所指向地址的数据,在读操作中为hpia所指向地址中的数据。

系统设计
硬件设计
外设选择

  在c6416中,一些外设共用某些引脚。其中hpi,gp[15:9],pci, eeprom以及mcbsp2共用一组引脚,dsp在复位时通过锁存pci_en及mcbsp2_en引脚的值来选择使用何种外设。如表1,在本设计中,将这两个选择引脚都拉低。

数据总线

  c6416 hpi数据总线具有32个外部引脚hd[31:0]。因此,c6416 hpi支持16位或32位的数据总线。当用16位宽的主机接口时,c6416 hpi称为hpi16;当用32位宽的主机接口时,c6416 hpi称为hpi32。c6416 hpi通过复位时的自举和器件配置引脚(hd5)选择采用hpi16还是hpi32。

  hpi16具有16位数据总线,hpi16将两个连续的16位传输组成一个32位数据传送到cpu。为了和其他c6000器件兼容,无论复位时选择何种endian模式,hpi16都使用hd[15:0]作为数据引脚。hpi32具有32位的数据总线,使用该增加的总线宽度,所有传输均为一个32位的字传输,而不是两个连续的16位半字。在本设计中采用hpi32总线模式。

主机emif配置

  对主机,emifa (64位总线)和emifb (16位总线)都可以与hpi相连。在hpi16模式下,可以采用emifb,在hpi32模式下,可以采用emifa。在本设计中,影射emifa ce1存储器空间为主机接口,对ce1空间控制寄存器的设置。

硬件连接

  从c6416 hpi寄存器的编址方式可以看出,主机需两根地址线寻址到hpi接口的控制寄存器、地址寄存器和数据寄存器,因此选择主机的地址线a3、a2连接c6416 hpi的hcntl1、hcntl0。hpi的选通由hcs、hds1、hds2三根信号线共同作用,最后的hpi使能信号

引言

  dsp芯片能够大大提高数字信号处理的效率,但在主机与dsp构成的系统中,当dsp与主机间需要大数据量传输时,数据传输速率就会成为程序运行速度的瓶颈。所以在程序调试过程中,实现主机与dsp之间的快速数据传输,不仅可以提高程序运行效率,还可以大大节省调试程序的时间。
tms320c6000系列的hpi(host port interface)接口不仅可以方便主机对dsp的控制,还可以实现主机与dsp内存的快速数据传输。这里用双tms320c6416(600mhz)来进行实验,通过hpi接口实现了主dsp(下文中都称为"主机")和从dsp的快速数据传输,并通过实验测试了hpi接口的数据传输速率。

系统介绍

hpi概述

  hpi(host-port interface)主机接口,是ti高性能dsp上配置的与主机进行通信的片内外设。通过hpi接口,主机可以非常方便地访问dsp的所有地址空间,从而实现对dsp的控制。

  tms320c6416的hpi接口是一个16bit/32bit宽的并行端口。主机(host)对cpu地址空间的访问是通过edma控制器实现的。hpi接口的访问主要通过三个专用寄存器来实现,它们分别是hpi控制寄存器(hpic)、hpi地址寄存器(hpia)和hpi数据寄存器(hpid)。

hpi接口信号简介

(1) hd[31∶0](数据总线)

(2) hcntl[1∶0](控制hpi访问类型)

  如前所述,对hpi的访问需要通过三个寄存器,即hpi地址寄存器(hpia),hpi数据寄存器(hpid)和hpi控制寄存器(hpic)来实现。hcntl[1∶0]就是用于选择这三个寄存器的专用引脚。

(3) hhwil (半字指示选择)

  hhwil指示当前的为第一个或是第二个半字传输,但需要注意的是,它并不代表是最高有效的(most significant)还是最低有效的(least significant),而决定的依据是hpic中的hwob位的状态。在hpi32模式下,不使用此信号。

(4) hr/w (读/写操作指示)

(5) hrdy (输出准备好)

(6) hcs,hds1,hds2(选通信号)

  当hcs有效,并且hds1和hds2中仅有一个有效时,内部触发信号hstrobe有效。这三个信号的组合逻辑其实就是片选和读/写信号构成的组合逻辑,因此,可直接与主机的片选和读/写信号相连。

(7) has (地址输入选通)

(8) hint(向主机输出的中断)

hpi接口寄存器简介

  如上所述,主机通过hpi接口对dsp的访问实际上是通过三个寄存器来实现的,下面就针对这三个专用寄存器进行介绍。

(1) hpi控制寄存器(hpic)

  hpic中每一位都有特定的功能,在对hpi进行访问的过程中需要特别注意。简要介绍一下这些功能位的作用。

  ①hwob(半字顺序位)

  如果hwob=1,第一个半字为最低有效;如果hwob=0,第一个半字为最高有效。hwob对地址和数据都起作用,如果采用hpi16模式,在访问数据或者地址寄存器之前,应该首先初始化hwob位。

  ②dspint(主机产生的processor-to-cpu中断,用于hpi启动方式中将dsp内核从复位状态中唤醒)

  ③hint(dsp-to-host中断,即通过向此位写入特定值来产生对主机的中断)

(2) hpi地址寄存器(hpia)

  存放32bit数据,指向将要访问的dsp地址空间中的地址。

(3) hpi数据寄存器(hpid)

  在写操作中存放将要写入hpia所指向地址的数据,在读操作中为hpia所指向地址中的数据。

系统设计
硬件设计
外设选择

  在c6416中,一些外设共用某些引脚。其中hpi,gp[15:9],pci, eeprom以及mcbsp2共用一组引脚,dsp在复位时通过锁存pci_en及mcbsp2_en引脚的值来选择使用何种外设。如表1,在本设计中,将这两个选择引脚都拉低。

数据总线

  c6416 hpi数据总线具有32个外部引脚hd[31:0]。因此,c6416 hpi支持16位或32位的数据总线。当用16位宽的主机接口时,c6416 hpi称为hpi16;当用32位宽的主机接口时,c6416 hpi称为hpi32。c6416 hpi通过复位时的自举和器件配置引脚(hd5)选择采用hpi16还是hpi32。

  hpi16具有16位数据总线,hpi16将两个连续的16位传输组成一个32位数据传送到cpu。为了和其他c6000器件兼容,无论复位时选择何种endian模式,hpi16都使用hd[15:0]作为数据引脚。hpi32具有32位的数据总线,使用该增加的总线宽度,所有传输均为一个32位的字传输,而不是两个连续的16位半字。在本设计中采用hpi32总线模式。

主机emif配置

  对主机,emifa (64位总线)和emifb (16位总线)都可以与hpi相连。在hpi16模式下,可以采用emifb,在hpi32模式下,可以采用emifa。在本设计中,影射emifa ce1存储器空间为主机接口,对ce1空间控制寄存器的设置。

硬件连接

  从c6416 hpi寄存器的编址方式可以看出,主机需两根地址线寻址到hpi接口的控制寄存器、地址寄存器和数据寄存器,因此选择主机的地址线a3、a2连接c6416 hpi的hcntl1、hcntl0。hpi的选通由hcs、hds1、hds2三根信号线共同作用,最后的hpi使能信号

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

DS2202型示波器试用
    说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式