当前位置:首页 > 电源 > 数字电源
[导读]在现代通信、雷达和声纳系统中,随着实时处理要求的不断提高,对数字信号处理系统也提出了更高的要求。板载多片高性能的DSP芯片,配合大容量的SDRAM,可以很好地满足上述要求,并且已经成为了数字信号处理系统发展的

在现代通信、雷达和声纳系统中,随着实时处理要求的不断提高,对数字信号处理系统也提出了更高的要求。板载多片高性能的DSP芯片,配合大容量的SDRAM,可以很好地满足上述要求,并且已经成为了数字信号处理系统发展的趋势。采用CPCI总线集成系统,可以方便主机进行调试,控制和管理DSP系统。系统中的主机接口可以使主机通过CPCI总线访问板上的DSP和SDRAM芯片,这是多DSP系统设计的关键点之一。

不同于以往简单地使用一个CPLD进行粘合逻辑设计,本文提出了一种基于双状态机+Cache,预存预取的主机接口设计结构。在主机接口中设立了一个Cache,降低了CPCI总线与板上DSP和SDRAM芯片的耦合度,并且设计了两个独立状态机分别进行控制。这显著提高了主机访问DSP和SDRAM的速度,为DSP系统的应用提供了更广阔的平台。本文详细阐述了如何完成CPCI总线和DSP、SDRAM芯片间的数据传输,分析了设计难点,并给出了逻辑框图。

1 系统设计方案

图1是系统设计框

图,系统采用PLX公司的PCI9656接口芯片,它可以很方便地将时序相对复杂的PCI协议转化为相对简单的局部端访问协议。在基本不损失性能的同时,简化了逻辑设计要求,使开发者可以更为关注后端数据接口问题。

采用Xilinx公司的X2V1000它有近100万门的逻辑资源和720KB的BlockRAM可以灵活搭建控制逻辑和Cache缓存 DSP采用ADI公司的…

FPGA采用Xilinx公司的X2V1000,它有近100万门的逻辑资源和720KB的BlockRAM,可以灵活搭建控制逻辑和Cache缓存。

