首页 / 专利库 / 电脑零配件 / 地址总线 / 一种基于PCI总线的高速数据传输方法

一种基于PCI总线的高速数据传输方法

阅读:464发布:2023-12-29

专利汇可以提供一种基于PCI总线的高速数据传输方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 PCI总线 的高速数据传输方法,其实现高速数据传输的驱动程序包括步骤:初始化驱动程序,分配DMA公用缓冲区用作数据缓冲队列;设置中断控制寄存器,使能设备中断;等待中断触发,若为设备中断,检查DMA是否处于数据传输完成状态,若数据传输未完成则返回重新等待中断触发,数据传输完成则禁止设备中断,配置DMA 控制器 ,启动DMA操作,再使能设备中断;若为DMA传输完成中断,则清除DMA中断,重置数据缓冲队列头 指针 ,再使能DMA传输完成中断。通过设置中断控制寄存器可以启动和禁止数据传输,使能中断后驱动程序响应中断 信号 ,将设备中的数据连续读入数据缓冲队列,从而使数据传输速率得到极大提高。,下面是一种基于PCI总线的高速数据传输方法专利的具体信息内容。

1.一种基于PCI总线的高速数据传输方法,其特征在于,该方法实现高速数据传输的驱动程序包括以下步骤:
步骤1:初始化驱动程序,分配DMA公用缓冲区用作数据缓冲队列,进入步骤2;
步骤2:设置中断控制寄存器,使能设备中断,进入步骤3;
步骤3:等待中断触发,如果有中断触发,进入中断处理程序,若为设备中断触发,进入步骤4,若为DMA传输完成中断,进入步骤6;
步骤4:检查DMA传输是否完成,如果传输未完成返回步骤3,反之进入步骤5;
步骤5:禁止设备中断,配置DMA控制器,启动DMA操作,使能设备中断,返回步骤3;
步骤6:禁止DMA传输完成中断,清除DMA中断,重置数据缓冲队列的头指针,使能DMA传输完成中断,返回步骤3。
2.根据权利要求1所述的基于PCI总线的高速数据传输方法,其特征在于,步骤1所述的数据缓冲队列包括DMA数据缓冲队列,以及用作驱动程序和应用程序通信的数据缓冲对列。
3.根据权利要求1所述的基于PCI总线的高速数据传输方法,其特征在于,所述步骤1中分配DMA公用缓冲区用作数据缓冲队列的方法是:获取DMA公用缓冲区物理地址用作传递给DMA控制器的参数。
4.根据权利要求1所述的基于PCI总线的高速数据传输方法,其特征在于,所述步骤5中配置DMA控制器包括:配置DMA工作模式寄存器,配置DMA传输地址、数据长度和传输方向寄存器,配置DMA命令状态寄存器,配置PCI总线存储空间物理地址和配置置位DMA启动标志位。
5.根据权利要求4所述的基于PCI总线的高速数据传输方法,其特征在于,配置DMA工作模式寄存器的操作包括:设置总线宽度、本地总线地址模式和使能DMA传输完成中断。

说明书全文

一种基于PCI总线的高速数据传输方法

技术领域

[0001] 本发明涉及计算机技术领域,特别涉及一种基于PCI总线的高速数据传输方法。

背景技术

[0002] 计算机总线是计算机各部件之间进行信息传输的公共通道。微型计算机系统中广泛采用总线结构,其优点是系统成本低、组态灵活、维修方便。采用总线标准设计、生产的硬件兼容性强,并通过系统总线可以方便地组合在一起,以构成满足不同需要的微机系统。
[0003] 计算机总线技术包括通道控制功能、使用方法、仲裁方法和传输方式等。任何系统的研制和外围模块的开发,都必须服从一定的总线规范。总线的结构不同,性能差别很大。计算机总线的主要职能是负责计算机各模块间的信息传输,因此,对总线性能的衡量,也是围绕着这一职能而定义、测试比较的。总线的传输率是其性能的主要技术指标。
[0004] 随着计算机技术的不断发展,微型计算机的体系结构发生了显著的变化。如CPU运行速度的提高,多处理器结构的出现,高速缓冲存储器的广泛采用等,都要求有高速的总线来传输数据,从而出现了多总线结构。多总线结构是指CPU与存储器、I/O等设备之间有两种以上的总线,这样可以将慢速的设备和快速的设备挂在不同的总线上,减少总线竞争现象,使系统的效率大大提高。
[0005] 在多总线结构中,局部总线的发展最令人瞩目。局部总线是指来自处理器的延伸线路,与处理器同步操作。外部设备如果直接挂到局部总线上,就能以CPU的速度运行。由于局部总线具有极高的数据传输率,因此局部总线在CPU与高速缓冲存储器(Cache)、CPU与高速图形卡等需要高速传输信息的场合得到了广泛的应用。
[0006] PCI是先进的高性能局部总线、可同时支持多组外围设备。PCI局部总线不受制于处理器,为中央处理器及高速外围设备提供一座桥梁,更可作为总线之间的交通指挥员,提高数据吞吐量。PCI采用高度综合化的局部总线结构。其优化的设计可充分利用当今最先进的微处理器及个人电脑技术,它可确保电脑部件、附加卡及系统之间的运作可靠,并能完全兼容现有的ISA/EISA/Micro Channel扩充总线。总之,PCI总线具有高性能、线性突发传输、极小的存取延误、采用总线主控和同步操作、不受处理器限制、适合各种机型、兼容性强等特点。
[0007] 实现PCI总线高速数据传输需要高效率的驱动程序支持,在驱动程序中使用接口芯片的DMA功能可以大幅提升数据传输速度,现有的驱动实现方法都使用直接存储器访问方式提高数据传输速率。
[0008] 目前,大部分PCI设备上都带有较大的动态存储器作为数据缓冲空间,用以提高数据的传输效率,但是如果传输的数据为实时数据(如语音和视频),采用上述方式处理数据就会带来一定的时延;减小设备缓冲空间可以降低时延,但应用程序需要频繁读取数据,从而影响数据传输速度。如果在驱动程序中使用数据缓冲队列,当设备发出数据传输请求时,由驱动程序响应设备请求,并将数据读入数据缓冲队列,这样不但可以提高数据传输速度,而且可以降低采用大缓冲机制给实时数据处理带来的时延。
[0009]

