摘 要:ADSP-TS101是ADI公司新一代高性能浮点DSP,开始应用在高速数据采集和处理系统中。TS101外部总线接口可编程,方便和各种总线外设接口。本文结合TS101与同步FIFO、SDRAM和FPGA的接口实例,介绍了TS101的接口技术,可作为基于TigerSHARC系列DSP的应用系统设计参考。
关键词:信号处理;总线接口技术;DSP;FIFO
1. 引言
随着人们对信号处理要求的不断提高和大规模集成电路的迅速发展,作为数字信号处理核心的数字信号处理器(DSP)得到了快速发展和广泛应用,TigerSHARC系列是ADI公司继SHARC系列ADSP2106x/2116x之后的新一代高性能浮点DSP。其代表产品TS101内核主频达到300MHz,该系列DSP已开始应用在雷达、声纳、飞行器、医学图像处理、仪器和3G基站等领域[1]。
TS101的内部有3条独立的地址和数据总线,每条连接一个2Mbit内部存储器块,提供14.4GB/s的内部存储器带宽;外部提供了64位的数据和32位地址总线,峰值带宽800MB/s。TS101的片内/外存储器统一组织于存储器映射空间中(用于存储启动代码的ROM映射在独立的BMS空间),支持通过不同外部总线协议访问外部总线设备,如存储器、主机和其它TS101等。
2. TS101的外部总线接口协议
TS101的外部总线支持多种类型的专用/通用协议[2],可编程配置为不同协议,支持与不同类型设备的接口。可将外部总线接口协议分为三种:慢速设备、流水线和SDRAM协议。
2.1 慢速设备协议(Slow Device Protocol)
TS101工作于慢速设备协议,可以用来访问映射在MS0、MS1和主机空间的异步设备,如异步RAM和ROM,具有总线接口的A/D、D/A器件与TS101的接口可以使用慢速设备协议。
2.2 流水线协议(Pipelined Protocol)
流水线协议能够支持对多种设备的访问,并且具有较高访问效率。它的特点是在流水传送数据的同时具有可编程的流水深度,其中读取流水深度可以设定为1~4,写入流水深度固定为1。写入流水深度不能调整导致TS101向外部总线上某些设备写入数据时需要借助于外部逻辑。
典型的流水读取时序见图1。图中前后两次传输的流水深度是不同的,协议中规定,能够分别设定TS101统一存储器空间中的MS0、MS1、HOST以及其它TS101的读取流水深度。
图1 流水线协议时序
2.3 SDRAM协议
TS101片内集成了可编程SDRAM控制器,提供了与多种SDRAM进行接口的能力。SDRAM编址在TS101统一存储空间中独立的MSSD空间。TS101的SDRAM控制器支持一次连续访问一页(1024/512/256字),所以在访问连续地址空间时达到非常高的总线效率。
3. TS101的外部总线接口实例
3.1 TS101与同步FIFO接口实例
同步FIFO用作数据缓存广泛应用在高速数据采集和信号处理系统中。TS101外部总线流水线协议配置灵活,参数可调性强,适合与之接口。以下以IDT公司的FIFO器件IDT72V36110[3]为例,介绍通过调整TS101外部总线流水深度和借助外部逻辑实现与同步FIFO的接口。
(1)TS101写同步FIFO接口
TS101的写操作流水线深度固定为1个周期,地址和写信号比数据提前一个周期有效,不符合这种FIFO写信号与数据对应的时序要求。解决方法是通过外部逻辑将TS101输出的写信号 延迟一个外部总线时钟周期。图2是一种TS101写FIFO接口图,图中的SCLK与TS101的系统时钟同频同相。对各个器件输入/输出信号的建立/保持时间的计算表明该电路能够产生符合要求的FIFO写入控制信号 ,实际使用情况也是完全正常的。时序如图3所示。
可以根据需要将FIFO的状态指示标志信号连接到DSP的FLAG或者 引脚,DSP可以通过查询或中断方式与FIFO交换数据。其中,中断方式能够充分发挥DSP的高速数据传输能力。
(2)TS101读同步FIFO接口
标准模式和FWFT模式的同步FIFO写时序是相同的,读时序则略有不同。TS101的读操作流水深度在1~4个周期范围可调。将流水深度设置为1个周期,则其时序可以与FIFO在标准模式的读时序完全匹配,但是FIFO没有片选信号,必须将 和 相或产生FIFO读出控制信号 ,以避免总线上的误操作;并将 延迟一个周期产生FIFO的输出允许信号 。注意要用上拉电阻将 信号上拉,以避免系统上电启动时FIFO处于输出有效状态,导致总线冲突。逻辑原理见图4,时序见图5。
图4 TS101S读FIFO(标准)接口图 图5 TS101S读FIFO(标准)接口时序
TS101也可与工作在FWFT模式的FIFO接口,需要将 信号延迟一个周期产生 和 ,可在图4所示的逻辑电路基础上进行修改。时序如图6所示。相比之下,TS101与工作在FWFT模式的FIFO接口所需要的外部逻辑更容易理解和使用。
参照以上所述的方法,TS101可借助外部逻辑访问其它类型的同步存储器,增加的外部逻辑需要满足建立、保持和有效时间等接口时序要求。
3.2 TS101与FPGA接口实例
本文设计的系统需要将FPGA连接在TS101的外部总线上(SCLK=100MHz),其功能是在FPGA中设置了控制寄存器和状态寄存器供TS101读写。如果采用流水线协议,需在FPGA内部设计多级流水线的结构才能满足时序要求。由于不会频繁访问该接口,故对访问速度要求不高。作者采用了工作在异步模式下的慢速设备协议接口。
其中 是片选信号; 和 分别是读和写信号;等待周期通过寄存器设定,不需要ACK信号的参与;仅连接了数据线DATA[7:0]和地址线ADDR[3:0];FPGA通过 请求TS101发起访问。这种连接方法的电路和FPGA逻辑设计简单,且能够满足实际应用的需要。
3.3 TS101与SDRAM接口实例
在TS101系统中使用SDRAM时,选用的SDRAM必须符合TS101内置SDRAM控制器的特征,才能实现无缝接口。本文以表1为例说明选择SDRAM需要考虑的问题。
TS101 SDRAM控制器的刷新参数用每隔 个指令周期发出刷新命令来表示,以工作频率为300MHz的TS101和MT48LC16M16为例,计算得出:
所以将刷新计数器初值设置成1200,能保证SDRAM正常工作。
从表1中可知,用两片MT48LC16M16宽度扩展成32bit,可以与TS101无缝接口;TS101 SDRAM控制器支持的最长突发长度是1024字,而MT48LC64M4的页面长度是2048字,所以不能与TS101无缝接口。
4. 结论
由于TS101外部总线接口可编程设置,可以灵活地与不同类型总线外设接口。本文介绍了该DSP的外部总线的同步和异步接口技术,虽然只给出了它与同步FIFO、FPGA以及SDRAM的接口实例,但其接口方法完全可以应用在其它同类设备接口中,对基于TigerSHARC系列DSP的应用系统设计具有很实用的参考价值。