(计算机应用技术专业论文)基于pc104与pc机之间usb通讯的实现.pdf_第1页
(计算机应用技术专业论文)基于pc104与pc机之间usb通讯的实现.pdf_第2页
(计算机应用技术专业论文)基于pc104与pc机之间usb通讯的实现.pdf_第3页
(计算机应用技术专业论文)基于pc104与pc机之间usb通讯的实现.pdf_第4页
(计算机应用技术专业论文)基于pc104与pc机之间usb通讯的实现.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

摘要 目前,嵌入式工业计算机p c i 0 4 ,凭借其体积小、功耗低、集成度高及模块 化等一系列优良品质,已广泛应用于工业控制、通信、数控、自动化生产设备、 数据采集等领域。p c 机( 上位机) 与p c i 0 4 ( 下位机) 之间的通信就成为解决这类应 用问题的关键所在,通常它们之间的通信是通过r s 2 3 2 串口或者并行接口两种 方式来实现的,而这种传统的通信方式存在着速度慢,容易受干扰,连接不方便、 传输距离短等缺点。因此寻求一种更好的通信方式显得日益重要。 u s b ( u n i v e r s a ls e r i a lb u s ,通用串行总线) 具有传输速度快,支持热插拔 和即插即用,易于扩展,占用的系统资源少等优点。u s b l 1 支持两种传输速率: 1 5 m b p s 和1 2 m b p s ,而u s b 2 o 将速度提高了4 0 倍( 即4 8 0 m b p s ) ,能够满足现 代工业对通信速度和质量等方面的要求。基于此,本课题在充分理解嵌入式工业 计算机p c i 0 4 的基本结构和工作原理以及u s b 总线的体系结构和特点的基础之 上,实现了p c 机与p c i 0 4 之间的u s b 通信。 基于课题的研究内容,本论文先对p c i 0 4 总线规范以及u s b 总线技术进行 了详细的介绍。在硬件设计部分,论文首先介绍了u s b 总线接口芯片c h 3 7 5 的 基本构成及工作原理,在此基础上设计了p c i 0 4 一u s b 转接板,并最终以此转接板 为连接器实现p c 机与p c i 0 4 之间的u s b 通信。 关键字:p c i 0 4 ;u s b 通信;c h 3 7 5 芯片 a b s t r a c t a tp r e s e n t ,i n d u s t r i a lc o m p u t e re m b e d d e dp c 10 4 ,b yv i r t u eo f i t ss m a l ls i z e ,l o wp o w e r d i s s i p a t i o n ,h i 曲i n t e g r a t i o na n dm o d u l a r s e r i e so fe x c e l l e n tq u a l i t y ,h a sb e e nw i d e l yu s e di ni n d u s t r i a lc o n t r o l , c o m m u n i c a t i o n s ,n c ,a u t o m a t e dp r o d u c t i o n e q u i p m e n t , d a t a a c q u i s i t i o na n do t h e r6 e l d s t h ec o m m u n i c a t i o nb e t w e e np ca n d p c 一10 4b e c o m e sac r i t i c a lp r o b l e m ,g e n e r a l l y ,i t i sa c h i e v e dt h r o u 曲 r s 2 3 2o rp a r a i l e l i n t e r f a c e h o w e v e r t h e s et r a d i t i o n a lm e t h o d sh a v em a n yd is a d v a n t a g e s s u c ha ss l o ws p e e d ,e a s i l yd i s t u r b e d ,i n c o n v e n i e n tt ol i n ka n de t c t h u si t sm o r ea n dm o r ei m p o r t a n tt of i n dan e wc o m m u n i c a t i o n m e t h o d u s b ( u n i v e r s i a ls e r i a lb u s ) i n19 9 4 u s bh a st h ea d v a n t a g eo f h i g hs p e e d ,h o t p 1 u g i n , p l u g a n dp l a y , e a s i l yt oe x p a n da n d e n g r o s s m gl e s ss y s t e mr e s o u r c e ,e t c u s b1 1h a st w ok i n d so fs p e e d : 1 5 m b p sa n dl2m b p s ,b u tu s b 2 oh a st h es p e e do f4 8 0 m b p s , w h i c hc a nm e e tw i t ht h ed e m a n d so fc o m m u n i c a t i o ns p e e da n d q u a l i t y i nm o d e mi n d u s t r y t h e r e f o r e ,t h e p a p e rd i s c u s s e st h e p r i n c i p l ea n ds t r u c t u r eo fp c 10 4a n dt h ea r c h i t e c t u r ea n df i e a t u r eo f u s b ,b a s e do ni t ,r e a l i z e st h eu s bc o m m u n i c a t i o nb e t w e e np ca n d p c i 0 4 b a s e do nt h es u b j e c t ,t h i sp a p e ri n t r o d u c e st h ep c l0 4a n du s b b u st e c h n o l o g ya tf i r s t i nh a r d w a r es e g m e n t , t h ep e r f o r m a n c eo f u s bi n t e r f a c ec h i pc h 3 7 5d e s c r i b e df i r s t l y ,a n dt h e np c l0 4 u s b a d a p t e rp l a t ei sd e s i g n e d ,f i n a l l yu s i n gt h i sa d a p t e rp l a t ea st h e c o n n e c t o r ,t h eu s bc o m m u n i c a t i o n sb e t w e e np c10 4a n dp ci s c o n n e c t o r ,t n eus bc o m m u n l c a t l o n sb e t w e e np ( :10 4a 1 1 dp cis r e a l i7 :e d k e y w o r d s :p c10 4 ;u s bc o m m u n i c a t i o n ;c h 37 5c h i p 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生签名 :趁壁一学、矽 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 孕矽 基于p c 1 0 4 与p c 机之间u s b 通信的实现 1 1 课题的提出 1 1 1 设计背景 第1 章绪论 嵌入式工业计算机p c i 0 4 ,凭借其体积小、功耗低、集成度高及模块化等一 系列优良品质,已广泛应用于工业控制、通信、数控、自动化生产设备、数据采 集等领域【i 】。 现代工业生产和科学研究对数据通信的速度和质量的要求日益提高。目前比 较通用的是在p c 或工控机内安装数据采集卡( 如们卡及4 2 2 、4 8 5 卡) 。但这 些数据采集设备存在以下缺陷:安装麻烦、价格昂贵、受计算机插槽数量、地址、 中断资源的限制,可扩展性差,同时在一些电磁干扰性强的测试现场,可能无法 专门对其作电磁屏蔽,从而导致采集的数据失真等【2 - 5 】。怎样处理好p c 机与p c i 0 4 之间通信的问题已成为一个关键性问题。 一般的p c 机与p c i 0 4 之间的通信是采用r s 2 3 2 串口、l s a 总线、p c i 总线、 e p p e c p ( 最高传输速率为3 m b p s ) 等【6 ,7 1 。 ( 1 ) r s 2 3 2 串口 r s 2 3 2 串行接口是微机应用系统中常用的接口,现在的p c 机一般有两个串 行口。通过串口与p c 机通信的数据采集仪可以实现离线数据采集。串行口是一位 接一位的数据传送方式,其数据传输率较低,而且机上的串口数目也很有限。在 工业环境同益复杂的今天,我们所面对的对象种类和数据大幅增加,数据流量越 来越大,显然串口的传输带宽远不能达到要求。 ( 2 ) i s a 总线 i s a ( i n d u s 竹s t a n d a r da r c h i t e c t u r e ) 是计算机发展历程中应用最广泛的总线形 式,因最早用于p c 机中,故而又称为总线。它是一种位或位非同步数据总线,工 作频率为8 m h z ,最大传输率1 6 m b s e c 。由于处理器的高速度和总线的低速度不 同步,造成硬盘、图形卡和其它外设只能通过一个慢速且狭窄的瓶颈发送和接收 数据,使的高性能受到了严重的影响。总线的传输速率低,占用硬件中断资源, 不支持即插即用,使得它逐渐被淘汰。 ( 3 ) p c i 总线 第l 页共4 5 页 基下p c 1 0 4 与p c 机之间u s b 通信的实现 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 衄e c t ) 总线是i n t e l 公司为了适应奔腾而歼发 的3 2 位总线,它的总线时钟频率为系统时钟频率的l 2 ,是i s a 总线的4 倍,其 传输的最大速率可达1 3 3 m b s ,是i s a 的2 4 倍。目前个人电脑中所使用的p c i 总 线通常都是3 2 位的,但是p c i 总线支持6 4 位的操作。基于p c i 的采集卡一般安 装在机内,采样速度比较快,其缺点是安装麻烦,易受机箱内环境的干扰,而且 由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。整个采 集系统移动不方便,不适用对设备的巡检。 ( 4 ) f i r e w i r e 总线 f i r e 晰r e ( 即i e e e l 3 9 4 ) 是由苹果公司于8 0 年代中期开始丌发的一种允许连接 多种高性能设备的高性能总线互连。它的传输速率可达4 0 0 m b p s 。它的主要特点 包括:使用方便;设备实现低成本;支持高速应用;可升级的性能;支持异步和 等时传输;支持很大的映射至内存的地址空间;独立于主机系统的操作。i e e e l 3 9 4 主要使用在高速的影像或者连接设备没有p c 主机的场合。i e e e l 3 9 4 比u s b 有弹 性,不过相对外围电路较复杂且昂贵。 1 1 2u s b 总线技术的发展和优点 u s b ( u n i v e r s a ls e r i a lb u s ) 是通用串行总线的简称。为了解决传统的串行 总线不足,由c o m p a q 、微软、i b m 、d e c 等公司共同开发了一种新的、快速的、 双向的、同步传输的以及可以即插即用的数据传输总线,即为u s b 总线。u s b 的 概念最早提出是在1 9 9 4 年。1 9 9 6 年u s b l o 协议公布,这是u s b 发展史上具有 里程碑意义的一页。但是直到1 9 9 7 年由m i c r o s o r 公司推出w i n 9 5 9 7 之后,u s b 才丌始进入实用阶段,而且这个版本对u s b 的支持属于外挂式模块,但由于数据 传输速率比较低,u s b 并没有被广泛应用。直到w i n d o w s 9 8 推出后,u s b 接口的 支持模块才真正日趋成熟,u s b 技术进入了高速发展时期。1 9 9 7 年c o m p a q 等四 公司联合发布u s b l 1 协议版本,规定了两种传输速度( 低速1 5 m b s 和全速1 2 m b s ) 以满足不同需要。很多厂商推出了u s b l 1 协议芯片,技术得到了飞速发展。2 0 0 0 年4 月,c o m p a q 、h e w l e n p a c k a r d 、i m e l 、l u c e n t 、m i c r o s o r 、n e c 、p h i l i p s 联合 发布u s b 2 0 版本。数据传输的速度大为提高( 4 8 0 m b s ) ,各种外设的功能扩展便 显得异常容易。2 0 协议激发了新一轮u s b 高潮,拓宽了u s b 的应用范引8 。1 2 j 。 第2 页共4 5 页 基于p c 1 0 4 与p c 机之间u s b 通信的实现 u s b 的规范能针对不同的性能价格比要求提供不同的选择,以满足不同的系 统和部件及相应不同的功能,主要优点如下【7 j : ( 1 ) 使用方便:u s b 接口可以连接多个不同的设备,而过去的串口和并口只能 接一个设备,因此,从一个设备转而使用另一个设备时不得不关机,拆下这个, 安上那个,开机再使用,u s b 则为用户省去了这些麻烦。除了可以把多个设备串接 在一起之外,u s b 还支持热插拔,能即插即用( p l u g p 1 a y ) ,设备的人工切换 也因此变得省时省力。在软件方面,u s b 设计的驱动程序和应用软件可以自动启动, 动态识别设备的状态并自动给接入的设备分配地址和配置参数使用,无需用户额 外设置。另外,u s b 设备也不涉及i r q 冲突问题。u s b 口单独使用自己的保留中断, 不会同其它设备争用p c 机有限的资源,同样为用户省去了硬件配置的烦恼 ( 2 ) 低价、低能耗:虽然u s b 接口比起以前的接口复杂得多,不过它的组件 与电缆都不贵。与以前的接口比较起来,u s b 接口的费用更少。u s b 外围设备处 在待机状态时,会自动启动节电的功能来降低耗电量。当要使用设备时,又会自 动恢复原来的状态。 ( 3 ) 简易的电缆。u s b 采用了4 根电缆便完成了繁重的数据传输。它们分别是 电源线( + 5 v ) 、地线、两条差分的数据线( d + 和d ) ,使得u s b 设备与主机连接很 容易。单独一组u s b 线可以支持5 m 的数据传输距离,如果采用集线器,可以达 到3 0 m 的数据传输距离。 ( 4 ) 可以采用总线供电。接口中携带了电源线和地线,设备可以从主机的接口 或者集线器上得到电源的供给,最大的电流可以达到能满足小功率设备的工作。 ( 5 ) 抗干扰性强。由于u s b 外设放置在计算机机箱外,因而不会受到机箱内 的板间电磁干扰。 ( 6 ) 数据错误率小。硬件采用了一定的检错措施,软件采用了c r c 循环冗余 校验。保证传输的数据可靠。 ( 7 ) u s b 为p c 的外设扩充提供了一个很好的解决方案。u s b 总线采用星型拓 扑结构,一个u s b 控制器可以连接多达1 2 7 外设,并为每一个设备分配一个地址, 默认的地址为0 0 h 。采用轮询方式识别u s b 链上外围设备的插入或拆卸。另外所 有的u s b 设备都在机箱外与p c 机连接,连接时不必再打开机箱,设备与主机的 连接和断开非常容易。 第3 页共4 5 页 基于p c 1 0 4 与p c 机之间u s b 通信的实现 1 2 发展趋势 标准化,模块化的p c i 0 4 是嵌入式系统发展的趋势之一。p c i 0 4 是嵌入式p c 的机械电气标准,它的制定,为嵌入式应用提供了标准的系统平台,它秉承了i b m p c 开放式总线结构的优点,为设计者提供了标准的、高可靠的、功能强大的、 方便使用的系统组件。它具有尺寸小、功耗低、宽温度工作范围等特性,以及一 系列针对嵌入式应用的功能扩展,使工程师可将它视为一个超级芯片,为应用系 统的设计引入“面向对象 的方法,也为系统的日后维护、升级带来更大的方便。 同时,p c i 0 4 模块是一种功能强,种类齐全,质量可靠,体积小,方便使用的系 统组件,可根据需要任意组合使用从而将人力从繁琐的基于芯片的设计中解放出 来,也降低了硬件的成本。 随着虚拟仪器技术的不断发展,测试测量产品的性能得到了极大的提高。但 现在通用的测试测量产品大部分还是采用v x i 总线、p c i 总线、i s a 总线或r s 2 3 2 串行总线等。基于这些总线形式的测试测量产品存在不少缺点,如安装程序烦琐, 价格昂贵,带宽有限,传输速度慢,尤其是受计算机插槽数量、地址、中断资源 的限制,可扩展性差。通用串行总线( u i l i v e r s a ls e r i a lb u s ) 克服了上述问题。它集 诸多优点于身:具有较高的传输速度( u s b 协议1 1 支持最高传输速度达 1 2 m b p s ,u s b 协议2 o 支持最高传输速度可达4 8 0 m b p s ) ,实现了真正意义上的“即 插即用”( p l u g & p l a y ) ,同时u s b 上最多可以连接1 2 7 个外设,具有强大的可扩 展性,为外围设备提供了低成本的标准数据传输形式。 因此,嵌入式p c i 0 4 与p c 机之间的u s b 通信技术的实现非常重要,也相信 在工业控制、通信、数控、自动化生产设备、数据采集等领域它将有着十分广阔 的前景。 1 3 设计内容及主要工作 本课题实现嵌入式p c i 0 4 与p c 机之间的u s b 通信。为此,在了解p c i 0 4 、 u s b 总线的相关背景、优点和u s b 接口芯片c h 3 7 5 的基本构成及简单工作原理 的基础上,完成计算机程序和图形界面的设计,并以基于u s b 总线接口芯片c h 3 7 5 的p c i 0 4 u s b 转接板为连接器来实现主机与p c i 0 4 之间的u s b 通信模拟。最后, 完成p c 机与p c i 0 4 间的u s b 通信。如下: 第4 页共4 5 页 基于p c 1 0 4 与p c 机之间u s b 通信的实现 l 、对p c i 0 4 和u s b 做相关技术介绍,包括u s b 技术背景、总线优势和p c i 0 4 概述、总线特点。 2 、系统硬件设计。系统的工作过程是下位机( p c i 0 4 ) 于d o s 状态下采集数据送显 示器显示,然后通过u s b 接口送上位机( p c 机) 处理;上位机工作在w i n d o w s 环境下,向下位机发送采集数据命令,调用a p i 函数,产生中断后通过u s b 接口送下位机执行。根据设计要求选择了u s b 总线接口芯片c h 3 7 5 芯片,设 计了p c i 0 4 u s b 转接板并把其作为p c i 0 4 主板的扩展模块,通过p c i 0 4 总线 接口与主板相连接,转接板上有两个u s b 接口,任选其中一个通过u s b 转接 线与上位机相连,从而构建系统的硬件平台。接着描述u s b 总线接口芯片 c h 3 7 5 的基本构成及工作原理,工业计算机主板及u 盘读写卡的结构和特点。 3 、系统软件设计。本课题u s b 通信采用以伪中断方式发起上传数据流,以下传 a p i 发起下传数据流的通信方式,上位机运行于w i n d o w s 环境下,程序采用面 向对象v c + + 6 o 编写;下位机运行于d o s 状态,程序采用b o r l a n d c 语言 编写【1 3 15 1 。 4 、给出本课题的结论,并对系统进一步优化工作提出设想。 第5 页共4 5 页 基于p c 1 0 4 与p c 机之间u s b 通信的实现 2 1p c i0 4 的概述 第2 章 p c i0 4 与u s b 的简介 2 1 1p c i 0 4 的发展历史 p c 1 0 4 ( p c i 0 4 ) 出现于8 0 年代术,是一种专门为嵌入式控制而定义的工业控 制总线,近年来在国际上广泛流行,是一种优化的、小型堆栈式结构的嵌入式控 制系统。1 9 8 7 年i e e e 正式制订了i s a 总线标准。p c 1 0 4 ( p c i 0 4 ) 是i s a ( i e e e 9 9 6 ) 标准的延伸。1 9 9 2 年p c 1 0 4 ( p c i 0 4 ) 作为基本文件被采纳,叫做i e e e p 9 9 6 1 兼容 p c 嵌入式模块标准。p c 1 0 4 ( p c i 0 4 ) 是一种专门为嵌入式控制而定义的工业控制 总线。i e e e p 9 9 6 是i s a 工业总线规范,i e e e 协会将它定义i e e e p 9 9 6 1 , p c 1 0 4 ( p c i 0 4 ) 实质上就是一种紧凑型的i e e e p 9 9 6 ,其信号定义和p c 几玎基本一 致,但电气和机械规范却完全不同,是一种优化的、小型、堆栈式结构的嵌入式 控制系统i 引。其小型化的尺寸( 9 0 x 9 6 m m ) ,极低的功耗( 典型模块为l 一2 瓦) 和堆栈的总线形式( 决定了其高可靠性) ,受到了众多从事嵌入式产品生产厂商的欢 迎,在嵌入式系统领域逐渐流行开来。旱在1 9 8 7 年就出现了一种p c i 0 4 嵌入式 微机,经过近1 0 年的发展,p c i 0 4 技术己经成熟,并形成p c i 0 4 工业标准【4 1 。 1 9 8 1 年,美国i b m 公司制造出了世界上第一台个人计算机一p c 机,与此 同时,i b m 提出了p c 总线( p c ) ( t 总线) ,这是一种8 位总线。1 9 8 4 年,提出 p c a t 总线,这是一种1 6 位总线。而为了开发与i b mp c 兼容的外围设备,行业 内便逐渐确立了以i b m p c 总线规范为基础的i s a ( 工业标准架构:i n d u s t r ) rs t a n d a r d m c h i t e c t u r e ) 总线。后p c 时代,嵌入式系统的发展风起云涌,波澜壮阔。在这一 历史洪流中,众多的嵌入式系统规范争奇斗艳,各种嵌入式板卡令人眼花缭乱。 但从目前p c 1 0 4 ( p c i 0 4 ) 的号召力和众多的厂商支持来看,其在嵌入式领域具有举 足轻重的地位。c o m p a c t p c i 是一种了不起的嵌入式标准,但却具有昂贵的连接器 和背板;p m c 的局限性在于它只允许一块附加插卡;其它一些采用大板卡的规范 由于使用插卡式内存,对系统的可靠性带来了致命的影响。p c 1 0 4 具有非常灵活 的模块化配置功能。开发者可以根据自己的需求,准确选择他们所需要的功能模 块,用于构建自己的系统,还可以为系统配备极其孥固的外壳。用p c 1 0 4 模块构 建的系统体积非常小巧,但功能却十分强大。p c 1 0 4 模块板的功能十分丰富,包 第6 页共4 5 页 基于p c 门0 4 与p c 机之间u s b 通信的实现 括c p u 、i o 、d s p 、无线网络以及g p s 等等。用户在桌面p c 系统中能够找到的 每一种功能,都可以在p c 1 0 4 系统中实现,并且软件也易于配置。p c 1 0 4 系统可 以运行d o s 、w i n d o w s 以及众多的实时操作系统【l2 1 ,这些特点使得p c 1 0 4 系统 的软硬件配置实现起来非常容易。目前,嵌入式工业计算机p c i 0 4 ,凭借其体积 小、功耗低、集成度高及模块化等一系列优良品质,已广泛应用于工业控制、通 信、数控、自动化生产设备、数据采集等领域。我们相信,在国际p c 1 0 4 ( p c i 0 4 ) 协会的带领下,p c 1 0 4 ( p c i 0 4 ) 技术的发展前景必将无限光明。 2 1 2p c i 0 4 的结构及其工作原理 p c i 0 4 总线是一种专门为嵌入式控制而定义的工业控制总线。p c i 0 4 与普通 p c 总线控制系统的主要不同是【3 】: 小尺寸结构:标准模块的机械尺寸是3 6 3 8 英寸,即9 0 删n 9 6 m m 。 堆栈式连接:去掉总线背板和插板滑道,总线以“针”和“孔”形式层叠连接, 即p c i 0 4 总线模块之间总线的连接是通过上层的针和下层的孔相互咬合相连,这 种层叠封装有极好的抗震性。 轻松总线驱动:减少元件数量和电源消耗,4 i n a 总线驱动即可使模块正常工 作,每个模块1 2 瓦能耗。 p c i 0 4 通信原理:p c 机与p c 1 0 4 之间的通信是一个关键性问题,通常它们 之间的通信是通过串行通信或者并行通信两种方式来实现的【3 】。其中,串行通信 是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个 二进制位移动。通信双方以帧作为数据传输单位。每一帧从起始位开始,后跟数 据位、奇偶位,最后以停止位结束【5 1 。p c i 0 4 模块为了实现串行通信,配置了一个 大规模集成通信组件通用异步接收发送器( 简称u a i 汀) 。u a r t 有一系列的内 部寄存器,就我们所设计的串行通信程序而言,实际上是对u a l 玎的内部寄存器 进行读出和写入操作。因此从编程的角度出发,可将一个u a r t 芯片描述成一组 寄存器的集合。u a r t 内部寄存器共有l o 个,可通过i n o u t 指令对其进行操 作。般来说,u a i 盯在收发数据时,可有两种方式:一种是查询方式,另一种是 中断方式。查询方式一般用于低波特率的数据传输上,对于高波特率的数据传输, 需用中断方式,因为这种方式占用c p u 的时间较少,在本文我们着重论述中断工 作方式下的接口驱动程序的设计。并行通信每次可以同时传送多位二进制位,传 第7 页共4 5 页 基于p c 1 0 4 与p c 机之间u s b 通信的实现 送速度快,但传送距离短,同时要求通信双方要同步。 2 2u s b 总线技术 2 2 1u s b 总线概述 u s b 是英文u n i v e r s a ls e r i a lb u s 的缩写,中文含义是“通用串行总线”。u s b 是近年来应用在p c 领域的新型接口技术。在物理上,u s b 接口技术由三个部分 组成:一是具备u s b 接口的主机系统;二是支持u s b 接口的系统软件;三是使 用u s b 接口的设备。只有这三部分都具备了,才可以使u s b 技术得到实际应用。 实际上,早在1 9 9 5 年,就已经有p c 带有u s b 接口了,但由于缺乏支持软件以及 u s b 设备很少的原因,绝大部分时间这些p c 机的u s b 口都是闲置未用的。直到 1 9 9 7 年,微软推出w i n 9 5o s r 2 版以后,u s b 才真正走进了实际应用阶段,而 w i n 9 5o s i 也的u s b 支持模块是外挂的。1 9 9 8 年8 月,微软推出了w i n d o w s 9 8 系统,内置了对u s b 接口的支持模块,使得u s b 的支持软件进入成熟阶段,u s b 设备也日渐增多。因此,可以说w i n 9 8 的诞生,为u s b 技术的发展和应用起到了 一定的推波助澜的作用。随着大量的支持u s b 的个人电脑的普及以及w i n d o w s9 8 的广泛应用,u s b 逐步成为p c 机的一个标准接口已经是大势所趋。最新推出的 p c 机几乎1 0 0 支持u s b 。另一方面,使用u s b 接口的设备也在以惊人的速度发 展。 2 2 2u s b 总线的拓扑结构 ( 1 )u s b 总线的物理拓扑 u s b 系统中的设备与主机的连接方式采用的是星形连接,如图2 1 所示。 图中的h u b 是一类特殊的u s b 设备,它是一组u s b 设备的连接点,称为u s b 集线器。为了防止环状连接,采用星形连接来体现层次性【1 3 】,这种连接的形状很 像一棵树。 还有一类特殊的集线器,那就是在主机上提供了两个u s b 接口的根集线器。 无论是集成在键盘或显示器上的集线器,还是独立的集线器,或者是集成了其他 功能模块的集线器,都带有若干个u s b 接口。其中一个用于连接通往主机方向的 上行u s b 电缆,剩下的接口就可以用来连接别的u s b 功能设备或是另外的集线 第8 页共4 5 页 基于p c 1 0 4 与p c 机之间u s b 通信的实现 器,从而构成一个星型拓扑结构【1 6 l 。 用于提供具体功能的设备叫功能设备。许多不同功能的设备放在一起被看作 一个整体叫包【1 6 j 。例如,键盘和轨迹球可以被视作一个整体,在它的内部,提供 具体功能的设备被永久地接到 i u b 上,而这个h u b 被接到u s b 设备上。所有这 些设备及这个h u b 被看作一个复合设备,而这个h u b 又被看作这个复合设备的内 部h u b 。 在主机看来,这个复合设备和一个带着若干设备的单独h u b 是一样的。图2 1 中也标出了一个复合设备。 图2 1u s b 总线的物理拓扑结构 目前几乎所有u s b 显示器上都有两个具有4 个端口和8 个端口的集线器。这 样一来,u s b 显示器就成了所有u s b 设备的核心,机箱上也不用连接那么多很长 的电缆了。 在u s b 系统上一个u s b 设备可以插在任何一个端口上。一个设备接在一台 4 端口的集线器上时的性能,和它直接接到机箱上的根集线器时的性能不会有任何 差别。问题的关键是根据自己的系统环境进行恰当的配置,这一点也体现了u s b 总线技术布线的灵活性。例如,拥有了u s b 键盘、游戏杆和音箱,那么就可以把 他们都与u s b 显示器上集成的集线器相连;当然,也可以将其中的某个u s b 设 备直接与机箱上的另外一个u s b 端口相连。 ( 2 )u s b 总线的逻辑拓扑 在物理结构上,设备通过h u b 连到主机上。但在逻辑上,主机是直接与各 个逻辑设备通信的,就好像它们是直接被连到主机上一样。这个逻辑关系如图2 2 所示。与之对应的物理结构就是图2 1 中的结构。h u b 也是逻辑设备,但在图2 1 第9 页共4 5 贞 基于p c 1 0 4 与p c 机之间u s b 通信的实现 中,为了简化起见,未被画出,虽然u s b 系统中的工作都是从逻辑角度来看待 的,但主机必须对物理结构有个了解。例如,在处理h u b 被移去的情况时,当一 个h u b 被移去,通过它与主机相连的设备也应一起被移去,这是由其物理结构决 定的。 2 2 3u s b 数据流模型 图2 2u s b 总线的逻辑拓扑结构 2 2 3 1u s b 通信流 u s b 允许各种不同的数据流相互独立地进入一个u s b 设备。每种通信流都 采取了某种总线访问方法来完成主机与设备之间的通信,每个通信都在设备上的 某个端点结束,不同设备的不同端点用于区分不同的通信流【1 7 】。u s b 的通信流如 图2 3 : 第l o 页共4 5 页 基于p c 1 0 4 与p c 机之间u s b 通信的实现 :i 二帆 图2 3u s b 的通信流 图中数据从主机到设备叫做输出( o u t ) ,从设备到主机叫做输入( i n ) 。对 于输出传输来说,数据打包之后按照端点缓冲区的大小分批发送给下位机,下位 机每次读取一个端点缓冲区的数据,依次循环,直到数据读完为止。而输入传输 则与之相反。对应于设备端点,接收主机下传数据的端点叫做输出端点,而存放 上传数据的端点叫做输入端点。 2 2 3 2 设备端点和接口 端点是一个u s b 设备唯一可以确认的部分,它是主机和设备之间的通信流终 点。每一个u s b 逻辑设备都包含了一个独立的进行操作的端点集合。软件只能通 过一个或多个端点与一个u s b 设备通信【1 8 2 0 1 。在设备接入时,每一个逻辑设备都 有一个由系统分配的唯一的地址,而一个设备上的任一个端点都有一个由设备而 定的( 设计时) 唯一的标志和端点号。利用设备的地址和端点号就可以唯一的指 定一个端点。用于一个接口的每一个端点都有自己的描述符。该描述符也包括了 主机确定每一个点对点的带宽请求所要求的信息。一个端点描述符总是作为一个 配置描述符内的一部分而返回。不能利用获取描述符( g e td e s c r i p t o r ) 请求来直 接对其访问。对于端点0 来说,它永远都不会具有一个端点描述符。 端点描述符可以决定端点和客户之间通信所需要的传输服务类型,一个端点 由以下内容来描述: ( 1 ) 总线访问频率延时要求; ( 2 ) 带宽要求; ( 3 ) 端点号; 第1 1 页共4 5 页 基丁p c 门0 4 与p c 机之间u s b 通信的实现 ( 4 ) 差错控制要求; ( 5 ) 端点可以接收和传递数据的最大分组; ( 6 ) 端点的传输类型; ( 7 ) 对于同步传输方式而言,还要包括端点和主机之间的数据传送方向。 在对其进行配置之前,端点处于一种不确定的状态。所以只有在对其进行了 配置之后,主机才能访问某个端点。 ( 1 ) 端点0 要求 所有u s b 设备都要使用端点o ,该端点用于对一个逻辑设备进行初始化和一 般的操作( 即对一个逻辑设备进行配置) 。端点0 提供了对设备配置信息的访问权, 通过它还允许访问一般的u s b 状态和控制操作。端点0 支持控制传输,并且它总 是在设备一经接入和上电时就进行配置【1 4 】。 ( 2 ) 非0 端点要求 由于具体应用的需要,功能设备还具有别的端点。除了端点0 之外,低速功 能设备有两个端点可供选择。而对于全速设备来说,它的附加的端点数仅受到协 议的限制,即最多可有1 6 个输入端点和1 6 个输出端点【1 4 1 。 一个u s b 设备接口是指设备上所有端点的集合,而一个配置则是指若干个接 口的集合。 2 2 2 3 管道 一个u s b 管道是设备上的一个端点和主机上的软件的联合体【1 4 】。管道表示 经过一个存储器缓冲区和一个设备上的端点,可以和主机上的软件之间传输数据 的能力,有以下两种不同的管道通信类型: ( 1 ) 流管道:数据通过管道时不具有确定的u s b 定义的结构。 ( 2 ) 消息管道:数据通过管道时具有u s b 定义的某种结构。 u s b 并不对通过一个管道传递的数据进行翻译,即使是消息管道要求根据u s b 的 规定对数据进行打包,u s b 也不会翻译这些数据的内容。 另外,管道还需要以下三个参数: ( 1 ) 对u s b 总线访问和带宽使用的声明; ( 2 ) 传输类型: ( 3 ) 所对应的端点的特征,如:数据流方向和最大数据负载尺寸等。 第1 2 页共4 5 页 基丁p c 门0 4 与p c 机之间u s b 通信的实现 其中数据负载指的是总线操作中,一个数据分组的数据域中所携带的分组。 流管道在传送数据时对数据分组没有结构要求。数据流从一端进入总线,并以同 样的顺序从另一端流出,而且在通信流中流管道通常不是双向的【1 4 】。通过一个流 管道进行数据的传输时,总是希望与一个u s b 认为是单个的客户进行交互。u s b 系统软件不必在可能使用同一个流管道的多个客户之间提供同步机制。流管道中 的数据以顺序的方式经过管道,即先进先出方式。流管道可以支持批量传输、同 步传输和中断传输类型。消息管道用于与流管道完全不同的方式来与端点进行沟 通。首先,主机向该u s b 设备发出一个请求;该请求后面是适当方向的数据传输; 最后,在后来的某一时刻,端点会返回一个状态作为响应。为了适应请求数据 状态模式,消息管道要求通信流具有一定的结构,这样命令就可以被可靠地识别 和通信。虽然通信流多数情况下是一个方向的,但消息管道却允许双向的数据流 存在。与端点0 对应的管道,即缺省管道,总是一个消息管道。对一个u s b 设备 进行配置之后,就会形成管道。由于一个u s b 设备上电之后总要对端点o 进行配 置,所以端点0 总是拥有一个管道,该管道成为缺省管道。系统软件利用该管道 来确定设备识别和配置要求,并对设备进行配置,当该设备配置完毕之后,该设 备的专用软件也可以使用该缺省管道。但是u s b 系统软件却也保留对缺省管道的 “所有权”,并且由它来协调另外的客户软件对该管道的使用。客户软件通常是通 过向一个管道发出i r p ( i o 请求分组) 来要求传递数据,发出i r p 之后客户软 件就等待或得到指示。u s b 系统软件确保多个请求不会达到一个端点。在某一时 刻,仅需服务于单个消息请求。主机上的多个客户软件可以通过缺省管道发出请 求,但是这些请求却是按照先进先出的顺序达到某个端点。根据其对主机操作的 响应能力,在数据和状态阶段一个端点可以对信息流进行控制【2 l ,2 2 1 。 通常情况下,当一个端点对当前的消息的处理没有结束时,该端点不会接到 由主机发来的下一个分组。但是有一些错误可以使主机禁止该消息传输,并且该 端点会提前收到一个新的传输。 一个通向一个设备端点的消息管道要求在两个方向都具有唯一的一个端点 号,( i n 或者是o u t 令牌) 。u s b 不允许在任一方向,一个消息管道与不同的端 点号相对应。消息管道支持控制传输。 2 2 2 4u s b 数据传输方式 对于u s b 通信来说,u s b 的传输方式是个很重要的概念,而与传输方式有 第1 3 页共4 5 页 基于p c 门0 4 与p c 机之间u s b 通信的实现 关的还有很多其它的概念,如设备端点,管道,u s b 标准请求等等。 u s b 传输方式有四种类型:控制传输类型、中断传输类型、批量传输类型、 等时传输类型。实际应用中可以根据不同的要求选择不同的传输方式。 控制传输:控制传输是双向的,数据量通常较小。主要是传输u s b 规范定义 的请求,让主机了解设备的功能与配置。这种传输方式不会丢失数据。其它的驱 动软件也可以根据具体的应用来选择使用控制传输。 批量传输:批量传输适合使用在时间不重要的传输,批量传输可以传输大量 的数据而不会阻塞总线,因为它可以让其他传输类型先执行,等有可以传输的时 候再进行批量传输。当总线闲置时,批量传输可以使用任何形式的大部分带宽, 而且批量传输的表头很小,所以批量传输是最快的传输类型。 中断传输:中断传输是设计用来支持那些偶然需要对少量数据进行通信,但 事务时间却受限的设备。中断方式传输主要用于定时查询设备是否有中断数据要 传输。实际上是一种主机定时侦听设备,看看有没有中断的传输方式。设备的端 点模式器的结构决定了它的查询频率,从1 2 5 5 m s 之间。这种传输方式典型的应 用在少量的分散的、不可预测数据的传输。键盘、操纵杆和鼠标就属于这一类型。 中断方式传输是单向的并且对于主机来说只有输入的方式。中断传输在高速时的 数据载荷可达1 0 2 3 字节;在全速时的载荷量小于6 4 字节;在低速时为8 个字节以 下。中断数据采用流管道进行传输。 等时传输( 同步传输) :等时传输使用在以固定速率和特定时间内传输,可以容 忍偶尔错误的串流数据上。等时传输是保证大量数据可以尽快地通过总线的方式, 数据不一定要以固定速率来传输,一旦等时传输开始,主机保证可以在预期的时 间内完成。 2 2 4 信息包 信息包是用来执行所有的u s b 事务处理的机制。进行数据传输时由主机控制 器初始化所有的数据,以包的形式传送。包在总线上发送的顺序是先低位后高位 ( l s b 一 m s b ) 。包一般由同步域、p i d 、c r c 校验等组成。例如对u s b 数据包来 说,开头是1 个字节的同步域,接着是五个字节的包标识( p i d ) 。接着是最多1 0 3 2 字节的数据域。最后两字节是c r c 校验,用于验证数据传输的j 下确性。包标识域 由它自己的冗余检查机制来决定。图2 4 给出了u s b 数据包的图示。关于每一个 第1 4 页共4 5 页 基于p c 1 0 4 与p c 机之间u s b 通信的实现 包的类型的细节在下面部分将加以描述。 旧步序列 包i d 数据( 事务处理量)r c 检验包结束标志 j 佶仁jz :1 o 图2 4 数据包的格式 2 2 4 1 包的格式 这一节对令牌、数据和握手包的完整格式分别进行了说明。图中的各个域是 按照在总线上发送的顺序从左到右安排的。 ( 1 ) 令牌包( t o l 【e n p a c k e t ) 令牌包由p i d 域、地址域、端点域和c r c 域组成,它 只能由主机发出。其格式如图2 5 所示。其中地址域和端点域唯一确定了某个设备 上的某个端点。 8 b i t s7 b i t s4 b i t s 5 b i t s i l p i da d d re n d pc r c s l 图2 5 令牌包 (

温馨提示

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

评论

0/150

提交评论