DSP采用ADI公司的ADSP-TS201S,共有4片,工作频率是600MHz,总共可以提供14.4GFLOPS的运算能力[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间的访问。

设计思想

PCI局部端的时钟是66MHz,而DSP共享总线为100MHz,时钟的不匹配会给逻辑设计提出很多时序方面的问题。另外,PCI局部端数据总线是32位,而SDRAM数据总线是64位,如何匹配数据宽度也是一个问题。而且PCI局部端和DSP、SDRAM在控制时序上也有很大差别。

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

在微处理器设计中,Cache被用来缓存数据、解决高速CPU访问低速存储器时的瓶颈问题。为了解决上述两大问题,在FPGA的设计中也采用了类似Cache的结构来隔离不同总线间的传输。在Cache的两边有两个状态机来控制Cache的读写和总线数据的访问。使用Cache后,DSP共享总线和PCI局部端总线将被去耦合,这样可以使两级总线的数据

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

图3是DSP/SDRAM接口框图,都是基于双状态机加上Cache结构[2]。两个状态机同时监测Cache当前空、满或是数据个数等状态,以决定其动作;另外状态机间还有命令通道,局部端状态机用它向DSP/SDRAM端状态机发出命令。由于这部分跨越了两个不同频率的时钟域,因此必须加上同步电路以防止寄存器不定态的产生。

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

2.3 DSP/SDRAM接口的实现

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

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

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

当预定义的数目被满足后,局部端状态机使ready_n有效以允许当前的读操作。DSP/SDRAM端将会根据用户设定是否突发读写DSP/SDRAM的方式,一直连续地读DSP/SDRAM数据,写入Cache中。除非接收到stop命令才回到IDLE状态,或是在Cache快要填满进入等待状态,放弃DSP共享总线,这样可以使4片DSP之间的数据传输尽可能少地被干扰。每次主机读DSP/SDRAM时,都会直接从这个Cache中读出数据。如果Cache中的数据少于预定义的数目,则ready_n将被无效,以使当前的数据传送等待。一旦LHOLD信号无效(当前这段PCI传送结束)或是局部端地址不连续了(局部端有一个地址寄存器,它标志Cache中下一个数据的地址,如果它和当前局部端地址不同表示预取的Cache已经无效),局部端状态机就向DSP/SDRAM端状态机发出stop命令。DSP/SDRAM端状态机清空Cache,准备下一次访问。读SDRAM的同时开启一个定时器,一定的时间间隔内要在读命令中插入刷新命令,防止数据丢失。

主机写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内打开两页。

接口性能

33MHz、32位的PCI总线理论极限速度是132MB/s,实际速度要有一些折扣。由于FPGA访问DSP和SDRAM理论带宽分别有300MB/s和600MB/s,因此DSP/SDRAM接口的瓶颈在PCI端。在研华MIC3358主板上,主机无其他任务,重复访问DSP内部一段64KB数据的测试环境下,接口的DMA读速度有90MB/s,DMA写有38MB/s。与此同时,Bittware的同类型板卡Tiger-6U-cPCI的DMA读速度是86MB/s,DMA写速度最高可以达到40MB/s。两者的DSP接口访问速度基本相同,但是在Bittware的设计里,主机要访问SDRAM,必须要借助DSP的SDRAM控制器,占用DSP的一个FLYBY通道,会影响DSP的正常运转。本系统提供了一个主机直接访问SDRAM的接口。

本文首先提出了一个通用DSP系统的设

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Micro热插拔技术作为现代电子设备中常见的一种接口设计,其便捷性和灵活性得到了广泛应用。然而,关于Micro热插拔是否需要断电的问题,一直存在争议。本文将详细探讨Micro热插拔的原理、优缺点,以及在不同情况下是否需要...

关键字: Micro热插拔技术 现代电子设备 接口设计

随着科技的不断发展,嵌入式系统在各个领域得到了广泛的应用,如智能家居、智能穿戴设备、智能医疗等。然而,随着嵌入式系统的复杂度和功耗的限制,如何实现低功耗方案设计成为了嵌入式系统设计的一个重要课题。本文将探讨如何实现嵌入式...

关键字: 嵌入式 DSP系统 低功耗

其一,是把系统所需的外设和单片机连接起来,使单片机系统能与外界进行信息交换。如通过键盘、A/D 转换器等外部设备向单片机送入数据、命令等有关信息,去控制单片机运行;通过显示器、发光二极管、打印机等设备把单片机处理的结果送...

关键字: 单片机 外部总线 接口设计

DSP芯片将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: DSP芯片 DSP DSP系统

摘 要 :视频监控系统是计算机应用中的重要领域之一。数字化摄像头网络化之后,监控系统正在不断引入新的功能,为使现有监控系统能更好地应对复杂环境,满足不同监控要求,就需要追加新功能,在系统架构与设计上进行调整。因此,如何将...

关键字: 智能监控 系统架构 模块化设计 接口设计 数据传输 深度相机

1、引言 can总线是由德国bosch公司为现实汽车测量和执行部件之间的数据通讯而设计的、支持分布式控制及实时控制的串行通讯网络。can总线通讯的波特率可高达1mbps,最远距离可达10

关键字: 卫星 通信接口 CAN总线 接口设计

计算机上面使用Modbus读取传感器或相关设备还是比较常用的,之前写的Modbus-RTU协议将串口封装到了协议栈内,使用的时候遇到短板了,比如我最新需要使用TCP来读取Modbus设备,就不好用了,

关键字: vc++ 主机接口 modbus-rtu

Xilinx FPGA 提供可简化接口设计的 I/O 模块和逻辑资源。尽管如此,这些 I/O 模块以及额外的逻辑仍需设计人员在源 RTL 代码中配置、验证、执行,并正确连接到系统的其余部分

关键字: FPGA Xilinx 存储器 接口设计 电源技术解析

引 言 PCI 总线(Peripheral Component Interconnect)是Intel公司推出的一种高性能32/64位局部总线,最大数据传输速率为132~264MB/s,是目前使用较为广泛的一种总...

关键字: pci总线 接口设计 数据采集 电源技术解析 雷达视频

实际上,每个产品设计必须经历数字提取和真实模拟世界。设计前期的一些考虑将焦点放在接口设计上。 20世纪后半叶的技术创新达到空前的速度。不像以前,这个时期的许多进

关键字: 接口设计 电源技术解析 建立桥路
关闭
关闭