打印

DSP与PC机的PCI总线高速数据传输(转)

[复制链接]
825|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FCCdsp|  楼主 | 2018-7-5 12:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
DSP与PC机的PCI总线高速数据传输

TMS320C6713是TI公司在TMS320C6711的基础上推出的C6000系列新一代浮点DSP芯片,它是目前为止C6000系列DSP芯片中性能最高的一种.TMS320C6713可在255MHz的时钟频率下实现1800MIPS/1350MFLOPS的定点和浮点运算,因而可极大地满足通信、雷达、数字电视等高科技领域对信号处理实时性的要求.同时其主机口(HPI)可灵活地和PCI总线控制器相连接.而PC机则可通过PCI总线控制器直接访问TMS320C6713的存储空间和外围设备,从而实现PC机与TMS320C6713之间的高速数据传输.

在TMS320C6713 DSP与PC机实现高速数据传输的方案中,可选用PLX公司的PCI9052作为两者之间的接口;同时选用PLX公司的NM93CS46作为加载PCI9052配置信息的串行EEPROM;而用TI公司的SN74CBTD3384作为 PCI9052与TMS320C6713HPI之间的电平转换芯片.

1 TMS320C6713的HPI简介

1.1 TMS320C6713 HPI的接口信号




TMS320C6713的HPI是一个16位宽的并行端口.主机(上位机)掌管着该端口的主控权,可通过HPI直接访问TMS320C6713的存储空间和外围设备.表1给出了TMS320C6713HPI接口信号的基本特征.下面对它们的具体工作方式进行说明:

HD[15:0]:可以用作数据和地址的共用总线,通过HD[15:0]传送的数据包括控制寄存器的设置值、初始化的访问地址以及要传输的数据.

HCNTL[1:0]:用于控制当前访问的是HPI的哪一个寄存器,该信号同时还提供了一个对HPI数据寄存器(HPID)进行地址自增的访问方式.在该方式下,主机会连续地访问一个线性存储区域,而无需反复向HPIA写入需要的地址.表2给出了HCNTL[1:0]控制信号的功能.

HHWIL信号:用于表明并区分HD[15:0]上传输的是32位数据中的高16位还是低16位.由于TMS320C6713芯片结构决定了它与主机间所有的数据交换都是32位,而HPI端口为16位,所以每次数据访问都需要进行两次存取,而由HPI自动将HD[15:0]上连续的两个16位数据合成32位,当然,也可以用其进行反向分解.

HAS信号:用于复用地址数据总线的主机.它可使HCNTL、HHWIL和HR/W信号在一个存取周期中快速地实现状态转换.对于地址数据复用的总线来说,也可以为数据/地址的切换留出更多的时间.

HCS、HDS1和HDS2信号:这三种信号可在片内组合为一个低有效的HSTROBE信号,如图1所示.其作用是,在读取时,在HSTROBE信号的下降沿锁存输入的HPI控制信号,包括HHWIL、HR/W和HC-NTL[1:0];而在写入时,其下降沿和读取时作用相同,其上升沿则锁存写入的数据.

HRDY信号:用于表明HPI是否已准备好传输数据,其作用是在接口时序上插入等待状态.如果前一次HPI的访问尚未完成,那么当前访问的第一个半字的存取需要等待,此时,HPI会置HRDY信号为高.

表1 HPI接口信号描述

信 号管 脚 号管 脚 数信 号 功 能
HD[15:1]从低到高依次为147、152、155、154、156、159、161、164、165、166、167、168、172、173、17416数据/地址总线
HCNTL[1:0]从低到高依次是146、1442HPI访问类型控制
HHWIL1391确认半字(16位)输入
HAS1351对复用地址数据总线的主机区分地址和数据
HR/W1431读/写选择
HCS1451输入数据选通
HDS1/HDS2从低到高依次是152、1512输入数据选通
HRDY1401访问HPI状态准备好
HINT1391向主机发出的中断信号


表2 HCNTL[1:0]控制信号的功能

HCNTL1HCNTL0功能
00主机可以对HPI的控制寄存器HPIC进行读写
01主机可以对HPI地址寄存器HPIA的进行读写
10主机可以对HPID的数据寄存器进行读写操作,此时HPIA采用以字为单位的地址自增方式
11主机可以对HPID的数据寄存器进行读写操作,但此时HPIA不受影响


1.2 TMS320C6713 HPI的控制寄存器

在TMS320C6713 HPI中,可利用三个寄存器来完成主设备和CPU的通信,它们是HPI数据寄存器(HPID)、HPI地址寄存器(HPIA)和HPI控制寄存器(HPIC).主机可对这三个寄存器进行读写,而CPU只能对HPIC进行访问.HPID中存放的是主机从存储空间中读取的数据,或者是主机向TMS320C6713的存储空间中写入的数据.HPIA中存放的是主机访问TMS320C6713存储空间的地址,其最低两位固定为零.HPIC中存放的是TMS320C6713的控制信息,其高16位和低16位内容相同.

主机对HPI进行访问的次序为:初始化HPIC、初始化HPIA、从HPID寄存器中读取或向其写入数据.在初始化HPIC时,HWOB位的设置是关键,它决定着高16位与低16位的传输次序.

2 PCI9052与TMS320C6713HPI的接口

PCI9052是PLX公司继PCI9050之后推出的用于低成本适配器的总线目标接口芯片.它支持PCI2.1协议规范,在33MHz的总线时钟频率下,其峰值传输速度可达132MB/s,因而可大大改善数据传输中的瓶颈问题.同时它还具有方便灵活的开发特点,正是这些特点使其在PCI从模式接口卡的设计中得到了广泛的应用.

