当前位置: 首页 > 专利查询>济南大学专利>正文

FPGA环境下多用途PCI接口及其数据传输方法技术

技术编号:6879042 阅读:232 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种FPGA环境下多用途PCI接口及其数据传输方法,采用带DMA功能的PCI接口的实现方法,把接口实现分成PCI主设备模块,PCI从设备模块,以及PCI寄存器模块单独实现。对PCI用户端接口采用简单易实现的FIFO接口,对用户隐藏DMA控制细节,降低用户接口设计复杂度。在大容量数据传输中,根据接口要求的数据格式封装数据,简单的将数据写入FIFO中就能将数据以DMA的方式实现,简化控制逻辑复杂度,提高用户接口开发的效率。

【技术实现步骤摘要】

本专利技术涉及一种FPGA环境下多用途PCI接口以及依据该接口的数据传输方法, FPGA为Field — Programmable Gate Array的缩略语,即现场可编程门阵列。
技术介绍
PCI(Peripheral Component Interconnect),是 SIG (Special Interest Group) 推出的总线结构。1992年起,先后有Intel、HP、IBM、Apple、DEC、Compaq、NEC等著名的厂商加盟重新组建。32位PCI总线是以ISA/EISA等PC用低速总线的替代者的身份出现的, 它之所以成为局部总线的主流,是由其所具有的一些显著的特点决定的。具体如下(1)传输效率高,扩展性好PCI总线典型的工作频率为33MHz,支持66MHz扩展。它的总线宽度为32位,并可以扩展到64位。当较多外设接到CPU总线上而使总线驱动能力不足时,可采用多条PCI总线, 这些总线可以并发工作,每条总线上最大可以接4个PCI设备。(2)多总线共存,稳定可靠PCI总线可与ISA、EISA、VESA等总线兼容,由于PCI规范与CPU及时钟无关,也就是说, PCI的插卡是通用的,可插到任何一个有PCI总线的系统上去(一般对同一类型CPU的系统而言)。PCI卡通用于所有的X86体系结构的微机,不论是486还是奔腾CPU,也不管主频是多少赫兹,都大大简化了系统设计,同时保证了 PCI设备的工作状态的稳定。(3)独立于处理器PCI可支持即插即用,所谓“即插即用”,就是要求各种插卡插入系统就能工作,而不必手动设置开关或跳线,即有自动配置功能。PCI总线为每个PCI插槽定义了相应的配置空间,一旦PCI卡插入系统,系统BIOS能根据从配置空间读到的关于该扩展卡的信息,结合系统实际情况为插卡分配内存或1/0地址、中断和某些定时信息,实现自动配置功能,从根本上免除了人工配置。(5) PCI总线应用广泛PCI总线的应用十分广泛。几乎每台PC及工控机均有PCI总线,且均以PCI总线为主, 其他总线为辅;目前大部分的视频采集系统,数据采集系统,网络接口卡都是基于PCI接口总线实现的。PCI总线由于其速度快,扩展性好,兼容性强,稳定性高的特点,在进行中高速的系统应用如视频采集,数据采集,千兆网卡实现时,是非常理想的选择。但当要开发如上应用时,有两种方法,一种是根据自身需要自行设计PCI接口,另一种方法是利用现在已有的 PCI接口芯片如PLX公司的90系列PCI芯片为基础进行开发。前一种方法需要重新设计整个PCI接口,需要对PCI接口协议有深入的理解和把握,开发时间周期长,难度大;后一种方法虽然开发周期和难度都改进了,但购买芯片的费用仍然会使得开发成本上升,而且其提供的用户接口仍然会有点复杂,当然这是以获得相对较高的灵活性为代价的。因此,从减轻PCI接口开发成本,降低用户接口使用难度的角度,设计一个易于用户使用,适用于视频图像数据,数据采集,PCI千兆网络应用的PCI接口是有意义的。
技术实现思路
因此,本专利技术的目的在于提供一种易于用户使用的FPGA环境下多用途PCI接口, 同时还提供了一种依据该多用途PCI接口的数据传输方法。依据本专利技术,采用带DMA功能的PCI接口的实现方法,把接口实现分成PCI主设备模块,PCI从设备模块,以及PCI寄存器模块单独实现。对PCI用户端接口采用简单易实现的FIFO接口,对用户隐藏DMA控制细节,降低用户接口设计复杂度。在大容量数据传输中, 根据接口要求的数据格式封装数据,简单的将数据写入FIFO中就能将数据以DMA的方式实现,简化控制逻辑复杂度,提高用户接口开发的效率。因此依据本专利技术一个方面的FPGA环境下多用途PCI接口,其包括 寄存器,用于暂存所述PCI接口的设备的中断状态、地址、命令和数据; 从设备模块,连接所述寄存器,并接受并解析上层主机或者DMA的指令,以读写所述寄存器寄存的信息;以及主设备模块,连接所述寄存器,并接有用于连接用户端的FIFO读写接口,用于依据所述从设备模块读写的信息中所包含的中断状态、地址和命令完成DMA中断请求和数据传送,并返回传送大小和地址于所述寄存器。主设备模块与从设备模块分工协作,降低单一控制模块的负担和设计逻辑难度。 通过修改寄存器的设置,实现不同的数将设传输,如图像数据传输、数据采集、PCI千兆网卡应用。PCI用户端采用标准的FIFO接口,对用户隐藏DMA控制细节,降低用户接口设计复杂度。采用寄存器暂存DMA通道号、传输数据大小,修改寄存器对应的数据即可,不需要复杂的硬件逻辑设计。上述FPGA环境下多用途PCI接口,还包括连接所述主设备模块和从设备模块并与 PCI总线互联的的仲裁器,以控制所述PCI接口的设备的访问状态。上述FPGA环境下多用途PCI接口,还包括连接与所述仲裁器的配置模块,以读取 PCI接口的配置空间,并响应上层主机对配置空间的操作。上述FPGA环境下多用途PCI接口,配置有用于所述寄存器扩展的存储空间。依据本专利技术另一个方面的一种FPGA环境下多用途PCI接口的数据传输方法,所述 PCI接口包括寄存器、从设备模块和接有用于连接用户端的FIFO接口的主设备模块,该数据传输方法包括以下步骤a.上电就绪,等待上层主机对PCI接口配置完成;b.从设备收到指令,解析数据传送的DMA通道号和要发送的数据的大小以及待发送数据的起始地址然后存入所述寄存器,若是DMA要接收主机内存发送过来的数据转步骤cl, 若是DMA向主机内存写入数据则转步骤c2 ;cl.若所述寄存器寄存的发送允许状态为允许,则转步骤d2 ;否则转步骤dl ; dl.设置所述寄存器暂存的接口状态为空闲,转步骤b;d2.主设备模块依据步骤b存入的通道号、数据大小和所述起始地址,同时发出总线请求,如果总线请求成功则转步骤el,否则转步骤e2 ;e 1.主设备模块依据所述起始地址从上层主机内存读取数据,每传输一次数据,更新上层主机内存起始地址一次,直到所述寄存器发出传输终止信号;若待传输的字节数不为零, 转步骤d2,否则转步骤b;e2.寄存器暂存总线为忙状态,转步骤d2;c2.主设备模块发出数据到达中断,等待主机响应中断;主机响应中断后完成设置待传送数据存储到主机内存的起始地址并发出允许接收数据的信号;然后主设备发出总线操作请求,如果总线请求成功转步骤Π,否则转步骤f2 ;Π.主设备模块在所述主机设置的起始地址开始存储数据,直到所述寄存器发出传输终止信号;若待传输的字节数不为零,则转步骤c2,否则转步骤b ; f2.设置总线为忙状态,转步骤c2。上述FPGA环境下多用途PCI接口的数据传输方法,所述步骤fl,从所述起始地址开始向地址增大的存储空间存储。上述FPGA环境下多用途PCI接口的数据传输方法,所述通道号通过暂存在寄存器中的二进制数纪录。上述FPGA环境下多用途PCI接口的数据传输方法,数据在FIFO中的存储方式以包为单位进行存储,并以包头和包尾表示数据块间的间隔。上述FPGA环境下多用途PCI接口的数据传输方法,数据传输过程设定暂停中断, 并且所述寄存器要纪录暂停时的数据大小和传送地址。上述FPGA环境下多用途PCI接口的数据传输方法,存储传输数据的大小本文档来自技高网
...

