基于DSP芯片ADSP-TS201S的X2V1000实现高速主机接口的应用设计

网友投稿 244 2022-11-04

基于DSP芯片ADSP-TS201S的X2V1000实现高速主机接口的应用设计

1 系统设计方案

SDRAM采用Hynix公司的HY57V561620C,容量共有128MB,可以基本满足数据存储的要求。

2 FPGA的接口设计

2.1 FPGA在系统中的作用

FPGA主要实现如下功能接口:(1)DSP接口。提供一个PCI Local总线到DSP共享总线的界面,完成两套总线之间的逻辑仲裁及读写控制信号等;(2)SDRAM接口。提供一个PCI Local总线到SDRAM总线的界面;(3)FLASH接口;(4)链路口;(5)Register管理模块。图2给出了FPGA的各种接口与系统其他部分的关系图。本文将重点讨论主机和DSP、SDRAM间的访问。

2.2 设计思想

图1中显示的是共享总线结构,DSP、SDRAM和FPGA都挂在DSP的外部总线上。DSP之间的通讯可以使用DSP总线;各个DSP访问SDRAM时,也要选择DSP总线;而且当主机访问DSP通讯时,也会不可避免地使用DSP总线。因此不难得出这样的结论:DSP总线将可能成为系统的瓶颈所在。所以在设计主机接口时,必须提高总线的使用效率,减少申请DSP总线的次数,每次申请使用DSP总线时都要尽可能多地传输数据。

吞吐量都尽量达到自己的峰值速度。FPGA内部有丰富的存储资源,大块的BlockRAM可以方便地搭建成Cache;而且Cache越大,越能提高主机访问DSP和SDRAM的效率,减小占用DSP总线的时间,从而可以缩短DSP间通过DSP总线互访时的等待时间。

SDRAM接口与DSP接口不同处是它还有一个标准的SDRAM控制器,负责将自定义的SDRAM读写命令翻译成SDRAM控制信号线RAS#、CAS#和WE#的组合。将SDRAM控制器独立出来可以使得设计更加模块化,避免SDRAM端状态机过于庞大[3]。

2.3 DSP/SDRAM接口的实现

主机访问DSP时,必须遵守DSP的流水线协议,其中重要的是读写时的流水深度:读操作时流水深度始终为四个周期,写操作时流水深度始终为一个周期。主机执行来自或去往DSP的突发操作时,支持超过四字的连续突发操作。当主机发出突发首地址,只要BRST#信号有效,DSP就在内部对地址累加。首次传送的起始地址和最后一次传送的结束地址必须四字对齐。这里只支持DSP端4字突发。

SDRAM的访问协议很常见,限于篇幅,不再赘述。

每次主机开始访问DSP/SDRAM时,PCI局部端使用LHOLD和ADS#来启动一次传输,LWR=0表明是读过程。局部端状态机向DSP/SDRAM端状态机发出start命令。开始时Cache为空,而且DSP/SDRAM提供数据要超过一段时间,所以在读操作的开始阶段要无效ready_n使局部端等待。DSP/SDRAM端状态机接收到局部端状态机的start信号后,开始从DSP/SDRAM读出数据,填入Cache中。

主机写DSP/SDRAM的操作过程因为有Cache的存在显得很简单[4]。因为局部端和DSP/SDRAM端之间有Cache完全隔离,所以局部端状态机只要判断Cache中还有足够的空余位置就开始往Cache中分别写入地址和数据(两者是一一对应的)。局部端状态机在写的过程中,根据PCI9656的blast#信号来判断单次还是突发以及突发是否结束;如果Cache中空余位置少于4个则进入等待状态。DSP/SDRAM端状态机一旦看到Cache不为空,便从Cache中读出地址和数据,整合了一段数据后开始申请DSP共享总线,按照协议规定的时序要求将数据写到DSP/SDRAM中。对DSP的写操作就像写SRAM一样简单方便;写SDRAM稍微复杂一些,除了要像读一样插入刷新命令外,每次写SDRAM到了页末时必须及时发出预充电命令,防止地址错误地回转到页首;另外每次写完SDRAM后同样发出预充电命令,关闭本页,防止在同一个Bank内打开两页。

2.4 DSP/SDRAM接口性能

本文首先提出了一个通用DSP系统的设计方案,主要给出了FPGA在系统中的位置和作用。然后简要介绍了FPGA的各个功能模块,着重针对DSP和SDRAM接口进行了讨论,针对数据宽度和时钟速率不匹配的特点,提出双状态机+Cache的设计结构,给出相应的FPGA设计框图和设计思路。比较国际上知名的其他板卡,本系统的DSP接口的访问速度已经达到了较高水平;一个高访问速率的主机接口的建立,可以使得系统运行中的主机控制DSP过程尽可能少地影响DSP系统的运行。而一个高访问速率的SDRAM接口的建立,也为主机和处理板间大容量数据交换提供了可能,这一点在进行数据存储和雷达信号处理中尤其有用。该设计已经被应用于某大型信号处理系统,取得了良好的效果。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Apache网页安全优化
下一篇:Java中常用阻塞队列的问题小结
相关文章

 发表评论

暂时没有评论,来抢沙发吧~