




已阅读5页,还剩87页未读, 继续免费阅读
(控制理论与控制工程专业论文)基于wdm的1394驱动程序开发及在数控系统中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海交通大学硕士学位论文 摘要 第 i 页 基于 wdm 的 1394 驱动程序开发及在数控系统中的应用 摘 基于 wdm 的 1394 驱动程序开发及在数控系统中的应用 摘 要要 在计算机数字控制技术领域,数字伺服总线性能的高低是影响系 统整体性能的一个关键因素。 应用高速高性能的数字伺服总线技术已 经成为高档数控系统的一个重要特点和发展趋势。ieee 1394 作为一 种旨在连接多种计算机外围设备的串行总线技术,具备传输速度高、 即插即用、支持两类传输类型、点对点架构灵活等显著优点,应用领 域正在不断地拓展和丰富。本文主要从驱动程序开发的角度出发,研 究将ieee 1394高速串行总线技术与计算机数字控制技术相结合的课 题。在这个新的数控系统中,选用 1394 总线作为工业控制上位机与 机床执行单元之间的通信伺服总线。因此,有必要在上位机设计开发 1394 驱动程序,为数控系统控制程序提供用于控制总线和传输数据 的应用程序接口(api) 。结合数控系统上位机具体的软件运行环境, 1394 驱动程序应该符合标准的 windows 驱动程序模型(wdm) ,同 时还必须与基于 rtx 软件的实时环境相兼容。这样,借助 1394 驱动 程序提供的规范而高效的 1394 应用程序接口,数控系统控制程序才 可以访问并控制作为 1394 节点设备的机床执行单元,完成稳定高速 的 1394 实时数据读写操作。可以认为,1394 驱动程序的性能是决定 数控系统能否达到预期的功能和性能指标的关键之一。 本文首先对 ieee 1394 规范体系的主要内容和 windows 驱动程 序模型的工作原理机制进行了研究,然后在此基础之上阐述了 1394 通用驱动程序的开发和应用。由于数控系统上位机控制程序运行在 rtx 实时环境下,本文探讨了 1394 通用驱动程序的实时化方案,给 上海交通大学硕士学位论文 摘要 第 ii 页 出了 1394 实时 api 的实现方法。为了提高数据传输效率,优化 1394 总线综合性能,又提出了采用 dma 方式实现 1394 高速实时驱动程 序的原理和机制,并以异步数据发送为例阐述了详细的实现流程。最 后,结合实际的数控系统数据传输需求,重点描述了 1394 api 的调 用过程。 关键词:关键词:ieee 1394 总线,windows 驱动程序模型,驱动程序开发, rtx,数控系统 上海交通大学硕士学位论文 abstract 第 iii 页 wdm-based development of ieee 1394 driver and its application in numerical control system abstract in the field of computer numerical control(cnc)technology, the numerical servo bus is a key factor that influences the performance of the entire cnc system. the application of the high-speed and high-performance numerical servo bus technology has become a major characteristic and trend in the development of the advanced cnc system. ieee 1394, as a serial bus technology that aims at the connection of multiple pc peripheral devices, has several advantages, such as high-speed transmission, plug and play, two transmission types, flexible framework and so on. this explains why ieee 1394 is continuously expanding its application areas nowadays. this thesis, principally from the perspective of driver development, focuses on the combination of cnc technology with ieee 1394 high speed serial bus. in the new cnc system, we apply ieee 1394 bus to the communication servo between the industrial control computer and the executive units of the machine tool, for which we need to develop the driver for 1394 bus in order to provide the nc program with application programming interfaces(api)that are used to control the bus and implement the data transmission. in accordance with the practical software platform in the industrial control computer, the 1394 driver should comply with the standard windows driver model ( wdm ) , and be compatible with the real-time environment based on the software rtx as well. then, by calling the normative and efficient apis, the nc program may access and control the 1394 devices, and insure the capability of steady and high speed data transmission. it is obvious that the performance of 1394 driver can be regarded as one of the key factors that directly determine whether the new cnc system can achieve the expected quality index or not. 上海交通大学硕士学位论文 abstract 第 iv 页 this thesis first studies the main sections of ieee 1394 criterion system and the principle of wdm, on the basis of which, it further discusses the development and application of the universal 1394 driver. this is followed then by a research on and presentation of the scheme and detailed method of enhancing the real-time capability of universal 1394 driver, with a view to the compatibility between 1394 driver and the rtx real time software environment. in order to improve the efficiency of data transmission and to optimize the performance of 1394 bus, a new principle and the method of developing high-speed real-time driver for 1394 devices by dma are introduced, and the way to implement 1394 asynchronous data transmission as an example is expounded. lastly, the 1394 api calls used to meet the practical requirement of data transmission in a cnc system are discussed. keywords: ieee 1394 bus, windows driver model, driver development, rtx, numerical control system 上海交通大学硕士学位论文 首字母缩写语表 第 viii 页 首字母缩写语表 api application programming interface,应用程序接口 at dma asynchronous transmit dma,异步发送 dma cnc computer numerical control,计算机数字控制 crc cyclic redundancy check,循环冗余校验 ddk driver development kit,驱动程序开发包 dma direct memory access,直接存储器存取 fdo functional device object,功能设备对象 fido filter device object,过滤器设备对象 fifo first in first out,先进先出 guid global unique identifier,全局唯一标识符 hal hardware abstraction layer,硬件抽象层 ioctl i/o control code,i/o 控制码 ipc interprocess communication,进程间通信 irp i/o request package,i/o 请求包 irql interrupt request level,中断请求级 lpc local procedure call,本地进程调用 mdl memory descriptor list,内存描述符表 ohci open host controller interface specification,开放式主机控制接口协议 pdo physical device object,物理设备对象 pic programmable interrupt controller,可编程中断控制器 rtdll real-time dynamic link library,实时动态链接库 rtss real-time subsystem,实时子系统 rtx real-time extension for windows,windows 实时扩展 wdm windows driver model,windows 驱动程序模型 上海交通大学硕士学位论文 表格目录 第 ix 页 表格目录 表 2-1 异步传输请求子事务提供的服务. 14 表 2-2 异步传输响应子事务提供的服务. 15 表 2-3 等时传输提供的服务. 16 表 4-1 ioctl_1394_class 控制码及功能.33 表 4-2 1394 接口函数及功能. 37 表 5-1 上位机异步读写操作函数调用分析. 47 表 6-1 1394 dma 控制器类型和上下文数目53 表6-2 big-endian与little-endian的区别 55 表 6-3 commandptr 寄存器数值含义 58 表6-4 output_more-immediate描述符字段. 63 表 6-5 块写请求包字段. 64 表 6-6 output_last 描述符字段. 65 表 6-7 at dma 寄存器. 66 表 6-8 at dma 状态信息. 68 表 7-1 用户层数据传输需求.70 上海交通大学硕士学位论文 图片目录 第 x 页 图片目录 图 2-1 1394 模块、节点和元件结构6 图 2-2 ieee 1394 地址空间结构.8 图 2-3 ieee 1394 协议的分层结构.9 图2-4 ieee 1394事务层服务.10 图2-5 ieee 1394链路层服务 11 图2-6 ieee 1394物理层芯片 11 图 2-7 异步传输通信模型. 14 图 2-8 等时传输通信模式 .15 图 2-9 等时和异步事务共享总线带宽. 17 图3-1 windows nt体系结构 18 图 3-2 windows xp 驱动程序分类 19 图 3-3 i/o 请求处理模型 20 图 3-4 wdm 驱动程序栈和设备对象栈层次结构. 21 图 3-5 irp 数据结构. 23 图 3-6 i/o 栈单元的数据结构 24 图 3-7 驱动程序栈与 irp 的对应关系. 25 图4-1 ntstatus码字段定义. 30 图 4-2 1394 驱动程序通信图. 31 图4-3 inf文件的树状结构. 40 图5-1 rtx与windows体系结构图. 42 图 5-2 rtx 任务管理器窗口. 46 图5-3 rtdll注册窗口. 46 图 5-4 1394 实时应用程序的实现. 48 图 6-1 1394 ohci 原理框图. 53 上海交通大学硕士学位论文 图片目录 第 xi 页 图 6-2 contextcontrol 寄存器格式 57 图 6-3 commandptr 寄存器格式 58 图6-4 intevent寄存器格式 59 图6-5 output_more-immediate描述符格式. 63 图 6-6 块写请求包包头格式. 64 图6-7 output_last描述符格式. 64 图 6-8 at dma 程序流程图. 66 图6-9 at dma程序contextcontrol寄存器控制流程图. 67 图 7-1 数控系统实际连接图. 70 上海交通大学硕士学位论文 第 84 页 上海交通大学硕士学位论文 第 85 页 上海交通大学硕士学位论文 第一章 绪论 第 1 页 第一章第一章 绪论绪论 1.1 本文研究背景和目的本文研究背景和目的 计算机数字控制(computer numerical control,cnc)技术是在计算机科学、 机械学、控制论和电子学等学科基础上发展起来的一门综合性学科,是现代制造 工业的基础。数控技术的水平高低和普及程度,已经成为衡量一个国家综合国力 和工业现代化水平的重要标志之一。作为数控技术的集中体现,数控系统是配备 了通信总线和伺服驱动装置,通过计算机的控制程序控制加工功能,执行和实现 数值控制的专用计算机系统。数控系统以数控技术为核心,对整个制造系统的集 成控制、高效运行、更新发展都具有重要影响。在数控系统中,数字伺服总线是 负责数字控制单元和数字伺服系统及其相关设备之间实时数据通信的现场总线。 数字伺服总线性能的高低直接影响到数控系统的整体性能。因此,应用高速高性 能的数字伺服总线技术已经成为高档数控系统的重要特点和发展趋势。 本课题来源于广州数控设备有限公司委托的高档数控系统研发项目。在此项 目中,为了实现高档数控系统的高速高精加工功能和多通道、多轴联动和复合加 工功能,选用了 ieee 1394 高速串行总线作为数字控制单元与机床执行单元(伺 服电机、主轴、机床 i/o)的实时数据通信接口。ieee 1394 总线是近年来发展 非常迅速的一种高速串行总线,具有完整的传输协议和规范,并凭借其传输速度 高、支持两种传输事务、支持热插拔、构架灵活等多种特性,已经在多媒体音视 频等领域获得了广泛的应用1。 可以预见, 将 ieee 1394 高速伺服总线技术应用 于高档数控系统非常有发展前景。 开展 ieee 1394 技术在数字控制工业领域的应 用研究,开发产品并制定相关的技术规范具有非常重要的意义。 目前,将 ieee 1394 技术与数控系统总线通信技术相结合还是一项有挑战性 的工作。其中,要使用 ieee 1394 串行总线进行数字控制单元和伺服系统之间的 实时数据传输,就必须开发相应的上位机 1394 驱动程序,使数控应用程序能够 通过调用 1394 api 来实现对 1394 设备的读写访问。在 windows xp 操作系统环 境下,开发的 1394 驱动程序属于系统内核的一部分,既需要拥有符合 wdm 规 定的层次体系结构,又必须具备很高的实时性能,这是 1394 驱动程序开发课题 上海交通大学硕士学位论文 第一章 绪论 第 2 页 中的一大难点。根据以上对课题背景、目的和难点的分析,本文以 ieee 1394 协 议和 windows 驱动程序模型(wdm)为根基,结合基于 rtx 的 windows 实时 解决方案, 重点研究了应用于高档数控系统通信的 1394 实时驱动程序开发课题。 1.2 ieee 1394 概述 1.2.1 ieee 1394 的提出和发展 概述 1.2.1 ieee 1394 的提出和发展 ieee 1394 最早由 apple 公司提出, 是一种应用于实时数据传输的高速接口, 名为 firewire。sony 公司称为 i.link。1995 年获得 ieee 认可,命名为 ieee 1394-1995 规范2。 后来在原规范的基础上通过澄清模糊定义, 解决兼容性问题, 添加新功能,出台了改进后的规范 1394a,也就是本文中叙述的 1394 规范。2001 年,在 1394a 规范的基础上又新出了 1394b 规范,其中 1394 总线的带宽、传输 速度、距离和成本效率等都有了大幅提高。 ieee 1394 推出以来,得到包括 apple、microsoft 和 intel 公司在内的众多计 算机、芯片、软件及消费类电子产品厂商的大力支持。在硬件方面,ieee 1394 协议中的物理层和链路层由硬件实现的技术已经非常成熟,ti、 nec、 sony 等厂家都生产1394控制芯片。 在软件方面, 各种操作系统越来越多地提供对ieee 1394 的支持。例如,microsoft 公司在 win98 中正式开始支持 1394 接口,并逐步 提供了一系列 windows 环境和 nt 环境下的驱动程序开发工具和 api 函数,方 便了 1394 驱动程序的开发。 如今,使用 1394 接口的个人计算机和消费类电子产品越来越多,如数字摄 录像机、dvd-rom、移动硬盘等等。这些都推动了 ieee 1394 技术的进一步发 展和普及。可以预计,在多媒体电子设备、机顶盒、视频会议、大容量存储器和 家用网络系统等领域 ieee 1394 将会有更广阔的应用市场。 1.2.2 ieee 1394 的特点 1.2.2 ieee 1394 的特点 在 usb 已经广泛应用的今天,同为串行总线的 1394 总线仍然获得了迅速的 发展。这主要因为 1394 总线具备以下几个重要特点。 (1)传输速率高,1394a 支持 100mb/s、200mb/s、400mb/s 三种传输速率 (协议中称为 s100、s200 和 s400) ,1394b 的传输速率更高,达到 800mb/s、 1.6gb/s、3.2gb/s。并且,在一个 1394 网络系统中,各种速度的设备可以共存, 上海交通大学硕士学位论文 第一章 绪论 第 3 页 数据可以以不同的速率在设备之间进行传输。 (2)支持异步传输和等时传输两类传输事务。异步传输通过数据的校验和 重传机制保证传输过程的可靠性,等时传输以简单的信道传输机制和最高 80% 的带宽占有率保证传输过程的实时性。 而且, 异步传输和等时传输可以同时进行。 (3)支持热插拔,无需整个系统断电就可以添入和删除节点。节点的添入 和删除过程无需主机干预,总线可以自动侦测到节点设备的添入或删除,对系统 重新配置。 (4)点对点架构灵活,节点设备对等,不分主从,节点可以脱离主机自主 执行事务。数据在 1394 外围设备之间传输时,无需主机的干预,不会增加主机 cpu 的负担。 (5)设备间采用树形或菊花链的拓扑结构,每条总线上最多可以连接 63 个 设备,不需要使用集线器。 (6)传输距离远。虽然节点之间距离不超过 4.5 米,但加上中继器后,节点 之间最大距离可达 72 米。 (7)所有总线上的资源都可以映射到内存空间,可以按照 cpu-内存的传输 速率进行读写。1394 的内存映射架构遵循 ieee 1212 控制及状态寄存器(csr) 标准,具有总共 64 位的地址空间,可寻址 1023 条总线,每条总线上最多 63 个 节点,每个节点定义了 256tb 的内存地址空间。 基于以上所列优点,以及 ieee 1394 总线已经在计算机外设、网络互联方面 取得的成功。 可以预见 ieee 1394 总线技术在高档数控系统中也会具有很好的应 用前景。 1.3 windows 驱动程序模型概述驱动程序模型概述 驱动程序是实现计算机和硬件设备通信的函数的集合,也是操作系统用于控 制硬件设备工作的接口。作为操作系统内核的一部分,驱动程序将硬件设备的细 节和操作系统的上层分离开来,实现了对硬件设备内部细节的屏蔽,使上层应用 程序以一种规范的形式来访问硬件。 驱动程序与硬件设备种类之间具有一一对应的关系。不同的厂商出产的同类 硬件设备可以认为是不同的物理设备, 而不同的操作系统也具有不同的驱动程序 模型和类别。因此,开发驱动程序必须根据实际具体的硬件设备情况选择合适的 驱动程序模型。 在 windows 操作系统的不断更新过程中, 其驱动程序模型经历了以下发展历 上海交通大学硕士学位论文 第一章 绪论 第 4 页 程。 (1)虚拟设备驱动程序 vxd(virtual device driver) 。其中 x 代表各种硬件 设备的名字,如虚拟键盘驱动程序(vkd),虚拟鼠标驱动程序(vmd)等等。 vxd 的应用历程从 win3.x 开始一直延续到 win98。作为系统用于对各种硬件资 源识别、管理、维护和运作的扩展,vxd 程序与虚拟机管理器(vmm)共同维 持系统的运作。由于 vxd 运作在 intel 系列 cpu 保护模式下的 ring 0 级,拥有 对硬件的最高控制权,因此 vxd 程序控制着真正的硬件设备,并代替硬件设备 与应用程序交互。当然,不受限制地访问硬件设备、检查操作系统数据结构、访 问任意地址内存、陷入软中断、截取硬件中断等特点,也使操作系统对于恶意或 者错误的 vxd 程序缺乏保护机制。自 windows 2000 操作系统开始,vxd 程序 不再使用。 (2)nt 式驱动程序模型 kmd(kernel mode driver) 。这是在 windows nt 环境下提出的管理硬件访问和运作的驱动程序模式。与 vxd 程序不同,kmd 不 再使用虚拟设备的概念,取而代之的是设备。虽然较之 vxd 程序大有改进,但 kmd 的运行受到 nt 很大限制,很容易出现蓝屏死机的现象。而且 kmd 设计 模型构造较早,不支持即插即用等新技术,因此其应用一般只限于 nt4.x。 (3)windows 驱动程序模型 wdm(windows driver model) 。wdm 是目前 microsoft 公司力推的驱动程序模型,也是当前 windows 操作系统下主流的驱动 程序模式,主要应用于 windows 2000 和 xp 操作系统下3。wdm 采用了一种 特有的分层的内核模式驱动程序体系结构,驱动程序堆栈由最低层、中间层和最 高层驱动程序组成。wdm 为驱动程序的开发提供了一种更加灵活而简化的方 式,在实现对 ieee 1394、usb 等全新硬件标准支持的基础上减少并降低了所必 须开发的驱动程序的数量和复杂性。 借助 wdm 编程技术, 驱动程序开发人员写 出的驱动程序可以跨平台运行。相比于以前的驱动程序,wdm 驱动程序还添入 了对即插即用(pnp)和电源管理(pm)的支持。本文研究的 1394 驱动程序是 符合 wdm 结构的。具体的原理机制将在后文中详细探讨。 1.4 本文的主要研究工作本文的主要研究工作 本文的研究对象是应用于高档数控系统通信的 1394 驱动程序开发课题。课 题研究的主要目标是设计并实现实时的 1394 驱动程序,为数控系统上位机控制 程序提供 1394 api,以完成上位机与数字伺服单元之间的 1394 总线管理、实时 数据传输等操作,达到数控系统在通信方面的稳定性高、实时性强的要求。结合 上海交通大学硕士学位论文 第一章 绪论 第 5 页 1394 实时驱动程序的研究和开发工作流程,本文具体的篇章内容安排如下。 本章绪论介绍了课题项目的背景、目的和意义,提出了主要的研究课题,并 针对 1394 驱动程序的开发,综述了 ieee 1394 协议和 windows 驱动程序模型这 两大基本立足点。 第二章研究 ieee 1394 串行总线体系的结构和内容,在 ieee 1394 协议的基 础上详细地描述了 1394 拓扑结构和寻址、协议结构、总线配置、通信模型等内 容,分析了 1394 总线适用于数控系统通信的特点。 第三章详细介绍 windows 驱动程序模型的结构和机制,对 wdm 层次化的 体系结构、irp 的处理和驱动程序的基本例程进行了深入的探讨,为 1394 通用 驱动程序的结构设计和实现打下基础。 第四章以 microsoft 提供的驱动程序开发工具 ddk 为基础,主要研究 1394 通用驱动程序的开发与实现。文中详细描述了 1394 通用驱动程序的应用实现方 案以及 1394 api 的具体功能。 第五章主要研究 1394 实时驱动程序的开发与实现。在对 1394 通用驱动程序 实时性能的分析基础上,提出了结合 windows 实时解决方案 rtx 将 1394 中间 接口程序实时化的具体方案,解决了 1394 驱动程序与数控系统上位机实时软件 体系的兼容问题。由此实现的 1394 实时接口程序能够为数控软件实时应用程序 提供规范实用的 api。 第六章提出采用 dma 方式实现 1394 高速实时数据传输 api 的方案,详细 给出了该方案的原理、机制和实现流程。基于 dma 方式开发的 1394 实时读写 api 主要负责数控系统实时数据的传输操作,使数据包的传输过程更加透明, 1394 总线的传输效率和综合性能更加优良。 第七章结合数控系统通信中数据传输的实际需求,给出了 1394 实时驱动程 序的应用实例。 第八章对 1394 通用驱动程序和实时驱动程序的开发实现过程进行了总结, 并对应用于高档数控系统通信的 1394 驱动程序开发前景做出展望。 上海交通大学硕士学位论文 第二章 ieee 1394 体系结构 第 6 页 第二章第二章 ieee 1394 体系结构体系结构 2.1 ieee 1394 的拓扑结构和寻址的拓扑结构和寻址 2.1.1 ieee 1394 的拓扑结构的拓扑结构 作为串行总线,ieee 1394 的拓扑结构体系由节点、模块和元件定义。节点 是一个逻辑实体,有独立的标识 rom 和标准的控制状态寄存器,能够独立完成 初始化和配置。模块代表连接入总线的物理设备。它包含有一个或多个节点。元 件代表节点的功能子组成,可以标识处理内存或 i/o 功能特征。节点的元件通常 是独立操作的,并由其自身的软件驱动程序所控制。由某元件定义的寄存器会映 射至节点地址空间内并且被特定元件的软件驱动程序访问。图 2-1 反映了 1394 的拓扑结构4。 处理器i/o视频音频硬盘驱动器 链路链路链路 phyphyphy 1394串行总线 节点节点节点 模块元件 图 2-1 1394 模块、节点和元件结构 fig.2-1 1394 modules, nodes and units structure ieee 1394 总线有底板和线缆两种物理环境。底板环境的物理拓扑是一个多 上海交通大学硕士学位论文 第二章 ieee 1394 体系结构 第 7 页 点接入的总线。介质由两个单端导体组成运行。沿着总线分布的连接器允许节点 直接插入。底板环境仅提供 49.152mb/s 的数据传输速率。线缆环境的物理拓扑 是拥有有限分支和扩展的一个非环状网络,形成树状或菊花状的网络拓扑。介质 由两对代表信号的导体组成,一对给电源和地,连接不同节点的端口,每个端口 由终端收发器和简单逻辑组成。 电缆和端口在节点之间充任总线转发器来模拟一 个简单的逻辑总线。线缆环境提供 98.304mb/s、196.608 mb/s 和 393.216 mb/s 等 三种数据传输速率。 2.1.2 ieee 1394 的寻址的寻址 ieee 1394 遵循 iso/iec3213(ansi/ieee 1212)规范。该规范的正式名称 为“微型计算机总线信息技术微处理机系统控制和状态寄存器体系结构” , 或称 csr (微机总线控制和状态寄存器) 体系结构。 它定义了能被包括 ieee 1394 在内的多种总线实现的一种通用核心特征集,简化了 1394 总线与其他遵从此规 范的总线之间的接口5。 csr 体系结构定义了 32 位和 64 位寻址模式。ieee 1394 遵从后者。在 64 位固定寻址模式下,最高 16 位代表节点标识(node_id) ,共计可标识 64k 个 1394 节点。 其中, 前 10 位为总线标识 (bus_id) , 后 6 位为物理标识 (physical_id) 。 在这两段中,每一位都是“1”的地址为特殊用途保留,故 1394 拓扑结构中最多 可以有 1023 条总线,每条总线上最多可接入 63 个节点。 余下的 48 位用作 1394 节点内部寻址,共计 256tb 的空间。这个空间分 3 部分: (1)初始内存空间。 (2)私有空间。 (3)寄存器空间。 其中,私有空间为本地节点保留。寄存器空间共计 256mb,起始处的 2kb 保留给控制状态寄存器、1394 总线寄存器和 rom 标识的第一个 1kb 空间。其 余为初始元件空间。对于串行总线,节点只需使用初始元件空间的第一个 2kb。 这 2kb 与 csr、rom 的 2kb,共计 4kb,合称 1394 csr 空间。 图 2-2 反映了以上所述的 ieee 1394 的 64 位寻址模式6。 上海交通大学硕士学位论文 第二章 ieee 1394 体系结构 第 8 页 图 2-2 ieee 1394 地址空间结构 fig.2-2 ieee 1394 address space structure 2.2 ieee 1394 的协议结构的协议结构 ieee 1394 协议定义了事务层、链路层和物理层等三个协议层。每一层是相 对独立的, 相互之间通过一些服务来连接。 另外, 协议中还包含串行总线管理层。 (1)事务层。事务层在请求者和响应者之中都存在,支持有关异步传输读 取、写入、锁定操作的 csr 结构请求/响应协议。事务层不提供任何用于等时传 输的服务,等时传输由应用程序直接驱动。 (2)链路层。链路层将事务层请求和响应转化为相应的包或者子事务,准 备发送到串行总线上。链路层也对进来的等时或异步包进行地址或信道号解码、 检测 crc 错误。 (3)物理层。物理层提供在串行总线上传送的数据比特的传输和接收所必 需的电子和机械接口。同时,物理层还实现仲裁进程,确保同一时间只有一个节 点在总线上传输数据。 (4)总线管理层。负责总线配置和每个节点的活动管理。 各个协议层之间的相互关系和各自的功能如图 2-3 所示。 上海交通大学硕士学位论文 第二章 ieee 1394 体系结构 第 9 页 软件驱动器 总线管理接口异步事务接口等时事务接口 总线 管理器 等时资源 管理器 节点 控制器 事务层(读、写和锁定) 时钟控制包接收包发送 链路层 仲裁同步编码/解码 物理层 物理接口总线初始化信号 事务层服务 链路层服务 物理层服务 管理层服务 图 2-3 ieee 1394 协议的分层结构 fig.2-3 layer structure of ieee 1394 protocol 2.2.1 事务层事务层 事务层支持异步传输的读、写和锁定操作,遵循 csr 结构的请求/响应协议。 其中,读操作指某一指定地址的数据由响应者传输到请求者的过程。写操作指数 据从请求者传输到响应者的过程。锁定操作指数据从请求者传输到响应者,然后 在响应者内部的确定地址进行处理,并返回请求者的过程。 事务层服务可以看作对底层的调用,这种调用将 1394 应用程序和与事务层 之下链路层控制芯片关联的编程接口隔离开来。1394 应用程序不必了解通信模 型的中间各层,只需向事务层发出数据传输请求就可以了。事务层提供数据包传 输的验证并初始化确认包。 事务层与事务数据流相关的服务共有请求、 指示、 响应和确认 4 个服务原语。 请求即请求者发起事务。指示即通知响应者一个包的到来。响应即响应者向请求 者返回状态或数据。确认即通知请求者请求的响应包已经返回。这 4 个服务原语 上海交通大学硕士学位论文 第二章 ieee 1394 体系结构 第 10 页 与数据流的关系如图 2-4 所示。 请求者 事务层 响应者 事务层 请求 确认 控制信息 (和数据) 状态信息 (和数据) 指示 响应 图 2-4 ieee 1394 事务层服务 fig.2-4 ieee 1394 transaction layer service 2.2.2 链路层链路层 链路层提供一种半双工的数据包发送服务。单个数据包发送的过程称为“子 事务” ,在链路层中共有异步和等时两种子事务。异步子事务将数量不定的数据 和几个字节的事务层信息代码发送至一个明确的地址,并接收确认信号。等时子 事务也称“信道” ,将数量不定的数据以规则的时间间隔向一个简单的地址发送, 不接收确认信号。 链路层也有请求、指示、响应和确认这 4 个服务原语。请求即链路请求者向 链路响应者发送数据包。指示即链路响应者接收到数据包。响应即链路响应者发 送应答信号。确认即链路请求者接收到应答信号。服务原语流程如图 2-5 描述。 上海交通大学硕士学位论文 第二章 ieee 1394 体系结构 第 11 页 请求者 链路层 响应者 链路层 链路请求 链路确认 仲裁和 数据包发送 应答 (限于异步传输) 链路指示 链路响应 图 2-5 ieee 1394 链路层服务 fig.2-5 ieee 1394 link layer service 2.2.3 物理层物理层 物理层为数据传输提供实际接口和物理介质,负责完成数据位的发送和接 收、仲裁以及提供电气和机械接口等功能。在逻辑上,物理层的主要组成部件有 用于提供线缆接口的端口、提供总线存取的仲裁逻辑、接收编码过的数据/选通 信号并根据本地时钟对其进行重同步的器件和对待发数据进行编码的编码器。 图 2-6 为一个典型的节点物理层芯片示意图。 链路层芯片 物理层芯片 端口0端口1 tpa+ tpa- tpb+ tpb- tpa+ tpa- tpb+ tpb- 软件接口 图 2-6 ieee 1394 物理层芯片 fig.2-6 ieee 1394 phy layer chip 上海交通大学硕士学位论文 第二章 ieee 1394 体系结构 第 12 页 1394 所有的信号数据均以不归零制(nrz)编码,再通过双绞线从一个节点 传输到另一个节点。即在一个码元时间内,电压保持恒定,用电平是否转换来区 别“1”和“0” ,而非高低电平。典型的 1394 线缆包括两对双绞线和一对电源线。 双绞线中传输的是平衡的差分信号,电源线通过总线为设备供电。双绞线 tpa+ 和 tpa-接收时作为数据信号,发送时作为选通信号。双绞线 tpb+和 tpb-接收 时作为选通信号,发送时作为数据信号。 2.2.4 串行总线管理串行总线管理 除了事务层、链路层和物理层之外,ieee 1394 串行总线协议还包括串行总 线管理层。管理层主要负责总线配置和对各个节点的活动进行管理,由以下三个 主要部分组成。 (1)总线管理器。在总线上有且只有一个,实现循环控制器的激活、总线 性能的优化、电源管理、速度管理和拓扑管理等功能。 (2)节点控制器。所有没有充当总线管理器的节点都有自己独立的节点控 制器。 (3)等时资源管理器。负责为有秩序的等时操作分配信道号码、等时带宽 等必需的资源。 2.3 ieee 1394 的总线配置的总线配置 在系统加电或设备添入、移出总线的操作发生时,1394 总线将自动进行重 新配置。总线配置过程分总线初始化、树标识和自标识三个步骤7。其间,所 有 1394 事务将停止。之后整个系统在逻辑上重新形成树状的拓扑,每个节点都 被赋予一个独一无二的节点号,并向管理层发出节点说明信息。 总线初始化从总线复位开始。引发总线复位事件有电源复位、命令复位和总 线复位三种类型。总线复位迫使所有 1394 节点进入初始状态,节点的拓扑信息 被清除。在总线复位过程中,任何端口的物理连接状态若发生变化,则节点还将 再次发出复位信号。复位之后,每个节点仅仅保有自身是叶子节点、分支节点还 是独立节点的信息。 其后,总线上的 1394 节点开始树标识过程,以标识根结点和所有连接节点 的拓扑结构。树标识过程将网络拓扑变换成一个树的形式。在这个树中,有一个 上海交通大学硕士学位论文 第二章 ieee 1394 体系结构 第 13 页 节点被指定为根结点, 它拥有最高的自然优先级。 其他节
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入队教育主题课件
- 健康知识培训主持开场白课件
- 伞的秘密教学课件
- 邮箱指引文件管理办法
- 配电反违章管理办法
- 2025年住房拆迁面试题及答案
- 澄海民间资金管理办法
- 电网现场违章管理办法
- 甘肃地区礼金管理办法
- 国家公务员基础知识题库大全(附答案)
- 2025秋统编版小学道德与法治二年级上册教学设计(附目录)
- 2025年成人高考英语试题及答案
- 腱鞘炎个人护理
- 高渗盐水治疗脑水肿及颅内高压专家共识解读
- 《无人机地面站与任务规划》全套教学课件
- 乡村应急广播管理制度
- 歌词写作教学课件下载
- 2025-2030年中国无人机行业市场深度调研及前景趋势与投资战略研究报告
- 卒中相关性肺炎的护理
- 生产车间新员工入职培训
- 2025石油交易居间合同石油居间协议
评论
0/150
提交评论