预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PCl接口DMA传输方式的FPGA实现 同济大学超大规模集成电路研究所曲红林争辉焦孟草于超 摘要:本文介绍了一种使用FPGA进行32位PC1接口芯片设计的方法,并实现了DMA块模式传输方式, 既发挥了PC1总线的高性能又不占用CPU处理时间,实现计算机软件处理与机外的硬件处理的并行执 行,广泛适用于高速视频处理。 引言所设计的高速视频压缩处理系统的框架如图1 PCI总线是微型计算机中处理器、存储器与外所示。在视频处理过程中,由于算法复杂同时要保证 围控制部件、扩展卡之间的互连接口,其独立于处理实时性,需要将算法的一部分由计算机完成,处理后 器的独特设计和高性能、开放性等优势,使其得到迅的数据再送入PCI卡完成算法的剩余部分。为提高 速普及和发展。目前PCI总线已成为微型计算机事处理速度,实现软硬件两部分的高速并行,需要将中 实上的总线标准.并在嵌入式计算机和工控计算机间数据通过计算机的PCI接口以DMA方式传送给 方面具有广泛的应用前景。同时,随着可编程逻辑器机外硬件模块。考虑到系统的集成度及灵活性,我们 件FPGA的快速发展,在FPGA上实现PCI接口,来使用FPGA自主开发PCI接口芯片,符合PCI协议 降低成本和满足某些特殊要求的做法得到了越来越2.2 广泛的关注。 PCI接口的实现方案有两种:①采用专用的PCI 接口芯片,可以避免复杂的PCI协议,缩短开发周 视舅-!接视频 口 期,降低开发难度。但系统结构受接口芯片的限制,软}硬件 处玛f芯片.处理 不能灵活地设计目标系统,且成本较高。②使用可编 模I、模块 程逻辑器件FPGA实现。这种方案可以根据整个系D姒 ] 统的实际需要仅选择实现PCI协议的某些子集.同 时将另外一些重要的功能集成到同一个器件上,这图1高速视频压缩系统框架 样就使得所设计的PCI接口具很强的针对性和灵活 性,与此同时又可以极大地降低这个系统的成本。我 们在设计高速视频压缩系统时,就采用了第二种方 广 法,即采用FPGA来设计简化的32位PCI接口,同8 时集成了DMA(DirectMemoryAccess)块模式传输 易 方式,既实现了PCI总线的高速传输,同时又大量减 少CPU处理时间,从两方面保证了视频处理的实时 性 图2PCJ接口芯片框架 http://www.cicmag.com Master 1芯片构成及功能描述 芯片的总体框架如图2所示。 芯片由PC]接口模块、DMA控制模块及本地总 线接口模块三部分构成。PCI接口模块实现了简化 的33MHz工作时钟、32位总线宽度的接口功能,支∞ 持内存空间及配置空间的读写;还负责遵循PCI协 议2.2与PCI总线通信,实现接口芯片的即插即用。 DMA控制模块负责接收计算机的DMA请求.接管 总线控制权,以DMA方式将计算机存储器的数据 以块方式读出并写到连接本地总线的存储器.DMA 结束后发出中断通知计算机.然后释放对总线的控图3PCI接口信号 制权。DMA控制模块也以同样的原理实现本地总线 D-I^ST^RTI ‘ 到PCI总线的DMA传输因此,本文只需对PCI总——=气———们咖—·—lo—.———n———————^————————————;== REOII ———————————————————-一 ——— r_I 线到本地总线的DMA传输实现方法加以阐述。本GNTIJ 地总线接口模块负责根据本地总线的协议,同步FR^KIl 柚慵IDoI"102f∞IMIIo610t DMA控制模块对其操作,因为它的功能实现随具体∞1* 采用的本地总线的不同而变化,故这里不作详细说 明。下面从PCI总线信号定义、PCI接口模块、DMA 控制模块三方面具体介绍 图4PCI总线上DMA传输的时序 2PCI总线信号定义 总线的请求 PCI的外部设备既可以作为PCI总线从设备GNT表示仲裁器允许主设备占用PCI总线 (Slave),实现基本的传送要求,也可以作为PCI总线AD[31:O】时分复用地址傲据信号.在帧信 的主设备(Master),访问其他PCI总线设备及系统的号有效的第一个时钟为地址信号 其他资源。为使此接口芯片可以不通过计算机的FRAME表示帧信号有效,指明传输的起 CPU,直接访问计算机的存储器,DMA传输过程中始时间和终止时间 将接口芯片设置为Master模式,计算机为slave模C/BE[3:0】命令字节使能信号,在帧信号有 式,两者间的接口信号遵从PCI协议2.2版在本设效的第一个时钟为命令信号CMD 计中接口芯片是以DMA方式把数据从计算机的存IRDY表示主设备已准备好接受数据 储器中读出并写入机外硬件处理模块.因此SIave一>DEVSEL设备选择信号,表示读地址在该 Master的主要接口