【技术保护点】
1.一种FPGA环境下多用途PCI接口,其特征在于其包括:寄存器,用于暂存所述PCI接口的设备的中断状态、地址、命令和数据;从设备模块,连接所述寄存器,并接受并解析上层主机或者DMA的指令,以读写所述寄存器寄存的信息;以及主设备模块,连接所述寄存器,并接有用于连接用户端的FIFO读写接口,用于依据所述从设备模块读写的信息中所包含的中断状态、地址和命令完成DMA中断请求和数据传送,并返回传送大小和地址于所述寄存器。

【技术特征摘要】
1.一种FPGA环境下多用途PCI接口,其特征在于其包括寄存器,用于暂存所述PCI接口的设备的中断状态、地址、命令和数据; 从设备模块,连接所述寄存器,并接受并解析上层主机或者DMA的指令,以读写所述寄存器寄存的信息;以及主设备模块,连接所述寄存器,并接有用于连接用户端的FIFO读写接口,用于依据所述从设备模块读写的信息中所包含的中断状态、地址和命令完成DMA中断请求和数据传送,并返回传送大小和地址于所述寄存器。2.根据权利要求1所述的FPGA环境下多用途PCI接口,其特征在于还包括连接所述主设备模块和从设备模块并与PCI总线互联的的仲裁器,以控制所述PCI接口的设备的访问状态。3.根据权利要求2所述的FPGA环境下多用途PCI接口,其特征在于还包括连接与所述仲裁器的配置模块,以读取PCI接口的配置空间,并响应上层主机对配置空间的操作。4.根据权利要求1至3任一所述的FPGA环境下多用途PCI接口,其特征在于配置有用于所述寄存器扩展的存储空间。5.一种FPGA环境下多用途PCI接口的数据传输方法,其特征在于所述PCI接口包括寄存器、从设备模块和接有用于连接用户端的FIFO接口的主设备模块,该数据传输方法包括以下步骤a.上电就绪,等待上层主机对PCI接口配置完成;b.从设备收到指令,解析数据传送的DMA通道号和要发送的数据的大小以及待发送数据的起始地址然后存入所述寄存器,若是DMA要接收主机内存发送过来的数据转步骤cl, 若是DMA向主机内存写入数据则转步骤c2 ;cl.若所述寄存器寄存的发送允许状态为允许,则转步骤d2 ;否则转步骤dl ; dl.设置所述寄存器暂存的接口状态为空闲,转步骤b;d2.主设备模块依...

【专利技术属性】
技术研发人员:杨波孙涛陈贞翔林金
申请(专利权)人:济南大学
类型:发明
国别省市:88

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1