(控制理论与控制工程专业论文)基于pci总线的ieee+1394接口开发.pdf_第1页
(控制理论与控制工程专业论文)基于pci总线的ieee+1394接口开发.pdf_第2页
(控制理论与控制工程专业论文)基于pci总线的ieee+1394接口开发.pdf_第3页
(控制理论与控制工程专业论文)基于pci总线的ieee+1394接口开发.pdf_第4页
(控制理论与控制工程专业论文)基于pci总线的ieee+1394接口开发.pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

(控制理论与控制工程专业论文)基于pci总线的ieee+1394接口开发.pdf.pdf 免费下载

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

文档简介

上海交通大学硕士学位论文 摘要 i 基于 pci 总线的 ieee 1394 接口开发 摘 要 随着数控技术的高速发展, 传统的封闭式设计导致的系统不兼容 制约了数控系统的发展,而开放式数控系统和 pc 的结合解决了这个 问题。数控系统的性能主要取决于其控制系统的处理能力,pc 的高 速处理能力使其控制系统的最佳选择。因而建立一条数控系统和 pc 之间的高速实时的数据传输通道成为数控系统发展的关键。 由于 ieee1394 高速串行总线支持 1.6gbps 的等时和异步传输, 理论上传输速度可达 3.2gbps,可热插拔等特性,使其成为未来高速总 线的首选。 课题从 pci 和 ieee1394 的总线协议、总线结构及其特点、数据 传输过程等对 pci 总线和 ieee1394 总线进行深入的研究。 课题采用 ti 的 1394 集成控制芯片 tsb43ab23 实现了 pci 与 ieee1394总线转换接口电路的设计. 阐述了pci-1394接口卡的设计 思想和方法,解决了开发过程中高频电子兼容性等方面的困难。经 过通信测试的验证,pci-1394 接口卡能够为数控系统提供高速准确 的数据传输。 为了使 ieee 1394 能适应数控加工的需要,本课题还进行了基于 ieee 1394 的伺服通信的协议的研究。 主要是对伺服通信的数据分类 上海交通大学硕士学位论文 摘要 ii 和对数据格式的研究。 最后,对于 linux 的 ieee 1394 驱动程序进行了初步的研究。为 今后在 linux 环境下的开发作了准备。 课题的研究和实现对于理解 ieee1394 和开发外设端的接口电路 具有良好的实用意义和参考价值。并且对于 ieee1394 总线在高档数 控系统中的应用有重要的推广价值, 对于高档数控的发展有重大的推 进作用。 关键词关键词:1394总线, pci总线, 运动控制, 开放式主机控制器, tsb43ab23 上海交通大学硕士学位论文 abstract iii development of ieee 1394 interface based on pci bus abstract with the rapid development of numerical control technology, the traditional closed nc (numerical control) systems lead to the incompatibility of different systems resulting in the difficulties in the development of nc, while these problems are solved by the combination of open nc and pc. the processing capability decides the performance of nc, while pc is the best choice of control system with high speed processing capability. so, a data transmission channel between nc and pc becomes the key of development of nc system. ieee1394 serial bus supports synchronous and asynchronous data transmission with 1.6gbps, even 3.2gbps in theory, plug-and-play, which makes ieee1394 serial bus become the best choice of high-speed serial bus in future. the related basic knowledge of pci and ieee1394 is studied thoroughly: the protocol, the structure and feature, operation theory and data transmission process and so on. the 1394 integrated control chip tsb43ab23 of ti is adopted to 上海交通大学硕士学位论文 abstract iv design the switch interface between data bus of pci and ieee1394. this thesis mainly designs and analyzes the currency driver which controlled by data asynchronous transmission or isochronous transmission, and also solve the problem of electronic compatibility. data communication for servomechanism based on ieee 1394 is also studied. data format of data communication for servomechanism is defined and the protocol of data communication is presented. driver module of ieee 1394 in linux is shown and studied in this thesis in order to provide information for future work. the research and practice of this thesis possesses certain practical significance and referential value in understanding ieee1394 and developing the peripheral interface circuit, and also possesses the important spreading value and propulsive effect in nc system. key words:ieee 1394, pci, motion control, ohci, tsb43ab23 上海交通大学硕士学位论文 首字母缩写语表 v 首字母缩写语表 cnc computer numerical control 计算机数控 dsp digital signal processor 数字信号处理器 ohci open host controller interface 开放式主机控制器接口 pci peripheral component interconnection 外设组件互连标准 pmc precision motion controller 精密运动控制器 quadlet 4 字节 上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。 本人授权上海交通大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密保密,在 年解密后适用本授权书。 本学位论文属于 不保密 不保密。 (请在以上方框内打“” ) 学位论文作者签名:季睿季睿 指导教师签名:杨煜普杨煜普 日期:2009 年 2 月 2 日 日期:2009 年 2 月 2 日 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:季睿季睿 日期:2009 年 2 月 2 日 上海交通大学硕士学位论文 第一章 绪论 1 第一章 绪论 1.1 ieee 1394 背景介绍 6 ieee1394 是一种与平台无关的串行通信协议。1987 年 apple 发布了第一个 完整规格,1394 最初的标准称为 1394-1995,该标准稍后在 1995 年修改为 ieee1394-1995,它的数据传输速度为 100mbps,200mpbs 和 400mbps,2000 年推 出该标准的“a”版本,在保持与己有产品兼容的同时,在技术上做了进一步的 改进,使 1394 的互操作性和控制性能得到较大的改善。 2003 年上半年 ieee 推出了 1394b 版本,与前一次修改不同,1394b 版是一 次巨大的变革。它承诺将把数据传输速度提高到 800mbps 和 1.6gbps,而且,新 版本这种体系结构的底层数据速率能达到 3.2gbps 甚至更快。同时,新版标准还 克服了旧版本的局限性,旧版本中允许的最大电缆长度不能超过 5m,新版本采 用新的传输介质和增强的仲裁技术将使每个中继段的最大距离得以大大加长, 从 原来的小于 5 米延长到超过 100 米。 目前该技术在数字高清电视、机顶盒、便携式音,视频播放机等市场广泛应 用,而消费类电子产品正在取代传统的 pc 类产品,成为电子制造业的第一大主 力军。来自市场分析公司 instat 的报告显示,在 pc 领域仍是高速 usb 和 1394 两种技术在互相竞争。在商用市场,基本以 usb 技术为主,而在家用消费 pc 产 品中,1394 占有一定的市场份额,预期 1394 在该领域的增长趋势还将持续。但 在 pc 外设产品中 usb 将占绝对的统治地位。目前 1394a 已经在家用电器和便携 式电子产品中建立了堡垒,2005 年消费类电子产品市场基本与 pc 类产品相当, 而在 2006 年之后,消费类电子产品的销售额将超出 pc 类产品,1394 也将得到 更广泛的应用;2004 年 1394 总线得以渗透到汽车应用领域,这是该技术扩大应 用的一大举措;而针对网络应用的 1394c 标准目前己经接近完成,1394 在网络应 用领域的推广一直不尽人意,1394c 能否达到预期的效果仍有待观察。而针对无 线应用市场的 wireless1394 预期将在 2006 年推出,wireless1394 将通过超宽 带(uwb)技术传输 1394 规范的数据。 1394 又称为火线(fire wire)或 i.link,ieee1394 不仅仅是一项在某一领 上海交通大学硕士学位论文 第一章 绪论 2 域使用的新技术,它有更加广泛的市场,可以应用到许多领域,目前的应用领域 主 要 体 现 在 以 下 四 个 领 域 :pc 市 场 领 域 (pcs) , pc 外 围 设 备 领 域 (pc peripherals),消费类电子产品领域(consumer electronics)以及汽车领域 (automotive)。 1.2 基于 pc 机的开放式数控系统的发展 在现代制造系统中,数控技术是关键技术。目前,数控技术正在发生根本性 变革,由专用、封闭、开环控制模式向通用、开放、实时动态、全闭环控制模式 发展。利用 pc 的高速数据处理能力,可将原由硬件完成的控制功能由软件来实 现,而且借助于 pc 技术可方便地实现图形界面、网络通讯,紧跟计算机技术发 展而升级换代,并具有良好的开放性。 为使基于 pc 的控制系统能与开放式数控系统进行实时高速的数据通信,目 前,企业设备级的控制普遍采用现场总线技术。现场总线技术使得企业控制朝信 息化、网络化的方向发展,使得控制系统更易于扩充和维护;另一方面,现场总 线的各个设备均具有独立的控制功能,使得控制功能分散,减轻了主控制器的负 荷,可进一步降低系统的成本,分散风险,提高可靠性。 但是,现场总线的发展目前受到多方面的限制,一个方面的限制是由于现场 总线的标准太多(目前国际上已有 40 多种现场总线),难以实现互操作性,也难 以达到开放性的初衷;另外一个方面,现场总线控制系统弱于传统 dcs 控制系统 的一个方面就是传输速度太慢, 而且目前各现场总线已经达到性能(如响应时间、 带宽等)的极限,不能适应新的更高要求的控制应用需求。因此,需要一种更高 速的传输技术来实现 pc 和数控机床的实时通信。ieee1394 技术因其高传输速度 而在开放式数控机床领域有着广阔的应用前景。 1.3 课题来源 上海交通大学机械与动力学院有一个高档数控机床的开发项目, 其总体结构 见图 1-1,自动化系为其设计伺服总线系统。本方案以工业 pc 为硬件平台,通 用实时操作系统作为软件平台。工业 pc 选用 intel 的 pentium 系列,操作系统 采用 rtlinux 与 windows2000rtx 两种方案。数控系统运行在工业 pc 上,其中 上海交通大学硕士学位论文 第一章 绪论 3 的非实时任务(人机界面等)运行在操作系统的非实时层中,而实时任务(译码 处理、plc 处理、速度规划、插补控制等)运行在操作系统的实时层。不同任务 间通过操作系统提供的进程间通讯服务(共享内存、fifo、互斥体、事件、旗语) 等,来实现信息传递和同步。数控系统与机床的执行单元(伺服电机、主轴、机 床 i/o)的接口通过 ieee1394 高速总线来实现,伺服控制模块运行在 1394 总线 的前端接口模块中。 实 时 显 示 图 形 仿 真 程 序 编 辑 参 数 管 理 网 络 通 讯 人机界面模块 rtkernel.dll 配 置 文 件 p l c 模 块 译 码 模 块 数控系统 状态变量 用户配置 参数 加工代码 缓冲区 速 度 规 划 插 补 控 制 伺服控制模块接口 交叉耦合控制 轨迹控制 模块 ieee1394总线驱动模块 伺服控制模块 i/o #1伺服 驱动器 . i/o #4伺服 驱动器 机床i/o 1394前端接口模块 (di/do) 机床i/o ieee1394总线 工 业 p c 平 台 实 时 操 作 系 统 非 实 时 层 实 时 层 1394前端接口模块 (ai/ao、di/do、pi/po) 1394专用 前端接口 模块 控制面板 图 1-1 数控系统总体结构 fig.1-1 structure of cnc system 上海交通大学硕士学位论文 第一章 绪论 4 1.4 本课题的主要工作内容 从图 1-1 可知,1394 总线接口模块包括两个方面,其一是 1394 与 pc 的接 口,其二是 1394 与机床数据间的接口,因此开发工作包括两方面接口的开发, 如图 1-2 所示: 图 1-2 1394 高速总线系统 fig.1-1 structure of 1394 bus system 本课题的主要工作就是 pci-1394 接口模块的设计。文中根据开发需求,重 点研究了相关的 ieee1394 协议规范,按照总线配置、仲裁机制和数据传输进行 了分析,对涉及到的 pci 总线协议规范从体系结构角度做了总体的描述。对 pci 局部总线协议和 1394 的通信原理有了深入的理解。 硬件的开发是本文的首要工作,本文首先采用 ti 的 1394 集成控制芯片 tsb43ab23 实现了 pci 与 1394 总线转换接口电路的设计。然后是 pci-1394 接口 卡的 pcb 板制作,涉及 protel 设计 pcb 板图。之后对完成的 pci-1394 接口卡进 行功能测试,基本功能为实现 pci 总线和 1394 总线之间的数据通信,使得 pc 能通过 1394 总线与机床接口模块通信。 其次,为了使 ieee 1394 能适应数控加工的需要,本课题还进行了基于 ieee 1394 的伺服通信的协议的研究。 最后,对于 linux 的 ieee 1394 驱动程序进行了初步的研究。 本课题的研究和实现对于 ieee1394 总线在高档数控系统的应用,1394 总线 的接口电路及功能驱动程序的研发具有良好的实用意义和参考价值。 pci-1394 接口模块 1394 机床数据接口模块1394 机床数据接口模块 1394 机床数据接口 pci 总线 ieee 1394 总线总线 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 5 第二章 ieee 1394 高速串行总线 2.1 概述 6 随着 vlsi、计算机和通信技术的迅猛发展,数字化技术从未像今天这样深 刻地影响着人们的日常生活,它以其良好的可编辑性能,更高的数据传输可靠性 和数据保密性等优点迅速替代原有传统的模拟传输方式成为人类社会信息载体 的首选。然而,任何事物的发展都必将不断伴随着新的问题与挑战,数字化在满 足人们需求的同时,带来了对数据传输带宽、数据存储容量提出了更高的要求。 对于多媒体特别是对视频信号来说,这种情况更为严重,因为数字化的视音频的 数据量迅速增大到令人难以忍受的地步。而 ieee1394 技术的诞生,为缓解数据 传输问题提供了新的方案,因其传输速度高,支持等时传输和异步传输,支持热 插拔,支持即插即用等多种特性,将是新一代传输媒体的首选。 2.1.1 ieee1394 的提出 ieee1394 的原型是 1987 年 apple 公司发布的 fire wire(火线)高速串行总 线,其目标就是要提供一个易于使用、价格低廉、高速率的通信总线。1995 年, fire wire 被 ieee 采纳,推出了 ieee1394-1995 规范,成为第一个 ieee1394 标 准的正式版本, 其传输速率支持 l00mbps、 200mbps 和 400mbps。 基于对规范 1995 版本的不同理解,在早期实现中出现了不同生产商产品之间的互操作问题。为了 解决这些问题,在 ieee1394-1995 规范的基础上又发展了被称为 1394a 的规范, 此规范修正了最初版本中的错误,并进一步对控制性能和可操作性进行了改进。 2002 年 4 月 2 日 ieee 又推出了 1394b 标准,把点对点传输距离拉长至 100 米, 传输速率提升到 800mbps、3.2gbps,并且可以依据传输的距离与传输的速率来 选择传输媒介。ieee1394 协议被视为数字影音界面标准的总线。 2.1.2 ieee1394 的发展现状 从硬件发展来看,ieee1394 协议中的物理层和链路层已经由硬件实现了。 目前, ti,nec,sony 等厂家都生产了 1394 控制芯片。物理层的控制芯片有 ti 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 6 的 tsb41ab2,tsb41lv04a 和 sony 的 cxd1944r 等;链路层的控制芯片有 ti 的 tsb42ab4,tsb42aa9 和 sony 的 cxd1947q 等。ieee1394 逐渐受到了计算机、芯 片、软件及消费类电子产品等各种厂商的普遍重视和支持设备的应用也越来越 广:早在 2000 年 3 月戴尔计算机公司就己推出了搭载 ieee1394pci 卡的 “dimension xps-t”系列,爱普生推出 ieee1394 对应的打印机,台湾 umax 还 推出了 ieee1394 对应的扫描器等等,2003 年 1394a 协议被 silicon integrated systems and nvidia 集成进 pc 主板架构的芯片组,同年 apple 公布 1394b 标准, 该标准的颁布为 pc 机的 1394 接口外围设备的发展奠定了基础,1394 接口的硬 盘驱动器(hard drives)和 dvd 光盘驱动器(dvd drives)于 2003 年底上市,美国 国家有线通信委员会 ncta(national cable 从 2004 年以来,1394 接口在消费类电子产品中确立了地位, 可以说成了该类产品的事实标准,个人电脑领域以多媒体台式电脑(consumer desktop)和笔记本电脑为主导的市场,1394 接口在 pc 市场领域稳步增长,由于 usb 市场的成功运作,1394 在 pc 外围设备的市场有微缩的趋势。 2004 年 1394 有两个新的规范宣布:其一是结合 1394b 标准和以太网协议的 物理层而制定的 1394c 标准, 该标准将家庭网络领域纳入 1394 的应用领域范围。 其二是无线 1394 标准(wierless1394),该规范主要实现在超宽带技术 uwb 印 (ultra wide band)设备间实现 1394 无线传输,该协议也可参考 802.15.3,该 协议可以更加优化室内网络连接(in-room cluster connectivity),诸如数字录 像机、dvd 录像机等便携式设备与桌面设备(tabletop device)的互联问题。 2005 年在 the 1394 trade association 的领导下 wireless1394 标准在不 断完善;1394c 规范(1394c standard)于 2005 年最后得到 ieee 委员会的正式批 准通过,1394 协议以基于以太网的物理层为切入点,1394c 协议想以此为契机而 成为一种网络互连技术(networking technology),但是这一点得到认可还需要 许多工作。 预计 2006 年下半年,基于 1394 汽车网络 automotive network)的小汽车将 下线。 在软件上,各种操作系统也积极提供对 ieee1394 设备的支持。微软公司在 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 7 win98 中正式支持 1394 接口,并逐步提供了一系列 windows 环境和 nt 环境下的 驱动程序开发工具和 api 函数,方便了 1394 驱动的开发,加快了 1394 设备的普 及。目前,wnidow2000/xp 操作系统对 1394 接口的产品可以完全支持。 2.1.3 ieee1394 和 usb 的比较 1394 和 usb 都是新一代的多媒体 pc 机的高速串行总线接口,ieee1394 与 usb 的共同特点就是高速,usb1.1 可以达到 12mbps,该速率与一个标准的串行 端口(rs232 的速度 115200bps)相比大约要快出 100 倍,与一个并行端口 epp(速 度达 2mbp)s 相比也快了 5 倍;而 ieee1394 的传输速率更快,可达到 400mbps。 在 usb2.0 以 480mbps 数据传输速率刚刚超过 1394 时,1394 标准又向前迈了一 步:ieee1394b 标准的推出,不仅可与目前广为使用的 1394a 兼容,而且其数据 传输距离由 4.5 米增加到了 100 米,传输速率则提高到 800mbps 及 1600mbps, 理论上甚至可支持 3.2gbps 的数据传输速率。 而 1394 和 usb 的应用点是不同的。 usb 主要面向中低速设备,如鼠标,键盘等,usb 提高了传输速率,并且为 pc 的外设提供了统一接口,方便了使用。1394 则凭借其高速的数据传输率在信息 家电和高端服务器等领域有着广泛的使用。 可以预测,将来的 pc 机很可能只有两种外设接口,usb 接口与 ieee1394 接 口。今天的串行鼠标、键盘接口以及并行打印机接口将会被 usb 接口所取代;而 今天的数码相机、摄像机、外置式硬盘、扫描仪、mp3 机等高级外设接口则会无 一例外的向 ieee1394 看齐,视音频接口也会被 ieee1394 接口所取代。1394 和 usb 将会分别在高端产品和中低端产品领域发挥各自的作用。 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 8 2.2 协议介绍 6 2.2.1 协议的总体框架 为简化硬件和软件的实现,ieee1394 协议模型共定义了 4 个协议层,每层 定义了一套相关的服务用于支持配置、总线管理及在应用程序和 1394 协议层之 间的通信。单个节点中各层之间的关系见图 2-1 所示。包括 3 个协议层和一个串 行总线管理(也可把它称为总线管理层)共 4 部分: (1) 总线管理层(serial bus management) 负责总线配置和每个节点的活动管理。主要有三部分构成: 总线管理器:总线上只能有一个节点充当该角色。 节点控制器:除总线管理器之外的其它节点均有自己独立的节点控制器。 等时资源管理器:用来分配带宽和其它等时资源。 (2) 事务层(transaction layer) 支持有关异步传输读取、写入、锁定操作的控制及状态寄存器(csr)结构请 求/响应协议,该层在请求者和响应者中都存在。此外,该层不提供任何用于等 时传输的服务,等时传输是由应用程序直接驱动的。 (3) 链路层(link layer) 将事务层请求和响应转化为相应的数据包,准备发送到串行总线上。该层还 对接收到的等时或者异步包进行地址或信号解码,crc 错误检测也在这里完成。 (4) 物理层(physical layer) 提供了在串行总线上传送的数据比特(包)的传输和接收必需的电子和机械 接口,物理层也实现了仲裁进程,以确保同一时间上只有一个节点在总线上传输 数据。 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 9 图 2-1 1394 串行总线协议栈 fig.2-1 serial bus protocol stack 1394a 规范对使用四针连接器的设备类型做了限制。电池驱动设备和手持设 备(比如便携式摄像机)多使用四针的连接器。 前者因为这些设备不用从线缆中获 得电源,后者则主要因为索尼公司首先设计并使用了四针连接器。 2.2.2 总线拓扑结构 1394 串行总线的物理拓扑结构分为两种环境:底板环境(backplane environment)和线缆环境(cable environment)。底板环境定义了在 pc 主板中的 使用情况,本论文主要对线缆环境的使用进行了研究。线缆环境的拓扑结构如图 2-2 所示。 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 10 图 2-2 线缆环境的拓扑结构 fig.2-2 topology in cable environment 图 2-2 中的拓扑由不同的节点构成,每个节点又可以包含数目不等端口。在 1394 的拓扑结构中,拥有一个端口的节点被称为叶节点,拥有两个或多个端口 的节点称为分支节点。 分支节点支持实现菊花链状的拓扑结构。 在图 2-2 中, a-f 称为节点,其中 b 节点带有 2 个端口,c 节点带有 3 个端口。 1394 协议遵循了 iso/iec13213 规范, 即微机总线的控制和状态寄存器(csr) 体系结构规范,总线中的每个节点使用了 64 位的地址。其中 16 位定义了节点标 识,10 个比特位表示总线地址,6 个比特位表示物理标识,余下的 48 比特位表 示节点中的地址空间。 根据地址的定义,在由同一个总线地址定义的 1394 网络中,最多可以连接 63 个设备,而 1394 线缆的最长距离为 4.5 米,且两个相连节点间的距离最大不 超过 72 米,从而规定了两个节点间最多可以有 16 个跳跃(hops)。 2.2.3 总线寻址 1394 总线是以 ieee 1394 规范和 csr(微机总线控制和状态寄存器)体系结 构为基础的。csr 体系结构定义了 32 位和 64 位的寻址模式,1394 总线只遵循 csr 体系结构 64 位固定寻址方式,其中高 16 位为节点标识。而节点标识又分为 两部分:总线标识(bus_id)占 10 位,物理标识(physical_id)占 6 位。所以 1394 最多可支持 2*16=64k 个节点,并且 1394 拓扑结构中最多可以有 2*10-1 条 总线,每条总线最多可挂 2*6-1 个节点。余下的 48 位作为节点内部寻址。在余 下的 48 位中,高 20 位为内存空间和私有空间,低 28 位为寄存器空间。寄存器 空间又分为:csr 结构空间,串行总线的寄存器空间,rom 空间的头 1kb 和初始 元件空间。地址空间划分如下图 2-3: 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 11 图 2-3 1394 总线寻址 fig.2-3 serial bus addressing 如上图所示,最高的 16 位节点标识选定一个节点。低 48 位中的前 20 位选 定一个地址空间: 内存空间, 私有空间或寄存器空间。 寄存器空间被划分为: csr 结构寄存器,串行总线寄存器,rom 空间和初始元件空间。各空间的地址范围和 空间大小如下表 2-1: 表 2-1 1394 节点空间 table 2-1 space of 1394 node 名称 地址范围 空间大小 内存空间 0ffff dfff ffffh 256tb-512m 私有空间 ffff e000 0000hffff efff ffffh 256m 寄存器空间 ffff f000 0000hffff ffff ffffh 256m csr 结构寄存器 ffff f000 0000hffff f000 01ffh 512 串行总线寄存器 ffff f000 0200hffff f000 03ffh 512 rom 空间 ffff f000 0400hffff f000 07ffh 1k 初始元件空间 ffff f000 0800hffff ffff ffffh 256m-2k 总线 0 总线 1 20 位 ffff fh 总线 1023 10 位 3ffh 6位3fh28 位 ffff fffh 寄存器 私有空间 内存空间 初始元件 空间 rom 空间 头 1k csr 结构 串行总线 节点 63 节点 1 节点 0 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 12 2.3 通信协议 1394 数据传输分为等时传输和异步传输两种模型: 2.3.1 等时传输模型 6 等时传输要求数据以稳定的间隔传送,并不要求确认数据的传输,而是强调 了数据的实时性。例如,要通过一个 1394 接口的 dvd 播放视频或音频数据,这 种情况下,我们只关心数据是否按时到达播放器,而对于其中某个位出现错误并 不十分关心,因为这些数据的生命周期比较短,即使某些位出错也不会对音频或 视频造成太大的影响。 等时子事务,也称为“信道” 。等时传输使用一个 6 位的信道号码来确定一 个或多个设备。发起等时传输的节点在获得了总线带宽和信道号码后,就会在每 个固定的时间间隔(125s)内向接收节点发送数据,接收方不需要发送确认信 号来对数据的正确性进行确认。图 2-4 表示的就是等时子事务的例子。 图 2-4 等时子事务的例子 fig.2-4 example isochronous subactions 等时事务相关的各协议层任务和通信进程, 见图 2-5 所示。 节点 a 是请求者, 节点 b 是响应者。在等时传输中,请求者被称为“交谈者” ,接收者被称为“收 听者” 。在 1394 规范,定义了应用程序直接驱动链路层(越过事务层)进行通信的 等时协议。等时事务使用一个信道号码,而不像异步事务那样使用 64 位的节点 地址来选定目标节点。因此。等时事务一般是广播事务,并且可能有多个节点是 事务的收听者。等时事务和异步事务的主要区别还在于:等时事务没有响应包返 回,没有确认包表明已被接收。图 2-5 中,请求通过链路层打包,由物理层通过 等时仲裁获得。 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 13 图 2-5 等时传输模型 fig.2-5 mode of isochronous transaction 2.3.2 异步传输模型 异步传输要求总线毫无差错地传输数据,这是接收方通过 crc 校验实现的。 如果 crc 校验不正确,接收方会向发送方报告错误,发送方可以对此次传输重新 发送。异步传输的三种基本类型为读取、写入和锁定。由于异步传输需要确认数 据,所以它比等时传输更加复杂。异步传输使用 64 位地址来确定一个节点,总 线上的每个节点都有一个特定的地址。异步事务由请求节点初始化本次事务,响 应节点接收到请求后返回响应包,这样每个事务就由两个子事务组成:请求子事 务和响应子事务。图 2-6 表示了一个异步传输模型。 请 求 节 点 请求 状态和数据 地址、事务类型和数据 响应 响 应 节 点 图 2-6 异步传输模型 fig.2-6 mode of asynchronous transaction 异步子事务的例子如下图 2-7 所示。 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 14 图 2-7 异步子事务的例子 fig.2-7 example asynchronous subactions 2.3.3 等时数据包 等时事务用单个数据包向一个或者多个节点执行多端传输或者广播传输。 和 异步传输不用的是,它不是依靠节点的目的地址和偏移地址来确定地址的,取而 代之的是一个信道号码。 每个合法的等时数据包都是一系列的 quadlet 数据的流。 等时数据包符合主 数据包的规则。等时包的长度至少为两个 quadlet,它至少应该包含一个包头, 如果需要,还会在包头后面跟一个数据块。串行总线只定义了一种等时包。 等时数据包以一个数据块作为负载, 在包头之后发送。 数据块可能没有数据, 也可能包含很多字节的数据。 如果包头的 data_length 部分的值不是 4 字节的整 数倍,那么发出数据的节点将在数据的最后补 0,以使整个数据块是 4 个字节的 整数倍。如果 data_length 的内容是 0,则这时没有数据要发送,那么数据部分 的 crc 检测字段也可不必发送了。 对于 1394 1995 来说,等时数据包只能在等时循环内发送。在 1394a 中, 等时或者异步事务的传输时间内都可发送数据流包。等时数据包的格式如图 2-8 所示。 图 2-8 等时数据包格式 fig.2-8 isochronous packet format 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 15 2.3.4 异步数据包 异步数据包的一般格式如下图 2-9 所示。 图 2-9 异步数据包 fig.2-9 asynchronous packet 上图中各字段的内容定义如下: 目标地址(destination_id): 目标地址是由两部分组成的:目的标识符(destination_id) 和目标偏移地 址(destination_offset)。目的标识符字段指出了接收节点的节点地址。它也是 由两部分组成的:高 10 位指出了目标节点的总线地址,低 6 位指明的是该总线 上的节点地址。目标地址偏移字段指明了目标节点地址的低 48 位。对于读请求 4 字节包和写请求 4 字节包来说,这个地址应该可以被 4 整除。 事务标签(tlabel) : 事务标签为节点发出的每一个事务指明了一个独一无二的标签。 响应子事务 中使用的事务标签应该和它相对应的请求子事务使用的事务标签相同。 所有的事 务标签值都可以使用,设备也应该可以接收各种事务标签。 如果某一个节点已经使用了一个为 n 的事务标签的请求到节点标识为 m 的节 点,而且这个事务还没有完成,那么这个节点就不能再发出事务标签为 n 的请求 到 m 节点。也就是说,在一个事务时间段之内,或者在没有总线复位的情况下, 一个事务的事务标签应该是独一无二的。 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 16 总线复位过后,所有的节点都将当前的异步请求和响应序列丢弃,因此所有 的事务标签就又可以使用了。 但是目前的标准并没有说明当请求节点违反了这个 规则后,响应节点应该采取什么措施来阻止这种情况的发生。 重传代码(rt) : 重传代码字段说明这个包是否是一个重传的包。以及目标节点应该遵循什么 样的重传协议。 事务代码(tcode) : 事务代码指明了包将要执行的事务的格式。如果被寻址的节点检测到使用了 保留的或者不被支持的事务代码,那么这个包将被忽略。 优先权(pri) : 优先权字段占用了 4b,它的值仅在背板方式下才有效。所有的优先级都可以 被指定,设备也可以接收这个值,和线缆物理层设备连接的链路层将忽略接收的 包中的这个字段,在产生除了循环开始包的其他异步包的时候,这个字段的值被 设为 0000b。 对于所有的环境,都为“0”的优先权对应着公平仲裁机制;都为“1”时对 应着最高的优先级,这时已经不存在公平仲裁了。链路层不能改变优先权值,所 有包中的优先权值字段经过链路层时都必须保持不变, 这是为了便于使线缆环境 和背板环境桥接。 源地址标识符(source_id) : 源地址标识符标识了发送方节点的节点地址。如果需要,请求子事务的源地 址标识符应该用作为其相对应的响应子事务的目标地址标识符。 数据长度: 数据长度字段指明了数据块包和等时数据块中数据负载的长度(以字节为单 位) 。这个长度是有限制的。如果正在接收的链路层在一个非广播主数据包中检 测到不合法的或者不被支持的数据长度字段, 它就立即返回一个 type_error (类 型错误)的应答代码,或者在稍后的响应子事务中返回一个 type_error 响应代 码。 扩展事务代码(extcode) : 扩展事务代码是一个 16b 的字段。只有当事务代码指明数据包是锁定请求包 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 17 或者锁定响应包时,扩展事务代码才有意义。对于所有其他类型的数据包,这个 字段都将被保留并且设置其值为 0000h。 响应代码: 响应代码字段说明了它所对应的请求子事务的响应。 数据字段: 只有包含数据块的主数据包中才有数据字段,它的内容是要被传输的数据。 如果数据长度字段的值不是 4 的倍数,发送方将在数据的后面补“0” ,使整个数 据块凑够 quadlet 包,即 4 字节的整数倍。 标签(tag) : 标签字段为等时流包所携带的数据格式提供了一种高级的标签值,主要供应 用程序使用。 信道: 信道字段定义了数据包发送的等时信道号。需要注意的是,在一个等时循环 内部,信道号码值不能重复使用,其取值范围是 0h 3fh。信道号码由等时资 源管理器分配给交谈节点或监听节点。 同步代码: 同步代码是一个应用程序特殊控制字段,使用时设为 0h。 异步数据包主要分为以下几种类型: 4 字节读请求包: 4 字节读请求包完成的功能是从其标定的目的地址读取一个 4 字节的数据。 其格式如下图 2-10 所示。 图 2-10 4 字节读请求包格式 fig.2-10 read request for data quadlet packet format 上海交通大学硕士学位论文 第二章 ieee1394 高速串行总线 18 数据块读请求包: 数据块读请求包的作用是向特定的目标地址请求一个数据块。在第 4 个 quadlet 说明了希望从目标地址得到的数据块的长度并表明了事务的扩展代码。 对于这种数据包来说,事务扩展代码字段应该被设为 0000h。其格式如下图 2-11 所示。 图 2-11 数据块读请求包格式 fig.2-11 read request for data block packet format 4 字节写请求包: 4 字节写请求包的主要作用是向目标地址发送一个数据包,并希望向目标地 址写入一个 4 字节的数据。 在第 4 个 quadlet 说明了要向目标地址写入的实际数 据。其格式如下图 2-12 所示。 图 2-12 4 字节写请求包格式 fig.2-12 write request for data quadlet packet format 数据块写请求包: 数据块写请求包的功能是向目的地址节点

温馨提示

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

评论

0/150

提交评论