USB OTG的IP Core设计与FPGA验证

USB OTG的IP Core设计与FPGA验证
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 系统功能
本设计采纳硬件描述语言 HDL完成RTL(寄存器传输级)的描述。寄存器传输级是指在数字系统设计时,可以将数字系统容易地看作是寄存器和寄存器之间的组合规律 (cornbinational logic)。本设计用法公司的设计仿真软件SE举行功能仿真。应用Verilog HDL语言搭建测试平台,通过仿真工具,设计者对各设计层次的设计模块举行仿真,以确定这些设计模块的功能和规律关系是否满足设计要求。开同
在设计的验证阶段,将包含该设计的2个USB OTG IP核直连,并让这2个IP核工作在不同的工作状态,即一个工作在A设备模式,另一个工作在B设备模式。这样,A设备就可以作为B设备的激励源,通过A设备发出一系列测试信号,比如向B设备发出复位信号以及SRP和HNP协议哀求,发送SOF标记信号和配置信息等。然后观看B设备是否对这些指令或者信号做出正确的响应。通过这样的程序来验证该IP核是否具有双功能和对USB协议的支持状况。仿真的部分结果2所示。

本文发布于:2024-09-22 09:52:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/190703.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设备   寄存器   状态   举行   设计   数据   信号   进入
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议