位置:51电子网 » 技术资料 » 显示光电

基于PCI Core的链式DMA控制器设计

发布时间:2007/8/23 0:00:00 访问次数:901


作者:张 浩 徐宁仪 周祖成

        摘要:介绍一种基于PCI总线的高效链式DMA控制器的设计与实现,用于高速宽带的计算机外设接口。利用Altera公司的PCI核——PCI_MT32搭建基于此控制器的数据采集平台,并成功应用在DVB数据接收卡中。

        关键词:PCI 链式 DMA控制器

        1991年PCISIG(外围部件互连专业组)成立,提出了PCI的概念。Altera公司提供的软件包:PCI Compiler可以参数化地生成 用于PCI接口的IP核——Megacore。该IP核包含了PCI控制电路的所有功能,完成总线协议的转换,并将复杂的、电气和时序要求高的PCI转换为易于操作的本地接口逻辑。用户可以基于其生成的IP核模块,设计自己的外部设备接口逻辑。用户可以基于其生成的IP核模块,设计自己的外部设备接口逻辑。Altera的MegaCore包括四种类型:PCI_MT64、PCI_MT32、PCI_T64和PCI_T32。它们都具有灵活的通用接口,遵循PCI协议2.2版,严格的工业级验证和多款优化FPGA。考虑通常的PC主板都支持32位PCI,而且DMA控制器必须工作在主模式下,因此选择了PCI_MT32,其模块结构如图1所示。



        ·参数化的配置寄存器:保存PCI设备的基本信息,可以通过软件参数设定寄存器。

        ·地址数据缓存:缓存CPI总线上的地址数据。

        ·主模式接口控制模块:在主模块下对PCI总线的操作。

        ·从模式接口控制模块:在从模式下对PCI总线的操作。

        ·奇偶校验器:当校验出错时,生成一个报错信号输出到配置寄存器。

        ·本地主模式控制模块:主模式下,控制本地逻辑的接口。

        ·本地从模式控制模块:从模式下,控制本地控制的接口。

        ·本地逻辑接口模块:控制本地端接口的地址、数据、控制、字节使能等。

        1 MDA控制器

        针对高带宽、低延时和大数据量的多媒体数据,设计了基于PCI core的DMA数字卫星电视接收卡。DVB协议中的基本数据单元为192字节,因此把一次DMA传输的数据包定为192字节。

        1.1 DMA控制器的结构

        DMA控制器由DMA寄存器、描述符FIFO、DMA状态机、数据通道RAM四个模块构成,如图2所示。
DMA寄存器是主机控制DMA的窗口,包括控制状态寄存器、地址寄存器、字节寄存器、中断状态寄存器和中断屏蔽寄存器。描述符FIFO是一个32×256的FIFO,在链式DMA模式下可以暂存128组DMA的描述符。DMA状态机是控制PCI总线传输的核心,主模式下的DMA有主模式写和主模式读两种类型。主要模式写是把数据通道RAM里的数据包通过PCI总线传送到从设备,主模式读则读取设备的数据包传送到数据通道RAM中。

        1.2 DMA寄存器

        DMA寄存器的地址直接映射到PCI的地址空间,其基地址由PCI Core中的配置寄存器Bar0决定。主机通过访问这些寄存器来控制DMA操作。

        ·控制状态寄存器:主机通过寄存器配置DMA状态机,同时也可以获得当前数据传输的状态。

        ·地址寄存器:保存PCI总线地址,即DMA传输的目标地址。当地址寄存器完成写操作,DMA状态机将被启动。

        ·字节寄存器:其初始值为一次DMA传输数据的大小,PCI每传送一个数据,字节寄存器的值就减1,减到0则DMA停止传输。

        ·中断状态寄存器:不主机提供PCI设备的中断状态。

 &n


作者:张 浩 徐宁仪 周祖成

        摘要:介绍一种基于PCI总线的高效链式DMA控制器的设计与实现,用于高速宽带的计算机外设接口。利用Altera公司的PCI核——PCI_MT32搭建基于此控制器的数据采集平台,并成功应用在DVB数据接收卡中。

        关键词:PCI 链式 DMA控制器

        1991年PCISIG(外围部件互连专业组)成立,提出了PCI的概念。Altera公司提供的软件包:PCI Compiler可以参数化地生成 用于PCI接口的IP核——Megacore。该IP核包含了PCI控制电路的所有功能,完成总线协议的转换,并将复杂的、电气和时序要求高的PCI转换为易于操作的本地接口逻辑。用户可以基于其生成的IP核模块,设计自己的外部设备接口逻辑。用户可以基于其生成的IP核模块,设计自己的外部设备接口逻辑。Altera的MegaCore包括四种类型:PCI_MT64、PCI_MT32、PCI_T64和PCI_T32。它们都具有灵活的通用接口,遵循PCI协议2.2版,严格的工业级验证和多款优化FPGA。考虑通常的PC主板都支持32位PCI,而且DMA控制器必须工作在主模式下,因此选择了PCI_MT32,其模块结构如图1所示。



        ·参数化的配置寄存器:保存PCI设备的基本信息,可以通过软件参数设定寄存器。

        ·地址数据缓存:缓存CPI总线上的地址数据。

        ·主模式接口控制模块:在主模块下对PCI总线的操作。

        ·从模式接口控制模块:在从模式下对PCI总线的操作。

        ·奇偶校验器:当校验出错时,生成一个报错信号输出到配置寄存器。

        ·本地主模式控制模块:主模式下,控制本地逻辑的接口。

        ·本地从模式控制模块:从模式下,控制本地控制的接口。

        ·本地逻辑接口模块:控制本地端接口的地址、数据、控制、字节使能等。

        1 MDA控制器

        针对高带宽、低延时和大数据量的多媒体数据,设计了基于PCI core的DMA数字卫星电视接收卡。DVB协议中的基本数据单元为192字节,因此把一次DMA传输的数据包定为192字节。

        1.1 DMA控制器的结构

        DMA控制器由DMA寄存器、描述符FIFO、DMA状态机、数据通道RAM四个模块构成,如图2所示。
DMA寄存器是主机控制DMA的窗口,包括控制状态寄存器、地址寄存器、字节寄存器、中断状态寄存器和中断屏蔽寄存器。描述符FIFO是一个32×256的FIFO,在链式DMA模式下可以暂存128组DMA的描述符。DMA状态机是控制PCI总线传输的核心,主模式下的DMA有主模式写和主模式读两种类型。主要模式写是把数据通道RAM里的数据包通过PCI总线传送到从设备,主模式读则读取设备的数据包传送到数据通道RAM中。

        1.2 DMA寄存器

        DMA寄存器的地址直接映射到PCI的地址空间,其基地址由PCI Core中的配置寄存器Bar0决定。主机通过访问这些寄存器来控制DMA操作。

        ·控制状态寄存器:主机通过寄存器配置DMA状态机,同时也可以获得当前数据传输的状态。

        ·地址寄存器:保存PCI总线地址,即DMA传输的目标地址。当地址寄存器完成写操作,DMA状态机将被启动。

        ·字节寄存器:其初始值为一次DMA传输数据的大小,PCI每传送一个数据,字节寄存器的值就减1,减到0则DMA停止传输。

        ·中断状态寄存器:不主机提供PCI设备的中断状态。

 &n

相关IC型号

热门点击

 

推荐技术资料

按钮与灯的互动实例
    现在赶快去看看这个目录卞有什么。FGA15N120AN... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!