下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 USB 3.0设备控制器IP核控制端点的功能验证

USB 3.0设备控制器IP核控制端点的功能验证.pdf

USB 3.0设备控制器IP核控制端点的功能验证

墨箫
2012-11-24 0人阅读 举报 0 0 暂无简介

简介:本文档为《USB 3.0设备控制器IP核控制端点的功能验证pdf》,可适用于IT/计算机领域

USB设备控制器IP核控制端点功能验证方法的研究吴从中王杰JamesYWang吴雨多(合肥工业大学计算机与信息学院,合肥合肥云宇信息科技有限公司,合肥澳门科技大学资讯科技学院,澳门)摘要:根据USB协议提出一种可用于指导USB设备控制器IP核控制端点的功能验证的方法。本文首先分析了控制端点和控制传输的功能及特点然后从测试平台的搭建出发按照控制传输的设置阶段、数据阶段和状态阶段分别讨论了USB主机和设备的控制端点之间的交互所必须遵循的规则并给出了详细的验证流程。最后以一款USB设备控制IP核作为测试对象对该验证方法进行了实践检验验证结果显示该验证方法可以用于指导USB设备控制器IP核控制端点的功能验证工作。关键词:USB设备控制器IP核控制端点功能验证中图分类号:TN文献标识码:A国家标准学科分类代码:StudyoffunctionalverificationforthecontrolendpointofUSBdevicecontrollerIPcoreWuCongzhongWangJieJamesYWangWuYuduo(SchoolofComputerandInformation,HefeiUniversityofTechnology,Hefei,ChinaHefeiYunYuinformationtechnologyCo,LTD,Hefei,ChinaFacultyofInformationTechnology,MacauUniversityofScienceandTechnology,Macau)Abstract:Inthispaper,wepresentthemethodologythatcanbeusedforthefunctionalverificationforthecontrolendpointofUSBdevicecontrollerIPcoreaccordingtoUSBspecficationAtfirst,weanalysethefeatureandfunctionofcontrolendpointandcontroltransferandthedesignoftestbench,thenwestudytheinteractionrulesbetweenthecontrolendpointsofUSBhostanddeviceonthebasisofsetupstageanddatastageandstatusstageincontroltransferAlso,weofferthedetailedverificationprocessAtlast,wechooseanUSBdevicecontrollerIPcoreasthetestobjecttotrythemethodology,andtheresultindicatesthatthemethodologycanbeusedforthefunctionalverificationforthecontrolendpointofUSBdevicecontrollerIPcoreabsolutelyKeywords:USBdevicecontrollerIPcorecontrolendpointfunctionalverification引言USB(UniversalSerialBus)总线协议自年推出后经历了低速全速USBUSB、高速USB和超高速USB三个阶段它在计算机外设、消费性电子、通讯、汽车甚至是生物医学和热学等领域都有着广泛的应用。年月新一代超高速USB协议正式发行实施其理论数据传输速率为Gbits考虑到bb编解码的效率USB的实际应用带宽将USB的~MHz提高至~GHz。由于在MHz~GHz带宽内存在着广泛的应用现在有众多企业在不同的应用领域内围绕着USB展开了相关产品的研发其中USBIP核的研发最具挑战性。在目前的集成电路设计中功能验证约占整个设计周期的以上高效的验证方法不仅可以保证设计的正确性而且可以提高设计效率。在以IP设计为核心的现代集成电路设计中IP核的设计效率和正确性就成为提高集成电路设计效率、保证集成电路设计正确性的关键。本文以一款USB设备控制器IP核为例讨论了USB控制端点的功能验证方法并完成了对IP核的控制端点的功能验证。该验证方法对IP核的IN端点和OUT端点的功能验证也具有借鉴意义。控制端点和控制传输从应用的角度看USB的传输分为两类:一类用于设备初始化时设备的配置以及设备运行时对设备的监控一类用于应用数据的传输。从传输方式的角度看USB的传输分为四类:批量传输、中断传输、实时传输和控制传输从传输方向的角度看USB分为IN传输和OUT传输。控制端点每个USB设备都有一个默认的控制端点其默认端点地址为数据包最大长度为字节。在所有的端点中仅控制端点既可进行IN传输也可进行OUT传输即数据可从主机传向设备的控制端点也可从设备的控制端点传向主机。当电源启动时主机通过设备的控制端点读取或设置USB设备中的各种描述符以确定或配置USB设备的功能包括总线带宽和电源等在设备运行时主机通过设备的控制端点查询设备的运行状态、下达控制指令等。图为USB设备控制器IP核控制端点的结构。控制传输控制传输用于设备的配置及监控它至少包含两个阶段:设置阶段和状态阶段。根据控制传输的请求类型部分控制传输需要在设置阶段和状态阶段之间加入数据阶段。设置阶段确定了此次控制传输的请求类型数据阶段根据设置阶段的定义完成主机与设备之间的数据交换状态阶段表明请求是否被成功执行。尽管控制端点数据包的传输是双向的但从设置阶段开始到状态阶段结束其数据包的传输方向始终固定只能在下一个控制传输里改变。链路接收链路训练与状况状态机EEPROM链路发送控制端点输入总线输出总线配置总线RxDataRxDataKTxDataTxDataK控制端点FIFO图USB设备控制器IP核控制端点的结构FigStructureofthecontrolendpointofUSBdevicecontrollerIPcore设置阶段控制传输的第一个阶段为设置阶段。在该阶段中主机通过向设备的控制端点传送设置数据包来要求设备执行设置数据中的指令。设置阶段分为以下两个步骤:)主机向设备的控制端点发送设置数据包)设备的控制端点回复主机设置数据包是一种特殊类型的数据包其格式如图所示。当数据头包中的S设置为、端点地址设置为时该数据包定义为设置数据包。设置数据包的净载数据(设置数据)始终为个字节它定义了控制端点所要执行的指令。设备地址路径字符串保留包类型EPFSHPSHPSHP数据长度S保留端点地址DeoblpfR数据包序号保留PP保留数据流ID保留链路控制字CRCEPFSDPSDPSDPwValuebRequestbmRequestTypewLengthwIndexCRCEPFENDENDEND图设置数据包的格式FigStructureofSetupDataPacket数据阶段控制传输是否存在数据阶段及数据阶段中数据包的传输方向分别由图中的wLength和bmRequestType决定。数据阶段分为IN传输和OUT传输IN传输中数据包的传输方向为:设备→主机OUT传输中数据包的传输方向为:主机→设备。数据阶段的IN传输分为以下三个步骤:)主机向设备发送ACK事务包请求设备向主机传输数据包)设备的控制端点回复主机数据包)主机确认数据包的接收情况。数据阶段的OUT传输分为以下两个步骤:)主机向设备的控制端点传送数据包)设备的控制端点确认数据包的接收情况。状态阶段控制传输的最后一个阶段为状态阶段。在该阶段中主机通过向设备的控制端点发送STATUS事务包要求设备确认是否成功完成了整个控制传输。状态阶段分为以下两个步骤:)主机向设备的控制端点发送STATUS事务包)设备的控制端点回复主机。验证方法USB设备控制器IP核控制端点的功能验证采用PIPE(Intel)的接口定义分设置、数据、状态三个阶段来完成控制端点的功能验证。测试平台测试平台用于模拟USB主机与IP核进行控制传输实现主机控制端点的各种行为及实现各种错误的添加和检测。测试平台的搭建采用分布式控制结构如图所示它主要由控制端点模块、仲裁模块、链路指令产生模块、包产生模块、链路指令检测模块、包检测模块、EEPROM模块(存储设备描述符)等七个部分组成。除EEPROM模块外其他六个模块用于模拟USB主机。测试平台与IP核的链路接口可配置成位MHz、位MHz、位MHz三种模式。测试平台的工作流程如下:)控制端点模块读入测试案例信息根据测试案例向仲裁模块发出传输请求)传输请求准予后控制端点模块将测试案例中包的信息和错误编码(用于决定是否产生错误包)提供给包产生模块经包产生模块组合处理后将生成的包发送出去)链路指令检测模块用于接收并检测IP核在接收到包后回复的链路指令并将检测信息提供给包产生、链路指令产生和包检测等模块。当链路指令检测模块检测到LBAD链路指令时链路指令模块将向仲裁模块发出传送LRTY链路指令的请求随之完成链路层重传过程。)包检测模块用于接收并检测IP核向主机所传送的包并将检测信息提供给链路指令产生模块和控制端点模块以便进行相应的回复。)一次控制传输结束后控制端点模块继续读取下一个测试案例。测试案例信息控制端点模块仲裁模块链路指令产生模块包产生模块链路指令检测模块包检测模块USB设备控制器IP核EEPROM模块准予传输传输请求DataDataKDataDataK发送包的信息接收包的信息接收到的链路指令的信息错误编码链路层重传请求LBADLGOODLCRDLBADDataDataKDataDataKLRTY主机部分图测试平台的结构FigStructureoftestbench验证流程每个测试案例的验证流程均由控制端点模块的流程控制状态机控制完成流程控制状态机的状态图如图所示。s:发送设置数据包s:设置阶段接收检测s:发送数据包s:发送ACK事务包s:数据阶段OUT传输接收检测s:数据阶段IN传输接收检测s:发送STATUS事务包s:状态阶段接收检测s:异常结束RetryOUT传输IN传输RetryErrorErrorErrorErrorRetryStallACKStall无数据阶段s:空闲状态Stall图流程控制状态机状态图FigStatediagramoftheprocesscontrolstatemachine流程控制状态机由个状态组成分为五类:空闲类、设置类、数据传输类、状态类和异常类。空闲类状态只有一个状态ss是状态机的初始状态在该状态中测试平台不进行任何发送或接收过程只有检测到测试案例时状态机才会转入s状态设置类状态有s和s用于完成设置阶段的数据传输数据传输类状态有s、s,、s和s其中s、s和s、s分别完成数据阶段的IN和OUT传输状态类状态有s和s用于完成控制传输的状态阶段异常类状态也只有一个状态s当检测到错误时该状态用于结束验证过程并指示错误。另外在s、s、s和s状态中测试平台可以利用错误编码对所发送的包进行各种错误的添加以测试IP核的控制端点对各种情况的处理能力。设置阶段(ss)当控制端点模块检测到测试案例时状态机立即从s状态转入s状态开始设置阶段。测试平台向IP核发送设置数据包后状态机自动进入s状态该状态中IP核可能有四种回应情况:、利用错误编码对设置数据包的头包插入错误导致头包无效时IP核会丢弃该包待控制端点模块的包发送计时器超时后状态机转入s状态、当收到IP核回复的ERDY事务包时表示其控制端点已准备好接收设置数据包数据此时状态机返回s状态测试平台重新发送设置数据包、利用错误编码对设置数据包的净载数据包插入错误测试平台会收到IP核回复的重传ACK事务包此时状态机返回s状态测试平台重传设置数据包、当收到IP核回复的ACK事务包时表示设置阶段阶段完成此时状态机将根据设置数据包中的wLength和bmRequestType来决定进入s状态(IN传输)、s状态(OUT传输)和s状态(状态阶段)三者之一。数据阶段(ss和ss)进入数据阶段后状态机根据设置数据包中的bmRequestType确定数据阶段的数据传输方向当数据传输方向为IN传输时状态机进入s状态否则进入s状态。若进入s状态测试平台则发送ACK事务包开始IN传输请求IP核传输数据。ACK事务包发送完毕后状态机自动进入s状态在该状态中IP核可能有四种回应情况:、利用错误编码对ACK事务包插入错误导致其无效时IP核会忽略该包待控制端点模块的包发送计时器超时后状态机转入s状态、当接收到IP核回复的NRDY事务包时状态机保持当前状态待IP核回复了ERDY后表示其控制端点已准备好传输数据此时状态机返回s状态测试平台重新发送ACK事务包再次请求IP核传输数据、若IP核的控制端点暂停或无法完成设置数据包中的请求测试平台会收到IP核回复的STALL事务包表示停止控制传输状态机随即返回s状态、若IP核收到正确的ACK事务包且其控制端点能够发送数据测试平台会收到IP核回复的对应序号的数据包若数据包正确状态机回到s状态测试平台再次发送ACK事务包向IP核确认数据包接收正确如此循环直到IP核发送了一个短包(净载数据长度小于字节)且测试平台向IP核发送ACK事务包确认了该短包之后便完成了数据阶段。随后状态机进入s状态开始状态阶段。若进入s状态测试平台则发送数据包开始OUT传输。数据包发送完毕后状态机自动进入s状态在该状态中IP核可能有五种回应情况:、利用错误编码对数据头包插入错误导致头包无效时IP核会丢弃该包待控制端点模块的包发送计时器超时后状态机转入s状态、当接收到IP核回复的NRDY事务包时状态机保持当前状态待IP核回复ERDY事务包后表示其控制端点已准备好接收数据此时状态机返回s状态测试平台重新发送数据包、若IP核的控制端点暂停或无法完成设置数据包中请求测试平台会收到IP核回复的STALL事务包表示停止控制传输状态机随即返回s状态、利用错误编码对数据包的净载数据包插入错误测试平台会收到IP核回复的重传ACK事务包此时状态机返回s状态测试平台重传数据包、若IP核收到正确的数据包且其控制端点能够接收数据测试平台会收到IP核回复的对应的ACK事务包若ACK事务包正确状态机回到s状态测试平台再发送下一个数据包如此循环最后以短包结尾待IP核回复了对应的ACK事务包后便完成了数据阶段。随后状态机进入s状态开始状态阶段。状态阶段(ss)状态机进入s状态即开始了状态阶段测试平台则发送STATUS事务包随后状态机自动进入s状态在该状态中IP核可能有四种回应情况:、利用错误编码对STATUS事务包插入错误导致其无效时IP核会忽略该包待控制端点模块的包发送计时器超时后状态机转入s状态、若IP核的控制端点正在执行设置数据包中的请求测试平台会收到IP核回复的NRDY事务包待IP核回复了ERDY后表示其控制端点已准备好完成控制传输此时状态机返回s状态测试平台重新发送STATUS事务包、若IP核的控制端点暂停或无法完成设置数据包中的请求测试平台会收到IP核回复的STALL事务包表示停止控制传输状态机随即返回s状态、若收到IP核回复的ACK事务包表示其控制端点已完成了请求的执行即完成了控制传输状态机随即返回s状态。状态阶段的完成意味着整个控制传输的完成表示IP核的控制端点执行了设置数据包中的请求但此时还需人工检查请求的执行结果即IP核的控制端点是否成功地执行了请求。验证结果及分析以标准请求SetAddress为例来分析验证过程和结果该请求的作用是对设备地址进行重新配置同时还会导致设备状态(Default、Address、Configured)的转换。图为ModelSim仿真结果图图中各信号说明如表所示测试平台与IP核的通信采用位MHz链路接口。表仿真信号TableSimulationsignals信号名宽度说明udcsclk系统时钟频率MHzudcpclk传输时钟频率MHzudcsrstn系统复位低电平有效phytxdat测试平台Data数据输出phytxdatk测试平台DataK数据输出udctxdatIP核Data数据输出udctxdatkIP核DataK数据输出regdevaddr设备地址devfsm~regout设备处于Powered状态高电平有效devfsm~regout设备处于Default状态高电平有效devfsm~regout设备处于Address状态高电平有效devfsm~regout设备处于Configured状态高电平有效devfsm~regout设备处于USBenable状态高电平有效由图可以看出复位操作后设备上电开始进入Powered状态(对应信号为高电平)并一直保持该状态。链路训练成功后设备开始进入Default状LGOOD,LCRDA~LCRDDSetupDPLGOOD,LCRDASTATUSTPLGOOD,LCRDBLGOOD,LCRDAACKTPLGOOD,LCRDBACKTP设备地址由默认的更新为设备状态转换:Default→Address设备上电设备进入Default状态图仿真结果FigSimulationresult态随后主机发送SetAddress请求的设置数据包开始了设置阶段设备检测为正确的设置数据包后向主机回复了ACK事务包(图中LGOOD和LCRD为链路指令)。之后主机开始了状态阶段(SetAddress没有数据阶段)向设备的控制端点发送了STATUS事务包设备检测其正确后回复了ACK事务包表示完成了整个控制传输设备地址由被重新配置成该过程可用图来表示。在这一过程中设备的状态转换为Default→Address符合USB协议规定。以上表明IP核对SetAddress请求的测试通过。HostTxHostRxControlWriteLGOOD,LCRDA~LCRDDSetupDP(SETADDRESS)SeqACKTPSeq,SetupStageLGOOD,LCRDASTATUSTPLGOOD,LCRDAACKTPSeq,LGOOD,LCRDBStatusStageLGOOD,LCRDB图控制传输过程FigProcessofcontroltransfer结论本文在理解了USB协议的基础上对USB设备控制器IP核控制端点的功能验证方法进行了研究并以一款USB设备控制器IP核为测试对象实现了对这一验证方法的实践检验。验证结果表明该验证方法可以被用于指导USB设备控制器IP核控制端点的功能验证工作。参考文献:YEHWEIMINGAStudyofUSBinPerspectiveAspectCTheInternationalConferenceonComputationalCollectiveIntelligence,Kaohsiung,Taiwan,Novenmber,:–宫琴,金慧君,关添,等基于USB声卡的便携式耳声发射检测系统的研制J仪器仪表学报,,():GONGQ,JINHJ,GUANT,etalDevelopmentofaportableOAEdetectingsystembasedonUSBsoundcardJChineseJournalofScientificInstrument,,():张萌,曹建基于USB接口的全自动热量计的设计及实现J仪器仪表学报,,():ZHANGM,CAOJDesignandimplementationofautomaticisoperibolcalorimeterbasedonUSBinterfaceJChineseJournalofScientificInstrument,,():杨焱,侯朝焕VLIW处理器系统级验证平台的设计与实现J电子测量与仪器学报,,():YANGY,HOUCHHDesignandimplementationofVLIWprocessorsystemlevelverificationplatformJJournalofElectronicMeasurementandInstrument,,():JANICKBERGERONWritingTestbenches:FunctionalverificationofHDLmodelsMDordrecht:KluwerAcademicPublisher,:南心蒙,张盛兵,田洪涛通用串行接口IP核的功能验证J测控技术,,():NANXM,ZHANGSHB,TIANHTFunctionalVerificationforUniversalSerialInterfaceIPCoreJMeasurementControlTechnology,,():MAQINSHENG,CAOYANG,YANGJUN,etalRandomtestingforsystemlevelfunctionalverificationofsystemonchipJSystemsEngineeringandElectronics,,():侯大志,李丽,何书专,等USBIP核功能验证的研究和应用J电子测量技术,,():HOUDZH,LIL,HESHZH,etalResearchandapplicationofthefunctionalverificationbasedonUSBIPcoreJElectronicMeasurementTechnology,,():UniversalSerialBusSpecificationS,Revision,November,PHYInterfaceForthePCIExpressandUSBArchitecturesS,Version,March,作者简介:吴从中:男年出生合肥工业大学副教授主要研究方向为嵌入式系统和信号处理。Email:qqcomWuCongzhong:male,bornin,associateprofessorofHefeiUniversityofTechnology,Themajorresearchdirectionisembeddedsystemandsignalprocessing王杰:男年出生合肥工业大学信号与信息处理专业硕士研究生主要研究方向为嵌入式系统。Email:qqcomWangJie:male,bornin,masterstudentmajoringinsignalandinformationprocessinginHefeiUniversityofTechnology,ThemajorresearchdirectionisembeddedsystemJamesYWang:男年出生美籍华人外国特聘专家主要研究方向为IC设计。Email:wjmailboxyahoocomJamesYWang:male,bornin,ChineseAmerican,Foreignexpert,ThemajorresearchdirectionisICdesign吴雨多:男年出生澳门科技大学资讯科技学院本科生主要研究方向为电子与信息技术。Email:wydgmailcomWuYuduo:male,bornin,studentinFacultyofInformationTechnologyinMacauUniversityofScienceandTechnology,ThemajorresearchdirectionisElectronicInformationTechnology

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/6

USB 3.0设备控制器IP核控制端点的功能验证

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利