您的位置 首页 技术

根据处理器完成USB 0TG控制器芯片的IP核使用规划

基于处理器实现USB 0TG控制器芯片的IP核应用设计-OTGl.Oa补充规范对USB2.O进行的最重要扩展是其更具节能性、电源管理,并允许设备以主机和外设2种形式工作。OTG有两种设备类型:两用 OTG设备(dual—role 0TG device)和外设式OTG设备(peripher一al_only 0TG device)。两用0TG设备完全符合USB2.O规范,同时提供有限的主机能力和一个Mini—AB插座,支持主机流通协议(IIost Negotiation Protocol,HNP)”。

导言

USB协议发布后,USB凭仗其占用体系资源少、廉价、通用、可热插拔等长处,成为通用的串行接口总线。当时,绝大部分计算机外围设备(如打印机、MP3、移动硬盘等)均选用USB接口。但跟着 USB接口运用的遍及,依据USBl.x和USB2.O标准的USB接口逐步露出其缺陷。由于USB总线是主从式结构,且设备的主从特性在设备设计时就现已固定,这样就很不利于设备间点对点的数据传输。这种以计算机为中心的数据传输结构,十分不利于USB总线在嵌入式职业的运用,由于这些设备一般都要求具有与计算机通讯的USB设备功用,一同也要求具有衔接其他USB设备的主机功用。为了处理这一问题,USB OTG标准作为USB2.O标准的弥补出台了。本文介绍一款USB OTG IP核的规划与完结,该设备操控器可作为IP核用于SoC体系中,完结与主机操控器的通讯,并能与一般的USB从设备进行通讯。

1 USB OTG的作业原理

OTGl.Oa弥补标准对USB2.O进行的最重要扩展是其更具节能性、电源办理,并答应设备以主机和外设2种方法作业。OTG有两种设备类型:两用 OTG设备(dual—role 0TG device)和外设式OTG设备(peripher一al_only 0TG device)。两用0TG设备彻底契合USB2.O标准,一同供给有限的主机才能和一个Mini—AB插座,支撑主机流转协议(IIost NegotiaTIon Protocol,HNP)”。,且同外设式OTG设备相同支撑业务恳求协议(SessionRequest Protocol,SRP)。当作为主机作业时,两用0TG设备可在总线上供给8 mA的电流,而以往标准主机则需求供给100~500 mA的电流。2个两用OTG设备衔接在一同时可替换以主机和从机的方法作业,这个特色兼容了现有USB标准主机/外设的结构模型。OTG主机担任初始化数据通讯,比方总线复位、获取各种USB描绘符和装备设备。这些装备完结后,2个OTG设备便可别离以主机和从机方法传输信息,2个设备主从人物交流的进程由主机流转协议界说。

2 IP规划原理和IP模块规划

USB 0TG操控器芯片按结构分类,一般分为以下2种:

①专为USB OTG规划的芯片。这类芯片集成了微操控器,是彻底依照协议规划的,而不是在旧的结构上添加功用。其结构不同于其他常用操控芯片,开发者需求较长的学习时刻,可是它能够到达最优化。

②需求外部微处理器的接口芯片。有些USB操控器只处理USB通讯,而且有必要由外部微处理器来操控。这种完结接口的标准组件使得运用者能够在各种不同类型的微操控器中挑选一种最适合的微操控器,经过运用已有的结构和削减固件上的出资来缩短开发时刻,削减开发危险和费用。但由于外接一个处理器,添加了电路的复杂性。

本文规划的USB OTG IP核选用第2种方法,所选用的处理器是Nios。依据对USB OTG标准的了解,USB0TG操控器应该具有以下的功用:HNP和SRP协议的完结,主机作业形式和设备作业形式。体系结构框图如图1所示。

依据处理器完结USB 0TG操控器芯片的IP核运用规划

UTMI+接口需求外接一个契合USB 2.0 UTMI+协议的收发器。该芯片用作USB2.O接口的模仿前端,处理由USB2.O接口宣布的高速和模仿信号,对其宣布的用NRZI方法编码的数据进行解码、位填充等,并将串行数据转换成并行数据;反之,该芯片对由本操控器宣布的并行数据经过其内部的差分驱动电路进行串行化、位填充和NRZI编码,并输出到USB电缆上。该接口模块首要用于缓存发送和接纳的数据,确保与外围收发芯片的无缝结合,以及挂起、康复和复位的检测。