表3给出了PCI9052与TMS320C6713HPI接口信号的基本特征.下面是对它们具体工作方式的一些说明:

LAD[31:0]:利用该信号可通过设置LASIBRD局部地址空间总线区域描述寄存器的总线宽度位来调整总线宽度,当LASIBRD[23:22]=00时,采用LAD[7:0]8位宽度,当LASIBRD[23:22]=01时,采用LAD[15:0](16位),当LASIBRD[23:22]=10时,采用LAD[31:0](32位).

LBE[3:0]字节使能信号是在总线宽度的基础上编码的.对于32位总线,LBE[3:0]表示哪一个字节被选中:LBE0对应[7:0],LBE1对应[15:8],LBE2对应[23:16],LBE3对应[31:24];而对于16位总线,LBE0对应[7:0],LBE1对应地址的第1位,LBE2不用,LBE3对应[15:8];对于8位总线,LBE0对应地址的第0位,LBE1对应地址的第1位,LBE2和LBE3不用.

CS1和CS2分别带有与之对应的片选基地址寄存器(CSIBASE).CSIBASE?0?为片选使能位,其中CSIBASE[27:1]为片选空间位.从片选空间位的第1位向第27位扫描时,遇到第1个“1”即决定了片选空间的大小,其余位则为片选空间的基地址.

LINT1和LINT2可通过中断控制/状态寄存器INCSR的中断使能位INCSR进行使能,同时可设置其它相关信息.

表3 PCI9052与TMS320C6713的接口信号描述

信 号管 脚 号管脚数信 号 功 能
LAD[31:0]从低到高依次为91、90、89、88、87、86、85、84、83、82、79、78、77、76、75、74、73、72、71、70、69、62、61、60、59、58、57、56、55、54、53、5232数据总线
LW/R1271为“1”时写,为“0”时读
LA[27:1]从低到高依次是92、93、94、95、96、97、98、100、101、102、105、106、107、108、109、110、111、112、113、114、115、116、117、118、119、12227地址总线,传输28位线性地址的高26位
LBE[3:0]从低到高依次是46、47、48、494字节使能信号,表示当前总线传输中哪一个字节被选中
LRDY1281在局部总线读数据或可接受写数据
ADS1231表明可用地址和一次新的总线存取的起始
CS1、CS2130、1312片选信号
RD1261通用写
WR1251通用读
LINT1,LINT2137、1362局部中断输入


3 与 PC的高速数据传输

TMS320C6713HPI与PCI9052的具体连线如图2所示.

实际上,在具体电路设计时,整个方案的实现除了需要TMS320C6713和PCI9052外,还需要有SN74CBTD3384和NM93CS46.由于TMS320C6713的I/O是在3.3V电压下工作,而PCI9052在5V电压下工作,所以TMS320C6713与PCI9052之间必须采用SN74CBTD3384进行电平转换.SN74CBTD3384是TI公司生产的10位总线转换器,它的输入、输出引脚一一对应,并分别排列在芯片的两侧封装.图2中共选用了三片SN74CBTD3384.NM93CS46是PLX公司生产的串行EEPROM存储器,用于加载PCI9052配置信息.其中按一定顺序存放着设备号(DID)、供应商代号(VID)、子设备号(SDID)、子供应商代号(SVID)、PCI总线与局部总线之间的地址空间映射关系、片选地址、控制位、状态位及其它杂项配置等.上电时,PCI总线的RST信号有效,同时PCI9052输出局部复位信号LRESET,并检查NM93CS46是否有效.若有效,且第一个16位字不是FFFFh,那么PCI9050将根据串行EEPROM的值来设置内部寄存器,否则采用默认值.

考虑到TMS320C6713HPI与PCI9052间的时序配合问题,通常在连线过程中,还必须注意下列几个问题:

(1)由于PC机中数据与地址总线是复用的,所以PCI9052的MODE引脚应接地,而PCI9052中局部数据与地址总线是非复用的,所以TMS320C6713的HAS引脚应接高电平.

(2)由于 TMS320C6713的HR/W信号与PCI9052的W/ R信号极性相反,因此必须通过非门进行连接.

(3)由于TMS320C6713与PCI9052分别工作在不同的时钟频率下,所以TMS320C6713的HRDY信号输出必须通过D触发器的同步后才能送入逻辑电路,以供PCI9052的LRDY信号使用.

(4)LRDY信号的逻辑表达式为:LRDY=RD.WR+(CS1+ADS+HRDY),因此,只有RD或WR有效,且CS、ADS、HRDY也有效时,LRDY才能有效.

另外,要保证TMS320C6713 HPI与PCI9052的稳定协调工作,除了要设计合理的硬件电路外?还必须对PCI9052的内部寄存器进行准确配置.关于PCI9052内部寄存器的具体配置方法,可以参考PLX公司的用户手册,这里不再赘述.





笔者已将该方案应用于某电力系统精确故障定位及录波装置中.其中,由TMS320C6713 DSP芯片构成的高速数据采集卡用来控制电力系统中各电参数的采集、存储与故障判断.当其HPI被设置为带地址自增的读方式时,可在一次故障记录结束后,由PC机将存储在TMS320C6713外扩SDRAM中的大量数据一次性读入.读入的数据可用来计算故障发生的精确位置,分析系统中各电参数的变化情况,同时记录各继电保护装置的动作情况.

4 结束语

该方案不仅有效地解决了TMS320C6713 DSP芯片与PC机间数据传输的瓶颈问题,而且简化了硬件设计.同时由于它支持即插即用技术.因此,由DSP构成的高速数据采集卡具有良好的可移植性


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

967

主题

1447

帖子

9

粉丝