(机械电子工程专业论文)pci高速数据采集卡驱动研究与开发.pdf_第1页
(机械电子工程专业论文)pci高速数据采集卡驱动研究与开发.pdf_第2页
(机械电子工程专业论文)pci高速数据采集卡驱动研究与开发.pdf_第3页
(机械电子工程专业论文)pci高速数据采集卡驱动研究与开发.pdf_第4页
(机械电子工程专业论文)pci高速数据采集卡驱动研究与开发.pdf_第5页
已阅读5页,还剩98页未读 继续免费阅读

(机械电子工程专业论文)pci高速数据采集卡驱动研究与开发.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西北工业大学硕士学位论文摘要 摘要 设备驱动程序是数据采集系统的重要组成部分, 设备驱动程序的性能直接关 系到数据采集系统的效率。 在分析某飞机供电 参数测试系统的p c i 数据采集卡的 基础上, 论文描述了 数 据采集卡设备驱动程序在w i n d o w s 2 0 0 0 操作系统下的实 现过程。全文主要包含 如下内容, 首先论文概述了课题的研究背景以及课题的来源, 紧接着在结合分析 p c 工 总线协议规范的基础上论文对p c i 数据采集卡的硬件系统结构进行了描述。 然后论文对w i n d o w s 2 0 0 0 操作系统内 核结构以 及w d m 设备驱动程序的开发技术 进行了分析和论述。 之后, 针对p c i 数据采集卡的工作特点, 给出了设备驱动程 序的设计、编码、编译、 调试、 测试以及发布的过程。 最后,论文概述了本次课 题设计过程中的收获以及不足。 关键词: p c i 总线、驱动程序、w d m . d m a 、工 r p 西北工业大学硕士学位论文 abs tract d r i v e r p l a y s a n i m p o rt a n t r o l e i n t h e d a t a a c q u i s i t i o n s y s t e m a n d i t s c a p a b i l it y i n fl u e n c e s t h e e ff i c i e n c y o f t h e d a t a a c q u i s i t i o n s y s t e m d ir e c t l y . i n t h i s d i s s e rt a t i o n , t h e p r o c e s s o f c o n s t r u c t i n g t h e d r i v e r f o r t h e d a t a a c q u i s i t i o n c a r d o f s o m e a i r c r a ft e l e c t r i c a l p o w e r s u p p l y s y s t e m o n wi n d o w s 2 0 0 0 o s p l a t f o r m w i l l b e p r e s e n t e d . t h e m a i n w o r k s o f t h i s d i s s e rt a t io n a r e a s f o l l o w s : a t f ir s t , t h e b a c k g r o u n d o f t h i s d i s s e rt a t i o n w i l l b e d e s c r i b e d a n d t h e h a r d w a r e a r c h i t e c t u r e o f t h e d a t a a c q u i s i t i o n c a r d w i ll b e d e m o n s t r a t e d a ft e r a n a l y z i n g t h e p c i b u s p r o t o c o l s p e c i f i c a t i o n . t h e n , t h e k e r n e l a r c h i t e c t u r e o f t h e w i n d o w s 2 0 0 0 o s a n d t h e w a y o f d e v e l o p i n g a wd m d r i v e r w i l l b e a l s o r e s e a r c h e d i n t h i s d i s s e rt a t i o n f o l l o w l y . a t l as t , t h e p r o c e s s o f h o w t o c o d e , c o m p i l e , d e b u g , t e s t a n d r e l e a s e t h e d r i v e r f o r p c i d a t a a c q u i s i t i o n c a r d w i l l b e p u t f o r w a r d . k e y w o r d s :p c i b u s , d r i v e r , w d m , d m a , i r p 西北工业大学硕士学位论文第一章 绪论 第一章 绪论 1 . 1 研究背景 数据采集系统越来越多的应用于工业控制和测试等领域。 所谓的数据采集系 统通常是指将模拟信号转化为数字信号并进一步处理、 显示、 存储以 及记录的过 程。 在某些特定的领域, 人们对数据采集系统的要求越来越高, 一方面, 这些领 域要求数据采集系统能够处理高速、 大容量的数据流。 另外一方面, 人们又希望 数据采集系统能够提供很高的采样精度。 为了 适应高 速数据采集的需要, 迫切需 要高速数据采集系统的出现。 而数据采集卡是数据采集系统的主要组成部分, 它 是外界电信号与计算机之间的桥梁, 完成对数据的测量和传输。 为适应不同领域 的要求,迫切要求开发高速的数据采集系统。 计算机技术的高速发展( 尤其是计算机总线技术) 促使了 研发这些高性能要 求的数据采集卡成为可能。 传统的微机总线 ( 如: i s a , e i s a 等)由于带宽的限 制成为了高速数据采集系统发展的 瓶颈,工 s a 总线分为8 位和1 6 位两种, 最高 的传输速率只有8 m b / s 。而p c i 局部总线的出 现改变了 这种局面,p c i 总线采用 3 2 位 ( 同时可升级到6 4 位) 的独立于c p u 的结构, 总线速率高达3 3 / 6 6 m h z ,同 步碎发传输可以达到1 3 2 m b / s 。 这些特点使得p c i 逐步取代了i s a 总线而成为p c 的主流总线。同时 p c i总线的高 传输速率使得开发高速的 数据采集系统成为可 能。 我们知道, 数据采集系统最终的目 的是要通过计算机对采集到的数据进行分 析从而给出相应的结论和决策, 所以 如何把数据采集卡采集到的数据传输给计算 机也就成为了数据采集系统重要的组成部分。 现代操作系统 ( w i n d o w s 2 0 0 0 等) 为了 保证系统运行的安全性和稳定性,把系统分成了用户层和内 核层两种模式, 处于用户层的用户程序是没有权限直接访问计算机硬件设备的。 只有处于内核层 的程序才能够对硬件设备进行访问。 这就意味着如果要访问数据采集卡采集到的 数据,我们就必须通过内核层程序对数据采集卡进行操作,在w i n d o w s 2 0 0 0 操 作系统中, 这个内核层程序就是所谓的设备驱动程序。 设各驱动程序是计算机操 作系统内核层的重要组成部件, 操作系统本身只带了一些必要的和标准的驱动程 西北工业大学硕士学位论文第一章 绪论 第一章 绪论 1 . 1 研究背景 数据采集系统越来越多的应用于工业控制和测试等领域。 所谓的数据采集系 统通常是指将模拟信号转化为数字信号并进一步处理、 显示、 存储以 及记录的过 程。 在某些特定的领域, 人们对数据采集系统的要求越来越高, 一方面, 这些领 域要求数据采集系统能够处理高速、 大容量的数据流。 另外一方面, 人们又希望 数据采集系统能够提供很高的采样精度。 为了 适应高 速数据采集的需要, 迫切需 要高速数据采集系统的出现。 而数据采集卡是数据采集系统的主要组成部分, 它 是外界电信号与计算机之间的桥梁, 完成对数据的测量和传输。 为适应不同领域 的要求,迫切要求开发高速的数据采集系统。 计算机技术的高速发展( 尤其是计算机总线技术) 促使了 研发这些高性能要 求的数据采集卡成为可能。 传统的微机总线 ( 如: i s a , e i s a 等)由于带宽的限 制成为了高速数据采集系统发展的 瓶颈,工 s a 总线分为8 位和1 6 位两种, 最高 的传输速率只有8 m b / s 。而p c i 局部总线的出 现改变了 这种局面,p c i 总线采用 3 2 位 ( 同时可升级到6 4 位) 的独立于c p u 的结构, 总线速率高达3 3 / 6 6 m h z ,同 步碎发传输可以达到1 3 2 m b / s 。 这些特点使得p c i 逐步取代了i s a 总线而成为p c 的主流总线。同时 p c i总线的高 传输速率使得开发高速的 数据采集系统成为可 能。 我们知道, 数据采集系统最终的目 的是要通过计算机对采集到的数据进行分 析从而给出相应的结论和决策, 所以 如何把数据采集卡采集到的数据传输给计算 机也就成为了数据采集系统重要的组成部分。 现代操作系统 ( w i n d o w s 2 0 0 0 等) 为了 保证系统运行的安全性和稳定性,把系统分成了用户层和内 核层两种模式, 处于用户层的用户程序是没有权限直接访问计算机硬件设备的。 只有处于内核层 的程序才能够对硬件设备进行访问。 这就意味着如果要访问数据采集卡采集到的 数据,我们就必须通过内核层程序对数据采集卡进行操作,在w i n d o w s 2 0 0 0 操 作系统中, 这个内核层程序就是所谓的设备驱动程序。 设各驱动程序是计算机操 作系统内核层的重要组成部件, 操作系统本身只带了一些必要的和标准的驱动程 西 共 王 业 大 学 硕 士 学 位 论 文 _ 一 一.二 - 一 一一一一一一竺遗塑ie 序保证系统能够正常的 运行, 对于用户自己开发的硬件设备, 用户必须提供相应 的设备驱动程序以保证硬件设备的正常运行。 因而对于数据采集系统来说, 数据 采集卡的设备驱动程序是其重要的组成部分, 高效的设备驱动程序是数据采集系 统稳定有效工作的保证。 相对于普通的应用程序而言,驱动程序的开发存在如下一些特点: 今 驱动程序是操作系统重要的组成部分, 所以这就必须保证驱动程序必须 是安全的, 不当的驱动程序轻则导致系统崩溃重则可能破坏系统硬件资 源。 . 驱动程序直接运行在操作系统的内核层, 这就要求驱动程序开发者对操 作系统的内 核原理有足够的了 解, 包括系统内 存的管理、中断的实现、 多线程机制等等。 . 驱动程序需要直接对硬件进行控制和操作, 所以要求驱动程序开发者具 备一定的硬件知识. . 在驱动程序的调试方面,其与一般的应用程序的调试也有很大的不同, 驱动程序的调试不能直接在编译环境下设断点进行调试而必须用特定 的调试软件进行调试。 在w i n d o w s 系统操作系统中, 设备驱动程序的开发经历了从虚拟设备驱动程 序 ( v x d )到内核驱动程序 ( k d m )以及w i n d o w s 驱动程序模型 ( w d m )的过程, 其开发的方式和开发的工具也发生了很大的变化, 就目 前而言, 在w i n d o w s 2 0 0 0 操作系统下, w d m 和k d m 驱动程序已 经完全取代了v x d 而成为了驱动程序设计的 一种标准模式, w d m 驱动程序模型和k d m 驱动程序模型大体上是一样的, 只是w d m 驱动程序模型的设计更加模块化,但是其核心的实现方法还是一致的。 1 . 2课题研究的内 容和意义 尽管现在市场上己 经有很多 成熟的 数据采集卡, 本次课题的特殊要求使得本 次研究存在如下的意义: . 开发基于p c i 总线的数据采集卡可以充分利用p c i 总线的高速来解决高 速数据采集中的速度难题。 西 共 王 业 大 学 硕 士 学 位 论 文 _ 一 一.二 - 一 一一一一一一竺遗塑ie 序保证系统能够正常的 运行, 对于用户自己开发的硬件设备, 用户必须提供相应 的设备驱动程序以保证硬件设备的正常运行。 因而对于数据采集系统来说, 数据 采集卡的设备驱动程序是其重要的组成部分, 高效的设备驱动程序是数据采集系 统稳定有效工作的保证。 相对于普通的应用程序而言,驱动程序的开发存在如下一些特点: 今 驱动程序是操作系统重要的组成部分, 所以这就必须保证驱动程序必须 是安全的, 不当的驱动程序轻则导致系统崩溃重则可能破坏系统硬件资 源。 . 驱动程序直接运行在操作系统的内核层, 这就要求驱动程序开发者对操 作系统的内 核原理有足够的了 解, 包括系统内 存的管理、中断的实现、 多线程机制等等。 . 驱动程序需要直接对硬件进行控制和操作, 所以要求驱动程序开发者具 备一定的硬件知识. . 在驱动程序的调试方面,其与一般的应用程序的调试也有很大的不同, 驱动程序的调试不能直接在编译环境下设断点进行调试而必须用特定 的调试软件进行调试。 在w i n d o w s 系统操作系统中, 设备驱动程序的开发经历了从虚拟设备驱动程 序 ( v x d )到内核驱动程序 ( k d m )以及w i n d o w s 驱动程序模型 ( w d m )的过程, 其开发的方式和开发的工具也发生了很大的变化, 就目 前而言, 在w i n d o w s 2 0 0 0 操作系统下, w d m 和k d m 驱动程序已 经完全取代了v x d 而成为了驱动程序设计的 一种标准模式, w d m 驱动程序模型和k d m 驱动程序模型大体上是一样的, 只是w d m 驱动程序模型的设计更加模块化,但是其核心的实现方法还是一致的。 1 . 2课题研究的内 容和意义 尽管现在市场上己 经有很多 成熟的 数据采集卡, 本次课题的特殊要求使得本 次研究存在如下的意义: . 开发基于p c i 总线的数据采集卡可以充分利用p c i 总线的高速来解决高 速数据采集中的速度难题。 西北工业大学硕士学位论文 第一章 绪论 . 开发带光电隔离的数据采集卡是为了 提高数据采集卡的电 气隔离特性, 进而增强数据采集卡的抗干扰性和系统安全性的。 令 开发w d m 驱动程序可以给用户层应用程序开发者提高适当的接口函数, 以方便用户层应用程序开发者开发出适当的数据采集软件。 本次课题设计过程中,我主要进行了数据采集卡设备驱动程序的开发和实 现,从本次课题设计的过程和结果看,本次课题设计主要涉及到了如下的内容: . 研究p c i 总线协议中与编写驱动程序有关的内容, 本次数据采集卡是基 于p c i 总线的, 所以了 解p c i 总线协议规范是开发设备驱动程序的一个 重要内容, 由于p c i 总线的高性能、 兼容性强、 数据传输速度快等特点, 导致p c i 总线协议比 其他总线复杂,内容更多。 令 研究硬件设备的相关参数和特性, 在开发设备驱动程序之前, 我们需要 对硬件设备的相关参数和特性进行深入的了 解。 对于本课题, 我们需要 对p c i 接口 芯片的 相关特性进行深入的了 解, 如配置空间、 数据空间、 传输方式、中断方式等等。 . 研究w i n d o w s 2 0 0 0 操作系统的内核原理,驱动程序最终要装入系统内 核中使用,并且同系统内 核中的其他相关组件融合工作, 所以对操作系 统的内核进行深入的了解是开发设备驱动程序的必备条件。 . 掌握wd m驱动程序的开发流程,该部分是本次课题的重点,wd m驱 动程序开发是一个复杂的过程, 包括开发环境的选择、 建立、 驱动程序 的设计、驱动程序的调试等相关内容。 今 针对本次硬件设备, 开发出高效稳定的设备驱动程序是这次课题设计的 最终目的, 设备驱动程序是数据采集系统的重要组成部分,设备驱动程 序的效率直接影响到数据采集系统的效率, 所以 有必要开发出高效的设 备驱动程序。 1 . 3 课题来源 本次课题设计是在前期同学设计的飞机供电参数测试系统的基础上, 为进一 步完善和提高该测试系统的效率和稳定性, 在硬件设备的基础上开发出高效的设 备马 区 动程序。 西北工业大学硕士学位论文 第一章 绪论 . 开发带光电隔离的数据采集卡是为了 提高数据采集卡的电 气隔离特性, 进而增强数据采集卡的抗干扰性和系统安全性的。 令 开发w d m 驱动程序可以给用户层应用程序开发者提高适当的接口函数, 以方便用户层应用程序开发者开发出适当的数据采集软件。 本次课题设计过程中,我主要进行了数据采集卡设备驱动程序的开发和实 现,从本次课题设计的过程和结果看,本次课题设计主要涉及到了如下的内容: . 研究p c i 总线协议中与编写驱动程序有关的内容, 本次数据采集卡是基 于p c i 总线的, 所以了 解p c i 总线协议规范是开发设备驱动程序的一个 重要内容, 由于p c i 总线的高性能、 兼容性强、 数据传输速度快等特点, 导致p c i 总线协议比 其他总线复杂,内容更多。 令 研究硬件设备的相关参数和特性, 在开发设备驱动程序之前, 我们需要 对硬件设备的相关参数和特性进行深入的了 解。 对于本课题, 我们需要 对p c i 接口 芯片的 相关特性进行深入的了 解, 如配置空间、 数据空间、 传输方式、中断方式等等。 . 研究w i n d o w s 2 0 0 0 操作系统的内核原理,驱动程序最终要装入系统内 核中使用,并且同系统内 核中的其他相关组件融合工作, 所以对操作系 统的内核进行深入的了解是开发设备驱动程序的必备条件。 . 掌握wd m驱动程序的开发流程,该部分是本次课题的重点,wd m驱 动程序开发是一个复杂的过程, 包括开发环境的选择、 建立、 驱动程序 的设计、驱动程序的调试等相关内容。 今 针对本次硬件设备, 开发出高效稳定的设备驱动程序是这次课题设计的 最终目的, 设备驱动程序是数据采集系统的重要组成部分,设备驱动程 序的效率直接影响到数据采集系统的效率, 所以 有必要开发出高效的设 备驱动程序。 1 . 3 课题来源 本次课题设计是在前期同学设计的飞机供电参数测试系统的基础上, 为进一 步完善和提高该测试系统的效率和稳定性, 在硬件设备的基础上开发出高效的设 备马 区 动程序。 西北工业大学硕士学位论文 第一章 绪论 飞机供电参数测试系统早期来源于某飞机制造厂, 随着电子技术和国防科技 的飞速发展, 飞机的飞行速度、 高度、 航程及作战性能均有很大提高,由此对飞 机供电系统也提出了相应的要求。 飞机供电系统中的稳态、 瞬态以及故障状况下的各种参数是测试系统的主要 测试信号, 这些信号的频率一般都很高( 如直流脉动的频率位1 0 0 k 赫兹) , 所以 对于这些参数进行测试, 必将涉及到大量的数据传输。 以 往的工 s a 卡,已 经不能 满足要求。 p c i 高速数据采集卡就成为了首选,由 于时间的关系, 系统使用了 市 场上商家设计成熟的p c i 接口 卡,基本能达到要求。 本次设计的目的就是设计出带光电隔离的p c 工 高速数据采集卡( 包括数据采 集卡硬件系统以及数据采集卡设备驱动程序) , 在满足高速采样的基础上把测试 系统和飞机供电系统的电 源隔开, 以 达到改善系统性能、 提高系统稳定性的目 的。 1 . 4 论文章节安排 . 第一章 绪论 主要介绍了课题的来源和研究背景。 . 第二章 p c i 总线协议与系统硬件结构 本章一方面介绍了p c i 总线协议的相关特性,另外一方面对系统的硬件 结构进行了介绍。 . 第三章w d m 设备驱动程序开发技术 本章在结合分析w i n d o w s 2 0 0 0 系统内核结构的基础上深入的介绍了w d m 驱动程序的开发流程以 及开发过程中的注意事项。 . 第四章 p c i 数据采集卡驱动程序的设计与实现 本章针对本次课题的数据采集卡, 论述了 在w i n d o w s 2 0 0 0 环境下设备驱 动程序的实现过程。 令 第五章 调试与测试设备驱动程序 本章主要讨论在 w i n d o w s 2 0 0 0 环境下, 本次设备驱动程序的调试和测试 的一般方法以及注意事项。 . 第六章 设备驱动程序的发布 西北工业大学硕士学位论文 第一章 绪论 飞机供电参数测试系统早期来源于某飞机制造厂, 随着电子技术和国防科技 的飞速发展, 飞机的飞行速度、 高度、 航程及作战性能均有很大提高,由此对飞 机供电系统也提出了相应的要求。 飞机供电系统中的稳态、 瞬态以及故障状况下的各种参数是测试系统的主要 测试信号, 这些信号的频率一般都很高( 如直流脉动的频率位1 0 0 k 赫兹) , 所以 对于这些参数进行测试, 必将涉及到大量的数据传输。 以 往的工 s a 卡,已 经不能 满足要求。 p c i 高速数据采集卡就成为了首选,由 于时间的关系, 系统使用了 市 场上商家设计成熟的p c i 接口 卡,基本能达到要求。 本次设计的目的就是设计出带光电隔离的p c 工 高速数据采集卡( 包括数据采 集卡硬件系统以及数据采集卡设备驱动程序) , 在满足高速采样的基础上把测试 系统和飞机供电系统的电 源隔开, 以 达到改善系统性能、 提高系统稳定性的目 的。 1 . 4 论文章节安排 . 第一章 绪论 主要介绍了课题的来源和研究背景。 . 第二章 p c i 总线协议与系统硬件结构 本章一方面介绍了p c i 总线协议的相关特性,另外一方面对系统的硬件 结构进行了介绍。 . 第三章w d m 设备驱动程序开发技术 本章在结合分析w i n d o w s 2 0 0 0 系统内核结构的基础上深入的介绍了w d m 驱动程序的开发流程以 及开发过程中的注意事项。 . 第四章 p c i 数据采集卡驱动程序的设计与实现 本章针对本次课题的数据采集卡, 论述了 在w i n d o w s 2 0 0 0 环境下设备驱 动程序的实现过程。 令 第五章 调试与测试设备驱动程序 本章主要讨论在 w i n d o w s 2 0 0 0 环境下, 本次设备驱动程序的调试和测试 的一般方法以及注意事项。 . 第六章 设备驱动程序的发布 西北工业大学硕士学位论文 第一章 绪论 本章主要讨论设备驱动程序安装文件制作。 今 第七章 总结与展望 论述了本次课题中的收获与不足。 西北工业大学硕士学位论文 第二章p c i 总线协议与系统硬件结构 第二章 p c i 总线协议与系统硬 件结构 2 . 1 p c i 总线简介 p c i ( p e r i p h e r a l c o m p o n e n t i n t e r c o n n e c t ) 外部设备互联总线是i n t e l 公司 于 1 9 9 1 年下半年首先提出的,并马上得到 i b m , c o m p a q , a s t , h p , d e c 等 l o o 多家大型计算机公司的 支持,于1 9 9 3 年正式推出了p c i 局部总线标准一 p c i 总 线。 p c 工总线是一种即插即用的总线标准,支持全面的自 动配置,最大允许 6 4 位并行数据传送,采用地址/ 数据总线复用方式, 最高总线时钟可达 6 6 m h z , 支 持多总线结构和线性碎发 ( b u r s t ) 传输, 最高峰值传输速度可以 达到5 2 8 m b / s o p c 工 总线通过桥接技术保持与传统总线如 工 s a , e 工 s a , v e s a , m c a等标准的兼容 性, 使高性能的p c i 总线与己 大量使用的传统总线技术特别是工 s a 总线共存。 同旧 式的 工 s a 总线不同, p c i 将计算机系统中的总线子系统与存储子系统完 全地分开, c p u 通过一块称为p c i 桥 ( p c i - b r i d g e ) 的设备来完成同总线子系统 的 交互。 另外p c i 具备的几个非常显著的特点使得p c i 总线最终取代了i s a 总线, 这几个显著的特点主要表现在三个方面: 1 、在计算机和外设间传输数据时具备更好的性能。 2 、能够尽量的独立于具体的平台。 3 、可以方便的实现即插即用功能,使得硬件设备的添加删除更为方便。 下图是一个典型的基于p c i 总线的计算机系统逻辑示意图。 系统的各个部分 通过p c i 总线和p c 工 一 p c i 桥连接在一起。 西北工业大学硕士学位论文 第二章p c i 总线协议与系统硬件结构 第二章p c i 总线协议与系统硬件结构 2 1p c i 总线简介 p c i ( p e r i p h e r a lc o m p o n e n ti n t e r c o n n e c t ) 外部设备互联总线是i n t e l 公司 于1 9 9 1 年下半年首先提出的,并马上得到i b m 、c o m p a q 、a s t 、h p 、d e c 等1 0 0 多家大型计算机公司的支持,于1 9 9 3 年正式推出了p c i 局部总线标准- - p c i 总 线。 p c i 总线是一种即插即用的总线标准,支持全面的自动配置,最大允许6 4 位并行数据传送,采用地址数据总线复用方式,最高总线时钟可达6 6 m h z ,支 持多总线结构和线性猝发( b u r s t ) 传输,最高峰值传输速度可以达到5 2 8 m b s 。 p c i 总线通过桥接技术保持与传统总线如i s a 、e i s a 、v e s a 、m c a 等标准的兼容 性,使高性能的p c i 总线与已大量使用的传统总线技术特别是i s a 总线共存。 同旧式的i s a 总线不同,p c i 将计算机系统中的总线子系统与存储子系统完 全地分开,c p u 通过一块称为p c i 桥( p c i b r i d g e ) 的设备来完成同总线子系统 的交互。另外p c i 具备的几个非常显著的特点使得p c i 总线最终取代了i s a 总线, 这几个显著的特点主要表现在三个方面: 1 、在计算机和外设间传输数据时具各更好的性能。 2 、能够尽量的独立于具体的平台。 3 、可以方便的实现即插即用功能,使得硬件设备的添加删除更为方便。 下图是一个典型的基于p c i 总线的计算机系统逻辑示意图。系统的各个部分 通过p c i 总线和p c i p c i 桥连接在一起。 西北工业大学硕士学位论文 第二章p c i 总线协议与系统硬件结构 2 2p c i 总线的特点 图2 一ip c i 系统示意图 1 、线性猝发传输 p c i 总线的数据传输是一种线性猝发( b r u s t ) 的数据传输模式。亦即数据 帧的传输模式,可确保总线不断满载数据,使p c i 总线达到其峰值速度。外围设 备一般会由内存某个地址顺序接受数据,这种线性或顺序的寻址方式,意味着可 以由某一地址起读写大量数据,然后每次只需将地址自动加l ,便可接受数据流 内下一个字节的数据。线性猝发传输够更有效地利用总线的带宽去传输数据, 减少无谓的地址操作。 p c i 总线的全部读写传送都可以用猝发传送。猝发传送的长度出总线主设备 决定,在数据传送开始时,目标得到起始地址和交易类型,但没有传送长度。当 主设备传送每个数据项时,主设各通知目标是否为最后个数据项。当最后一 个数掘项传送后本次数据传送即告结束。 2 、同步总线操作 p c i 总线是一种同步总线,总线上除中断等少数几个信号外全部与总线时钟 的上升沿同步。p c i 总线时钟范围很宽,由主板决定,一般为3 3 m h z 。为了使总 线适应各种速度接口设备的要求,总线可以有多种方式申请等待周期,使p c i 总 线在接口设计和应用上更加灵活。 3 、多总线主控方式 西北工业大学硕士学位论文 第二章p c i 总线协议与系统硬件结构 在p c i 总线上可以存在多个具有总线管理控制能力的主控设备。当一个具有 总线控制能力的外围设备有任务处理需暂时接管总线时,可以向p c i 总线申请总 线请求并经响应后接管总线,以加速执行高吞吐量、高优先级的任务。p c i 总线 主控方式可以实现比i s a 总线上熟知的d m a 操作方式强得多的总线管理功能。 4 、不受处理器限制 p c i 总线通过c p u 局部总线到p c i 总线之间的桥接器形成了一种独特的中间 缓冲器设计方式,它将中央处理子系统与外围设备分开,使p c i 总线具有独立于 处理器的结构特点。用户可以随意增添外围设备,以扩展计算机系统而不必担心 在不同频率下会导致系统性能的降低。 5 、兼容性强 p c i 总线通过各种总线桥接器达到与目前已得到广泛应用的各种标准总线的 完全兼容,对保护用户的已有投资和p c i 总线的推广应用以及更新换代发挥了重 要作用。目前,微机系统通过p c i i s a 总线桥实现p c i 总线与i s a 总线的完全兼 容,保证了通用i s a 总线技术到高性能p c i 总线的平稳过渡,这正是p c i 总线的 生命力所在。p c i 总线通过专用桥接器还可保证与i s a 、v e s a 及m c a 总线的完全 兼容。 6 、自动配置功能 p c i 总线标准为p c i 接口提供了一套完整的自动配置功能,使p c i 接口所需 要的各种硬件资源如中断、内存、i o 地址等通过即插即用的b i o s 在系统启动 时进行自动配置,达到对计算机资源的优化使用和合理配置,从而使p c i 接口达 到真正的即插即用( p n p ) 目的,使接口的设计和应用更加简单容易。 7 、地址数据总线复用 p c i 总线上的地址总线和数据总线是分时复用的。在每个总线操作的第一个 周期传送地址,之后接着传送数据。因此,p c i 总线在进行简单的i o 操作时( 仅 读写一个数据) 其效率并不是很高,而在进行猝发( 或并发) 读写操作时,这 种复用方式与非复用方式相比总体性能就有很大差异了。p c i 总线通过这种方式 达到在总线规模最小的前提下性能价格比最高的目的。 西北工业大学硕士学位论文第二章p c 总线协议与系统硬件结构 2 . 3 p c 工 总线协议概述 p c 工 总线协议是一个复杂的协议, 其提供了一组完整的总线接口规范, 该协 议描述如何将计算机系统中的外围设备以一种结构化和可控化的方式连接在一 起, 同时它还刻画了外围设备在连接时的电气特性和行为规约, 并且详细定义了 计算机系统中的各个不同部件之间应该如何正确地进行交互。 下面针对p c 工 总线 协议的数据传输机制、p c i 编址以及p c i 配置空间等相关内容进行描述。 2 . 3 . 1 p c i 数据传输机制 p c i 基本总线协议采用辞发成组传输的机制。 一个碎发分组由一个地址节拍 和一个或多个数据节拍组成。 p c i 支持存储器空间和i / 0 空间的碎发传输。 这里 的碎发传输是指主桥( 位于主处理器和p c i 总线之间) 可以 将多个存储器访问在 不产生副作用的前提下合并为一次传输。 一个设备通过将基址寄存器的预取位置 1 , 来表示允许预读取数据和合并写数据。一个桥可以 利用初始化时配置软件所 提供的地址范围, 来区分哪些地址空间可以合并, 哪些不能合并。当遇到要写的 后续数据不可预取或者一个对任何范围的读操作时, 在缓冲器的数据合并操作必 须停止并将以 前的合并结果清洗。 但其后的写操作, 如果在预取范围内, 便可与 后面的写操作合并,但无论如何不能与前面合并过的数据合并口 只要处理机发出一系列写数据 ( 双字) 所隐含的地址顺序相同,主桥路总是 可以将它们组合成碎发数据。 p c i 总线上的数据传输基本上都是由以 下三条信号线控制的: f r a m e #:由 主设备驱动, 指明一个数据传输的起始和结束。 工 r d 丫 # :由主设备驱动, 允许插入等待周期。 t r d y # :由 从设备驱动, 允许插入等待周期。 当 数据有效时, 数据资源需要无条件设置x r d 丫 耸 信号 ( 写操作为t r d y # , 读 操作为t r d y # ) 。 接收方可以在适当的时间发出它的x r d y # 信号。 f r a m e # 信号有效 后的第一个时钟沿是地址周期的开始, 此时传送地址信息和总线命令。 下一个时 钟前沿开始一个或多个数据周期,每逢 i r d y # 和t r d y # 同时有效时, 所对应的时 钟前沿使数据在主、 从设备之间传送, 在此期间, 可由主设备或从设备分别利用 i r d y # 和t r d y # 的无效插入等待周期。 西北工业大学硕士学位论文第二章p c 总线协议与系统硬件结构 2 . 3 p c 工 总线协议概述 p c 工 总线协议是一个复杂的协议, 其提供了一组完整的总线接口规范, 该协 议描述如何将计算机系统中的外围设备以一种结构化和可控化的方式连接在一 起, 同时它还刻画了外围设备在连接时的电气特性和行为规约, 并且详细定义了 计算机系统中的各个不同部件之间应该如何正确地进行交互。 下面针对p c 工 总线 协议的数据传输机制、p c i 编址以及p c i 配置空间等相关内容进行描述。 2 . 3 . 1 p c i 数据传输机制 p c i 基本总线协议采用辞发成组传输的机制。 一个碎发分组由一个地址节拍 和一个或多个数据节拍组成。 p c i 支持存储器空间和i / 0 空间的碎发传输。 这里 的碎发传输是指主桥( 位于主处理器和p c i 总线之间) 可以 将多个存储器访问在 不产生副作用的前提下合并为一次传输。 一个设备通过将基址寄存器的预取位置 1 , 来表示允许预读取数据和合并写数据。一个桥可以 利用初始化时配置软件所 提供的地址范围, 来区分哪些地址空间可以合并, 哪些不能合并。当遇到要写的 后续数据不可预取或者一个对任何范围的读操作时, 在缓冲器的数据合并操作必 须停止并将以 前的合并结果清洗。 但其后的写操作, 如果在预取范围内, 便可与 后面的写操作合并,但无论如何不能与前面合并过的数据合并口 只要处理机发出一系列写数据 ( 双字) 所隐含的地址顺序相同,主桥路总是 可以将它们组合成碎发数据。 p c i 总线上的数据传输基本上都是由以 下三条信号线控制的: f r a m e #:由 主设备驱动, 指明一个数据传输的起始和结束。 工 r d 丫 # :由主设备驱动, 允许插入等待周期。 t r d y # :由 从设备驱动, 允许插入等待周期。 当 数据有效时, 数据资源需要无条件设置x r d 丫 耸 信号 ( 写操作为t r d y # , 读 操作为t r d y # ) 。 接收方可以在适当的时间发出它的x r d y # 信号。 f r a m e # 信号有效 后的第一个时钟沿是地址周期的开始, 此时传送地址信息和总线命令。 下一个时 钟前沿开始一个或多个数据周期,每逢 i r d y # 和t r d y # 同时有效时, 所对应的时 钟前沿使数据在主、 从设备之间传送, 在此期间, 可由主设备或从设备分别利用 i r d y # 和t r d y # 的无效插入等待周期。 西北工业大学硕士学位论文第二章p c 总线协议与系统硬件结构 一旦主设备设置了工 r d y # 信号, 直到当前数据周期结束为止, 主设备不能改 变f r a m e # 信号和 i r d y # 信号。 而一个从设备一旦设置了t r d y # 信号或s t o p # 信号, 就不能改变d e v s e l # , t r d y # 或s t o p # , 直到当前的数据周期完成。 当最后一次数据传输时( 有时紧接地址周期之后) 主设备应撤销f r a m e # 信号, 而建立工 r d y # 信号, 表明主设备己 做好了最后一次传输数据的准备, 待到从设备 发出t r d y # 信号后,就说明最后一次数据传输已 完成,f r a m e # 和 工 r d y # 信号均撤 销,接口回到了空闲状态。 2 . 3 . 2 p c i 编址 p c i 定义了三个物理空间:存储器地址空间、i / 0地址空间和配置空间。这 些编址是分布式的, 每个设备对自己的地址空间负责。 p c i 总线支持正向编码和 反向编码两种类型。 工 / 0 地址空间为3 2 位地址, 而存储器地址空间可以为3 2 位 也可以为6 4 位。 在配置地址空间, 由a d 7 : 2 寻址1 6 个d w o r d 寄存器, 当一条配 置指令的地址被译码, i d s e l 有效且a d 1 : 0 卜0 0时, 设备判定是否是寻址自己的 配置寄存器。如果不是则不理会当前操作。 字节允许用来指出哪一个字节是有效数据, 在每个新的数据节拍上, 可改变 字节允许位, 使之对数据的有效性和有效部分进行界定。 这一功能 称为 “ 字节校 正 ,。 2 . 3 . 3 p c 工 配置空间 为了实现自 动配置, 每个p c i 设备必须提供2 5 6 字节的配置空间结构。 该空 间具有特定记录结构或模型的地址空间, 它又分为头标区和设备有关区两部分。 设备在每个区中只实现必要的和与之相配的寄存器。 一个设备的配置空间不仅在 系统自 举时可以访问,在其它时间也是可以访问的。 配置空间头标区占6 4 字节,每个设备都必须支持该区的寄存器分配,该区 中的各个字段用来唯一地标识设备, 并使设备能以一般方法控制。 设备寄存器占 6 4 2 5 5 字节之间,因设备而异。 软件可以 通过检查p c i 总线, 确定总线上的设 备, 所以配置软件必须读取每个插槽上的设备供应商识别码。 如果读取的位置上 不存在一个设备, 则从宿主总线连到p c i 桥上准确无误地报告出来。 由于o f f f f h 西北工业大学硕士学位论文第二章p c 总线协议与系统硬件结构 一旦主设备设置了工 r d y # 信号, 直到当前数据周期结束为止, 主设备不能改 变f r a m e # 信号和 i r d y # 信号。 而一个从设备一旦设置了t r d y # 信号或s t o p # 信号, 就不能改变d e v s e l # , t r d y # 或s t o p # , 直到当前的数据周期完成。 当最后一次数据传输时( 有时紧接地址周期之后) 主设备应撤销f r a m e # 信号, 而建立工 r d y # 信号, 表明主设备己 做好了最后一次传输数据的准备, 待到从设备 发出t r d y # 信号后,就说明最后一次数据传输已 完成,f r a m e # 和 工 r d y # 信号均撤 销,接口回到了空闲状态。 2 . 3 . 2 p c i 编址 p c i 定义了三个物理空间:存储器地址空间、i / 0地址空间和配置空间。这 些编址是分布式的, 每个设备对自己的地址空间负责。 p c i 总线支持正向编码和 反向编码两种类型。 工 / 0 地址空间为3 2 位地址, 而存储器地址空间可以为3 2 位 也可以为6 4 位。 在配置地址空间, 由a d 7 : 2 寻址1 6 个d w o r d 寄存器, 当一条配 置指令的地址被译码, i d s e l 有效且a d 1 : 0 卜0 0时, 设备判定是否是寻址自己的 配置寄存器。如果不是则不理会当前操作。 字节允许用来指出哪一个字节是有效数据, 在每个新的数据节拍上, 可改变 字节允许位, 使之对数据的有效性和有效部分进行界定。 这一功能 称为 “ 字节校 正 ,。 2 . 3 . 3 p c 工 配置空间 为了实现自 动配置, 每个p c i 设备必须提供2 5 6 字节的配置空间结构。 该空 间具有特定记录结构或模型的地址空间, 它又分为头标区和设备有关区两部分。 设备在每个区中只实现必要的和与之相配的寄存器。 一个设备的配置空间不仅在 系统自 举时可以访问,在其它时间也是可以访问的。 配置空间头标区占6 4 字节,每个设备都必须支持该区的寄存器分配,该区 中的各个字段用来唯一地标识设备, 并使设备能以一般方法控制。 设备寄存器占 6 4 2 5 5 字节之间,因设备而异。 软件可以 通过检查p c i 总线, 确定总线上的设 备, 所以配置软件必须读取每个插槽上的设备供应商识别码。 如果读取的位置上 不存在一个设备, 则从宿主总线连到p c i 桥上准确无误地报告出来。 由于o f f f f h 西北工业大学硕士学位论文第二章p c 总线协议与系统硬件结构 一旦主设备设置了工 r d y # 信号, 直到当前数据周期结束为止, 主设备不能改 变f r a m e # 信号和 i r d y # 信号。 而一个从设备一旦设置了t r d y # 信号或s t o p # 信号, 就不能改变d e v s e l # , t r d y # 或s t o p # , 直到当前的数据周期完成。 当最后一次数据传输时( 有时紧接地址周期之后) 主设备应撤销f r a m e # 信号, 而建立工 r d y # 信号, 表明主设备己 做好了最后一次传输数据的准备, 待到从设备 发出t r d y # 信号后,就说明最后一次数据传输已 完成,f r a m e # 和 工 r d y # 信号均撤 销,接口回到了空闲状态。 2 . 3 . 2 p c i 编址 p c i 定义了三个物理空间:存储器地址空间、i / 0地址空间和配置空间。这 些编址是分布式的, 每个设备对自己的地址空间负责。 p c i 总线支持正向编码和 反向编码两种类型。 工 / 0 地址空间为3 2 位地址, 而存储器地址空间可以为3 2 位 也可以为6 4 位。 在配置地址空间, 由a d 7 : 2 寻址1 6 个d w o r d 寄存器, 当一条配 置指令的地址被译码, i d s e l 有效且a d 1 : 0 卜0 0时, 设备判定是否是寻址自己的 配置寄存器。如果不是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论