已阅读5页,还剩73页未读, 继续免费阅读
(通信与信息系统专业论文)基于单片机的大容量数据存储技术的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河海大学硕士学位论文 摘要 水文水情数据的长时间采集,必须有可靠的数据存储方式,因其长时间工作 在野外,就同时要求能有较大的数据存储容量。对比传统的数据存储方式,设计 一个智能化的u s b 终端装置,用于实现数据的采集和大容量的数据现场存储显 得尤为重要。 论文结合采用现在计算机业界标准的u s b 总线技术和大容量存储应用技 术,研究开发了一种基于单片机的u s b 总线的h o s t 接口,使得可以接入标准 的u s b 设备,针对大容量数据固态存储的技术需要,在单片机上研究实现 f a t 3 2 ( 兼容f a t l 6 ) 的文件系统,兼容u s b l 1 与u s b 2 0 协议的所有u s b 设 备,从而使得u s b 的m a s ss t o r a g e 类设备可以自由接入,现场采集的数据可以 以文件的形式存储记录,并可以实现和p c 之间的文件级的自由数据交互。这 样,就大大拓宽了传统的数据测控终端在数据长时间大容量的存储技术上的 限制。 除了应用于水文水情数据的存储外,在电力系统的现场测报和数据记录,野 外的矿业测量,安全消防领域,交通智能化管理领域,以及环保、气象、地质、 民用领域如数码相机,m p 3 等等,这套装置都将可以得到有效的应用。 关键词:u s b 、数据存储、m s p 4 3 0 、c h 3 7 5 、低功耗单片机 河海大学硕士学位论文 a b s t r a c t a b s t r a c t t h el o n gt e r mc o l l e c t i o nf o rh y d r o l o g i cd a t ac a l l sf o rar e l i a b l ed a t am e m o r y m o d e l o w i n gt ot h er e g u l a rf i e l dw o r ko u t s i d e ,al a r g e c a p a c i t yd a t am e m o r yi s r e q u i r e d c o n s e q u e n t l y ,c o m p a r ew i t ht h et r a d i t i o n a ld a t am e m o r ym o d e l ,t h e d e s i g nf o ra ni n t e l l i g e n t i z e du s bt e r m i n a li so fg r e a ti m p o r t a n c ef o r t h ed a t a c o l l e c t i o na n dl a r g e c a p a c i t yd a t ao i ls i t em e m o r y w i t ht h eu s eo fu s bt e c h n o l o g ya n dl a r g e c a p a c i t yd a t am e m o r yt e c h n o l o g y , t h i sp a p e rp r o p o s e sas t u d yo ft h eh o s ti n t e r f a c eb a s e do nt h eu s bb u s ,w h i c ha l l o w s t h ea c c e s st ot h es t a n d a r du s bd e v i c e t h i sp a p e rs t u d i e st h ef i l es y s t e mo ff a t 3 2 ( c o m p a t i b l ef a t l 6 ) ,c o m p a t i b l ea l lo f t h eu s bd e v i c e sw i t hu s b l 1a n du s b 2 0 p r o t o c o l ,t h u sa l l o w i n gt h eu s bm a s ss t o r a g ed e v i c ec a na c c e s sf r e e l y t h e c o l l e c t e dd a t aa tt h es p o tc a nb es t o r e da n dr e c o r d e di nt h ef o r mo fd o c u m e n t s ,a n d c a nb e r e c o g n i z e db yp cf r e e l y t h i s w o u l dg r e a t l ye x p a n dt h et e c h n i c a l c o n s t r a i n t so ft h et r a d i t i o n a ld a t am o n i t o r i n gt e r m i n m si nt h ea r e ao fp r o l o n g e d l a r g e c a p a c i t yd a t am e m o r y b e s i d e st h ea p p l i c a t i o no v e rh y d r o l o g i cd a t am e m o r y ,t h i sd e v i c e sa l s o e f f e c t i v e l ya p p l i e sa m o n gt h eo n - s i t es u r v e ya n dd a t ar e c o r d ,f i e l dm i n i n gs u r v e y , s a f e t ya n d f i r e p r o t e c t i o n ,t r a f f i ci n t e l l i g e n t i z e dm a n a g e m e n t ,e n v i r o n m e n t a l p r o t e c t i o n ,m e t e o r o l o g y ,g e o l o g y ,c i v i l i a na p p l i c a t i o n ,d i g i t a lc a m e r a ,m p 3 ,e t c k e yw o r d s :u s b d a t am e m o r ym s p 4 3 0c h 3 7 5l o w p o w e rs c m v 学位论文独创性声明: 本人所呈交的学位论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工 作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。如不实,本人负全部责任。 论文作者( 签名) :丕! ! ! 窿砂年占月日 ( 注:手写亲笔签名) 学位论文使用授权说明 河海大学、中国科学技术信息研究所、国家图书馆、中国学术期 刊( 光盘版) 电子杂志社有权保留本人所送交学位论文的复印件或电 子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文 档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允 许论文被查阅和借阅。论文全部或部分内容的公布( 包括刊登) 授权河 海大学研究生院办理。 论文作者( 签名) :翻! 毽 加。名年占月夕日 ( 注:手写亲笔签名) 河海人学硕士学位论文 第一章绪论 1 1 论文的研究意义 信息化是当今世界技术、经济和社会发展的主流趋势,也是我国产业优化升 级和实现工业化、现代化的关键环节。其中,工业控制、测量、数据通信领域的 智能化又是产业信息化过程中的关键环节。从数据的采集现场到高度自动化的控 制中心是一个十分复杂的信息系统,其中一个非常重要的部分就是现场的数据采 集装置和控制终端。以水利信息系统为例,水文测报系统是当前我国大力推进的 水利信息化的重要组成部分之一。 在现场测控系统中,数据采集与存储始终是r t u ( 远程终端单元) 的重要 环节。数据采集与存储不仅涉及r t u 存储容量,而且还涉及存储数据的转移。 早期传统的水文数据记录方式一般是将水文数据的瞬时量值随时间的变化 过程自动记录在记录纸上。记录形式既有画线模拟记录的,也有数字穿孔记录或 打印的。传统的自动记录方式虽然大大减轻了观测人员的繁重记录任务,但也存 在换纸换色带以及后续处理的问题,其中,穿孔纸带上的数据信息要通过专用的 读出设备自动输入到计算机中,而模拟记录和打印记录的信息,必须通过人工摘 录才能输入到计算机中。 2 0 世纪8 0 年代后期,国内外水文仪器研制部门开发研制了多种智能的水文 数据半导体固态存储仪器。其工作原理是在一个单片机处理机的控制下,通过定 时采集数据或者时间启动方式,自动的将水位,雨量等传感器测得的瞬时数据和 相应的时间信息,以一定的数据格式存储在半导体固态存储器的相应单元。一般 的外部存储器e p r o m 、e e p r o m 芯片如2 7 c 6 4 、2 7 c 2 5 6 等只能提供几k 一几十 k 的连续存储容量,其容量明显受到限制,而且可移动性差。 这样看来,无论采用哪种方法都存在一定的局限性,首先,它们的存储容量 只有几十k 几百k 字节,对于大量的数据存储显得比较紧张。对于数据转移, 如果采用存储模块,虽然携带方便,但存储模块不是通用设备,其成本比较高, 同时它不能与计算机兼容,要将存储模块的数据录入计算机还需要专用的读取设 备。如果采用便携式计算机读取r t u 数据,虽然读取方便,但在野外便携式计 算机也是一个不小的包袱。由于r t u 的存储容量有限,r t u 的数据往往要经过 压缩编码处理以后再存储,这样在计算机进行处理时还要经过解压缩处理,使 r t u 的数据与计算机数据存在兼容性问题【2 ”。 随着通用串行总线u s b ( u n i v e r s a ls e r i a lb u s ) 技术的发展,计算机的移动 存储介质普遍采用u 盘( 包括u s b 闪存盘、u s b 外置硬盘等,下同) 或移动硬 盘。u 盘的存储容量以m b 为单位,移动硬盘的存储容量以g b 为单位,无论u 河海大学硕士学位论文绪论 盘还是移动硬盘,相对于r t u 原先的存储模块来说都是海量存储。由于r t u 采 用了大容量的u 盘或移动硬盘,数据存储空问基本上没有后顾之忧,所有数据 存储无需进行压缩处理,可以在文件级与计算机兼容,在硬件接口上由于r t u 和计算机同时都采用标准的u s b 接口,所以在硬件接口上也完全是兼容的。即 便是对于那些小数据量存储的r t u ,虽然它们只依靠单片机内部的f l a s h 就能 够满足存储要求,然而采用u s b 接口仍然能够方便地用一个u 盘分别读出多个 r t u 的数据。 如今,u s b 技术已经越来越普及和成熟,低成本、高稳定性、较高的数据 传输速率和即插即用的方便性,使其备受硬件厂商的青睐。随着信息经济的发展, 在数据采集和嵌入式用户中对移动存储的需求越来越大,具有u s b 接口的优盘 和移动硬盘以其优异的性价比和灵活性常用来进行数据的存储和交换,所以在嵌 入式系统中或普通装置中实现对优盘和移动硬盘的直接读写是非常有价值的。 本文的研究是在水利自动化的背景下进行设计和实验的。但在结构上这种终 端明显具有广泛的适应性。除了应用于水利自动化信息测报外,还可以用于电力 系统的现场测报和数据记录,安全消防领域、交通智能化管理领域以及环保、气 象、地质、民用领域等。如电力自动化系统中的故障录波就是一个对装置的存储 容量要求比较高的应用,根据i e e e 的电力系统暂态数据交流标准的 c o m t r a d e 格式的要求,电力系统故障时候的一组波形记录包含h d r 、c f g 、 i n f 、d a t 四种文件,通常情况下一次故障波形的记录会达到2 0 i ( 左右,这对于 无人值守条件下运行的电网继电保护和监控系统提出了一个不小的要求,现行方 案一般采用工控机来实现录波,但无论从设备成本还是运行的稳定性,都不如小 型化的专用嵌入式系统。论文研究的基于单片机和u s b 总线的可移动大容量数 据固态存储技术正是为嵌入式系统在存储容量上突破限制提供了一种行之有效 的方案。因此,文中研究的设计模式和实现技术的应用前景将是非常广阔的。 1 2 国内外研究动态 通用串行总线u s b 体系是i n t e l 、d e c 、m i c r o s o f t 、i b m 等公司联合 提出的一种新的串行总线标准,主要用于p c 机与外围设备的互联,提供种主 机和设备之间的数据通信服务【“。是一种快速、灵活的总线接口。基于u s b 的 可移动的大容量固态存储应用技术是现在使用非常广泛的一个新兴存储技术。与 其它通信接口比较,u s b 接口的最大特点是易于使用,这也是u s b 的主要设计 目标。作为一种高速总线接口,u s b 适用于多种设备,比如数码相机,m p 3 播 放机、高速数据采集设各等。易于使用还表现在u s b 接口支持热插拔,并且所 有的配置过程都由系统自动完成,无需用户干预。 u s b 总线有h o s t 和d e v i c e 之分,在p c 标准里已经集成了u s b 的h o s t 功能。一般的u s b 开发工作都是设计一种u s b 的d e v i c e ,从而可以和p c 构 河海犬学硕士学位论文绪论 成一个u s b 系统,充当从设备的角色,p c 机担当主机的角色,是数据流发送 和接收的唯一支配者。这一模式的技术应用已经非常成熟。目前的u s b 设备包 括音视频、大容量存储设备( m a s ss t o r a g e ) 、人机接1 :3 ( h u m a ni n t e r f a c ed e v i c e ) 等,几乎囊括了一切的计算机外设,而基于u s b 接口的移动性存储设备正是u s b 体系规范中m a s ss t o r a g e 类的一种实现,例如u 盘、移动硬盘、存储卡等。如 果能将这些通用型的u s b 接口存储设备应用到我们研制的终端上,就能使其成 为测量现场大容量数据固态存储的一个关键的技术支持。 u s b 接口支持1 5 m b s ( 低速) 、1 2 m b s ( 全速) 、4 8 0 m b s ( u s b 2 0 规范) 的数据传输速率,扣除用于总线状态、控制和错误监测等的数据传输,u s b 的 最大传输速率仍达1 2m b s 或9 6m b s ,远高于一般的串行总线接1 3 2 1 o 根据u s b 总线的发展趋势和存储类u s b 设备的应用情况来看,在我国工业 场合对u s b 设备的应用方面蕴含了广阔的市场前景,所以在u s b 单片机控制器 系统中的开发意义很大。c y p r e s s ,p h i l i p s 等大型半导体公司提供了完备的 嵌入式u s b 开发方案,国内也有几家公司已经完成了嵌入式u s b 控制器的设计 和开发,并已有产品面市,这对中国工业控制领域来说在u s b 应用方面是一个 突破。 就硬件而言,一些高级的嵌入式处理器如c o d e f i r e ,p o w e r p c 等都提供了对 u s b 协议的支持,就一般的不带u s b 协议支持的微控制器,也可以采用 c y p r e s s 或p h i l i p s 提供的u s bh o s t p e r i p h e r a l 接口器件来实现协议的转换。 就软件而言,流行的嵌入式操作系统多数都支持u s b 协议和u s b 设备的操 作。 所以根据以上情况可以看出项目的可行性是1 0 0 ,就现有的条件可以完成 项目开发工作。 但是,嵌入式系统是以应用为中心,以计算机技术为基础,主要适用于应用 系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般 由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序四个部 分组成,用于实现对其他设备的控制、监视或管理等功能。本身不具备自举开发 能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须 有一套开发工具和环境2 j 。能进行开发,可移植性差。 在嵌入式u s b 主机系统中,经典的u s b 总线方案都是以p c 为核心的星型 拓扑结构。在嵌入式系统中实现u s b 主机的功能,从功能上理论上应该具备和 p c 一样的所有u s b 主机的功能,但是从现实角度,嵌入式u s b 主机一般有较 强的应用上的针对性。 对于我们现在所研究的仪器仪表用途,嵌入式系统显然不太合适,功能过于 浪费,资源成本高,而且功耗降不下来。本论文研究的基于单片机的大容量数据 河海大学硕士学位论义 存储技术的应用研究正是在水利自动化的背景下应运而生的,对于仪器仪表也很 适合。论文中正是研究开发了一种基于单片机的u s b 总线的h o s t 接口,使得 基本可以接入所有的u s b 的d e v i c e 。针对大容量数据固态存储的技术需要, 论文中在单片机上研究实现了f a t 3 2 ( 兼容f a t l 6 ) 的文件系统,从而使得u s b 的m a s ss t o r a g e 类设备可以自由接入,现场采集的数据可以以文件的形式存储记 录,并可以实现和p c 之间的文件级的自由数据交互。这样,就大大拓宽了传统 的数据测控终端在数据长时间大容量的存储技术上的限制。 1 3 论文目标及主要工作 本人通过对现已研制开发的终端仔细研究,在已经可以实现对u s b l 1 协议 的某些特定u 盘进行直接读写的装置上进一步实验,希望能解决对u s b 2 o ( 兼 容u s b l 1 ) 的u 盘及移动硬盘的读写。进一步实验也证明,初始化过程完成后 再解决了时序问题,确实可以解决一部分u s b l 1 u 盘的读写。但由于u s b 单片 机系统对时序要求很严,测试过程也有一定困难,目前还不能解决所有u 盘及 移动硬盘的读写,为解决这一问题,我对能实现u s bh o s t 和d e v i c e 功能的 各种接口控制芯片进行了性能上的比较测试,现采用了南京沁恒电子公司的 c h 3 7 5j 苎:片作为u s b 主控芯片,在单片机的硬件平台上实现了u s b 的h o s t 接口,在软件上编程实现了u s b 的m a s ss t o r a g e 类设备的各种协议集成、并且 实现了常用的w i n d o w s 的f a r 3 2 ( 兼容原已实现的f a t l 6 ) 文件系统,生成对 用户应用的a p i 接口,使得数据采集的现场存储容量得以大幅度的提高。初步 实验证明,它能解决目前市场上大多数的主流u 盘及移动硬盘的读写。 论文接下来研究了现在的u s b 接口技术、大容量存储技术,在测控终端的 软件和硬件结构方面提出了一种新的设计和应用。 1 4 本章小结 本章概括性地介绍了课题的研究意义,国内外的研究动态,对论文中的研究 所涉及的行业背景和技术背景进行了说明,并对论文研究工作的具体内容做了概 括性的简单介绍。 河海大学硕= e 学位论文u s b 总线理论分析 第二章u s b 总线理论分析 2 1u s b 基础 要把u s b 功能集成入单片机控制系统中,首先必须了解u s b 技术的基本内 容。对于一个系统的设计者来说,整个p c 系统的复杂程度较高。所以我们尽量 从一个系统的角度去分析p c 机的u s b 系统。我们这里所讲的“p c ”是一个泛 泛的概念,因为主流操作系统对u s b 系统的支持都大同小异4 “。 2 1 1u s b 的特性和优点 终端用户的易用性: 为接缆和连接头提供了单一模型; 电气特性与用户无关; 自我检测外设,自动地进行设备驱动、设置; 动态连接,动态重置的外设。 广泛地应用性: 适应不同设备,传输速率从几千比特率到几十兆比特率; 支持对多个设备的同时操作; 在主机和设备之间可以传输多个数据和信息流; 支持多功能的设备; 利用底层协议,提高了总线利用率。 灵活性: 直接一系列大小的数据包,允许对设备缓冲器大小的选择; 通过指定数据缓冲区大小和执行时间,支持各种数据传输率 通过协议对数据流进行缓冲处理。 健壮性: 出错处理差错恢复机制在协议中使用; 对用户感觉而言,热插拔是完全实时的; 可以对有缺陷设备进行认定。 与p c 产业的一致性: 协议的易实现性和完整性; 与p c 机的即插即用的体系结构的一致; 对现存操作系统接口的良好衔接。 速度: u s b 运行在三种速度下: 河海大学硕士学位论文 u s b 总线理论分析 低速,信号率为1 5 m b i t s 全速,信号率为1 2 m b i t s 高速( u s b 2 0 ) ,信号率为4 8 0 m b i t s 低速和全速是u s b l 1 协议支持的,而u s b 2 0 是2 0 0 0 年新发布的u s b 传 输协议,支持最高速率4 8 0 m b i t s ,比全速快了整整4 0 倍 2 1 。所幸的是u s b 2 0 协议是向下兼容的,所以现在设计的u s b l 1 协议的接口也可以和u s b 2 0 很好 的兼容。 2 1 2 总线拓扑 u s b 具有星行拓扑结构,h o s t 控制器扮演了主要的管理者的角色,只有h o s t 控制器能发起和终止u s b 各种传输动作。u s b 并不是点对点的,所以外围设备 之间是不能发生任何通信工作的1 4 “。u s bh o s t 控制器通过集线h u b 把各种设备 请求发送给集线器相连接的从设备( 在这之中,每个h u b 是每个星型分支的 中心) ,这些设备请求包括从设备的地址,端点数,只有与这个地址相符的那一 个设备会发生回应,发送上行数据给控制器。u s b 系统中的设备与主机的连接 方式如图2 1 所示: 复合设备 ! 。一一,: 图2 1u s b 物理总线拓扑图 2 2u s b 数据流模型 u s b 主从系统结构的层次关系如图2 2 所示【4 0 1 。 主机端:u s b 总线主端,通常为p c 、p d a 。 设备端:u s b 物理设备,u s b 上的种硬件,可运行一些用户程序,实现 6 河海大学硕士学位论文 u s b 总线理论分析 特定的功能。 客户软件:为一个特定的u s b 设备而在主机上运行的软件。这种软件由u s b 设备的提供者提供,或由操作系统提供。 l i p u s b 系统软件:此软件用于在特定的操作系统中支持u s b ,它由操作系统 提供,与具体的u s b 设备无关,也独立于客户软件。 u s b 主机控制器:总线在主机方面的接口,是软件和硬件的总和。用于支持 u s b 设备通过u s b 连到主机上。 u s b 总线接口:指u s b 设备端的接口,用来发送和接收数据包。 u s b 逻辑没备:处理总线接口与不同端点之间的数据,端点是数据的终点。 应用:指u s b 设备中的外设。 主机端设备端 1 。 实际通信流 = 2 2 2 2 2 : 逻辑通信流 图2 2u s b 主从系统结构的层次关系图 如图所示:一台主机与一个u s b 设备间的连接是几个层上的连接组成。 u s b 总线接口层提供了在主机与设备之间的物理连接、发送连接、数据包 连接。u s b 设备层对u s b 系统软件是可见的,系统软件基于它所见的设备层来 完成对设备的一般的u s b 操作。应用层可以通过与之相配合的客户软件向主机 提供一些额外的功能。u s b 设备层和应用层的通信是逻辑上的,对应于这些逻 辑通信的实际物理通信由u s b 总线接口层来完成。 从逻辑上讲,u s b 数据的传输是通过通道进行的。u s b 系统软件通过缺省 通道( 与端点0 相对应) 管理设备,设备驱动程序通过其它的通道来管理设备的 河海大学硕士学位论文u s b 总线理论分析 功能接口,实现普通数据的交互。实际的数据传输过程是这样的:设备驱动程序 通过对u s b d 接口( u s bd r i v e ri n t e r f a c e ) 的调用,发出输入输出请求i r p ( i o r e q u e s tp a c k e t ) ,u s b 驱动程序接到请求后,调用h c d 接口( h o s tc o n t r o l l e r d r i v e r i n t e r f a c e ) ,将i r p 转化为u s b 的传输,一个i r p 可以包含一个或多个u s b 传输,然后h c d 将u s b 传输分解为总线操作,由主控制器以包的形式发出。 需要注意的是,所有的数据传输都是由主机开始的,任何外设都无权开始一 个传输。i r p 是由操作系统定义的,而u s b 传输与总线操作是u s b 规范定义的。 为了进一步说明u s b 传输,我们引出帧的概念。u s b 总线将l m s 定义为一帧。 在这l m s 里u s b 进行一系列的总线操作,但没有任何一次总线操作是跨帧进行 的。引入帧的概念主要是为了支持与时间有关的总线操作。 u s b 是为主机软件和它的u s b 应用设备的通信服务的,对客户与应用间不 同的交互,u s b 设备对数据流有不同的要求。u s b 为此提供了更好的总线整体 使用,它允许各种不同的数据流相互独立地进入一个u s b 设备。每种通信都采 取了某种总线访问方法来完成主机上的软件与设备之间的通信。每个通信都在设 备上的某个端点结束。不通设备的不同端点用于区分不同的通信流1 4 。 2 2 1 设备端点 端点是u s b 设备在与主机通信时的一个结束点,它在u s b 设备上可视作可 唯一识别的。一系列相互独立的端点在一起构成了u s b 逻辑设备。每个逻辑设 备有一个唯一的地址,这个地址是在设备连上主机时,由主机分配的,而设备中 的每个端点在设备内部有唯一的端点号。这个端点号是在设备设计时被给定的。 每个端点都是一个简单的连接点,支持数据流进或流出设备,两者不兼得。 一个端点的特性决定了它与客户软件进行传送的类型。一个端点有以下特 性: 端点的总线访问频率要求 端点的总线延迟要求 端点的带宽要求 端点的端点号 对错误处理的要求 端点能接收或发送的包的最大长度 端点的传送类型 端点与主机的数据传送方向 所有u s b 设备都需要有一个缺省的控制方法。这种方法将端点0 作为输入 端点,同时也将端点0 作为输出端点。u s b 系统用这个缺省方法初始化及一般 河海大学硕士学位论文u s b 总线理论分析 地使用逻辑设备( 即设置此设备) 。缺省控制通道支持控制传输,一旦设备接上 并加电,且又收到一个总线复位命令,端点0 就是可访问的了。 端点号不为0 的端点在被设置前处于未知状态,是不能被主机访问的。 2 2 2 通道 一个u s b 通道是设备上的一个端点和主机软件之间的联系。体现了主机上 缓存和端点问传送数据的能力。 有两种不同的且互斥的通道通信格式。 流( s t r e a m ) :指不具有u s b 定义的格式的数据流。 消息( m e s s a g e ) :指具有某种u s b 定义的格式的数据流。 u s b 不解释在通道中传送的数据的内容。消息通道要求数据组织成u s b 定 义的格式,但它的内容,u s b 是不管的。 特别地,有下列概念与通道有关: 对总线访问的申请,带宽的使用情况 传送类型 与通道相连的端点的特性 如端点的数据传输方向,最大数据净负荷区的长度。数据净负荷是指在总线 处理事务中,数据包中数据区的数据。由两个0 号端点组成的通道叫缺省通道。 一旦设备加电并复位后,此通道即可使用。其它通道只在设备被设置后才存在。 u s b 系统软件在决定设备身份、设置要求和设备设置时使用缺省控制通道。当 设备被设置后,这个设备的特定软件还可使用该通道。u s b 系统软件保留缺省 控制通道的拥有权,协调其它客户软件对通道的使用。 1 流通道 流通道支持同步传送,中断传送和批传送,流通道中的数据是流的形式,也 就是该数据的内容不具有u s b 要求的结构。数据从流通道一端流进的顺序与它 们从流通道另一端流出时的顺序是一样的,流通道中的通信流总是单方向的。 在流通道中传送的数据,u s b 认为它来自同一客户。系统软件不提供使用 同一流通道的多个客户的同步控制。在流通道中传送的数据遵循先进先出原则。 流通道只能连到个固定号码的端点上,或流进或流出。( 这个号码是由协 议层决定的) 。而具有这个号码的另一个方向的端点可以被分配给其它流通道。 2 消息通道 消息通道与端点的关系同流通道与端点的关系是不同的。首先,主机向u s b 设备发出一个请求;接着,就是数据的传送;最后,是一个状态阶段。为了能够 容纳请求数据状态的变化,消息通道要求数据有一个格式,此格式保证了命令 能够被可靠地传送和确认。 河海大学硕士学位论文u s b 总线理论分析 消息通道允许双方向的信息流,虽然大多数的通信流是单方向的。特别地, 缺省控制通道也是一个消息通道。 u s b 系统软件不会让多个请求同时要求同一个消息通道。一个设备的每个 消息通道在一个时间段内,只能为一个消息请求服务,多个客户软件可以通过缺 省控制通道发出它们的请求,但这些请求到达设备的次序是按先进先出的原则 的。设备可以在数据传送阶段和状态阶段控制信息流,这取决于这些设备与主机 交互的能力。正常情况下,在上一个消息未被处理完之前,是不能向消息通道发 下一个消息的。但在有错误发生的情况下,主机会取消这次消息传送,并且不等 设备将己收的数据处理完,就开始下一次的消息传送。 消息通道后有两个相同号码的端点,一个用于输入,一个用于输出。两个号 码必须相同。 2 3 不同传输模式下的u s b 协议 u s b 通过通道在主机缓冲区与设备端点间传送数据。在消息通道中传递的 数据具有u s b 定义的格式,它的数据净荷区中包含的数据允许具有设备指定的 格式。u s b 要求任何在通道上传送的数据均被打包,数据的解释工作由客户软 件和应用层软件负责。u s b 提供了多种数据格式,使之尽可能满足客户软件和 应用软件的要求。 每个传送类型在以下的几个传送特征上会有不同: u s b 规定的数据格式 信息流的方向 数据净荷区的长度限制 延时的限制 出错处理 u s b 设备的设计者可以决定设备上每个端点的能力。一旦为这个端点建立 了一个通道,这个通道的绝大多数传送特征也就固定下来了,一直到这个通道被 取消为止。也有部分传送特征可以改变,对这样的特征,将会在介绍每个传送类 型时作出说明。 u s b 端点被分配一种特定的u s b 数据传输类型,并且只处理一种类型的数 据,而h o s t 控制器在设备枚举时获得关于这个端点类型的信息。u s b 定义的4 钟传送类型川: 控制传送:可靠的、非周期性的、由主机软件发起的请求或者回音的传 送,通常用于命令事务和状态事务。 同步传送:在主机与设备之间的周期性的、连续的通信,一般用于传送 与时间相关的信息。这种类型保留了将时间概念包含于数据中的能力。但这并不 意味着,传送这样数据的时间总是很重要的,即传送并不一定很紧急。 中断传送:中断数据是少量的,低速度的,且其数据延迟时问也是在有 限范围的。 河海大学硕士学位论文u s b 总线理论分析 批传送:非周期的,大包的可靠的传送。典型地用于传送那些可以利用 任何带宽的数据,而且这些数据当没有可用带宽时,可以容忍等待。 在这里,重点讲一下控制传送。 1 控制传送 控制传送允许访问一个设备的不同部分,用于传送用于支持在客户软件和它 的应用之间的关于设置信息、命令信息、状态信息的传送。控制传送由以下几个 事务组成:( 1 ) 建立联系,把请求信息从主机传到它的应用设备:( 2 ) 零个或多 个数据传送事务,按照( 1 ) 事务中指明的方向传送数据;( 3 ) 状态信息回传。 将状态信息从应用设备传到主机。当端点成功地完成了被要求的操作时,回传的 状态信息为“s u c c e s s ”。 u s b 设备必须实现缺省控制通道,并将它实现成一个消息通道。这个通道 由u s b 系统软件使用。u s b 设备的确认信息、状态信息以及控制信息由该通道 传送。如果需要的话,一个应用设备可以为端点实现额外的控制通道。 控制传送只能通过消息通道进行。所以,使用控制传送的数据必须具有u s b 定义的数据格式。应用层和相应的客户软件不能为控制传送指定总线访问频率和 带宽。这由u s b 系统软件从全局优化角度加以决定。 ( 1 ) 控制传送的方向 控制传送使用的是消息通道上的双向信息流。所以,一旦一个控制通道被确 认之后,这个通道就使用了具有某个端点号两个端点,一个输入,一个输出。 ( 2 ) 控制传送包的大小的限制 控制传送的端点决定了它能接收或发送的最大数据净负荷区长度。u s b 为 高速设备定义的最大数据净负荷区长度为8 、1 6 、3 2 或6 4 字节,低速设备的数 据净负荷区的长度只能是8 字节。s e t u p 包后的所有数据包都要遵守这个规定, 这个规定是针对这些数据包的净负荷区的,不包括包中的协议要求的额外信息, s e t u p 包实际也是8 字节。 端点在自己的设置信息中报告自己允许的最大净负荷区长度。u s b 不要求 数据净负荷区必须达到最大长度,当长度不够时,不必填充到最大长度。 对于缺省控制通道的最大数据区长度,u s b 系统软件要从设备描述器的头8 个字节中读出,设备将这8 个字节放在一个包中发出,其中的七个字节包含了缺 省通道的w m a x p a c k e t s i z e 。对其它的控制端点来说,u s b 系统软件在它们被设 置后,获得此长度,然后u s b 系统软件就会保证数据净负荷区不会超长。另外, 主机总是认为数据区不能容纳所传数据时,就分几个区来传。除最后一个区外, 其它区都应达到最大长度。最后一区包含最后剩下的数据。 当端点做了以下两件事时,控制传送的数据阶段可被认为结束: 已传了由s e t u p 阶段指定的数据量。 传了一个数据包,它的长度为0 或它的数据区长度小于最大长度。 数据阶段结束后,主机控制器进入状态阶段,而不是另外一个数据传送。如 河海人学硕士学位论文u s b 总线理论分析 果它不这样做,端点会认为通道脱线而中止通道。如果主机在状态阶段收到一个 大于最大长度的数据区,那么请求这次传送的i r p 将被中止。 ( 3 ) 控制传送流程 控制传送最少有2 个事务阶段:建立阶段( s e t u p ) 和状态( s t a t u s ) 阶 段。还有一个可选阶段是建立阶段和状态阶段之间的数据阶段( d a t a ) 。在建立 阶段旱,建立事务用于向外设的控制端点传输信息。图2 3 说明了建立事务的格 式。建立总是在建立事务的数据时相上使用d a t a 0p i d 。收到建立的外设必须 接受建立数据并用a c k 应答,如果数据被损坏,则丢弃数据且不返回握手信号。 啐旧目 标记 数据 握手 空阐 e 二j 主w l 功能部件 图2 3 控制建立事务 控制传送的数据阶段,如果有的话,由一个以上的输入或输出事务构成,遵 守和批处理传送相同的协议规则。所有的数据阶段里的事务必须有相同的方向。 控制传送的状态阶段是序列中的最后一个操作。状态阶段是以相对前面的阶 段的数据流方向的变化来刻划的,并且总是使用d a t a lp i d 。如果控制传送序 列没有数据阶段,那么它由建立阶段和其后的输入事务构成的状态阶段构成。图 2 , 4 说明了事务顺序,数据时序位的值和控制读写序列的数据p i d 类型。时序位 显示在括号中。 建立阶段数据阶段状恋阶段 厂正1 、- 、r 己1 控制写臣同e 卫臣丑 囫 卫 b t mo a _ r a |o a t a do t 舸d t 1 建立阶般 状恋i f 段 无嚣制困团 r 一h 1 广一h 弋 传送 l ! 望! ! 竺ll 型盟i 图2 4 控制读写序列 1 2 e 圈口丑 d n 河海大学硕士学位论文 u s b 总线理论分析 当控制端点在控制传送的数据和状态阶段中发送s t a l l 握手的时候,必须 对以后所有对此端点访问返回s t a l l 握手,直到收到建立p i d 为止。端点收到 建立p i d 之后,不应返回s t a l l 握手。 2 同步传送 同步传送只有在高速设备使用。在非u s b 的环境下,同步传送意味着恒定 速度、错误容忍的传送。在u s b 环境下,要求同步传送能提供以下几点: 固定的延迟下,确保对u s b 带宽的访问。 只要数据能提供得上,就能保证通道上的恒定数据传送速度。 如果由于错误而造成传送失败,并不重传数据。 对于同步传送的通道( 同步通道) ,u s b 并不对数据格式做要求。在本系统 设计中没有用到同步传送方式,这里就不详细介绍了。 3 批传送 为了支持在某些不确定的时间进行相当大量的数据通信,于是设计了批传送 类型。它可以利用任何可获得的带宽。批传送也只有在高速设备中可以使用。批 传送有以下几个特性: 以可获得带宽访问总线。 如果总线出现错误,传送失败,可进行重发。 可以保证数据必被传送,但不保证传送的带宽和延迟。 只当有可获得的带宽时,批传送才会发生。如果u s b 有较多的空闲带宽, 则批传送发生地相对频繁,如果空闲带宽较少,可能有很长时间没有批传送发生。 批通道是一种流通道,所以总是单方向的。如果要进行双向传送,必须用两 个通道。 批传送的端点决定自己可以接收或传送的最大数据净负荷区长度。u s b 规 定最大的数据净负荷区的长度为8 、1 6 、3 2 或6 4 字节。这个最大长度是指数据 包中数据区的最大长度,不包括协议要求的一些管理信息。 批端点必须支持规定的最大长度中的一个,这个长度将在端点的设置信息 中说明。u s b 并不要求每个数据净负荷区都达到最大长度,即如果不够长度的 话,不必填充至最大长度。 4 中断传送 中断传送是为这样一类设备设计的,它们只传或收少量数据,而且并不经常 进行传送,但它们有一个确定的服务周期,对中断传送有以下要求: 中断的最大服务期得到保证。 由于错误而引起的重发在下- - n 务期进行。 中断通道是流通道,所以是单向的。端点描述信息指明了通道的数据流方向。 中断通道的端点决定自己能接收或发送的最大数据区长度,高速设备允许最 大不超过6 4 字节( 或更少) 的数据区,而低速设备只允许不超过8 个( 或更少) 河海大学硕士学位论文u s b 总线理论分析 字节的数据区。 5 四种传送方式的总结 控制操作在所有的u s b 设备中都需要使用,因为主机对u s b 设备的配置命 令都需要通过控制操作来发送,而设备的描述信息也需要通过控制操作传递给主 机。至于同步操作,使用于实时性要求较高,而准确性要求较低的场合,比如音 频或视频设备,要求语音或图像不能有明显的滞后,而如果传输的某些字节出错, 人耳和人眼也无法察觉,这时就使用同步操作来传输音频和视频数据流。中断操 作和批操作都属于异步传输方式,它们的主要区别在于传输数据的速度不一样, 一般来说,批操作比中断操作传输数据要快得多。 2 4u s b 总线的枚举 u s b 规范定义了设备的标准描述符和总线枚举的具体步骤。任何一个u s b 设备都含有一个设备描述符表,固化在设备的内部。当主机端检测到有设备插入 时,主机通过控制传送在缺省通道里将设备描述符读出( 枚举动作的一部分) 。 设备的描述符包括标准设备描述符( d e v i c ed e s c r i p t o r s ) 、设备类描述符 ( c l a s sd e s c r i p t o r s ) 和用户白定义描述符( u s e rs p e c i f i cd e s c r i p t o r s ) 三种。后 两种由设备开发者自定义可有可无,但设备中必须具备的是标准设备描述符。标 准设备描述符分为四层,包括配置描述符( c o n f i g u r a t i o nd e s c r i p t o r ) 、接口描述 符( i n t e r f a c ed e s c r i p t o r ) 、端点描述符( e n d p o i n td e s c r i p t o r ) 币n 字符串描述符( s t r i n g d e s c r i p t o r ) 四种。 u s b 规范规定,一个设备可以有多个配置,每个配置可以有多个接口,每 个接口可以有多个端点,并且必须含有一个0 号端点构成缺省通道,用于控制传 送。 但在一般的设备中,开发商往往给设备只定义了一个配置和一个接口,多个 端点。设备描述符的值按照特定的顺序固化在设备中,不可以颠倒打乱。每个描 述符都在开头定义了自身的长度,因此不会造成错误。 字符串描述符定义了设备的名称和开发商及固件的版本型号等信息,字串描 述表是可有可无的。如果一个设备无字串描述表,所有其它描述表中有关字串描 述表的索引都必须为0 。在这里就不再详细叙述了。 1 设备描述符 设备描述符给出了u s b 的一般信息。这包括对设备及所有设备配置起全程 作用的信息。一个u s b 设备只能有一个设备描述表。 所有的u s b 设备都有缺省控制通道。缺省控制通道的晟大包长在设备描述 表中得到了说明。一个配置的端点与接口定义在配置描述表中,但是不包含端点 描述表。除最大包长外,缺省通道的特性也由本说明定义,并且对所有的u s b 设备都一样。标准设备描述表参考附录a 表a 1 。 河海大学硕士学位论文u s b 总线理论分析 2 配置描述符 配置描述表给出了设备配置的信息,描述表包括
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年行政管理岗位面试技巧及模拟试题含答案
- 2026年中国科学院天津工业生物技术研究所京津冀食品营养健康与安全创新平台招聘备考题库及一套参考答案详解
- 2026年惠州市惠阳区城乡管理和综合执法局公开招聘编外人员备考题库及答案详解1套
- 2026年人力资源管理员工关系问题库含答案
- 2026年行政助理考试题集含答案
- 2026年工程技术员面试题及专业知识复习资料含答案
- 2026年中粮集团食品研发专员招聘面试题集
- 林则徐人物介绍
- 林业行政案件培训课件
- 2026年中华保险总经理考试题集
- 名著《红楼梦》知识考试题及答案
- 大气道狭窄护理课件
- 水电厂电气自动化监控系统功能分析
- DB11T 381-2023 既有居住建筑节能改造技术规程
- 计算机应用数学基础 教学 作者 王学军 计算机应用数学课件 第10章 图论
- DF6205电能量采集装置用户手册-2
- 电子电路基础-电子科技大学中国大学mooc课后章节答案期末考试题库2023年
- 四年级科学上册期末试卷及答案-苏教版
- 怀仁县肉牛养殖产业化项目可行性研究报告
- DB51T 2875-2022彩灯(自贡)工艺灯规范
- 主要负责人重大危险源安全检查表
评论
0/150
提交评论