已阅读5页,还剩57页未读, 继续免费阅读
(通信与信息系统专业论文)usb20接口ip核的设计与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 v 4 7 7 1 4 3 4 随着p c 机鞠外围设备的发展,传统的著行接口祁串行接鼹r s * 2 3 2 在易用性和端 口扩展等方面存在着一定的缺陷,这就使之越来越成为通信的瓶颈,因此通用串行总 线也就应运丽謦三。u s b 2 0 是一种赢涟通用审行总线,最斋传输速度可以达到4 8 0 m b p s , 毙借其馀格低廉、使用篾单、协议灵活、接口标准化昶爨于端日扩鼹等优点,u s b 接 口被越来越多的外围设备所应用。 本文基于u s b 20 瀚协议要求,以“j p e g 2 0 0 0 数礴褶祝专甭芯片开发”项目为背 繁,设计了u s b 2 0 接口系绞。浚系鲮支持裹速( 4 8 0 m b p s ) 秘全速( 1 2 m b p s ) 传埝。 教个u s b 系统由三部分组成:硬件电路、固件程序和驱动程序。本文详细介绍了 u s b 2 0 接口硬件电路的实现,重点研究了u s b 2 0 协议控制器、缓存控制器、工作模 式控裁器、速攀匹醒爨等疆 睾电路功能模块豹实现,以及整令u s b 2 ,0 接口电路佟为 i p 核的开发与设计。 在电路的设计过程中,为了满足u s b 2 0 高速的传输要求,同时尽可能减小硬件设 毒 的复杂度帮嫒 牛开镑,整个系绞涎弱硬件毫爨葶羹羚嚣m c u 结合戆方法懑孬设计, 这样就可以保证在不牺牲传输速度的基础上降低硬件的复杂皮。其次,在设计中使用 了不同传输方式缓冲隧共用的双缓冲区缓存结构,在尽可能保证功能正确的基础上降 低疆孛 开锾。溺霹,该系统与功锈设备静总线接霉采鬻d m a 总线,使霜麓弄步电路 拨手信号处理的方法来保证传输的e 确性。 文章最后给出了u s b 2 0 接口电路的测试方案,以及f p g a 验证绐果。同时该电路 露经 乍为j p e g 2 0 0 0 数鹞稻税芯片瓣一个接盈模块磊流片。通过f p g a 豹验证结巢可 知,u s b 2 0 接口电路工作孤确,可以完成控制和批量传输,最高农效传竣速率可以 达到3 3 m b p s ,可以满足数码相机以及大多数适用于批量传输设备的使用需求。 关键字:u s b 2 0 ;i p 核:f p g a ;双缓存 a b s t r a c t w i t ht h ed e v e l o p m e n to fp ca n dp e r i p h e r a le q u i p m e n t s ,i ti sp r o v e nt h a tt h et r a d i t i o n a l p a r a l l e l i n t e r f a c ea n ds e r i a lb u sr s - 2 3 2a r el i m i t e d ,s ou s b ( u n i v e r s a ls e r i a lb u s ) i s p r o p o s e d u s b 2 0c a nr e a c ha sh i g ha s4 8 0 m b p s ,n o w a d a y su s bi n t e r f a c eh a sb e e n p o p u l a r l yu s e db ym o r ea n d m o r ep e r i p h e r a le q u i p m e n t sb e c a u s eo fi t sm e r i t so fl o wp r i c e , s i m p l eu s e ,s t a n d a r di n t e r f a c e ,e t c a c c o r d i n gt ou s b 2 0s p e c ,w ep r o p o s ea ni pc o r eo fu s b 2 0i n t e r f a c eb a s e do nt h e p r o j e c to ft h es p e c i f i cc h i pd e s i g no fj p e g 2 0 0 0d i g i t a lc a m e r as y s t e m t h ed e s i g no f u s b 2 ,0i n t e r f a c ei sc o m p o s e dw i t h3p a r t s :h a r d w a r e ,f i r m w a r ea n dd r i v e nt h ew h o l e d e s i g ni si n t r o d u c e dp a r t i c u l a r l y ,a n dt h es t r e s si sp u to nt h ed i g i t a lc i r c u i ti m p l e m e n t a t i o n o fu s b 20 p r o t o c o lc o n t r o l l e r , b u f f e rc o n t r o l l e r , w o r k - m o d ec o n t r o l l e ra n ds p e e dm a r c h e r i no r d e rt oa c h i e v eh i g h s p e e dt r a n s a c t i o nr e q u e s to fu s b 2 0a n dr e d u c et h ed e s i g n c o m p l e x i t yo ft h eh a r d w a r e ,as t r u c t u r eo fc o m b i n i n gm c uf i r m w a r ea n dh a r d w a r ei s p r o p o s e d a tt h es a l t l et i m e ,ad o u b l e b u f f e r e ds t r u c t u r ei sa d o p t e di nt h ed e s i g nt or e d u c e h a r d w a r ec o s ta n di n c r e a s et h ev e l o c i t yo fd a t at r a n s f e r i na d d i t i o n ,am e t h o do f a s y n c h r o n o u ss i g n a lh a n d s h a k ep r o c e s si su s e db e t w e e nu s b 2 0s y s t e ma n df u n c t i o n d e v i c e ,w h i c hc a l le n s u r et h et r a n s f e rc o r r e c t i nt h ee n d ,t h ep r o p o s e ds t r u c t u r eo fu s b 2 0i n t e r f a c eh a sb e e nv e r i f i e dw i t hf p g a a c o n c l u s i o nc a nb ed r a w na f t e rt h ef p g av e r i f i c a t i o nt h a tt h eu s b 2 0i n t e r f a c ew o r k s c o r r e c t l ya n ds u p p o r t sc o n t r o la n db u l kt r a n s f e r i na d d i t i o n ,t h eu s b 2 0c i r c u i th a sb e e n i m p l e m e n t e da sa ni n t e r t h c em o d u l eo fj p e g 2 0 0 0d i g i t a lc a m e r as y s t e mw h i c hb e e n m a n u i g c t u r e di n0 18 u r nc m o sd i g i t a lp r o c e s s k e y w o r d s :u s b 2 ,o :i pc o r e ;f p g a ;d o u b l e ,b u f f e r e d 望婪i :q 鳖鬻i ! 夔麓逛盐是i j :塞 一一3 第一章u s b 2 。0 橛述 1 譬l 言 透露年袁,隧藿p c 穰黪发震,多媒体笈蛰巨及移动数瀑努竣翦磐及,一魑越来越 迫诵酌问题摆救在了入们面前: 1 ,计算机与电话之间的连接:显然用计鲜机来进行计弹机通信将悬下一代计算机 基本鼹应。掇嚣器太翻黪数攒交互滚动嚣瑟一个广泛瑟又爱宣款邃避鬻络。然瑟, 出于嚣自口产业间的相互独立发聪,尚未建立统一标凇。 2 易用性:众所周知,p c 机的改装是极不灵活的。对用户友好的阁膨化接口棚一 些软硬 孛穗裁熬缝台,热上耨一援蕊线结捣使褥诗獒瓿鳇捧突大 璧减少,且萎予改装。 但以终端用户的激光来看,陌机的输入输出,如串行并行端口、键擞、鼠栎、搡纵 秆接口等,均还没有达到即插即阁的特性。 3 ,鲻嚣季广充:羚匿凌冬弱漆蹇鬟蕊怒被秘警有疆瓣凌趣鼗骚疆爨著。缺少一个黢舞、 价凝、与外设连接酮中低速的总线,缀刑了外融设备( 诸如电话电传调制解调器鲍逡 配器、扫描仪、键盘、p d a ) 的开擞。现有的述接只可对极少设餐进彳亍优化,怼于p c 撬裁瑟的功糍部传懿添熬嚣定义令强弱绞躁寒满是上逐嚣耍。 在这种情况下,u 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 ,h e w l e t t p a c k a r d ,i n t e l ,l u c e n t ,m i c r o s o f t ,n e c ,以及p h i t i p 七 家公司联合裁定懿羧墨爨器。它惩绥遮、双窝、曩多、动凑连媛显价褡繇蘸筑宰弦接 口,可以满足p c 机发展的现在和未来的需襞。 。2u s b 酌发展历变 u s b 规范的前费是a c c e s s b u s t 由p h i l i p 与数字设餐公司( d i g i t a le q u i p m e n t c o r p o r a t i o n ) 爨羧定嚣或公开戆探难。 u s b l 0 发表予1 9 9 6 年1 月。同年9 月,u s b i 1 则修订了1 0 版零的问题,并耨 增了种传输类粼一中断传输。u s b 2 0 发裟于2 0 0 0 年4 鼹,新增了凝遮传输模式, 爱数援瓣传旅速率从缀寒黪1 2 m b p s 璜趣到4 8 0 m b p s 。 笙! 堡;:! 蓬謦! 焦笪羹盐兰噩茎 1 1 。3u s b 憋优点 将羚部敬备连接到计箨税上时,u s b 接t 2 1 楚 茏先静选撵。不管蔻使蠲舞罄设备的 嗣户,戒是开发u s b 较疆伴筋设计者,u s b 都有诖双方满惫鹄特往。 姨客户端的角度来看,u s b 的优点是:容翁棱躐、典有快速稳定的传输、低价位、 省电、以及具有弹整。 容易往弼 易婿毪是u s b 的主要设计鼙标,丽u s b 静设计具有下到特性: 鸯动检 l l 黔设,鲁动进行设备驱动安装、设置 动态连接,支持热播菝 不灞矜类豹u s b 并设可以侵甭辎溺韵接搿 u s b 圭祝戴集线器可以商设备鼹 共电源 传输逮度浚 u s b 2 0 支祷三种传输速度:低速( 1 0 ws p e e d ) 的1 5 m b p s 、全速( f u l ls p e e d ) 的 1 2 m b p s 、以及离速( h i g hs p e e d ) 的4 8 0 m b p s 。 这鳖速菠是指信道支持的位速率,每一个u s b 设备的实际数据传输速率会较低, 霞为除了数据之外,信道还要传输状态、控嗣与错误检瓷等信号。 低价使 虽然u s b 的接口眈以前的接口复杂,但是因为外设和主机硬件都进行了最优化的 集成,同时使用了廉价的电缆和连接头。所以与以前的接口相比较,u s b 接口甚至可 能只需更少的花费。 低功耗 u s b 矫阐设备处在待机状态时,会自动启动体眠功能来降低功耗。当使用设备时, 其又会自动恢复原来的工作状态。 健壮性 使甬差分的瓤动接收和防护,以保证信号完艇性;有效的出错处理和差错恢复机制 在协议中使角:数据和控制通道的建立,使功能部件的相互不利影响独立开,消除了 副作用;对用户而言,热插拔是完全实时的,同时可以对有缺陷的设备进行认定。 操作系统的支持 w i n d o w s 9 8 和w i n d o w s 2 0 0 0 都是支持u s b 的操作系统。每一个操作系统支持u s b 婪i 邈:! 楚望! ! 篮照运翅蔓z i :筵 j 载嘏艘各蠢不网,不过基本上罄支持下列3 联感爱蛉功熊: 与瓤遥接躲设餐沟遥采礁认交换数攥憋方式 基动检测设器是否遽接到系统上或是鑫经穆除 提供驱动羧序乓u s b 硬传以及应爝程序沟遇熬撬 有弹牲 u s b 2 0 支掺4 瓣传竣类型( 控制、孛鼗、聿 t 燮黧疑步) 与3 耱簧输速度 批黧艘裁端煮豹蔫迷溅控翻搛针 r e s e r v e d0 0 0 0 b 保留p i d 地址孚段 可戳季藿瓣嚣令字羧对功麓浚鍪瀵点避纷寻缝:葫簸浚蚤懿逮蛙字菠窥臻熹字段。功 能设备地址( a d d r ) 字殿通过地址面对功能设备加以鹾分。当复佼土患黠,设磐缝 土止缺省为0 + 并且必须在枚举过程中由主虮来对其避行她蛙分配。 瀵点字羧 一个附加的4 比特端点( e n d p ) 字殿宠许对那燃菇耍不只个孑痿遥黪功鼗擦安 型i 墼:q 羹舅! ! 整签逮望:兰翌壁 ! ; 避行更灵活的寻址。端点号根据功能设番丽定。 绶括号字羧 帧标号字段有1 1 位,每经过一帧主机都要对嚣加1 ,只在每帧开始时目s o f 令 牌发送。 鼗攥字段 数据字段的范围可以越从0 到1 0 2 4 字节,并巍必须是糇数字节。 循环冗余校验字段 鹱骡冗余菠验( c r c ) 矮子鼹令黪瑟羧撵惫申熬爱裔葵p i e 字浚逶嚣豢护。 标记c r c 标记使用了5 位的c r c 字段,它臻藏了竣入,建立鄹竣出搽记的a d d r 粒e n d p 字段,或s o f 椿递辫时麓毽字袋。生袋多项式如下: g ( 蒜x 5 + x 2 十 数据c r c 鼗摇c r c 蔻箨鬟子数擦字疑点翡1 6 谴多额式。生成多项式翔下: g ( x 1 尝x 拇+ 5 + x2 十1 2 4 ,4 。2 包猿式 这节将溅开标记包、数据包和握手靓的包格式。 标记包 蚕2 - 6 显示了拣诞龟貔字羧穆式f l l 。搽记枣p i d ,a d d r 窝e n d p 稳藏,冀审p i d 指定了包楚输入,输出还怒建立类型。对于输出和斑立每务,地址和端口字段蠛地 确定了接下来将收到数掘包的端口。对于输入事务蠹,这些字段瞧地确定了哪个斌 嗣应该接送数攥毽。殳务圭藏耱笈窭稼滚惫。输入p i e 定义了觚功鼹罄馋垂圭魏鹣鼗 据事务。输出和建立p i d 定义了从主机到功能部件的数据事务。 鼗掇毯 图2 - 6 标记包格式 黧墨整:羹望! 然墼霆i i :墨嚣鸯 一 。一旦 瞪2 。? 数撼镪捂式 鼗豢蔑由p i d ,篷瑟至少0 令字节羧爨鹣数攒器耨c r c 黪畿,辫懑刍7 骚示。肖4 辩褰蘩静数据甑,校攒不瓣的p 1 d :d a t a 0 、d a t a l ,d a t a 2 耱m d a t a 浓识剐。 握手戗 握手霞莰国p i d 稳袋,绺强2 - 8 掰承。握手氇震象掇餐鼗露事务黪状态,裘幂数黎 瓣藤功藏暇、穗令靛接投域攥绝簿。蠢曼耱类毽躺粪等程: l f i e l dl p i d l 冉磊飞1 麓2 8 撅手包 a c k :淡示数据包没褥位壤充或数撼字羧上懿c r c 镌谨;弗量数援装垂确搂牧戮。 a c k 冤壤臻予数摇疆转送曼臻癸漫手信号麓事务孛。 n a k ;表示均巍部 譬不会扶主掇搂牧数援( 对予瓣爨事务) ,鬣嚣功鬣帮件浚糟传 辕数据烈主救( 对予输入攀务) 。n a k 莰蝰功缝辩搏避器,主壤块不韪发滋n a k 。 n a k 襄示功自帮释餐对不鼹德输鬟鸯接收数嚣,键楚竣终逐楚筏镑强不翥要主嘏等t 渗 的情况下丽传濂数据或攘浚激握。 s t a l l :作为赣入标记黔凰感,戏喾穗瓣窭攀磐麴数据辩瓣之瓣惑功筢簿粹遮龋。 s t a l l 豪示功簸瘿侉不憩黄搂,菇蠢袋投数摇,蠛袭甭支持一令控潮管道请求。在经 掰条件下都不允许主凝返溺s t a l l 。 n y e t ;嫒爆予褒遮骥撼下篷键手镶号。 2 4 。聿。3 枣务格式 包事务嵇式凝撬璇固类强矮变化。鸯瓣莓孛溃嗣类受:嚣l 处理( b u l k ) ,控甫* j ( c o m r 0 1 ) 、 申瓣( i n t e r r u p t ) 窥舞步( i s o c h r o n o u s ) 。 箍楚璎霉努 蹴处疆攀势类型懿特点怒黼错误稳涮秘器试静方法洙保谖主枫嗣功髓部件之间避 行秃差错躲数攮转辕。挞撼疆事务是出糠记、数撵窝遐手龟稔残鹣三狳段鹣事务。在 蔟黪濂戆剁蕊簿建条 串下,数撬涂覆露以祓搓手麓号黪挟,瓤蔼产生没有数掘键簸戆 鹜i 墼:! 董强! ! 速篮遂盐墨噩塞 ! j 两阶段的事务。 控制事务 控制传输最少有硪个事务阶段:建立和状惑。控制传送明以霄选择性地包援建立和 状态阶段之间的数据阶段。建立总是在建立事务的数撼时根上馒用d a t a 0p i d 。收到 建立的功能部件必须接受建立数掘并用a c k 应答,如果数据被损坏,则丢赛数摄旦 不返回握手。控制传送的数据阶段,如果奄的诿,由一个以上螅竣入或输出事务捣戏, 遵守和批处理传送相同的协议规则。控制传送的状态阶段是序列中的最囊一个操作。 中断事务 中断事务可由输入或输出构成。一旦收到竣入标避,功能邦件便露返回数据,n a 妥 或s 1 a l l 。 同步事务 同步事务有标记和数据黔段,面没有握手除段。主极发出辕入或竣爨标记后,藕 口( 输入) 或主机( 输出) 传送数据的数据阶段。同步事务不支持攥手玲段戴重试功 能。同步事务不支持切换时序。 2 。f iu s b 设铸架构 一个u s b 设备可以分成三层。最低一层是用于传送积接收数握包蜓总线接口;中 间层则是用户处理总线接口与设备上的各个端点之蚓形成的数撼路出,个蝼点楚数 据的最终使用者或提供器,它可以被麓 乍数据源或是数握接收卷;最毫一层则是枣 亍 总线设备提供的功能模块【2 5 】。 本小节描述了一个u s b 殴备中间层的通用属性与操作。设冬中的某些功垮傻用 这蝗属性和操作,通过总线接口并最终同主枧进行逶信。 2 5 1u s b 设备状森 圈2 - 9 描述了内部可见的u s b 设备状态川。u s b 设备执行复位操作,以此采响 应来自于主机上行端口发出的复位请求。当复饭信号结束后,u s b 设备就会复位。 从圈2 - 9 中可以看出,一个u s b 设备具有以下几种状态: 连接:一个u s b 设备可以接入u s b ,也可以从u s b 上拆除。 上电:u s b 设备可以从一个外部电源或通过与其连接的集线器获得电源供应。 堑釜墼羹鳖登| 竺焦签遥迮堡噩蕉 一。 登 墅2 - 9 设备状惑鹫 缺省:在设蛰上电之矮,巍剐它从总线土接疑了令复位信号轰,它孝能瓣任一总 线楚毽掇俸做出响应。 缡址:当设誉刚上电箴复位之震,鞭有匏设蛰酃是爨嫒省戆缝。妻枫在逡缓或受霞 操作之联。会为每个u s b 设备分配令啦一懿鬯垃。 配鬟:在u s b 竣鍪可珏健矮之瓣,必绶黠该疑蚕遴行配鬻。 挂越:为了节省惫源,当设备在个特定鼹鲻逡浚商观涎戮彳壬篱慧线掇捧,它就会 自动进入挂趟状态。豢设投起时,u s b 设备绦嫠了毯括英缝聚稻酝置僖怠在内瞧 饪一个内部状态。 2 5 2u s b 设备请求 u s b 设备在 ;_ f 零运行孛,要透行一系到懿蘧麓设备搽俸,魏动态撼援、越缝分絮、 配嚣、数据传送期电源管理等,这些都要求和主机的信毖交互f 蝴。霉此,u s b 协议定 义了一系列的标猴设奄请求。姆个u s b 设餐请求出b m r e q u e s t t y p e ,b r e q u e s t ,w v a l u e , w l n d e x ,w l e n g t h5 部分缀成,觅表2 - 3 。 望望;:! 羹望1 2 鏊夔亟i ! :萋噩蕉 一一竖 袭2 - 3 u s b 设备请求 撩蒋壁 竣大小 馕 摇述 0 b m r e q u e s t t y p e l霞露 磷求赫铤: d 7 :佟输蠢舞 o = 主机至设赫 l 一设器至主棍 5 :饕鬟 0 ;标准 l = 类 2 = 厂磷 3 = 爨爨 d 4 ,0 :接受毒 0 = 设器 l = 接田 2 = 端点 3 = 冀穗 3 1 * 裸露 l b r e q u e s t 1 值舆体请求 2 ¥| g e2 蓬,搬攥不嚣钓谤浓瑟变纯鹣 字汝域 3w l n d e x2 索引或偏移根搠不同请求丽变化的字 长域,獒蘩羯予传羧索葶l 潼 或麓移鬣 6 w l e n g t h 2 计数如果存在一个数据阶段;撰 獭黉接稳翦数撂字节蘩 由于篇幅关粼,遮艉就不辩详细介绍了,具体的内嚣砸以参考u s b 2 。0 换议黝第 本章详细系缆地介绍了u s b 2 0 协议,逖将霄助予我们缀好越理辫u s b 2 。0 麴遄信 魂麓与爨壤。 墅! 磐:! 堡鹜i ! 揍塑送鎏墨茎叁 1 7 第三章u s b 2 0 接瑟电路设计 逶过上一誊u s b 2 0 镑议抟分绥,我稍对u s b 接翻有了跣较深入韵了群,本露中 我嚣3 将讨论u s b 2 ,0 接弱抟基本设诗憨怒,绘囊u s b 2 0 接黧黔瑟统搿絮,势且详露介 缨了备个模块豹实现。 u s b 犊口袋绞惫黟硬 孛、髫静嚣驱动程净三部分。两为磺件电潞是本文的重点, 瑟以致钠将着重贪缓该矮蠢鼹蠖掌 滚籍实魏,嗣慰篱攀穷缮露 串耜黎凌兹设计。 3 。1 u s b 2 。0 攘嚣系统实现框瀚 依攥u s b 2 ,0 的耱议要求,校捶功戆竣及软硬俘实袋黥戆器程度,对u s b 2 。0 按疆 电路进行了相应的模块划分。从爆3 * l 中可以看毖,整个系绕稳硬停电爨可以分成以 下凡个舔分:收发嚣 s d r a m 型! 曼i :! 鏊塑堡焦数选盐量墅丝 一 ? s d r a m - ) d m a - ) 缓存控制器- ) u s b 协议控制器 其中前两种传输通道存在于控制传输过程中,后两种传输遴邋则存在于其它传输方式 中。 缓冲区采用黼步f i f o 结构,f i f o 使用标准的单口同步s r a m 实聪。与使用双t :3 r a m l 9 j i “或是弊步f i f o f ”1 作为缓冲区的方褰相比,该方案可以有效地降低开发成本, 毽为鞭譬r a m 的造餐远高予纂霜r a m 。缓存揆裁器硬释实瑗框霆懿鬻3 + 1 4 辑汞。 图3 1 4 缓存控制器工作程黼 u s b 各个不同的端点应该对应不同的缓冲空间】,豳为每个端点所对成的传输方 式、传输方良以及后滤强:臻都不尽籀蘑。键是为了节省r a m 演疆搏野镑,迸一步降 低开发成本,本文采用了不闻端点缓冲区甍鼹躲结搀。不姻鲻点的旋爝酱_ 爨不圈,缓 冲隧窑量也不定相同【”j 。在本设计中,按制端点传输的最大数据觎大小为3 2 1 6 b i t s ,其它蒋输蕊点最大数爨黩容蘩为2 5 6 1 6b i t s 。基予以上考虑,本设诗镬蕊漾发 为2 个字节,长躞为2 5 6 嚣r a m ,也就是大小为2 5 6 1 6b i t s 的r a m 。这忑黟魁雨 黜端点的传输中嫩大数据包的察量,以此来保证每个数据包的完整传输。 因为不麓镥滚方式弱最大数爨氛容量不蠲,弱就缓孬控露器要受爨送分不嗣瓣佟 竣方式,以便绘麓分醚不羁的嚣德空阕。搬裳3 - 4 蹶示,羧裁传输,仪绞幢爰每个r a m 中地址为0 0 h 一- - 3 1 h 蚋毒储空蚓,这是控制传输中的最大数掇包的容爨;其它传输方 式,使焉每个r a m 中趣垃为0 0 h - - f f h 静存健空闻,这楚冀鼗罨毽静袋大容量。 考惑到u s b2 , 0 褰速数攒瓣传浚惶鳃,个缓冲匮校灌满足要惑。先了减小存镶 署翻读取数据的镣德时间,本设计采耀了双缓冲送的缓存缝穆,硬件电路可以皂动程掰 鲨i 垒;:! 蓬謦| ! 篮墼羹亟量i l :蕉 ! 表3 4 r a m 地址分配 传输方式最大数据包容量使用地址 描述 控制传输 3 2 1 6b i t s o o h 一3 l h 控制传输的有效地址,溢出则出错 批量传输 2 5 6 1 6b i t so o h f f h其它传输方式的富效地址,当没有 中断传输写潢整个r a m 时,袭示数据传竣 同步传输 错误或糟当前传蝓结窳 个缓冲区闯进行转羧,这样就可以傈证u s b 在处理一个数戮包的过程中,同时可以处 理下一个数据包。也就是同时可戳对不同的r a m 分别读写,减少数据的等待时间, 撵高了传输效率以及总线利用率。两个缓存的状惫转换过程如图3 1 5 所示,其中 e o n t r o | l e r 负责控箭两个r a m 状态晌转换。两个r a m 不能葡时读或写,也就是说, 葡时翔,两个r a m 的状态是不能稠同的只有写完r a m i ,r a m 2 爿能进入写状 态;同理,只有读完r a m l ,r a m 2 才能进入读状态。r a m 的状态转换不仅和自己 静当前袄态有关,而且和另一个r a m 的当前状态有关。 i :o n t r o l l e r 图3 1 5r a m 工作的状态转换图 本文设计的缓存结构采用s r a m 实现的f i f o 结构,更为新颖的是采用了所有传输 端点缓冲区共用的双缓存结构。事实i 正明,这种结构在保证传输速度的同时最大限度 逾降低了开发成本和硬件开销。 3 。2 + 5 速率匹配器 浚模块受奏渗调处在不曩时键域煞缓存控制器中翡数据与d m a 总线上静数攒之 蚓传竣的正确性。 u s b 2 0 接ui p 核的设“与开发 3 2 从本设计提出的u s b 2 0 硬件电路构架中可知,缓存控制器处在u s b 的工作时钟 域。这是因为u s b 2 0 接口电路为了同步u s b 传输线上的数据必须工作在3 0 m h z ( 高 速) 或是7 5 0 k h z ( 全速) 的时钟频率下,这个时钟源由收发器提供。同时,系统中 的d m a 总线接v i 却使用其它的系统时钟,它是相对独立于u s b 系统的。因为这样就 可以保证在u s b 接口电路没有连接到主机或处在挂起状态( 收发器此时也处在挂起状 态,不提供时钟) 时,p c 机仍然可以将数据通过d m a 总线将上传或下传到s d r a m 中,而不必受u s b 接口电路工作与否的限制。因此这就要求我们考虑不同时钟域模块 的异步工作问题,速率匹配器模块就是负责处理这种情况。 当信号从一个时钟域传送到另一个时钟域时,出现在新时钟域的信号是异步信号, 接收异步信号的电路需要对其进行同步。同步可以防止第一级存储单元( 触发器) 的 亚稳态在新的时钟域里传播蔓延。因此速率匹配器模块要完成分别与缓存控制器和 d m a 总线的同步问题。 亚稳态是指触发器无法在某个规定时问段内达到一个可确认的状态”1 。当一个触发 器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某 个f 确的电平上。对任何一种触发器,在时钟触发沿前后的一个小时闻窗口内,输入 信号必须稳定。因此可以采用同步器的方法i l l i ,信号同步的目的就是防止新时钟域中 第一级触发器的亚稳态信号对下级逻辑造成影响。如图3 1 6 所示,从某个时钟域传来 的信号应先通过原时钟域上的一个触发器,然后不经过原触发器和同步器的第一个触 发器两个时钟域削的任何组合逻辑,直接进入同步器的第一个触发器。这种设计可以 保证后面的触发器获得前一个触发器输出时,前一个触发器已退出了亚稳态,并且输 出已稳定。 d a t a l l n c l k a lc l k ad o m a i ni 呈! ! bd o m a i n j 罢l k q h u t p u t 图3 - 1 6 同步器电路 但是对于许多应用,跨时钟域传送的不只是简单的信号,而是数据总线、地址总 线和控制总线等复杂信号,握手方法可以让不能预知相互响应时间的不同数字电路间 u s b 2 0 搂u p 棱的凌订与玎发 3 3 实现有效的通偿。本设计簸采用了握手协议来解决异步时钟域的穰号健输。如豳3 - 1 7 所承,握手也需强用到同步器双方电路在声明或终止各自的握手信号前都要等待对 方懿穗应。蜇先。电黪a 声骥它豹请求镶号,然磊,瞧鼹8 捡溅戮该潺求缮号有效蓐, 声明它的响应信号。当电鼹a 梭测到响应僚号有效届,终止睡己鲍谗袋信号。最藤, 当电路b 检测到谤求无效后终止自己的口融应信号。除非电路a 检测到无效的响飚信 号,焱裂它不会嚣声臻瑟熬请求接号。 0 c l k ad o m a i n 国 c l k bd o m a i n 图3 - 1 7 垒握手售号 在零设计中,速率遵黎器帮d m a 惑线控籍模块之潮嚣要遘雩亍鼗瓣交互;蠢熊袋 展仑摄特寄存器秘握手售鹭缝合躲方法柬解决总线网步阕题。如图3 , 8 所承,这转 电路包蜒一个像持信号总线蟾鹰存器,以及令握手概溅。握手绩号揍示耨时钟域戆 奄路舞时可敬辩总线采群,以授源电路褥时爵豉更接当前骞存器中鼹存麓内霉。 在这秘躞诗中,当起d m a 慈线土写数搂聪,缓存控铡嚣将数据( 信号总线) 筝储 褒保持鹰赛器中,弱对发出请求蘩号,这溺令韵侮潮垂雩菠生,嚣为落漆绩号至少嚣花 一个露镑嚣麴力畿迁凄鼗毫鼹速率器懿器稔溺爱它,当接受电鬻遮率照鬣器袋撵戮羧 r e c u e s t li。h。a。nd。sh。a。k。e“t r e q 。 r h a n d s h a k e l - a c k lh a n d s h a k e | _ a c k d m a l 型生l d a t a :巨巫悃 d a t a c o n t r o l l e r 匿固 d a t ar ”。r “。 d a t a h o l d 同s 鑫m p e : b u f f e rc o n t r o l l e r s p e e dm a t c h e r c l kaq _ q m _ 蛳c l k bd o m a i n 鬻3 - 18 速拳匿照器设计方法 誓i 垫! :i 鎏鹜i ! 燕整壅釜妻2 i :蒸型 凇( 信号总线) 时,它缴出响应信号。然后速率匹配器再向d m a 掩制器提出请求, 瀵过转醚a 憨线将数据霉裂s 0 鼗a 麓中。弱瑾,鲞觚羚瓣a 总线读数掇露,疆存控懿 器发出清求倍号,速率腰配器接受到请求信号后,向d m a 总线掇出请求,然螽褥从 d m a 总线上谈到的数据存储到保持寄存器,同时给缓存控制器响应信号,缓存控制器 浚爱姥售号篷,海数据慕襻捌毒存嚣。觚爨3 8 中爵懿,缓存控糕器霞霸c l k a ( u s b 收发器提供的时钟) ,而遮率匹配器和d m a 控制器使用的都是c l kb ( 非u s b 功能 模块使用的系统时钟) 。速率躁配器的作用就是将协调礴个不同时钟蜮的缓存羧铡器骢 d 期a 总线上数数据交互。 从理论上来讲,数据总线在不问时钟城之间传输,在一定程度上鸯定会降低总线的 传输效率,因为握手信号的交互会占用一部分总线时划。但是为了保证努步模块之越 数撵黄舔熬正确注,这又跫必要黪毽藏。在实际弱浚诗过毪中;可以遗避选觏会透酶 握手信号米尽基减少占用时间,这样就可以尽可能燃较少降低总线效率,瀵是聚绫懿 博输要求。 3 2 6 m c u 矮弱龟褥 芯片集藏了8 位m c u u s b 。首先运遥u s b 接嚣燎数据从p c 鼗髓瓣系统懿s d r a m 中。然后远过e p p 接口将数攘从s d r a m 上传到p c 上,通过对比p c 。熊爨数撼与 上佟裂p c 熬数援,爵璐梭测主爨u s b 觚主挺攘竣到躺数挺楚委蕞穗。 e 测试上传釉下传:p c - u s b - p c 。下鼗,首先p c 递避u s b 接霸糖数躐铸输 剡系统的s d r a m 中:上传。通过u s b 接网将s d r a m 中存健拣数粥秀蕊壤刘p c 。 对比p c 上馋埝鳆壤数撂与上传戮p c 的数攥;露黠稔溅u s b 上转帮下铸戆数摄楚瑶 援确。 在整个测试过程中嚣娶搂鼹a g i l e n t 鹣逻辑分瓣捩、m a n l y 鲍攀片挺镑凑嚣簿王嫠 撩精骢逛。 4 4 测试缩祭 测试分强步来宠或,嚣宠是f p g a 戆验涯,然爱蕊蕊冀的验涯。下蘸分嶷绘毫蘸 _ 稃测试方法豹测试终果。 4 茸。lf p g a 测试络鬃 u s b 2 0 搂弱电路静f p g a 验证分戚两步采邋行。 1 u s b 2 0 接口电路的单独f p g a 验证 这一多是作为i p 核的零独验迁,露为电路燧模不燕绞大,联隧逸耀x i l i n x 公麓靛 s p a r t a n - x c 2 s 2 0 0 - p q 2 0 8 a f p 0 3 9 芯片避 予验证,该芯片犬,l 、为2 0 万门。 测试电路板 闺4 3 为u s b 2 0 接疆邀黠的f p g a 验渡平蠹。 溅试疆标 漾4 一l 为i j s b 2 0 接口电路的测试措桥。从该袭中w 以善坦,电路的最篾工作遴攫 这戮4 5 m h z ,宠全瀵足u s b 2 0 怠踺系缀3 0 m h z 抟王终蘧蹙婪求。 蔼遮握手穗号酌梭测 囝4 - 4 描述了u s b 2 。0 麓邋握手信母的梭测过程。这些匿形璺然a g i t e m 逻璐分橱 仪截取下寒熟波形。娄u s b 端麓适上主极鬟,支持嵩逶簧羲懿u s b 设蚕轰窭镰酶k 信号,支持离遮传簸貔主魏收劐该臻号嚣,发出c h i r pk 敬c h i r pj 信号,其搭躺薅号 见该图中的l n o 瓤l n l 聪条髂号线。 笙i 墼:i 鳖登i ! 燕塑羹盐耋噩筮 一墅 幽4 - 3u s b 2 0f p g a ( s p a r t a n ) 验证平台 麦4 。tu s b 2 0 接口电路静f p g a 测试指标 测试悫容 溯试俊 f p g a 蕊片工捧奄压 3 。3 v 最窝工 髻速度 4 5 m h z 电路瓶摸大小 1 6 7 0s l i c e s 占髑r a m 大小l k b ( 2 片2 5 6 xt 6 b i t s ) 总线枚举 枚举过程嚣要经过几次主樵和u s b 设冬之阂鲢数摆传输+ 这洋主撬才畿够羹三确 得到设备的描述售息,同时u s b 设备哇i 得到圭极分配黪逸圭壹等倍惠。鹜4 5 莘鞋蚕4 6 描述了u s b 2 0 的救举过程中主机积u s b 设备的一次交互过程。霭4 ,5 中描述主梳发 澄碡1 4 麓速握手信号靛捡溅过程 笙i 垒! :! 羹警l ! 燕遂羹_ | 生蔓2 | :鍪 塑 幽4 5u s b 2 0 枚举过程( 主机发送g e td e s e r i p t o r ) 出信号- - c 38 00 60 00 10 00 04 00 00 0d d9 4d d ,其中最初的一个字节c 3 为该数 据包的p i d ,9 4 d d 为浚数据包的c r c 校骏码。 u s b 设备收到主机的请求后,通过m c u 的配最,然后姆浚u s b 设螯的设餐描 述符d e v i c e d e s c r i p t o r 发给主机。从图4 - 6 中可以餐出,设器返圈的数据为:4 b1 20 l o o0 20 0o oo o4 07 c8 d5 26 f0 00 00 0 叭8 c5 7o o 。同理,开始的一个字节4 b 为该数 据包的p i d ,最后两个字节为1 6 位的c r c 校验码,中阉鲍1 8 个字苓为该u s b 设备 的设备描述符。 := 了琶”= = 了叠 了:童l _ _ to1 1 0u9 , i c v r e ll ; t e r s e li 龋晦¥= 。:= :嚣= 。= = 。= = = j := = 。_ = 年,= 。= = = := _ :二_ = i 二:_ :兰= = :_ := ,j 兰= = :一。 m wl , 一。毫 :一a t a :i 二玉1 j 辽i 丑一唑! 臣至三基l 蔓:i 型 :亘墨亘二王:i 夏! o m 。l j _ j j 剑j 0 旦上她生型。里蛆型l 上j 唑l o 坠l 婴 塑! ! ! _ _ 扩“= 一,”7 。、? ”:一 蠲4 - 6u s b 2 0 被举过程( 後备向主视发送d e v i c e _ d e s c r i p t o r ) 当主丰凡接收到设备所有的配鬣播述符后,枚举过程结束。此时,主机会根据设备 戆配置信愚黼载驱动程序。驱动程序加载成功后,u s b 设备已经可用,处在等待传输 状态。蔺4 7 给出了在p c 机上裣铡到u s b 设备时设备管理器的状态。 功髓传输铡试 按照前面旋及测试方案中的批量传输的测试方法,我们进行了相应的验证。通过 测试可知,u s b 接翻电路的批量传输的上传和下传数掘完全正确。 传输速率测试 表4 之给出了在不同的工作模式下,u s b 接口电路的有效传输速率。实际上u s b 接阳电路的传输速度和驱动程序的设计密切相关。协议中规定每个微帧( 1 2 5 u s ) 可以 麓i 垒;:i 鎏鏊! 芝蓬釜遂望:蔓蠹鍪 鳖 整瘁ou s b 凌器鬃上童辍惑设餐譬遵器蕊蔽惫 l 工作速度模式谢激傣输速率 | 蠢速( 4 8 0 m b p s ) l 麓m b p s l 全速( 1 2 m b p s )4 m b p s 传臻l 一3 令矮簸事务,为了篷毒簧簸效攀,在驻动攘掺中竣诗凌每个徽筷中转输三个 警套。 功耗测试 表率3 鲶拣了u s b 绥蹬电路在谈f p g a 芯冀骧涯对疑功耗媾况。通逡霹魄该褒孛 耐举懿嘉逮、金速帮捷越三辩甭麓工捧状嘉下秘密器功耗,我稍可潋嘲鬃看磷,警电 辫处在挂越状态时,毫辨酾功耗最,j 、,灏次是在全遂工作时,电路的功耗最小,为 2 5 4 m w ,孬蛩瓷鼹王传程怒逮霹,邀游滟功耗鼗裹。 这蓬只怒在f p g a 测试时箭功耗满况。一觳来讲,为了谈端片内部电路以展i o 鬻脚静驱动能力足够大采裸诚电路的形常工作,f p o a 芯片内部都使用了驱动能力较 丈蕊器搏,戮鼗功耗龟一避鬻会鞍太。餐楚在实际瓣a s i c 实现辫苍片孛,电鼹巍功 耗将会低襻。 望i 坚:! 羹望i ! 燕箜莲鎏墨茎冀签 表4 - 3u s b 2 、接疆惫鼹翁f p g a 功耗灏试 测试内容测试蠖 曦路 裹遮 5 8 4 m w 功耗 全速2 5 4 m w 挂怒l f 垃m w 2 基于数码相机系统的u s b 2 0 接豳电路的f p g a 验诞 这一步是在浚i p 核单独验诞通过的基础上,姆数勰楣掇联霉要鼹到斡艨毒辨攘 块整合到一起邀嚣骏渡,以馁溅试整个系绞蕊委可隧委卷工侮,u s b 2 。0 瞧黪俸巍系统 的个串行接口电路。测试电路如翻4 - 8 所示。因为整个系缆魄路豹规模较大,麟以 f p g a 验i 正采用x i l i n x 公司的v e r t e x l 0 0 0 e ,b g 5 6 0 芯片,该:基慧大,、失1 0 0 万 、j 。 圈4 8u s b 2 0f p g a ( v e r t e xe ) 验证平& 通过灏试可知,整个系统工作正常,可以完成数粥相机的墩景、接照、n n n 压蠛、强放、上传等功缝。冀中u s b 2 0 羧墨邀黪像工季挈正常,可以歪磺媳完成数据 的上传和下传,商速工作时的有效传输速率同样可以达到l o om b p s 。具体的测试步骤 与s p a r t a nf p g a 的验证步骤稠同。鞠为这鼹u s b 2 0 接日电躞在艇个数码辐搬系绞孛 的验证,腰戳无法具髂测斌u s b 2 ,0 邀嬉朗荤狻功聪等攒德,鬣忿这鼹羲不簿残举。 u s b 2 0 接ui p 核的设稳与开发 4 , 4 2 基于数码棚机芯片的u s b 2 0 接口电路的测试结果 圈4 - 9 为整个芯片的显微照片,图中指出了u s b 2 0 电路模块的版图位置。芯片包 含了整令数褥稳橇系统,u s b 2 0 按
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 庆城县职中开学通知书
- 府谷县封控演练通知书
- 建设用地规划条件通知书
- 开发商暂停收费通知书
- 开展合规检查处罚通知书
- 开福区解封文件通知书
- 张官营镇停水通知书
- 张沟社区封村通知书
- 彩云北路停电通知书
- 征兵适龄青少年应征通知书
- 家庭服务业劳务品牌技能大赛 《整理收纳》项目理论复习题库(参考100题)
- GJB9001C-2017国军标整套体系文件汇编(质量手册+程序文件+表单)
- 进入有限空间作业工作票
- GB/T 29790-2020即时检验质量和能力的要求
- 最新部编版人教版一年级语文上册《江南》优质教学课件
- 艰苦边远地区范围和类别表
- 高考作文指导:理顺说理逻辑增强议论文生命力 课件(47张PPT)
- 《普通高中英语课程标准版》
- 国家开放大学人文英语4 unit1~8边学边练答案完整版
- 直流充电桩出厂检验报告
- 风电项目开发流程
评论
0/150
提交评论