发明内容

[0010] 本发明的目的在于克服现有技术中所存在的上述不足,提供一种基于PCI总线的高速数据传输方法。该方法可降低系统时间开销,大幅提升数据传输速度。
[0011] 为了实现上述发明目的,本发明提供了以下技术方案:一种基于PCI总线的高速数据传输方法,该方法实现高速数据传输的驱动程序包括以下步骤:
步骤1:初始化驱动程序,分配DMA公用缓冲区用作数据缓冲队列,进入步骤2;
步骤2:设置中断控制寄存器,使能设备中断,进入步骤3;
步骤3:等待中断触发,如果有中断触发,进入中断处理程序,若为设备中断触发,进入步骤4,若为DMA传输完成中断,进入步骤6;
步骤4:检查DMA传输是否完成,如果传输未完成返回步骤3,反之进入步骤5;
步骤5:禁止设备中断,配置DMA控制器,启动DMA操作,使能设备中断,返回步骤3;
步骤6:禁止DMA传输完成中断,清除中断,重置数据缓冲队列的头指针,使能DMA传输完成中断,返回步骤3;
根据本发明的实施例,步骤1所述的数据缓冲队列包括DMA数据缓冲队列,以及用作驱动程序和应用程序通信的数据缓冲对列。
[0012] 根据本发明的实施例,所述步骤1中分配DMA公用缓冲区用作数据缓冲队列的方法是:获取DMA公用缓冲区物理地址用作传递给DMA控制器的参数。
[0013] 根据本发明的实施例,所述步骤5中配置DMA控制器包括:配置DMA工作模式寄存器,配置DMA传输地址、数据长度和方向寄存器,配置DMA命令状态寄存器,配置PCI存储空间物理地址和配置置位DMA启动标志位。
[0014] 根据本发明的实施例,配置DMA工作模式寄存器的操作包括:设置总线宽度、本地总线地址模式和使能DMA操作结束中断。
[0015] 与现有技术相比,本发明的有益效果:本发明的基于PCI总线的高速数据传输方法,驱动程序开始读取数据后,将持续响应设备请求,从设备读取的数据写入数据缓冲队列,直到设备中断被禁止,因为驱动程序具有很高的系统优先级,使数据传输速率得到了极大的提高,从而也改善了系统性能。
[0016] 附图说明:图1为本发明方法实现高速数据传输的驱动程序流程图

具体实施方式

[0017] 下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
[0018] 实现PCI总线高速数据传输需要高效率的驱动程序。如图1所示的本发明基于PCI总线的高速数据传输方法的驱动程序工作流程图,该驱动程序包括如下步骤:初始化驱动程序,分配DMA公用缓冲区用作数据缓冲队列;设置中断控制寄存器,使能设备中断;驱动程序工作时等待中断触发,如果有中断触发,进入中断服务程序;
若为设备中断触发,则检查DMA是否处于数据传输完成状态,如果数据传输未完成,则返回重新等待中断触发;如果数据传输完成,则先禁止设备中断,然后配置DMA控制器。配置DMA控制器包括配置DMA工作模式寄存器,配置DMA传输地址、数据长度和方向寄存器,配置DMA命令状态寄存器,配置PCI存储空间物理地址和配置置位DMA启动标志位,其中,配置DMA工作模式寄存器的操作包括:设置总线宽度、本地总线地址模式和使能DMA操作结束中断。再启动DMA操作,然后使能设备中断;
若为DMA传输完成中断触发,则禁止DMA传输完成中断,清除DMA中断,重新设置数据缓冲队列的头指针,再使能DMA传输完成中断;
驱动程序依照上述步骤循环运行,将设备存储空间的数据连续读到数据缓冲队列;应用程序读取数据时,检查数据缓冲队列的头指针和尾指针是否相等,如果数据缓冲队列的头指针和尾指针不相等,则将数据缓冲队列中的数据拷贝到用户缓冲区。
[0019] 本发明的基于PCI总线的高速数据传输方法,通过设置中断控制寄存器可以启动和禁止数据传输,使能中断后,驱动程序响应中断信号,将设备中的数据连续读入数据缓冲队列,从而使数据传输速率得到了极大的提高;禁止中断后,驱动程序则停止从设备存储空间读取数据。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