基于PCICore的链式DMA控制器设计
发布时间:2007/4/23 0:00:00 访问次数:721
·参数化的配置寄存器:保存PCI设备的基本信息,可以通过软件参数设定寄存器。
·地址数据缓存:缓存CPI总线上的地址数据。
·主模式接口控制模块:在主模块下对PCI总线的操作。
·从模式接口控制模块:在从模式下对PCI总线的操作。
·奇偶校验器:当校验出错时,生成一个报错信号输出到配置寄存器。
·本地主模式控制模块:主模式下,控制本地逻辑的接口。
·本地从模式控制模块:从模式下,控制本地控制的接口。
·本地逻辑接口模块:控制本地端接口的地址、数据、控制、字节使能等。
存储器 PCI核 1028 394 0 DMA逻辑 581 306 10240 其它逻辑 63 50 32768 总和 1712 750 43008
表2 非链式DMA和链式DMA传输128个数据包的统计信息
数据传输时间(μs) 软件响应时间(μs) 总时间(μs) 平均数据率(Mbps) 非链式DMA 4267.9 4459.5 8272.4 22.5 链式DMA 4275.6 148.5 4424.4 44.4最高时钟频率可以达到86.57MHz。综合生成网表文件下载到FPGA,经过实验测试,系统运行正常。用逻辑分析仪测试PCI的关键信号,非链式DMA和链式DMA传输128个数据包的统计信息如表2所示。
链式DMA的平均数据率达到44.4Mbps,几乎是非链式DMA的2倍,这主要得益于软件响应时间的缩短。因此,对于非链式DMA,数据包越大数据率就越快;对于链式DMA,在数据包大小固定的前提下,数据包个数据多,相对响应时间会越少,数据率越快。
·参数化的配置寄存器:保存PCI设备的基本信息,可以通过软件参数设定寄存器。
·地址数据缓存:缓存CPI总线上的地址数据。
·主模式接口控制模块:在主模块下对PCI总线的操作。
·从模式接口控制模块:在从模式下对PCI总线的操作。
·奇偶校验器:当校验出错时,生成一个报错信号输出到配置寄存器。
·本地主模式控制模块:主模式下,控制本地逻辑的接口。
·本地从模式控制模块:从模式下,控制本地控制的接口。
·本地逻辑接口模块:控制本地端接口的地址、数据、控制、字节使能等。
存储器 PCI核 1028 394 0 DMA逻辑 581 306 10240 其它逻辑 63 50 32768 总和 1712 750 43008
表2 非链式DMA和链式DMA传输128个数据包的统计信息
数据传输时间(μs) 软件响应时间(μs) 总时间(μs) 平均数据率(Mbps) 非链式DMA 4267.9 4459.5 8272.4 22.5 链式DMA 4275.6 148.5 4424.4 44.4最高时钟频率可以达到86.57MHz。综合生成网表文件下载到FPGA,经过实验测试,系统运行正常。用逻辑分析仪测试PCI的关键信号,非链式DMA和链式DMA传输128个数据包的统计信息如表2所示。
链式DMA的平均数据率达到44.4Mbps,几乎是非链式DMA的2倍,这主要得益于软件响应时间的缩短。因此,对于非链式DMA,数据包越大数据率就越快;对于链式DMA,在数据包大小固定的前提下,数据包个数据多,相对响应时间会越少,数据率越快。
上一篇:模糊自动加药监控系统的开发与应用