(微电子学与固体电子学专业论文)mcuusb设备控制器的设计与实现.pdf_第1页
(微电子学与固体电子学专业论文)mcuusb设备控制器的设计与实现.pdf_第2页
(微电子学与固体电子学专业论文)mcuusb设备控制器的设计与实现.pdf_第3页
(微电子学与固体电子学专业论文)mcuusb设备控制器的设计与实现.pdf_第4页
(微电子学与固体电子学专业论文)mcuusb设备控制器的设计与实现.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(微电子学与固体电子学专业论文)mcuusb设备控制器的设计与实现.pdf.pdf 免费下载

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

文档简介

m c u & u s b 设备控制器的设计与实现 摘要 通用串行总线( u n i v e r s a ls e r i a lb u s ,u s b ) 凭借其价格低廉、使用简单、协议 灵活、接口标准化和易于端口扩展等优点,迅速占领了计算机外设接口领域的统 治地位,随着u s b 技术的广泛应用,它在数据通信方面发挥了巨大的作用,而且 随着i p 核的日益丰富,如何提高i p 核的重用性,将不同的i p 核有效的互连起来, 缩短设计周期成了i c 设计领域的研究热点。因此本文设计实现了m c u & u s b 设备 控制器i p 核。该设计综合了对设计者两方面能力的要求,a s i c 体系设计的能力和 通信协议理解分析的能力,除具有较强的理论研究意义,也具有较高的实践价值。 本文首先简单分析了通用串行总线u s b ( u n i v e r s a ls e r i a lb u s ) 的产生、发展和 u s b 设备国内外研究状况以及m c u ( m i c r o p r o c e s s o rc o n t r o lu n i t ) 的国内外发展状 况。其次介绍了u s b l 1 总线协议,包括u s b 体系结构,物理接口,数据通信中各 种包结构及数据传输的四种类型。接着重点阐述了m c u & u s b 设备控制器i p 核的 设计方法,详细描述其组成结构及各功能模块的设计,并介绍其在系统中的应用 方案。由于本文设计的m c u 和u s b 中控制器i p 核主要是针对鼠标、键盘、游戏杆 等低速功能设备,所以本设计中设备控制器只实现了控制传输,中断传输两种数 据传输类型。在以往的设计应用当中,m c u 基本都是应用硬核形式的的芯片,但 本论文是针对低速功能设备专用芯片而设计的,应用硬核形式的m c u 将大大浪费 设计产品的成本,就没有足够的竞争力,基于以上考虑,我们自主设计了m c u , 达到硬核芯片功能的同时,则大大降低了芯片的面积和开发成本。 最后,对编写好i p 核进行仿真和综合,介绍了本设计的m c u & u s b 设备控制 器i p 核系统的验证平台,详细阐述了总线枚举和数据传输在仿真平台中的实现方 法,并分析了仿真结果。最终用华润上华的0 3 5 u m 工艺成功流片返回。 关键词:通用串行总线;u s b 设备控制器;i p 核;f p g a t i 硕i :学位论文 a b s t r a c t f o rt h e a d v a n t a g e s o fl o wc o s t ,e a s yt o u s e ,p r o t o c o lf l e x i b l e ,i n t e r f a c e s t a n d a r d i z a t i o na n dp o r te a s yt oe x p a n d ,u s b ( u n i v e r s a ls e r i a lb u s ) o c c u p i e st h e p r e d o m i n a n tp o s i t i o ni nt h er e g i o no fc o m p u t e rp e r i p h e r a li n t e r f a c ea n dw i t ht h ew i d e u s eo fu s bt e c h n o l o g y , u s bp l a y sa ni m p o r t a n tr o l ei nd a t ac o m m u n i c a t i o n w i t ht h e a b u n d a n c eo fi pc o r e ,h o wt oi n c r e a s et h er e u s a b i l i t yo fi pc o r e ,c o n n e c td i f f e r e n ti p c o r e se f f e c t i v e l ya n ds h o r td e s i g np e r i o db e c o m et h er e s e a r c hf o c u s e si ni cd e s i g n f i e l d ,t h e r e f o r et h i sp a p e rd e s i g n sa n di m p l e m e n t sac o n t r o l l e ri pc o r eo fm c u & u s b d e v i c e t h i sd e s i g nc o m p r i s e st h er e q u i r e m e n t so ft h ec a p a c i t yo ft h ed e s i g n e r si nt w o f a c e t s ,t h ec a p a c i t yo fa s i cs y s t e md e s i g n a n dt h e c a p a c i t y o fa n a l y s i so f c o m m u n i c a t i o np r o t o c o l ,t h i sd e s i g nh a ss t r o n gt h e o r e t i c a lr e s e a r c hs i g n i f i c a n c ea n d p r a c t i c a lv a l u e f i r s t l y , t h i sp a p e ri n t r o d u c e st h eo r i g i na n dd e v e l o p m e n to fu n i v e r s a ls e r i a lb u s , r e s e a r c ho fu s bd e v i c ea n dt h ed e v e l o p m e n to fm c ua th o m ea n da b r o a d s e c o n d l y , t h ep a p e ri n t r o d u c e st h eu s bi i p r o t o c o li n c l u d eu s bs y s t e ms t r u c t u r e ,p h y s i c a l i n t e r f a c e ,p a c k a g e s t r u c t u r ei nd a t ac o m m u n i c a t i o na n df o u r t y p e s o fd a t a t r a n s m i s s i o n t h e nt h ep a p e rf o c u s e so nt h ea p p r o a c ho ft h ed e s i g no fm c ua n du s b d e v i c ec o n t r o l l e ri pc o r e ,d e s c r i b e st h es y s t e ms t r u c t u r ea n dt h ed e s i g no fe a c h f u n c t i o nm o d u l ei nd e t a i la n dp r e s e n t st h ea p p l i e ds c h e m eo ff u n c t i o nm o d u l ei nt h e s y s t e m b e c a u s et h em c u & u s bd e v i c ec o n t r o l l e ri pc o r ed e s i g n e di n t h i sp a p e r m a i n l ya i m st ol o ws p e e df u n c t i o n a ld e v i c el i k em o u s e ,k e y b o a r da n dj o y s t i c k ,t h e d e s i g no fd e v i c ec o n t r o l l e ro n l yi m p l e m e n t sc o n t r o lt r a n s f e r r i n ga n di n t e r r u p t t r a n s f e r r i n g i nt h ep a s td e s i g n s ,m c ua l w a y sa p p l i e sc h i p so fh a r dc o r e ,b e c a u s eo f t h ea i m so ft h ed e s i g ni nt h i sp a p e ra r el o ws p e e df u n c t i o n a ld e v i c e s ,t h eh a r dc o r e m c uw a s t e sc o s to ft h ed e s i g np r o d u c t s ,l a c k sp r o d u c tc o m p e t i t i o n ,b a s e do nt h e c o n s i d e r a t i o na b o v e ,t h i sp a p e rd e s i g n sm c u i n d e p e n d e n t l yt oa c h i e v et h ef u n c t i o n s o fh a r dc o r em c u ,g r e a t l yd e c r e a s e st h ec h i pa r e aa n dd e v e l o p m e n tc o s t s f i n a l l y , t h ep a p e rs i m u l a t e sa n ds y n t h e s i z e st h ed e s i g n e di pc o r e ,i n t r o d u c e st h e s y s t e mt e s tp l a t f o r m ,e l a b o r a t e st h ei m p l e m e n t a t i o nm e t h o do fb u se n u m e r a t i o na n d d a t at r a n s f e r r i n gi nt e s tp l a t f o r ma n da n a l y z e st h es i m u l a t i o nr e s u l t s t h ed e s i g ni s t a p e do u ts u c c e s s f u l l yb yc s m co 3 5 u mp r o c e s s k e y w o r d s :u n i v e r s a ls e r i a lb u s ;u s bd e v i c ec o n t r o l l e r ;i pc o r e ;f p g a i i i 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名:下彳、刮毫 日期:矽尹年6 月弓日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇 编本学位论文。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密囹。 ( 请在以上相应方框内打“”) 作者签名:确j 亳 别醴名。叫 锋 日期:沙7 年乡月弓日 隰呷年易月牛日 硕十学位论文 1 1u s b 总线产生及发展 第1 章绪论 当前的计算机系统使用的绝大多数外部设备仍然是基于接口实现,一般都使 用并行口、串行口、p c i 接口等与计算机连接。其中有些接口设计时间是在2 0 世 纪8 0 年代。随着计算机技术的飞速发展,这些接口已经无法满足计算机与外部设 备之间不断提高的速度以及稳定性,易用性等要求,并且给计算机系统的设计者 带来了众多的麻烦,给用户的使用也带来了诸多不便。 为了解决旧的接口体系的缺陷,计算机行业从9 0 年代以来推出了许多总线接 口协议,其中最成功的是以i n t e r 为首的7 家公司推出的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 、d e c 、i b m 、i n t e l 、m i c r o s o f t 、n e c 和n o t h e m t e l e c o m 等七大公司于1 9 9 4 年1 1 月联合开发的计算机串行接口总线标准,1 9 9 6 年1 月15 日颁布u s b1 o 版本规范,l9 9 8 年1 0 月公布了1 1 版本,修补了1 0 版本中的问 题。u s b 2 0 版本规范于2 0 0 0 年4 月2 7 日由c o m p a q 、h p 、i n t e l 、m i c r o s o f t 、n e c 和 p h i l i p s 正式对外发布。在u s b2 0 的发展道路上i n t e l 吸取了u s b1 1 的教训。当时, i n t e l 坚定地领导u s b l 1 的主控芯片的发展,并拒绝透露内建的寄存器设置的细 节,这些寄存器设置如今被叫做通用主控接口( u h c i ) 。结果,微软、国家半导 体以及其他一些公司不得已发展了一套完全不同的寄存器设置,被叫做开放主控 接口( o h c i ) ,这样在市场里就有了许多带着各自一套不同寄存器设置的主控芯 片,这极大延缓了驱动的发展进度。在u s b2 0 规范里,i n t e l 决定做增强的主控接 口( e h c i ) 并且对外公布寄存器的情况。这使得主控芯片归于统一,这非常有利 于设备驱动的发展 2 】。u s b 2 0 除兼容u s b l 1 外,新增主要规范内容:数据速率可 达4 8 0 m b p s t 3 1 。支持高清晰数字会议系统设备、高速高密存储设备、新一代更高 速高分辨率的彩色打印机及扫描仪、宽带a d s l 和c a b l em o d e m 等。 当前数据传输可以有串行和并行两种模式。串行传输指的是若干个二进制码 排列成数据流以串行的方式在一个信道中传输。通常传输的顺序是由高位到低位, 以起始位开始以停止位结束,传完一个字符再传一个字符。串行接口总线一般只 有一根传输线,既作为数据线也作为控制线使用,所以串行接口的传输有一定的 协议和规定。随着集成电路的设计方法和半导体技术的迅速发展,串行数据接口 总线有了广阔的应用范围,其集成的技术和本身的功能也在不断的提高和完善。 与并行总线相比,串行总线有以下的优点【4 1 : 1 很强的抗干扰性,即使是较远距离和较高速率的传输,也不会产生串扰, 保证信号的质量; m c u & u s b 设备控制器的设计j 实现 2 安装结构简单,使用方便; 3 连接线占据空间小,在消费电子产品追求精而小的今天,得到广泛的应用 和发展。 1 2u s b 设备控制器国内外研究现状 从u s b 问世,到协议规范o t g 版本,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 能应用在没有p c 的领域中。当前u s b 设备控制器的应用主要集中在移动数据采集存储领域。移动数据交换技术,是伴 随着u s b 总线接口的成熟而兴起的。从u s b 接口的移动硬盘和u 盘,到具有u s b 接口的数码相机,凡是涉及到移动数据存储的装置,大多采用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 芯片己经得到了广泛的使用【5 1 ,但是国 内的i c 设计、生产厂商没有投入足够的精力在这一领域,丧失了很大的市场空间。 尤其是兼容u s b 2 0 协议的接口,几乎完全依赖于国外的产品。同时,s y n o p s y s f a r a d a y 等国外的公司及台湾的虹晶科技,松瀚科技等都推出了商业版的u s bi p 核,而内地对于u s bi p 核的研究还很欠缺,究其原因,主要是u s b 的技术核心来 自国外,其结构对用户不透明,掌握u s b 编程和开发的技术难度较大,需要长时 间的学习投入和潜心研究。因此,国内实际掌握u s b 驱动程序编写和硬件开发技 术人才稀少,也影响了我国u s b 产品的自主研制【6 】。 1 3m c u 国内外发展状况 微控制器( m i c r o c o n t r o l l e r ) 自上世纪7 0 年代出现以来,在将近3 0 年的时间里得 到了迅猛的发展和广泛的应用。随着微电子技术的飞速发展,微控制器以其性能 好、体积小、价格优、功能齐全等突出优点被广泛应用于家用电器、计算和外设、 通讯、工业控制、自动化生产、智能化设备以及仪器仪表等领域,成为科研、教 学、工业技术改造最得力的工具。从最初采用普林斯顿结构的简单的微控制器到 现在普遍采用哈佛双总线结构的r i s c 微控制器,微控制器取得了飞速的发展。在 硕上学位论文 微控制器应用领域日益广泛的今天,对微控制器提出了更高要求,希望速度更快、 功耗更低、价格低廉、易学易用以及组成系统时的外围器件更少【7j 。由于这些需 求,新的产品越来越多的把外围接口器件集成到片内,功能越来越强,性能越来 越高。 最早出现的微处理器是在1 9 7 1 年i n t e l 公司推出的4 0 0 4 微处理器,字长4 位,采 用p m o s 工艺,它含有2 3 0 0 个p m o s ,平均指令周期约2 0 , u s 。4 0 0 4 是为日本一家 名叫b u s i c o m 的计算机公司设计的用于该公司计算器产品的专用芯片。在研制过 程中,i n t e l 计算机专家泰德霍夫( t e dh o f f ) 发现,与其依照每一个不同的使用规 格设计一颗颗不同的芯片,不如把整个结构拆分成两部分,一边是共用的、能进 行逻辑控制用的处理器,另一边则是用来贮存指令的只读存储器r o m ( r e a do n l y m e m o r y ) 。对于不同计算器,只需要改变存储器的内容。如此一来同一个处理器 可以应用在各种不同的计算器,甚至可以适用在各种不同的数字产品上。这一想 法,有两个主要的突破。在技术方面只要以集成电路科技设计出这个用于逻辑控 制的处理器,长久盼望的“单芯片电脑”即将可以实现。在商业方面一套元件可以 广泛用于各种不同的产品上,这意味着一个可以大量产出、适用于各种不同的产 品的机会。i n t e l 是把这个逻辑控制用的处理器称作“微处理器”( m i c r o p r o c e s s o r ) 。 因为它真是一个“微小”的处理器。4 0 0 4 能完成两个4 位数相加,能通过重复相加完 成乘法。以今天的标准,4 0 0 4 虽然过于原始,但是它却成为微处理器的容量和功 能不断发展的开端。 最早的8 位微处理器8 0 0 8 是在1 9 7 2 年由i n t e l 公司推出的,它也采用p m o s 工 艺,仍然属于第一代微处理器。它要求2 0 个或者更多的附加器件才能够构成一个 功能完备的c p u 。8 0 0 8 的问世,使得很多的厂家意识到微处理器有着巨大的潜在 市场。从那时候起,微处理器得到了飞速的发展。8 位微处理器的典型代表是1 9 7 4 年i n t e l 公司推出的8 0 8 0 ,m o t o r o l a 公司的6 8 0 0 ,以及1 9 7 6 年z i l o g 公司的z 8 0 ,它们 都采用n m o s 工艺,平均指令周期约2 胛。1 6 位微控制器最早出现在1 9 7 4 年。现 在比较典型的芯片则还要晚些时候出现;i n t e l 8 0 6 0 出现于1 9 7 8 年;1 9 7 9 年为z i l o g 公司的z 8 0 0 0 ;1 9 8 0 年为m o t o r o l a 的m 6 8 0 0 0 。1 6 位微控制器芯片已经进入超大规 模集成电路的行列,例如i n t e l 8 0 2 8 6 包含1 3 0 0 0 0 个器件。3 2 位微控制器则都属于 v l s i 芯片。1 9 8 1 年,i n t e l 的3 2 位微控制器a p x 4 3 2 问世。真正在市场中开始广泛 应用的3 2 位微控制器是在l9 8 5 年由i n t e l 公司推出的8 0 3 8 6 。8 0 3 8 6 的集成度己经达 至u 2 7 5 0 0 0 个器件,到1 9 8 9 年i n t e l 推出了8 0 4 8 6 微处理器芯片。1 9 9 3 年i n t e l 推出第一 款奔腾处理器( p e n t i u mp r o c e s s o r s ) 。奔腾处理器能够轻而易举的集成真实生活中 的数据,如语音、音频、手写笔迹、图像和图形等。1 9 9 7 年,i n t e l 推出了包含7 5 0 万个晶体管的奔腾i i 处理器。这款产品集成了i n t e lm m x 多媒体增强技术,专门为 高效处理视频、音频和图形数据而设计。1 9 9 9 年春季,i n t e l 推出了奔腾i i i 处理器, m c u & u s b 设备捧制器的设计与实现 这是第一款专为提高芯片的网络性能所设计的微处理器【8 1 。 1 4 本课题主要研究内容及意义 u s b 接口设备的广泛使用催生了一个巨大的需求市场,本论文正是结合企业 的具体产品项目设计展开的。首先通过对u s b 串行接口通信协议的研究和理解, 根据系统的功能及m c u 和u s b 的功能结构,把整个设备控制器进行系统的细化, 按照其功能进行模块的划分,然后用硬件描述语言v e r i l o gh d l 对每个模块进行描 述设计,最后通过模块之间的协调和调用完成串行接口控制器的设计【9 1 。并设计 了把整体控制器作为从机的测试流程,然后利用e d a 仿真工具完成了模型的仿真 工作。 本文第1 章主要介绍了u s b 和m c u 的特点及国内外发展状况,并介绍了本 论文的主要工作和结构。 本文第2 章主要简单介绍了u s b l 1 总线协议,包括u s b 体系结构,物理接 口特性,特别详细介绍了u s b 数据通信中各种包结构及数据传输的四种类型:控 制传输、批量传输、同步传输、中断传输。 本文第3 章是本课题的主体,详细介绍了本课题的设计过程,说明了m c u 和u s b 各个功能模块的在系统中所实现的功能和其具体设计方法。 本文第4 章先介绍了整个验证环境,然后对本设计进行了功能验证,并详细 分析的验证结果,肯定了本设计的正确性,可行性,最后给出版图。 硕士学位论文 第2 章u s b 系统结构和传输原理 2 1u s b 系统的基本组成 u s b 系统主要分为三个部分:主机、设备和互连【1 0 】。在任何u s b 系统中,只 有一个主机。u s b 和主机系统的接口称作主机控制器,它可由硬件、固件和软件 综合实现;设备可以分为功能性设备即外设和集线器( h u b ) 两种,前者作为系统的 功能扩展设备,后者作为u s b 设备的扩展连接点:互连定义了主机和外设的连接 和通信方式,包括总线拓扑结构、内部分层关系、数据传输模型和总线访问控制 等几个部分。 u s b 上的所有通信都在主机端产生,由软件控制。首先u s b 设备驱动程序将 中断请求包( i r 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 功能设备所要求的传输特性;功能层代表客户软件和一个给定的设备功能接口之 间的关系。 2 2 电气特性 主机的总线接口通过d + ,d 向设备传输数据,并同时用v b u s 和g n d 两根电 源线为设备供电。u s b 规范中将信号的传递状态分为:j 状态、k 状态和s e 0 状态】。 由一个状转换为另一个状态是通过总线事件检测来确定的。各种状态持续时间的 长短确定了总线上诸如复位信号、挂起通知和唤醒等总线事件。但这两种状态的 定义在全速设备与低速速设备刚好是相反的。也就是说,对以j 状态而言,全速设 备是处于差动1 的状态,低速速设备则是处于差动0 的状态,相对地,对k 状态而 言,全速设备是差动0 的状态,而低速设备则是差动1 的状态。如图2 1 所示,u s b 在一条4 线的电缆上传输数据信号和电源。两条电源线分别为v b u s 和g n d 线,数 据信号在两条点对点连接的差分数据线d + ,d 线上传输。u s b 2 0 总线支持下面三 种数据速率【1 2 】- 1 ) u s b 高速信号位速率是4 8 0m b s ; 2 ) u s b 全速信号位速率是1 2m b s ; 3 ) 性能有限的低速信号模式定义为1 5m b s 。 m c u & u s b 设备控制器的设计与实现 v b u s d + d g n d v b u s d + d g n d 图2 1u s b 电缆线 u s b2 0 主机控制器和集线器提供了一种功能,使全速和低速数据可以在主 机控制器与集线器之间以高速传输,而在集线器与设备之间以全速或低速传输。 这种功能将全速和低速设备对高速设备可用带宽的影响减到最小。 低速模式用于支持例如鼠标、键盘、操纵杆等数量有限的低带宽设备,因为 使用太多这种设备将降低总线的利用率,所以一般这种设备不会同时用太多。时 钟与差动数据一起编码发送。时钟是以带位填充的n r z i 方式编码,以保证有足够 的跳变沿。接收器用每个包前面的s y n c 场同步它们的位恢复时钟。每段电缆还 有向设备提供电源的v b u s 和g n d 线。v b u s 在源极的标称值是+ 5 v 。通过选择适 当的导线规格来匹配指定的i r 压降以及设备功耗预算和电缆灵活性等其它属性, u s b 可以使用不同长度的电缆,最长可达几米【 】。为了提供可靠的输出电压级和 适当的终端阻抗,电缆在每端都连接偏压终端。终端也可以检测u s b 设备在每个 端口的连接和拔出,并区分高速、全速和低速设备。 2 3u s b 数据包结构 u s b 设备的逻辑结构可分为设备、配置、接口、端点四个层次。每个设备可 以有多个配置;每个配置可以有多个接口。每个接口可有多个端点。端点是设备 与u s b 总线的逻辑连接点,也是u s b 总线数据的最终发送和接收者( 一个接口是 一组端结点集合,它们代表了设备向主机提供的单一的功能或特性,从设备的角 度来看,配置包括一个将非零值写入设备配置寄存器的操作) 。每个端点使用控制 传输、中断传输、块传输和同步传输中的一种与主机进行数据传输。接收和要发 送的数据都可存在端点的缓冲区里。设备的这些设置都可以在它的各种描述符里 进行初始化。 2 3 1u s b 总线编码技术 在包传送时,u s b 使用一种n r z i ( n o n er e t u r nz e r oi n v e r t ,即非归零反转l 编码方案。在该编码方案中,“l ”表示电平不变,“0 ”表示电平改变。图2 2 列出 了一个数据流及其它的n r z i 编码。 硕十学位论文 0 1101 0l000l0oll0 数据司厂 厂 - 一一厂 一一厂l 0 00lllll1l10ll1 数据司厂 厂一 n r z i 码i d l eul 一一一一一l 一一一 图2 2n r z i 编码技术 在图2 2 第二个波形图中,一开始的高电平表示数据线上的j 态,后面就是 n r z i 编码。为了确保信号发送的准确性,当在u s b 上发送一个包时,传送设备 就要进行位插入操作。所谓位插入操作是指在数据被编码前,在数据流中每六个 连续的“1 ”后插入一个“0 ”,从而强迫n r z i 码发生变化。位插入操作从同步格式 开始,贯穿于整个传送过程,在同步格式端的数据“1 ”作为真正数据流的第一位。 位插入操作是由传送端强制执行的,是没有例外的。如果严格遵守位插入规则, 甚至在包结束信号( e n do f p a c k e t ,e o p ) 结束前也要插入一位“0 ”位。接收端必须能 对n r z i 数据进行解码,识别插入位并去掉它们。如果接收端发现包中任一处有 七个连续的“1 ”,则将会产生一个位插入错误,该数据包将被忽略【1 4 】。关于位的 插入有一个特例,那就是刚好在e o p 前的时间间隔,e o p 前的最后一个数据位可 能被集线器的转换偏移而拉长。 2 3 2 包的组成 u s b 包由5 个部分组成,即同步( s y n c ) 字段、包标记符( p i d ) 字段、数据字 段、循环冗余校验( c r c ) 字段和包结尾( e o p ) 字段。如图2 3 所示。 图2 3u s b 数据包结构 1 同步( s y n c ) 字段:s y - n c 字段由8 位所组成,他是用来产生同步作用的, 将会起始p l l ,因此,它的数值固定为0 0 0 0 0 0 0 1 ; 2 包标记符( p i d ) 字段:由4 个位的包类型字段和4 个位的校验字段构成: 3 数据字段:可以包含地址字段、端点字段、帧序列字段及数据等; 4 循环冗余校验( c r c ) 字段:c r c 字段是用来对包中的数据信息进行错误保 护的,它只存在于令牌包和数据包中; 5 包结尾( e o p ) 字段:包的发送方在包的结尾发出包结尾信号。它由差分线路 m c u & u s b 设备控制器的设计与实现 的两根数据线保持2 比特低位时间和1 比特空闲位时间组成。除前导包外的其他 所有u s b 数据包都必须具有e o p ,以用来指示数据包的结束。 2 3 3 包的类型 u s b l 1 规范主要有四类不同类型的数据包:令牌包、数据包、握手包、和专 用包。 1 令牌包( t o k e np a c k e t ) 当数据包中的p i d 类型为令牌类型时,该数据包被称为令牌包。如图2 4 所 示。 设备地址( 7 位)端点( 4 位) 同步序列 p i dc r ce o p 序列帧号( 1 l 位) 图2 4 令牌包格式 根据p i d 的不同,令牌包又分为4 种:起始令牌包( s o f ,也叫帧起始) 、输入 令牌包( i n ) 、输出令牌包( o u t ) 和用于控制传输的设置令牌包( s e t u p ) 。所有的令 牌包都是由u s b 主机发出,设备不发送令牌包。如图2 4 所示,令牌包包括了覆盖 地址和端口字段的5 位c r c 。c r c 并不覆盖p i d ,因为它有自己的校验字段。 当令牌包的p i d 为s o f 时,该数据包被称为帧起始令牌包,其数据字段必为1 1 位的帧序列号。主机以每1 0 0 m s 士0 0 0 0 5 m s m 次的额定速率发出帧开始( s o f ) 包, 包括集线器的所有全速功能部件都可收到s o f 包( 低速设备不能收到) 。s o f 标记不 会使得接收功能部件产生返回包;因此不能保证向任何给定的功能部件发送的 s o f 都能被收到。 当令牌包的p i d 为s e t u p 时,该数据包被称为设置令牌包。 当令牌包的p i d 为i n 时,该数据包被称为输入令牌包。 当令牌包的p i d 为o u t 时,该数据包被称为输入令牌包。 2 数据包( d a t ap a c k e t ) 当数据包中的p i d 类型为数据类型时,改数据包被称为数据包。数据包中装 有主机和设备之间传输的数据信息。格式如图2 5 所示。 i 同步序列l p i d l 数据( o 1 0 2 3 字节)l c r c i e o p i 图2 5 数据包格式 为了更好地同步主机和设备之间的数据传输,保证数据的正确性和连贯性, 避免因出错重传而带来的数据重叠问题,数据传输使用了“同步切换( d a t a t o g g l e ) ”技术,长度为2 ,即有两种类型,靠包的标识符d a t a 0 和d a t a l 来区 分。其中d a t a 0 所表示的数据包是数据传输中的第1 、3 、5 等奇数包,而d a t a l 硕上学位论文 所表示的数据包是数据传输中的第2 、4 、6 等偶数包【1 5 1 。 3 握手包( h a n d s h a k ep a c k e t ) 当数据包中的p i d 类型为握手类型时,改数据包被称为握手包。握手包用于 事务处理的最后阶段,用来报道事务处理过程中接收方的状态。格式如图2 6 所 示。 图2 6 握手包结构 握手包共包括3 种类型:a c k ( a c k n o w l e d g e ) 、n a k ( n oa c k n o w l e d g e ) 和 s t a l l 。 1 ) 应答( a c k ) a c k 表示数据的接收方正确地接收到了数据包。 2 ) 无应答( n a k ) n a k 表示u s b 设备不能从u s b 主机接收数据或者它暂时没有数据传输到 u s b 主机。 3 ) 终止( s t a l l ) s t a l l 表示由于u s b 设备内部有问题不能发送或接收数据,或者不支持某个 控制命令。 4 前导包( p r e a m b l e p a c k e t ) 当u s b 数据包的p i d 为p r e 时,该数据包被称为前导包,前导包是为了使 系统区分全速传输和低速传输而产生的,它的目的是为了提醒u s b 集线器系统要 传输的下一个包是一个低速包。 2 4 事务处理 在u s b 上数据信息的一次接收或发送的处理过程称为事物处理。事务处理的 类型包括输入事务处理、输出事务处理、设置事务处理和帧开始( s o f ) 、帧结尾 ( e o p ) 等类型。 2 4 1 输入事务处理 输入事务处理表示u s b 主机从总线上的某个u s b 设备接收一个数据包的过 程。一般包括令牌包、数据包和握手包。 1 数据的正确输入过程 输入事务处理中没有出现错误的情况如图2 7 所示。 m c u & u s b 设备控制器的设计j 实现 巨丑亟因巨丑至困巨丑至工习 输入令牌包( u s b z 机) 数据包( 来自设备) 握手包( 来自主机) 图2 7 输入事务处理 首先由u s b 主机向总线发出输入令牌包通知设备准备向u s b 主机发送数据; 当指定的设备接收到此令牌后,将准备好的数据以数据包的形势发送给主机,接 着当u s b 主机接收到的数据经校验无误出错后,给设备返回a c k 握手包通知主机 已经正确地接收到了数据。 2 数据包发送错误 当u s b 主机在数据时相接收到的数据包有错误时,就不再给设备返回握手 包,表示此事务处理过程没有成功。 3 设备未准备好数据 在事务处理过程的数据时相,指定的设备暂时没有准备好要发送数据包是, 他会在数据时相发给u s b 主机一个n a k 握手包( 即用n a k 包代替数据包) ,提醒 主机暂时不能发送数据,主机也不发送握手包,主机会在一定时间内重新启动此 事务处理。 4 设备出错 当指定的设备发生错误时,会在数据时相发出一个s t a l l 的握手包( 即用 s t a l l 代替数据包) 通知u s b 主机设备出错,并提醒主机端的协议软件清除掉设 备端的错误。 5 实时传输的输入事务处理 由于实时传输对数据的出错率要求不高,而对速度、实时性要求很高,因此 实时传输的事务处理过程仅包括令牌包和数据包两部分,省去握手包。格式如图 2 8 所示。 巨丑至固匝丑蔓丑困 图2 8 实时传输输入事务处理 2 4 2 输出事务处理 输出事务表示主机向总线上的某个设备发送一个数据包的过程。同输入事务 处理一样。般情况下,输出事务处理一般包括令牌包、数据包、握手包。 2 4 3 设置事务处理 设置事务处理仅在控制传输中使用,表示u s b 主机向某个设备发送控制命 令。它一般包括令牌包、数据包和握手包三部分。数据包中装的是主机发送给某 个设备的控制命令,用来指挥设备完成某种操作,它紧跟在令牌包后面由主机发 硕l 学位论文 出,设备收到数据包后应该返回一个握手包。 1 ) 如果传输的数据被设备正确的接收到后,设备返回一个a c k 的握手包。 2 ) 如果前面的包在传输中出现错误,设备就不会返回握手包。 3 ) 如果指定的设备正忙而暂时不能接收数据包,它会在令牌包后返回一个 n a k 的握手包表示设备忙。 当出现后两种情况时,u s b 主机会在等待一定时间后重新启动此设置事务处 理过程。设置事务处理中的数据包中的数据是主机发给设备的控制命令。 4 ) 如果设备不能支持该命令,会在握手时返回一个s t a l l 握手包,通知主机设备 不支持此命令。 2 5 数据传输 u s b 数据传输实际上是u s b 主机数据缓冲区的数据,通过主机控制器转化 串行通信流,经u s b 传输线传输。u s b 设备收发器将收到的数据转换成数字 c m o s 串行数据流。然后通过u s b 设备控制器传输到设备端点,最后传送至微处 理器内部随机存储器( r a n d o ma c c e s sm e m o r y ,r a m ) 或通过内存直接存取( d i r e c t m e m o r ya c c e s s ,d m a ) 接口存储在同步静态随机存储器( s y n c h r o n o u ss t a t i c r a n d o ma c c e s sm e m o r y ,s s r a m ) 中。因此,u s b 通信可以认为是主机缓冲区与 设备端点之间的数据传输【j6 1 。设备端点实际上也是设备硬件上具有一定大小的数 据缓冲区,设备中的每个端点在设备内部有唯一的端点号,这个端点号是在设备 设计时被给定的。端点分为两类:0 号端点:所有u s b 设备都需要实现一个缺省的 控制方法,端点0 是双向端点;非0 号端点:设备可以有除0 以外的其它端点:低 速设备在0 号输入及输出端点外,只能有2 个额外的可选端点,而高速设备可具 有的额外端点数仅受限于协议的定义( 协议中规定最多1 5 个额外的输入端点和最 多1 5 个额外的输出端点) 。除了端点0 之外的端点必须在设备被主机配置之后才 可以使用。 u s b 的标准脉冲时钟为1 2 m h z ,而其总线时钟为l m s ,即每隔l m s ,u s b 器 件应为u s b 线缆产生一个时钟脉冲序列。这个脉冲序列称为帧开始资料包( s o f ) , 主机利用s o f 来同步u s b 资料的发送和接收。 u s b 协议提供了种类不同的数据传输类型,包括控制传输、批量传输、中断 传输和实时传输。批量传输用于打印机或扫描仪等传输大块数据的设备;中断传 输用于传输类似p c i 或i s a 总线中的中断信号的数据;实时传输用来传输音频或 视频的数据;控制传输用来对设备进行初始化的配置管理,它比其他3 种类型的 传输要复杂一些,所有的u s b 设备都要求支持控制传输。 m c u & u s b 设备控制器的设计与实现 2 5 1 控制传送 控制传输是u s b 传输中最重要的传输,惟有正确地执行完控制传输,才能进 一步地执行其他传输模式。这种传输用于提供介于主机与设备之间的配置、命令 或状态的通信协议。控制传送只能通过消息通道进行;控制传送使用的是消息通道 上的双向信息流【16 1 。 控制传送最少有2 个事务阶段:建立和状态。建立事务用于向功能部件的控制 端口传输信息。建立事务在格式上类似于输出,但是使用的是建立而不是输出的 p i d 。建立总是在建立事务的数据时相上使用d a t a 0p i d 。收到建立的功能部件 必须接受建立数据并用a c k 应答,如果数据被损坏,则丢弃数据且不返回握手。 图2 9 为控制传输事务处理的格式。 空闲 标记 数据 握手 空闲 圆圈 图2 9 控制传输事务处理 在数据时相中要发送的数据的数量和其方向在建立阶段里被指定。 控制传送的状态阶段是序列中的最后一个操作。如图2 1 0 所示: 建立阶段 鍪塑坠壁 状态阶段 控制写圆固回囤回 d a t a od a t a ld a t a 0d a t a 0 id a t a i 控制读 围回回回 d a t a l d a t a 0d a t a 0 1

温馨提示

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

最新文档

评论

0/150

提交评论