[发明专利]一种基于PCI总线的高速数据传输方法无效
申请号: | 201110406436.7 | 申请日: | 2011-12-08 |
公开(公告)号: | CN102495817A | 公开(公告)日: | 2012-06-13 |
发明(设计)人: | 吴伟林;王亮;张代红;黄耀;何戎辽 | 申请(专利权)人: | 成都林海电子有限责任公司 |
主分类号: | G06F13/32 | 分类号: | G06F13/32 |
代理公司: | 四川力久律师事务所 51221 | 代理人: | 林辉轮;王芸 |
地址: | 611731 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 pci 总线 高速 数据传输 方法 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种基于PCI总线的高速数据传输方法。
背景技术
计算机总线是计算机各部件之间进行信息传输的公共通道。微型计算机系统中广泛采用总线结构,其优点是系统成本低、组态灵活、维修方便。采用总线标准设计、生产的硬件模块兼容性强,并通过系统总线可以方便地组合在一起,以构成满足不同需要的微机系统。
计算机总线技术包括通道控制功能、使用方法、仲裁方法和传输方式等。任何系统的研制和外围模块的开发,都必须服从一定的总线规范。总线的结构不同,性能差别很大。计算机总线的主要职能是负责计算机各模块间的信息传输,因此,对总线性能的衡量,也是围绕着这一职能而定义、测试比较的。总线的传输率是其性能的主要技术指标。
随着计算机技术的不断发展,微型计算机的体系结构发生了显著的变化。如CPU运行速度的提高,多处理器结构的出现,高速缓冲存储器的广泛采用等,都要求有高速的总线来传输数据,从而出现了多总线结构。多总线结构是指CPU与存储器、I/O等设备之间有两种以上的总线,这样可以将慢速的设备和快速的设备挂在不同的总线上,减少总线竞争现象,使系统的效率大大提高。
在多总线结构中,局部总线的发展最令人瞩目。局部总线是指来自处理器的延伸线路,与处理器同步操作。外部设备如果直接挂到局部总线上,就能以CPU的速度运行。由于局部总线具有极高的数据传输率,因此局部总线在CPU与高速缓冲存储器(Cache)、CPU与高速图形卡等需要高速传输信息的场合得到了广泛的应用。
PCI是先进的高性能局部总线、可同时支持多组外围设备。PCI局部总线不受制于处理器,为中央处理器及高速外围设备提供一座桥梁,更可作为总线之间的交通指挥员,提高数据吞吐量。PCI采用高度综合化的局部总线结构。其优化的设计可充分利用当今最先进的微处理器及个人电脑技术,它可确保电脑部件、附加卡及系统之间的运作可靠,并能完全兼容现有的ISA/EISA/Micro Channel扩充总线。总之,PCI总线具有高性能、线性突发传输、极小的存取延误、采用总线主控和同步操作、不受处理器限制、适合各种机型、兼容性强等特点。
实现PCI总线高速数据传输需要高效率的驱动程序支持,在驱动程序中使用接口芯片的DMA功能可以大幅提升数据传输速度,现有的驱动实现方法都使用直接存储器访问方式提高数据传输速率。
目前,大部分PCI设备上都带有较大的动态存储器作为数据缓冲空间,用以提高数据的传输效率,但是如果传输的数据为实时数据(如语音和视频),采用上述方式处理数据就会带来一定的时延;减小设备缓冲空间可以降低时延,但应用程序需要频繁读取数据,从而影响数据传输速度。如果在驱动程序中使用数据缓冲队列,当设备发出数据传输请求时,由驱动程序响应设备请求,并将数据读入数据缓冲队列,这样不但可以提高数据传输速度,而且可以降低采用大缓冲机制给实时数据处理带来的时延。
发明内容
本发明的目的在于克服现有技术中所存在的上述不足,提供一种基于PCI总线的高速数据传输方法。该方法可降低系统时间开销,大幅提升数据传输速度。
为了实现上述发明目的,本发明提供了以下技术方案:
一种基于PCI总线的高速数据传输方法,该方法实现高速数据传输的驱动程序包括以下步骤:
步骤1:初始化驱动程序,分配DMA公用缓冲区用作数据缓冲队列,进入步骤2;
步骤2:设置中断控制寄存器,使能设备中断,进入步骤3;
步骤3:等待中断触发,如果有中断触发,进入中断处理程序,若为设备中断触发,进入步骤4,若为DMA传输完成中断,进入步骤6;
步骤4:检查DMA传输是否完成,如果传输未完成返回步骤3,反之进入步骤5;
步骤5:禁止设备中断,配置DMA控制器,启动DMA操作,使能设备中断,返回步骤3;
步骤6:禁止DMA传输完成中断,清除中断,重置数据缓冲队列的头指针,使能DMA传输完成中断,返回步骤3;
根据本发明的实施例,步骤1所述的数据缓冲队列包括DMA数据缓冲队列,以及用作驱动程序和应用程序通信的数据缓冲对列。
根据本发明的实施例,所述步骤1中分配DMA公用缓冲区用作数据缓冲队列的方法是:获取DMA公用缓冲区物理地址用作传递给DMA控制器的参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都林海电子有限责任公司,未经成都林海电子有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110406436.7/2.html,转载请声明来源钻瓜专利网。