OTG操控器完结USB OTG弥补协议的功用。该模块首要担任HNP、SRP的硬件完结,以及衔接状况的检测。

主机操控器完结IP核作业在主机形式的功用。该模块首要发生挂起、康复、复位信号,自动发送get_descip—tor、set_address、 set_configuraTIon等标准恳求,并把恳求变成对应的USB数据包格局(比方TOKEN包参加PID、地址、端点和5位的CRC校验码等);隔固定的时刻向从设备发送SOF标志,并依据装备的成果发生对应的主机中止。

设备操控器完结IP核作业在设备形式的功用。该模块首要担任接纳标准的USB恳求,比方接纳SOF标志、IN标志、OUT标志等,并依据这些恳求作出正确的呼应以及检测复位、挂起信号。

操控状况寄存器完结对IP核操控器内部状况的设置。它分红2种类型:一种是根本的操控状况寄存器,比方操控状况寄存器(指定USB的速率形式、挂起形式、衔接状况、主从形式),设备地址寄存器(寄存主机分配给USB设备的地址),中止屏蔽寄存器(使能对应中止)和中止源寄存器(Nios操控器经过读此寄存器来判别中止类型);另一种是端点寄存器操控状况寄存器,如中止源寄存器、中止屏蔽寄存器、缓冲区的指针寄存器和巨细寄存器,模块中完结时依据输入的地址和读写信号来对某一个寄存器进行相应的读写操作。

存储器接口完结IP核内部数据与Nios操控器数据的之间的裁定。当Nios操控器和IP核内部一同对外部存储器SRAM进行读写拜访时,有必要对它们进行数据的裁定。默许的优先级为IP核内部数据优先级高于Nios操控器的数据优先级。

Nios操控器接口完结USB IP核与外部微操控器(Nios)的数据通讯。该接口契合Avalon总线标准,经过输入地址的最高位来判别Nios是对内部寄存器进行拜访仍是对 SRAM存储器进行拜访,并完结地址、数据和相关信号的处理。

3 USB OTG IP核的特性评论

3.1 衔接状况的检测

当上电复位后进入闲暇状况,开端USB会话。首要需求等候一段时刻(最多50 ms),OTG操控器会检测输入ID线的电平,以确认自己是A设备仍是B设备,高电平表明B设备,低电平表明A设备。关于A设备,IP核会等候电源线 Vbus上的电平上升到契合USB会话的4.4 V最低电平要求,详细的操作便是经过UTMI+接口的DrvVbus信号操控PHY对Vbus电源线充电,以供给USB总线作业用的电源;关于B设备,则依据是否正在作SRP恳求而完结SRP协议或许进入数据传输。当Vbus电源线上的电平满意要求时,A设备等候B设备连入USB总线。作为主机的A设备的 DpPulldown和Dm—Pulldown在开端会话后始终保持高电平状况,假如B设备没有连上,则2条USB数据线DP和DM出现SE0状况;而当 B设备连上USB总线时,DP和DM会出现J态或许K态。依据这一特色,A设备就能够判别出是否有B设备连入USB总线。

3.2 SRP协议的完结

当设备进入SRP协议完结时,B设备等候SRP操作的初始条件,即经过UTMI+接口的DischrgVbus信号加快SRP条件的满意。当初始条件都满意后,B设备经过UTMI+接口的信号XcvrSelect、TermSelect、DpPulldown和DmPulldown完结对PHY的操控,使之向DP线上宣布驱动脉冲。继续5~10 ms后,B设备又经过UTMI+接口的信号ChrgVbus操控PHY向Vbus上宣布驱动脉冲,该驱动脉冲需求继续满意长的时刻以使Vbus电源线被充电到2.1 V。驱动完结后,回到闲暇状况,从而等候A设备对SRP作出呼应。假如A设备辨认到了B设备的SRP,则会开端USB会话,不然本次SRP失利。

3.3 HNP协议的完结

