已阅读5页,还剩54页未读, 继续免费阅读
(信号与信息处理专业论文)雷达显示与控制系统的软件设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子科技大学硕士论文 摘要 雷达显示与控制终端是雷达的重要组成部分,它必须能够对雷达进行精确的 控制,同时对从雷达获取的数据进行有效的处理,将获取的目标信息以直观、有 效、准确的方式呈现给雷达控制者。 目前,在大部分常规雷达系统中,控制参数大多采用模拟信号,雷达的显示 也都基本使用专业的光栅显示器,目标的发现、坐标的录取等工作都依赖于人工 完成。这样的雷达终端,实现结构复杂、成本高、工作速度慢,对数据的有效处 理带来了障碍。 随着计算机技术、图像处理技术和软件技术的发展,将通用计算机作为雷达 显示与控制终端已经成为一种新的趋势。计算机能够非常灵活的在数字域完成数 据处理工作,计算机图像处理技术和强大的计算机软件为设计雷达显示与控制终 端带来了极大方便,同时,显控终端的软件化也使整个系统的兼容性和可扩充性 更强,为雷达终端的发展提供了新的途径。 将通用计算机作为雷达的显控终端,大量的数据需要在雷达与计算机之间传 递,为了建立雷达与计算机的通信,需要有相应的驱动程序对通信设备进行控制。 针对雷达数据量大、传输速度快的特点,使用计算机的p c i 总线传送数据也成为 首选,编写基于p c i 总线的驱动程序也成为建立雷达与计算机通信的关键。 本课题以场面监控雷达的研制为背景,为雷达的p c i 通信模块编写了基于 w i n d o w s 2 0 0 0 下的w d m 驱动程序,并且使用v i s u a lc + + 6 0 完成了雷达显示与 控制终端的应用程序编写。 【关键词】:雷达终端p c i 总线设备驱动程序w d m v i s u a lc + + 6 0 电子科技大学硕士论文 a b s t r a c t r a d a r d i s p l a y a n dc o n t r o lt e r m i n a li so n eo f t h e i m p o r t a n tp a r t sf o r ar a d a rs y s t e m i tm u s tc o n t r o lr a d a ra c c u r a t e l y , p r o c e s sd a t af r o mr a d a re f f e c t i v e l ya n dd i s p l a y t a r g e t st oa r a d a r m a n i p u l a t o r w i t hv i s u a l ,e f f e c t i v ea n da c c u r a t em o d e p r e s e n t l y , m o s tt r a d i t i o n a lr a d a r s c o n t r o lp a r a m e t e r sa r ea n a l o ga n d t h e i rd i s p l a y t e r m i n a l sa r ep r o f e s s i o n a lr a s t e rd i s p l a ym o n i t o r s d e t e c t i n gt a r g e t sa n da c q u i r i n g c o o r d i n a t e sb o t hd e p e n do nr a d a r m a n i p u l a t o r s i ns u c hr a d a r s i tb a f f l e sd a t a s e f f e c t i v ep r o c e s sw i t hi t sc o m p l i c a t e ds t r u c t u r e ,h i g hc o s ta n ds l o ws p e e d w i t ht h e r a p i dd e v e l o p m e n t o f c o m p u t e rt e c h n o l o g y , i m a g ep r o c e s s i n g t e c h n o l o g ya n ds o f t w a r et e c h n o l o g y , i th a sb e c o m ean e wt r e n d t ot a k e g e n e r a l p u r p o s ec o m p u t e r sa sr a d a rd i s p l a ya n dc o n t r o lt e r m i n a l s c o m p u t e r sc a np r o c e s s d i g f f a ld a t af l e x i b l y , a n di m a g ep r o c e s s i n gt e c h n o l o g ya n dc o m p u t e rs o f t w a r ew i t h s t r o n g f u n c t i o nc a nm a k ed e s i g no fr a d a r d i s p l a y a n dc o n t r o lt e r m i n a lm o r e e x p e d i e n t l y m e a n w h i l e ,d e s i g n i n gr a d a rd i s p l a ya n dc o n t r o lt e r m i n a lw i t hs o f t w a r e s t r e n g t h e nr a d a rs y s t e m sc o m p a t i b i l i t ya n de x t e n s i b l ew h i c hp r o v i d ea n e ww a yf o r r a d a rt e r m i n a l sd e v e l o p m e n t t a k e ng e n e r a lp u r p o s ec o m p u t e r sa sr a d a rt e r m i n a l s ,t h e r ea r ea m o u n to fd a t a n e e dt ob et r a n s f e r r e db e t w e e nr a d a ra n dc o m p u t e r s ,ad r i v e r f o rc o r r e s p o n d i n g c o m m u n i c a t i o nd e v i c ei sn e c e s s a r y a i m i n ga tt r a n s f e r r i n gb i ga m o u n to fd a t aw i t h h i g hs p e e d ,p c ib u si sp r e f e r r e da n dp r o g r a m m i n g d r i v e r sb a s e do np c ib u sb e c o m e t h eh i n g eo f c o m m u n i c a t i o nb e t w e e nr a d a ra n dc o m p u t e r t h i sp r o j e c tb a s e do nt h ed e s i g no fas u r v e i l l a n tr a d a r , i st op r o g r a maw d m d r i v e rf o rap c ic o m m u n i c a t i o nc a r db a s e do nw i n d o w s 2 0 0 0s y s t e ma n di t sd i s p l a y a n dc o n t r o lt e r m i n a la p p l i c a t i o nb yv i s u a lc + + 6 0 k e y w o r d s :r a d a rt e r m i n a l ,p c ib u s ,d e v i c ed r i v e r , w d m ,v i s u a lc + + 6 0 电子科技大学硕士论文 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行 的研究工作及取得的研究成果。据我所知,除了文中特别加 以标注和致谢的地方外,论文中不包含其他人已经发表或撰 写过的研究成果,也不包含为获得电子科技大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对 本研究所做的任何贡献均已在论文中作了明确的说明并表 示谢意。 签名:是色日期:一。f 年 月g 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论 文的规定,有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:垒色导师签名: 日期:d - m , 6 电子科技大学坝l 论文 1 1 本课题背景 第一章引言 最近2 0 年全球的航空运输业发展得非常快,航空公司的规模日益壮大,导 致机场内飞机起降次数猛增,给机场的地勤带来较大的压力。单凭地勤人员人为 的干预来维持机场的正常运转已经不能适应航空业的快速发展,而且依靠人为的 干预受地理和气候环境的影响相当大,在这种情况下,目视指挥管制工作将十分 困难,甚至无从下手,这样不仅影响了机场的运营,同时给机场安全带来了巨大 的隐患。如何在有限的空间、多变的天气条件下管理好越来越多的飞机及相应增 加的地勤服务车辆,成为各国机场当局必须考虑的问题。 为了解决以上存在的问题,将雷达作为地勤监控的手段随之出现。场面监视 雷达主要是监视机场上的飞机及车辆,并且可以把飞机的航班号、飞机机型、速 度、将停靠的登机桥等一幕了然的显示在显控终端,为管制人员对机场的控制带 来了极大方便,并且为机场实现低能见度运行提供了强有力的支持,为机场安全、 高效运行提供了保证。 本课题是关于一个场面监视雷达的显示与控制终端的设计。雷达显示与控制 终端是雷达的重要组成部分,场面监视雷达出于对雷达兼容性和通用性的考虑, 一般采用通用的计算机作为终端设备。同时,使用通用的计算机作为终端,能够 非常灵活的在数字域完成数据处理工作,计算机图像处理技术和强大的计算机软 件也为设计雷达显示与控制终端带来了极大方便,显控终端的软件化也使整个系 统可扩充性更强。 将计算机作为雷达的显控终端,大量的数据需要在雷达与计算机之间传递, 为了建立雷达与计算机的通信,需要有相应的驱动程序对通信设备进行控制。针 对雷达数据量大、传输速度快的特点,使用计算机的p c i 总线传送数据也成为首 选,编写基于p c i 总线的驱动程序也成为建立雷达与计算机通信的关键。 1 2 本课题的主要工作 本课题来源于场面监视雷达,主要完成雷达终端软件的设计,本人具体完成 以下几点工作: 电子科技大学硕士论文 一、完成w i n d o w s 2 0 0 0 平台下p c i 卡w d m 驱动程序的编写,提供应用程 序访问硬件设备的接口,实现雷达主机与控制主机的通信。 二、完成基于m i c r o s o f tv i s u a lc + 十6 0 面向对象的程序设计,主要实现的功 能有: 1 设置雷达参数,完成对雷达主机的控制; 2 实现雷达的灰度显示,方便雷达整机的调试; 3 将雷达处理的一些中间数据读入计算机并实现图形化显示; 4 定时监视雷达工作状态,及时显示雷达是否工作正常; 三、结合硬件完成雷达整机的联调。 1 3 论文的结构安排 为了方便、快速的了解本论文的内容,本小节对论文的内容和章节安排做简 要的介绍: 第一章:引言。介绍了本课题的应用背影、意义和主要任务,以及论文的章 节安排。 第二章:p c i 局部总线及硬件介绍。介绍了p c i 总线的传输特点。随后介绍 了使用专用p c i 接口芯片实现p c i 接口控制器的优点及硬件原理框图。 第三章:w i n d o w sw d m 驱动程序简介。介绍了w i n d o w s 2 0 0 0 驱动程序工作 机制,分析了w d m 驱动程序模型,包括它的构成和层次结构。 第四章:p c i 通信卡驱动程序设计。简单介绍了驱动程序环境设定和开发软 件的安装,详细说明了驱动程序的实现细节。 第五章:显示与控制终端应用程序的设计。介绍了v c + + 6 0 开发工具,并且 详细说明了应用程序各功能模块的实现。 第六章:软件调试及结果。重点介绍了驱动程序和应用程序在调试过程中遇 到的问题和解决方法,以及一些调试的结果。 电子科技大学硕士论文 第二章p c i 局部总线及硬件介绍 总线是支持计算机各模块间信息传输的公共通道,也是与外界进行数据交换 的接口,一般包括数据、地址、控制等信号组。随着计算机性能的大幅度提高, 总线标准也在不断改进,目前应用比较广泛的是p c i 总线。 2 1p c i 局部总线特点 1 优越的数据传输性能 总线宽度3 2 位( 可扩展至6 4 位) ,支持突发( b u r s t ) 传输工作方式。p c 总线舰 范2 0 版支持3 3 m h z 总线操作,2 1 版增加了对6 6 m h z 的支持,3 2 位3 3 m h z p c i 总线在读写操作中峰值传送速率可达1 3 2 m b s 。 2 可靠性高 p c i 总线标准考虑了负载容限,即使扩展卡超过了负载的最大值,系统也可 正常工作;支持3 2 位、6 4 位扩展版和部件正反向兼容;在局部总线的部件级满 足负载和频率的情况下可以提高附加卡的可靠性和可操作性。p c i 总线标准还对 地址、命令和数据进行奇偶校验,保证了数据传送的完整性和准确性。 3 使用方便 p c i 总线标准提供了全位级的配置寄存器规范,支持自动的设备检测与配置, 使p c i 所需的中断,内存映射,i o 地址等各种硬件资源通过b i o s 在系统启动 时自动配置,从而达到计算机资源的合理配鬻和p c i 接口的即插即用。 4 良好的兼容性 p c i 总线通过各种总线桥接器与目前已得到广泛应用的各种总线标准实现完 全兼容;p c i 总线部件和插卡的设计独立于处理器,所有现在的和将来的处理器 都能被很好的支持。预留6 4 位扩展,定义了3 3 v 和5 v 两种信号环境。 2 2p c i 接口控制器介绍 目前,实现p c i 总线控制器的方案主要有两种:采用可编程逻辑器件和采用 p c i 专用接口芯片。 采用可编程逻辑器件实现p c i 总线接口控制具有较强的灵活性,它可以根据 用户的需要实现p c i 的某些功能,同时它可以将p c i 卡上的其它用户资源与p c i 电子科技大学硕士论文 接口逻辑设计在一块芯片上,这样不但节省了p c i 卡的面积,同时有利子系统升 级,无需重新制作印制电路板。有些厂商还提供专门针对p c i 总线接口设计的软 件模块,如x l i n x 的l o g i c c o r e 、a l t e r 的p c im e g a c o r e 等,它们可以嵌入到用 户的可编程逻辑器件中满足设计需要,但是采用可编程逻辑器件实现p c i 总线接 口控制必须对p c i 规范有较深入的了解,而且设计难度较大,一般采用专p c i 用接口芯片来实现。 p c i 专用接口芯片将p c i 接口信号封装在一块芯片中,提供p c i 总线和外围 设备传输数据和控制信号的接口。这种芯片具有较强的通用性,用户无需对p c i 规范有较深入的理解就可以进行p c i 开发,开发的熏点主要集中在电路时序的设 计和芯片寄存器的配置,这样大大降低了开发难度,缩短了开发周期。目前,提 供该类芯片的厂商主要有a m c c 公司和p l x 公司,a m c c 公司的产品主要有 $ 5 9 2 0 、s 5 9 3 3 ,p l x 公司的产品主要有9 0 5 2 、9 0 5 4 、9 6 5 6 等。 为了满足雷达数据传输高速和数据量大的特点,我们对比了芯片功能及性价 比,最终选择了p l x 公司的p c i 9 0 5 2 专用接口芯片来设计霄达通信卡。 2 2 1p c i 9 0 5 2 特点 p c i 9 0 5 2 作为p c i 专用接口芯片成本较低,功能较强,与p c i 2 1 规范完全兼 容,只支持p c i 从设备,它的局部总线( l o c a lb u s ) 可以通过编程设置为8 1 6 3 2 位的复用或非复用总线,数据传送率最高可达到1 3 2 m b s 。p c i 9 0 5 2 的主要功能 如下: 突发操作:p c i 9 0 5 2 提供一个6 4 字节的写f i f o 和一个3 2 字节的读f i f o , 从而支持预取模式即突发操作。 异步操作:p c i 9 0 5 2 的局部总线与p c i 总线的时钟相互独立运行,两总线的 异步运行便于高、低速设备的兼容。l o c a lb u s 的运行时钟频率范围为0 m h z 4 0 m h z ,1 1 l 电平,p c i 的运行时钟频率范围为0 m h z 3 3 m h z 。 中断产生器:可以由局部总线的两个中断信号l i n t i l 和l i n t i 2 产生一个 p c i 中断信号i n t a # 。 串行e e p r o m 接口:p c i 9 0 5 2 具有一个三线串行e e p r o m 接口,通过该 接口可以加载存放于e e p r o m 中的p c i 总线和局部总线的配置信息。 五个局部地址空间:各个空间的基地址和范围相互独立,并且可以通过串 行的e e p r o m 或主设备编程控制。 四个局部片选:各个片选范围的基地址和范围相互独立,并且可以通过串 行的e e p r o m 或主设备编程控制。 电子科技大学硕士论文 i s a 总线模式:p c i 9 0 5 2 提供一个i s a 逻辑接口,用户可直接使p c i 总线 和i s a 总线相连,可以非常容易地将i s a 设计转换到p c i 。 p c i 锁定机制:主控设备可以通过锁定信号占有对p c i 9 0 5 2 的唯一访问权。 2 2 2p c i 9 0 5 2 寄存器介绍 p c i 9 0 5 2 的内部寄存器为总线接口的设计与实现提供了最大的灵活性,p c i 驱动程序的很多操作也是控制这些寄存器实现的,下面对p c i 9 0 5 2 的内部寄存器 做简单介绍。 p c i 规范规定任何p c 设备必须具有一定数目的配置寄存器,以提供必要的 配置信息,便于系统为该设备进行配置i l ”。p c i 设备的这些配震寄存器映射到 p c i 的配置空间中,配置空间的容量为2 5 6 个字节,该空间分为头标区和设备有 关区两部分。头标区是每个p c i 设备必须的,安排在配置地址空间的最前面6 4 个字节,其中前1 6 个字节用来唯一的识别设备,主要包括供应商识别、设备识 别、状态、命令等p c i 设备必需的字段,剩下的字节随各设备支持的功能有所不 同,位于偏移地址0 e h 处的头标类型字段规定了头标的具体布局。目前,规范 定义的头标类型有三种,分别为头标类型0 ,头标类型1 和头标类型2 ,p c i 9 0 5 2 的头标布局属于头标类型0 ,其对应的头标区布局如图2 1 所示1 4 j 。设备有关区 安排在配置空间的6 4 2 5 5 字节处,该区并不是必需的,不同的设备根据自己的 需要进行定义。 设备识别供应商代码 状态命令 分类代码 版本 内含自检头标类型延时计数c a c h e 大小 基址寄存器 c a r d b u sc i s 指针 子系统代码子系统供应商代码 扩展r o m 基地址 保留能力指针 保留 m a xl a tm i ng n t中断引脚中断线 图2 1 头标类型0 对应的配置空间头标区 0 0 h 0 4 h 0 8 h 0 c h 1 0 h 1 4 h 1 8 h 1 c h 2 0 h 2 4 h 2 8 h 2 c h 3 0 h 3 4 h 3 8 h 3 c h 电子科技大学硕十论文 p c i 9 0 5 2 的内部寄存器可以分为两类:p c i 配置寄存器和局部配置寄存器。 p c i 配置寄存器对应于头标区,其内容和布局与头标类型0 基本相同;局部配置 寄存器对应于设备有关区,主要包括描述p c i 9 0 5 2 四个局部地址空间和一个扩展 空间的相关寄存器、片选寄存器和控制寄存器等,这些寄存器都是为了满足 p c i 9 0 5 2 的特定功能定义的。p c i 9 0 5 2 局部配置寄存器在此不再列出,详细内容 请参看p c i 9 0 5 2 的数据手册。 2 3 硬件原理框图 为了建立雷达与控制主机的通信,设计了基于p c i 总线的通信卡,如图2 2 所示。该p c i 通信卡安装于控制主机的p c i 插槽内,雷达数据通过光纤发送给 p c i 通信卡,卡上的光收发器将信号进行光电转换,转换后的差分信号送入以太 网物理层芯片r t l 8 2 0 1 ,进行编解码后的信号在f p g a 的控制下送入s r a m 中 存储。s r a m 存储满后由控制逻辑发出硬件中断,通知控制主机将数据由p c i 总线读入控制主机的内存中。控制终端发送的指令经过p c i 9 0 5 2 后在f p g a 的 控制下送入s r a m ,然后再通过f p g a ,r t l 8 2 0 1 和光收发器将指令传给远端雷 达。 逼信摸基 图2 2p c i 通信卡硬件原理框图 驱动程序的主要功能是实现p c i 总线到局部总线四个存储器空间的读写,并 且通过驱动程序对p c i 9 0 5 2 内部寄存器的操作,使驱动程序能够响应局部总线发 给p c i 总线的中断完成读取数据的工作。 电子科技大学硕士论文 第三章w i n d o w sw d m 驱动程序简介 3 1 驱动程序工作机制 在w i n d o w s 2 0 0 0 操作系统中,程序要么执行在用户模式,要么执行在内核模 式。执行于用户模式的程序不能直接访问硬件设备,它需要调用w i n 3 2 a p i 函数, w i n 3 2 子系统模块通过调用平台相关的系统服务接口实现a p i ,而相关的系统服 务则是调用内核模式支持的例程,从而达到访问硬件的目的。这一机制确保了 w i n d o w $ 操作系统的安全性和稳定性。 对于应用程序提出的请求,内核模式中存在有相应的服务例程,它们之间是 通过i 0 请求包( i r p ) 建立通信的。i o 管理器将不同的i r p 传递给不同的驱动 程序例程,从而完成应用程序的请求。如图3 1 所示。 w i n 3 2a p i 调爿j 传递| r p 给驱动程序派遣例狸 图3 一l 设备驱动程序的调用 搴寓由 电子科技大学硕上论文 3 2w i n d o w s 2 0 0 0 驱动程序分类 w i n d o w s 2 0 0 0 驱动程序可以分为以下几类1 1 : 一、虚拟设备驱动程序( v d d ) 虚拟设备驱动程序是一个用户模式部件,它可以使d o s 应用程序访问x 8 6 平台上的硬件。v d d 通过屏蔽i o 权限掩码来捕获端口存取操作,它基本上是模 拟硬件操作,这对于那些直接对裸机硬件编程的应用程序特别有用。 二、内核模式驱动程序 1 p 1 1 p 驱动程序是一种遵循w i n d o w s 2 0 0 0 即插即用协议的内核模式驱动程 序。 2 w d m 驱动程序是一种p n p 驱动程序,它同时还遵循电源管理协议,并能 在w i n d o w s9 8 和w i i l d o w s 2 0 0 0 间实现源代码级兼容。 3 显示驱动程序是用于显示和打印设备的内核模式驱动程序。 4 文件系统驱动程序在本地硬盘或网络上实现标准p c 文件系统模型( 包括 多层次目录结构和命名文件概念) 。 5 遗留设备驱动程序也是一种内核模式驱动程序,它直接控制一个硬件设备 而不用其它驱动程序帮助。这种驱动程序主要包括w i n d o w sn t 早期版本的驱动 程序,它们可以不做修改地运行在w i n d o w s 2 0 0 0 中。 3 3w d m 驱动程序模型 3 3 1w d m 驱动程序简介 w d m ( w i n d o w s d r i v e r m o d e l ) 是微软公司全新的驱动程序模式,支持即插 即用,电源管理和w m i 技术【1 1 ,并且能够在w i n d o w s 9 8 ,w i n d o w s 2 0 0 0 $ 1 1 w i n d o w s x p 之间实现源代码级的兼容。w d m 驱动程序作为w i n d o w s 2 0 0 0 下的一种驱动 程序,对驱动程序的开发更加快捷,更加灵活,已经成为设备驱动程序的主流。 3 3 2w d m 驱动程序构成 在w d m 驱动程序模型中,每个硬件至少包含功能( f u n c t i o n ) 驱动和总线 ( b u s ) 驱动两个驱动程序。功能驱动程序通常就是硬件设备的驱动程序,它了解 硬件工作的所有细节,负责初始化1 1 0 操作,处理i 0 操作完成后带来的中断事 电子科技大学硕士论文 件,并且为用户提供一种设备合适的控制方式。功能驱动程序通常又包含类驱动 程序和微小驱动程序两个分离的执行文件。类驱动程序了解如何处理操作系统使 用的w d m 协议,以及如何管理整个设备类的基本特征;微小驱动程序包含类驱 动程序用于管理设备实例的厂商专有特征例程。总线驱动程序负责发现总线上的 设备,管理硬件与计算机的连接。 一个w d m 驱动程序包含有多个例程,对于不同的i r p 请求,它会调用不同 的例程完成该i r p 操作。其中有五个例程是必需,即d r i v e r e n t r y ,a d d d e v i c e , d i s p a l c h p n p ,d i s p a t c h p o w e r ,d i s p a t c h w m l 。另外,还可能有s t a r t l o 例程对i r p 进行排队;用中断服务例程( i s r ) 和延迟过程调用例程( d p c ) 处理硬件中断 等。w d m 驱动程序开发者可以根据自己要开发的驱动程序的要求来选择所需的 例程。图3 2 表明了w d m 驱动程序的一些例程口】。 基本驱动程序例程l 删懒膣派遣咧程 s c 枷o o n i n t e t r u p t d p c f o r l 耵 a d a p t e r c o n t r o l d i s l m t c h p n p d i s p a t e h p o w e r d i s p a t c h w m l d i s p a t c h r e a d d i s l m t e h w r i t e 图3 2 w d m 驱动程序例程 3 3 3w d m 驱动程序的层次结构 w d m 驱动程序采用了如图3 3 所示的层次结构l lj 。图中左边是一个由设备 对象构成的堆栈。设备对象是系统为帮助软件管理硬件而创建的数据结构。一个 物理硬件可以有多个这样的数据结构。处于堆栈最底层的设备对象称为物理设备 对象( p h y s i c a ld e v i c eo b j e c t ) ,或简称为p d o 。在设备对象堆栈的中间某处有一 个对象称为功能设备对象( f u n c t i o n a l d e v i c eo b j e c t ) ,或简称f d o 。在f d o 的上 面和下面还会有一些过滤器设备对象( f i l t e r d e v i c eo b j e c t ) ,分别称为上层过滤器 和下层过滤器。 电予辩j 盘走学 羲l 论文 圈3 3w d m 设器对象和驱动瓣痒的层次结构 操作系统的p n p 管理器按照设锯驱动程序的掰求构造了设备对象堆栈。总线 驱动程序枚举总线上的设备,并为辑个设备创建一个p d o 。一旦总线驱动程序 捡蹇到凝溪侮存在,p 艘管理器裁剿建一个p d o ,之蓐囊嚣娥绉绘如强3 3 艨 示的结构。 创建兜p d o 后,p n p 管理器参照注册表中的信息查找与这个p d o 相关的过 滤器和功能驱魏程序,它们出现在嬲的中部。系统发装程序负黉添加这些混薅表 顼,两鹱秘疆淳餐孛羧臻硬箨安装粒i n f 文终受费添热其囊亵顼。这望裘矮定 义了过滤器和功能驱动程序在堆栈中的次序。p n p 管理器先装入最底层的过滤器 驱动程序并调用其a d d d e v i c e 函数。该函数创建一个f i d o ,这样就在过滤器驱 参程序耧f i d o 帮之阕建立了容乎遮接。然后,a d d d e v i e e 搀p d o 连接裂f i d o 上,这就烧设备对象之间连线韵由来。p n p 管理嚣继续向上执行,装入并调鞠每 个低层过滤器、功能驱动程序、每个高层过滤器,直到完成懿个堆栈。 通常一个i r p 请求郯是从最上滋螅驱动程黟逐渐过滤到下层驱动程序,如图 3 3 嚣承。摄摇不嗣酌i r p 静内寮,每淫驱动獠净完成不麓麴楚理:有鹃驱动 程序既她瑷i r p 又把它向下层驱动程序传递;肖的驱动程序只实现传递i r p 的 功能;有的驱动程序则只处理i r p 而不再向下传递。 电子科技大学硕j 论文 第四章p c i 通信卡驱动程序设计 4 1 驱动程序开发工具简介 目前开发驱动程序的工具比较多,如d d k ,d r i v e r w o r k s 等。但用d d k 开 发驱动程序必须对驱动程序机制有深入的理解,而且开发过程比较繁琐,难度较 大,开发周期长。d r i v e r w o r k s 把d d k 的函数封装成类,并且它提供的 d r i v e r w i z a r d 只需驱动开发者根据自己驱动程序的需要进行简单的操作就能很 方便的生成驱动程序框架,让驱动开发者集中精力去实现驱动程序的基本功能, 大大减少了编写驱动程序的工作量。d r i v e r w o r k s 还能根据驱动开发者编写的驱 动程序自动生成i n f 安装信息文件和测试程序,使w d m 驱动程序的开发交得 简单,方便,提高了开发效率。 使用d r i v e r w o r k s 开发驱动程序,需要对驱动程序的开发环境进行设置,主 要步骤有: 第一步:安装m i c r o s o f t v i s u a lc + + 6 o ; 第二步:安装针对w i n d o w s 2 0 0 0 的d d k ; 第三步:安装d r i v e r s t u d i o ; 第四步:使用位于开始程序n u m e g ad r i v e r s t u d i o t o o l s 菜单中的s e t d d k g o 定义b a s e d i r 并启动m s v c 6 0 。 第五步:在m s v c6 0 中打开项目v d w l i b s d s w ,该项目位于安装文件 d r i v e r s t u d i o k d r i v e r w o r k s s o u r c e v d w l i b s d s w 中,选择b u i l d l b a t c hb u i l d ( 编译i 批构建) ,从打开的窗1 2 1 中选择需要编译的配置,点击b u i l d 编译选择的库文件。 编译环境设置好后,以后要使用d r i v e r w o r k s ,只需通过s e t d d k g o 进入 m s v c 即可。 注意: 1 以上所有程序包括d r i v e r s t u d i o 的安装都必须以系统管理员的身份启动系 统。 2 必须按照上面的顺序安装。 3 在第二步安装w i n d o w s 2 0 0 0d d k 时,不需要安装6 4 b i t i a 6 4 b i n a r i e s , 而且安装好后不需要手动配置,只需点击位于开始程序d e v e l o p m e n t k i t 菜单中 的c h e c k e db u i l de n v i r m e n t ,则d d k 会自动调用s e t e n v 配置环境变量,并监测 相应的s d k 以及v i s u a ls t u d i oi d e 。 4 第五步选择要编译的库文件时不要选择含有i a 6 4 的各项。 电子科技大学碗 论文 4 2p c i 通信卡驱动程序的开发 4 2 1 使用d r i v e r w i z a r d 生成驱动程序框架 利用d r i v e r w o r k s 的向导d r i v e r w i z a r d 可以很方便的完成驱动程序的框架。 其中关键步骤有: ( 1 1 在第二步中选择驱动程序的类型。本驱动程序选择w d m 。 ( 2 ) 在第三步中选择p c i ,并在v e n d o r i d 和d e v i c ei d 中分别输入厂商号和 设备号,还需填入p c is u b s y s t e m1 d 和p c i r e v i s i o ni d 。这四项可以用网上的免 费软件p c i t r e e 或p c i v i e w 浏览p c i 设备得到,用这两个软件同时也可以得到 b a r 0 b a r 5 的资源分配情况和设备的中断号。 ( 3 ) 在第四步中定义驱动程序的设备类,代表了驱动程序对应的硬件设备。 在d r i v e r w i z a r d 第八步中添加的资源和例程等就相当于该设备类的变量和成员 函数。 ( 4 ) 第六步选择i r p ( i 0r e q u e s tp a e k e t ) 的队列排队方法,它决定了驱动 程序检查设备的方式。如果选择d f i v e r m a n a g e d ,则驱动程序会自动检查设备对 启动特定的操作请求是否有效。如果选择s y s t e m m a n a g e d ,则所有的i r p 排队都 由系统完成。本驱动程序选用s y s t e m m a n a g e d 。 ( 5 ) 第八步是最关键的一步。首先在r e s o u r c e s 中添加资源,在n a n l e 中输入 变量名,在p c ib a s e a d d r e s s 中输入o 5 的序列号。o 5 和b a r 0 b a r 5 一一 对应。在i n t e r f a c e 栏选择打开设备的方式:符号链接名方式或g u i d 接口方式。 在b u f f e r 属性页中选择读写方式,用于描述与i o 操作相关的数据缓冲区。对于 w d m 的p c i 功能驱动程序,有d o _ d i r e c t j o 和d o _ b u f f e r _ i o 两种可选, 本驱动程序选择d i r e c ti 0 方式。在设置中断对话框中,在n a m e 栏写入中断服 务程序的名称,选中创建中断服务程序i s r 和中断延迟调用d p c 。对于设备打 开方式和y o 操作相关的数据缓冲区的方式,将在4 2 4 节中详细讨论。 r 6 ) 在第九步中,加入与应用程序或者其他驱动程序通信的i o 控制代码参 量。 4 2 2 驱动程序的主要功能模块 使用d r i v e r w i z a r d 按照通信卡的要求生成w d m 驱动程序框架以后,驱动程 序的主要功能代码也随之产生。对于p c i 驱动程序,其主要功能模块有: 驱动程序初始化自己。 电子科技大学顶士论文 创建设备。 分配硬件资源。 i r p ( i o 请求包) 串行化处理。 访问硬件。 p c i 驱动程序的这些主要功能都是通过不同的例程实现的,下面结合本驱动 程序的例程介绍以上这些功能是如何实现: 1 驱动程序初始化自己 驱动程序初始化自己是由d r i v e r e n t r y 例程实现的,所有驱动程序必须包含该 例程,它的主要作用是设置其它回调例程的指针,为操作系统指明驱动程序容器 中各回调例程的位置。驱动程序的主要回调例程有: a d d d e v i c e 例程:添加一个新的p n p ( 即插即用) 设备。 i o 请求包处理例程:处理i r p 请求。 u n l o a d 例程:卸载驱动程序。 s t a r t l o 例程:串行处理i r p 回调例程。 i s r 例程:中断服务例程。 d p c f o d s r 例程:延迟过程调用例程,通常用在中断处理中。 临界段例程:用于同步一个处理器上的中断执行。由低级i r q l 的任务调 用来与硬件交互。 c a n c e l 例程:取消一个i r p 。 c o m p l e t i o n 例程:当一个低层驱动程序完成一个i r p 的处理时被调用,这 允许当前的驱动程序作更多的工作。 a d a p t e r c o n t r o l 例程:当一个d m a 通道适配器可用时调用,用于实现眦 功能。 c o n t r o l l e r c o n t r o l 例程:当一个控制器空阑时调用。 t i m e r 例程:定时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京军事博物馆社会用工人员招聘笔试参考题库附带答案详解
- 2025年安徽省高职单招职业适应性测试题库及答案解析
- 高中古诗词教学中审美活动的优化策略
- 2023年安徽省马鞍山市普通高校对口单招综合素质自考真题(含答案)
- 2023年九类单招职业适应性测试试题及答案
- 常见说明方法复习
- 生理学的任务和研究方法
- 2025年施工升降机司机(建筑特殊工种)职业技能考试试题及答案
- 大赛技能训练计划
- 桥梁施工专项施工方案
- 催收业务员知识培训内容课件
- 企业项目管理流程标准化操作手册
- 2025年秋统编版九年级上册道德与法治全册知识点复习提纲
- 2025交通运输部所属事业单位招聘(7人)备考考试试题及答案解析
- 建筑工地 各岗位安全应急处置卡
- 辅警思想政治课件模板
- 国家网络安全培训讲座课件
- 冬季交通行车安全培训课件
- 2025年仓库账务员考试及答案
- 2025入团积极分子结业考试题库(含答案)
- 大疆植保无人机培训课件
评论
0/150
提交评论