首页 USB3.0中的CRC校验原理及实现

USB3.0中的CRC校验原理及实现

举报
开通vip

USB3.0中的CRC校验原理及实现USB3.0中的CRC校验原理及实现 USB3(0中的CRC校验原理及实现 2011年9月15日 第34卷第18期 现代电子技术 ModernElectronicsTechnique Sep.2011 Vo1.34No.18 USB3.0中的CRC校验原理及实现 王良俊,马琪 (杭州电子科技大学微电子CAD研究所,浙江杭州310037) 摘要:循环冗余码(CRC)是USB协议中重要的错误检测措施.在此分析了USB3.0数据包的基本格式以及USB3.0 协议中CRC校验的特点,针对USB3.0数...

USB3.0中的CRC校验原理及实现
USB3.0中的CRC校验原理及实现 USB3(0中的CRC校验原理及实现 2011年9月15日 第34卷第18期 现代电子技术 ModernElectronicsTechnique Sep.2011 Vo1.34No.18 USB3.0中的CRC校验原理及实现 王良俊,马琪 (杭州电子科技大学微电子CAD研究所,浙江杭州310037) 摘要:循环冗余码(CRC)是USB 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 中重要的错误检测措施.在此分析了USB3.0数据包的基本格式以及USB3.0 协议中CRC校验的特点,针对USB3.0数据高速传输的要求,设计实现并行发送端CRC产生和接收端CRC校验电路,功能 仿真结果证明了其有效性. 关键词:USB3.0;CRC校验;VerilogHDL代码;仿真结果 中图分类号:TNg19—34文献标识码:A文章编号:1004—373X(2Ol1)18—0170—02 CRCPrincipleandItsDesigninUSB3.0 WANGLiang-jun,MAQi (MicroelectronicsCADResearchInstitute.HangzhouDianziUniversity,Hangzhou31003 7,China) Abstract:CRCisanimportanterrordetectionmeasurewhichprotectsovercontrolanddatafie ldsinUsBspecification.Thebasic packetformatandcharacteristicsofCRCcomputationinUSB3.0areanalyzed.Theparallelci rcuitsofCRCgenerationintransmitter andCRCdetectioninreceiveraredesigned,whichcandetectwhetherthepacketsintheevento fdamageduringtransport.At1ast, Simulationresultsproveitsvalidity.Comparedwithtraditionalserialcircuit,theparallelcirc uitforwhichtheclockfrequencycanbe reduced,thecircuitcanbeachievedeasilyandthepowerconsumptioncanbesignificantlyred uced. Keywords:USB3.0;CRC;VerilogHDLcode;simulationresutts 在通用串行总线(USB)的数据传输过程中,数据循 环冗余校验(CRC)E13是为了保证数据传输中数据的正 确性而采用的数据保护方法.USB3.0协议中为了检 测和减少这类错误,一方面提供了一系列硬件和软件措 施,以保证数据传输的正确性;另一方面在每个包中加 入检测位来发现这些瞬时的错误.协议中对每个包的 控制位和数据位提供了循环冗余校验,若出现了循环冗 余码的错误,则认为该包已经损坏E_3_. 本文介绍了USB3.0设备控制器中的协议层在数 据收发时,如何采用并行电路来完成数据包发送时 CRC码的产生和接收时CRC码的校验,并行处理方法 与常用的串行处理相比,极大地降低了功耗和电路综合 的难度. 1USB3.0中的CRC校验 USB3.0协议规定了4种类型的包[s]:链路管理 包(LMP),传输包(TP),数据包(DP)和同步时间戳包 (ITP).链路管理包(IMP)只遍历直接连接的端口,主 要用于管理该连接.传输包遍历主机和设备路径中的 所有链路,用来控制数据包流,配置设备和集线器等,传 输包没有数据部分.数据包遍历主机和设备路径中的 所有连接.同步时间戳包是一个多播数据包,由主机发 收稿日期:201卜O4一O2 送到所有激活的连接. USB对所有传输数据的保护采用了CRC校验和 数据重传的方式.当通过检错码判断错数据包错误时, 发送端通过重发来达到纠错的目的.USB3.0数据包 由数据包头(DPH)和数据包有效载荷(DPP)两部分组 成,DPH类似于一个传输包,DPP中有一个32位CRC (CRC_32),可以确保数据的完整性.数据包以16B的 数据包头开始(有的包只有包头没有数据部分),包头含 了如何处理该包的信息.一个完整的USB3.0数据包 的格式如图1所示. DataPacketInclusiveofaDataPacketHeMer,DataPacketPayload 岫衄l皿l皿皿Iiill 图1完整数据包格式 在数据包头(DPH)中,有一个长度为2字节16位 的CRC校验码对数据包头的12个字节信息进行保护. 在数据部分(DPP)中,包含最大1024B的数据,有 一 个长度为4B32b的CRC校验码对数据部分进行保 护.另外,在数据包头中,有2B的链接控制字(1ank Controlword),其中长度为5位的CRC用来对链接控 制字中其他的11位信息进行保护,格式如图2所示. 第18期王良俊等:USB3.0中的CRC校验原理及实现171 Mse[二工二]SBc…删 皿口口皿皿皿 l 图2链接控制罕格式 在USB3.0协议中,CRC校验有以下特点: (1)在发送端,cRC校验在初始状态时将余数寄 存器的值置为全1,如果没有这样的预设置,就不能正 确地保护数据包开始为0的数据位.在接收端,也同样 将移位寄存器预设为全1状态,以保证接收到的被除数 加上一个相同的常数,如果数据传输无误,则余数产生 器应该得到相同的余数. (2)采用了3种类型的CRC校验:5位,16位和 32位cRc校验.5位CRc校验采用的生成多项式为: G(x)一X+X.+1,如果准确无误地接收到数据,接 收端的5位余数应该是01100;16位CRC校验采用的生 成多项式为:G(X)一X?+X+X.+1,接收端的 16位余数应该是10000000000001101;32位CRC校验 采用的生成多项式为:G(X)一X+X+X+X?+ X+Xu+X+X+X+X+X+X0+X+1, 接收端中的32位余数应该是32HC7O4DD7B. (3)发送端对输入的数据作除法运算后,将所得到 的余数按位取反,取反后的余数放在待发送数据的高 位,组成了新的数据流.接收端CRC校验采用与CRC 产生相同的算法来实现,只是作为输入数据的是原始的 被除数数据和对应的CRC校验码组成的新数据流.如 果接收端的余数与(2)的要求一致,则说明接收端准确 无误地接收到了数据. 2并行CRC校验的设计L6.] 在USB3.0协议中,数据最高传输速率高达 5Gb/s,串行方法无法满足实时性要求.本文中,CRC 校验采用的是并行设计方法. 在USB3.0协议中,数据收发是以字节为单位来 传输的,所以在发送端和接收端可以通过一个8位移位 寄存器将串行数据转换成字节表示形式,然后再对数据 进行并行的CRC码产生和校验. 以链接控制字中的5位CRC为例,发送端并行 CRC产生的设计结构如图3所示.计数器用于产生标 志信号,计数值为8时串并转换结束,数据暂存寄存器 获取字节数据,经组合逻辑计算后产生新的校验寄存器 值.并行CRC5的余数多项式表达式如下: crc_d[O]<一hold[6]hold[5]holdE3]hold[0]ere—d[O] ere—dEE]crc_d[3]; crc—dill<一hold[7]hold[6]hold[4]hold[1]'crc—dE1] crc—d[3]crc—dE4]; crc_d[2]<一hold[7]hold[6]'holdE3]hold[2]holdEo] crc_ d[0]crc_d[3]crc_d[4]; crc— d[3]<一hold[7]hold[4]holdE3]'hold[1]crc,dEo] ere—dE1]'ere—dE4]; crc_d[4]<一hold[5]hold[4]hold[2]ere—d[13crc_d[2]; 图3发送端并行5位CRC产生的结构 在接收端,按照和发送端同样的电路,对发送端产 生的CRC校验码和输入的数据一并进行CRC校验,如 果接收端成功接收,最后得到的CRC校验码为常数 (01100). 3仿真结果 发送端和接收端的并行CRC产生和校验设计用 VerilogHDL实现,用ModelSim工具进行仿真,发送 端并行CRC产生和接收端CRC校验的仿真波形分别 如图4和图5所示.在发送端,每输入8个数进行一个 并行的CRC5计算,crc—d寄存器的值随发送的数不断 更新,直到最后产生一个余数,在接收端将该余数和发 送端的数一并进行CRC5校验,最后CRC得到一个常 数值01100. 图4发送端并行CRC产生的仿真波形图 图5接收端并行CRC校验的仿真波形图 4结语 虽然并行方法在电路规模上比串行算法大,但是能 够在单位时间内完成更多位数据的校验,可以有效降低 电路的工作频率,硬件实现也较容易.USB3.0数据 的最高传输速率高达5Gb/s,采用并行CRC校验设计 (下转第174页) 174现代电子技术2011年第34卷 察到和".的波形如图8所示. 此时测得Ui一14.14mV,U.一1.788V,A一 【,./Ui=一1.788V/14.14mV=一126. 图6两级阻容耦合放大电路的仿真电路 由图8可以看出,".的波形没有明显的非线性失 真,而且".和".的相位相反.另外可以看出,两级放 大电路的放大倍数比单管放大电路的大很多. 图7直流工作点分析图8两级放大电路 的和‰的波形 2结语 用Multisim10软件进行建模,仿真,通过在元器 件栏和仪器仪表栏中选择合适的元器件和仪表,设置属 性并在面板上合理的调整各个元器件的方向位置构建 仿真电路,仿真电路生成直观,简单,还可以随时改变参 数,并用示波器随时观察仿真波形,使得仿真更具有实 时性,直观性.本文应用Multisim10软件对单管共射 放大电路和阻容耦合放大电路进行虚拟电子技术实验, 可以十分方便快捷地获取实验数据.结果表明仿真与 理论分析和计算结果一致,突破了传统实验中硬件设备 条件的限制,大大提高了实验的深度和广度. 参考文献 [1]杨素行.模拟电子技术基础简明教程[M].北京:高等教育 出版社,2006. [2]童诗白.模拟电子技术基础[M].北京:高等教育版 社,2006. [3]康华光.电子技术基础模拟部分[M].北京:高等教育出版 社,2006. [4]崔文华.基于Multisim10的高频调谐放大电路[J].机电r 程,2010,27(2):19-21. [5]熊旭军.基于Multisim的差分放大电路仿真分析[I].现代 电子技术,2009,32(4):109一l12. E6]聂典,丁伟.Multisim10计算机仿真在电子电路设计中的应 用[M].北京:电子工业出版社,2009. [7]崔建明,陈惠英,温卫中.电路与电子技术的Multisim10仿 真[M].北京:中国水利水电出版社,2009. [8]李冬生.LDA仿真与虚拟仪器技术[M].北京:高等教育出 版社,2004. [9]崔霞,魏鲁原.Multisim10在电子技术实习中的应[J].实 验科学与技术,2010(8):7-9. (上接第171页) 完成USB3.0数据传输中CRC码的产生和校验.可 使高速USB串行接口引擎电路方便地与UTMI接口. 参考文献 [1]张爱丽.USB2.0主机控制器内核SIE的设计[D].广州:暨 南大学,2006. [2]ADERSONDon.USB系统体系[M].2版.北京:中国电力 出版社,2007. [3]郭熙业,苏绍璩,王跃科.并行CRC一32校验码生成算法研究 及其实现[J].计算机技术与应用,2008(5):1-2. [4]王成儒,李英伟.USB2.0原理与开发[M].北京:国防工业 出版社,2004. [5]张文豪,王春梅,姚秀娟.可配置m序列并行生成算法研究 [J].微计算机信息,2008,24(7):65—67. [6]王福昌,熊兆飞,黄本雄.通信原理[M].北京:清华大学出 版社,2006. [7]IntelCorporation.Universalserialbus3.0specification[M]. Revision1.0.Is.1.]:Intelcorporotion,2008. [8]王金明.数字系统设计与VerilogHDI[M].2版.北京:电 子工业出版社,2006. [9]夏宇阐.Verilog数字系统设计[M].2版.北京:北京航空航 天大学出版社,2008. [1O]林丰成,竺红兰,李立.数字集成电路设计与技术[M].北 京:科学出版社,2008. 作者简介:王良俊男,杭州电子科技大学微电子CAD研究所研究生.研究方向为集成电路设计与EDA技术
本文档为【USB3.0中的CRC校验原理及实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_219945
暂无简介~
格式:doc
大小:23KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-30
浏览量:21