[发明专利]一种基于中断的XP系统下CPCI总线RS422通信驱动方法在审
申请号: | 201711045130.7 | 申请日: | 2017-10-31 |
公开(公告)号: | CN107861803A | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | 王敏敏;陈秀琼;卢联杰;沈坤;成于思;周苏茂;王明博 | 申请(专利权)人: | 湖北三江航天万峰科技发展有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F13/42 |
代理公司: | 武汉东喻专利代理事务所(普通合伙)42224 | 代理人: | 方可 |
地址: | 432000 *** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 中断 xp 系统 cpci 总线 rs422 通信 驱动 方法 | ||
技术领域
本发明属于于CPCI总线RS422通信的驱动技术领域,涉及基于中断的XP系统下CPCI总线RS422通信驱动方法。
背景技术
Compact PCI是一种开放式、国际性工业计算机标准。它融合了电脑与工业设备诸多已经过广泛验证的标准,是PCI总线技术和成熟的欧式卡组装技术的组合。CPCI总线具有高开放性、高可靠性、可热插拔等特点,与传统工业PC相对比有耐用性、抗震性、通风性等优点。随着计算机技术的迅速发展,计算机通信方式已经逐步向更快速、更远距离、更稳定的方向发展。计算机通信方式分为并行通信和串行通信,以RS422通信协议为代表的串行通信相比其他,在数据通信吞吐量不是很大的微处理电路中显得更加简易、方便、灵活,特别是在远距离信息传输中发挥着不可替代的作用。目前,以CPCI+FPGA器件为串行系统架构逐渐成为实现高速串行通信的主流方案,但因为Windows驱动程序的编写需要开发人员对Windows内核有深入了解和大量的内核调试技巧,稍有不慎就会造成系统崩溃,而Windows xp系统内核源码并不公开,涉及Windows xp系统内核操作的驱动程序开发很难入门,现多为VXWorks等系统下的CPCI驱动程序开发实现,而驱动程序又不具有通用性,不同的RS422通讯板卡需要不同的驱动程序,没有为新研制的RS422通讯板卡在Windows xp系统下的而开发的CPCI驱动程序,为新研制的RS422通讯板卡进行驱动程序开发成为生产活动中亟待解决的问题。
公开号为CN201610807806的专利所公开的一种Windows xp操作系统下CPCI总线RS422通信驱动方法及系统,包含了Windows xp底层驱动程序、inf文件、dll程序和上层功能测试应用程序,虽实现访问RS422通讯板卡资源以及RS422通讯功能,具有模块化、分层次的特点,但cpu使用率低,通讯时耗长。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于中断的XP系统下CPCI总线RS422通信驱动方法,其目的在于,在驱动CPCI总线架构的RS422通讯板卡实现访问RS422通讯板卡资源以及RS422通讯功能时,采用插入中断的方式提高CPU利用率,缩短通信耗时。
为实现上述目的,按照本发明的一个方面,提供了一种基于中断的XP系统下CPCI总线RS422通信驱动方法,基于一种windows操作系统下CPCI总线RS422通信驱动系统,该系统包括包含中断驱动程序的Windows xp操作系统底层驱动程序、inf文件以及为上层应用程序提供API函数接口的dll程序;
其方法具体为:将CPCI设备直接挂接在PC的中断控制器上,在操作系统收到RS422通讯板卡启动时产生的IRP_MN_START_DEVICE函数时,获取设备的中断号;根据经过翻译的中断号调用Windows xp操作系统底层驱动程序开发包DDK提供的IoConnectInterrupt中断处理函数将中断对象与中断端服务例程(ISR)联系起来,当中断信号来临时就会进入ISR处理,实现以中断方式通信;
采用该方法,采用DDK提供的内核函数IoConnectInterrupt将中断对象与ISR联系起来,当中断信号来临时则进入ISR处理;当CPU发出一个指令请求操作设备后,CPU并不急于知道操作是否已经完毕,这时候CPU可以去处理其他进程;当设备操作完成后,设备会向CPU发出中断请求以通知设备操作已经完毕。本发明提供的上述方法,利用“中断”设备的方式、而非现有“轮询”设备的方式,提高了来CPU的利用率,缩短了通讯耗时。
优选地,上述的XP系统下CPCI总线RS422通信驱动方法,其底层驱动程序包括驱动程序入口函数DriverEntry、AddDevice函数和各IRP派遣函;
其中,DriverEntry为驱动程序的入口函数,用于设置AddDevice函数、将驱动程序接收到不同类型的输入输出请求包IRP中不同的IRP主功能码设置不同的IRP派遣函数。
AddDevice函数用于创建设备对象并由即插即用管理器PNP调用,包括创建设备对象FDO、将创建的FDO附加在物理设备对象PDO上、根据全局唯一标识符GUID创建符号链接并设置、获取RS422通信板卡主功能芯片PCI9056的配置空间、初始化电源设置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北三江航天万峰科技发展有限公司,未经湖北三江航天万峰科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711045130.7/2.html,转载请声明来源钻瓜专利网。