基于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
上一篇:声音字节与音频转换器技术