无妨假定A设备当时处于主机状况,而B设备处于从设备状况。此刻,B设备需求经过HNP获得USB主机位置,进程如下:A设备经过宣布挂起指令使得USB 总线预备进入挂起状况。B设备首要由数据传输状况预备进入挂起状况。这时,B设备需求查看是否有HNP恳求,假如有则开端等候A设备衔接,不然正常地进入挂起状况。B设备在等候A设备装备时,A设备没有彻底进入挂起状况,当它进入挂起状况的一同会查看是否有B设备的断开中止。假如有,则阐明B设备正在进行 HNP操作,而且现已进入了等候A设备装备状况,接着A设备进入设备作业状况,从而使自己变为从设备。B设备检测到A设备的衔接后,对USB总线进行复位,一同开端对A设备进行复位操作。B设备进入主机形式作业,而A设备则进入从设备形式作业。在B设备作为主机完结了对USB总线的运用后,再一次经过 HNP将USB主机位置还给A设备,操作进程相似。

4 体系功用仿真

本规划选用硬件描绘言语Verilog HDL完结RTL(寄存器传输级)的描绘。寄存器传输级是指在数字体系规划时,能够将数字体系简略地看作是寄存器和寄存器之间的组合逻辑 (cornbinaTIonal logic)。本规划运用Mentor公司的规划仿真软件ModelSimSE进行功用仿真。运用Verilog HDL言语建立测验渠道,经过仿真东西,规划者对各规划层次的规划模块进行仿真,以确认这些规划模块的功用和逻辑关系是否满意规划要求。

在规划的验证阶段,将包括该规划的2个USB OTG IP核直连,并让这2个IP核作业在不同的作业状况,即一个作业在A设备形式,另一个作业在B设备形式。这样,A设备就能够作为B设备的鼓励源,经过A设备宣布一系列测验信号,比方向B设备宣布复位信号以及SRP和HNP协议恳求,发送SOF标志信号和装备信息等。然后调查B设备是否对这些指令或许信号做出正确的呼应。经过这样的程序来验证该IP核是否具有双功用和对USB协议的支撑状况。仿真的部分红果如图2所示。

5 FPGA验证

FPGA是一种可编程逻辑器材,可进行屡次编程操作,使器材依据不同的需求完结不同的功用。跟着微电子技术的开展,FPGA的功用不断提高,许多规划现已彻底能够由FPGA来完结。现在,在ASIC规划中一个重要的验证手法便是经过FPGA进行硬件仿真,以确保规划的可靠性。FPGA芯片是整个验证体系的中心,它包括了USB OTG IP核和相关的操控模块。由于用Verilog言语来完结操控模块的功用,所以将它和USB OTG IP核一同归纳然后下载到FPGA中进行测验。

FPGA选用AItera公司的Cyclone系列芯片,详细型号是EPlCl2Q240C8;物理层模仿部分选用Philips公司的产品 ISPl301;存储器SRAM选用ISSI公司的IS63LVl024—12J。复位电路用来发生上电复位信号,也能够在体系正常作业时,经过按键开关发生复位信号。此复位信号供给给USB IP核作为体系复位。体系的布局布线选用的是Altera公司的QHartusII 6.0。

验证进程分红2个部分来别离验证主机形式和设备形式。当USB 0TG IP核作业在主机形式时,直接用U盘与IP核进行衔接,经过编写的底层驱动能够辨认出U盘。在完结对U盘的驱动后,成功地进行了数据传输,最终正确地断开衔接。当IP核作业在设备形式时,IP核作为USB从设备接入电脑主机的USB接口。经过装置新的驱动,电脑主机能够辨认出该USB设备,完结对该设备的驱动后,相同能够正确地进行数据传输,并安全地移除该设备。验证的成果表明,该USB 0TG IP核的主机和从设备功用均能正常作业,到达了预期的规划要求。

结语

FPGA验证的成果表明,USB OTG IP核在功用和时序上契合USB2.0标准和OTGl.Oa弥补标准的协议要求,具有了主机功用和设备功用,到达了规划的预期方针。别的,完结的USB OTG IP核支撑UTMI+接口,能够广泛运用于包括USB功用的SoC开发。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/jishu/338301.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部