0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MPSoC设计中USB Phy的复位信号

王彬 来源:zh咖啡不加糖 作者:zh咖啡不加糖 2022-08-02 09:38 次阅读

在Xilinx的ZCU102和ZCU106单板设计中,使用了管脚PS_MODE1作为外部USB Phy的复位信号。在MPSoC的文档ug1085和ug1087中,关于PS_MODE1的信息比较少。下面是更详细的描述。

1. UG1085文档
按UG1085,PS_MODE1本来作为MPSoC的启动模式管脚。

poYBAGGYHxGAWWZHAAID1i6OFRY298.png

UG1085也提到,PS_MODE1/PS_MODE2也可以作为外部USB Phy的复位信号。

poYBAGGYHxKAPCCGAAIaDcrYos0459.png

PG201也提到了外部USB Phy的复位信号的相关设置。

pYYBAGGYHxOAJKe7AABrNNyo7xE922.png

2. Vivado工具
在Vivado里,可以指定外部USB Phy的复位信号的来源和极性。

poYBAGGYHxWAZ2JbAAB8Y4jjj58410.png

3. USB Phy的复位信号
USB Phy是否需要复位信号,由外部的Phy决定。一般来说,单板复位后,建议把外部USB Phy复位一次,保证USB Phy处于干净的状态。

MPSoC既可以使用MIO管脚、也可以使用PS_MODE(BOOT_PIN)管脚来作为USB Phy的复位信号。

3.1. 使用MIO管脚作为USB Phy复位信号
MPSoC有两个USB控制器。如果都使用,外部有两个USB Phy。使用MIO管脚作为USB Phy复位信号时,可以两个USB Phy共用一个MIO(Shared MIO pin);也可以每个USB Phy使用一个MIO(Separate MIO pin)。

在Vivado里,配置对应的MIO作为对应的USB Phy复位信号。Vivado导出HDF/XSA文件时,会导出这些信息。

同时,在device tree里,添加下列字段。

xlnx,phy-reset-gpio = < &gpio GPIO_NUMBER GPIO_ACTIVE_HIGH/ GPIO_ACTIVE_LOW>;

USB驱动程序里,会查找参数“xlnx,phy-reset-gpio”。如果找到,会调用Linux的GPIO框架来复位外部USB Phy。

3.2. 使用PS_MODE管脚作为USB Phy复位信号
如果使用PS_MODE管脚(BOOT_PIN),则可以节约MIO管脚;在device tree里,也不用添加参数。

FSBL里,会使用PS_MODE的对应寄存器,复位外部USB Phy。文件psu_init.c里,可能有下列代码。

/*##################################################################### */

    /*
    * BOOT PIN LOW
    */
    /*
    * Register : BOOT_PIN_CTRL @ 0XFF5E0250

    * Value driven onto the mode pins, when out_en = 1
    *  PSU_CRL_APB_BOOT_PIN_CTRL_OUT_VAL                           0X0

    * When 0, the pins will be inputs from the board to the PS. When 1, the PS
    *  will drive these pins
    *  PSU_CRL_APB_BOOT_PIN_CTRL_OUT_EN                            0X2

    * Used to control the mode pins after boot.
    * (OFFSET, MASK, VALUE)      (0XFF5E0250, 0x00000F0FU ,0x00000002U)
    */
	PSU_Mask_Write(CRL_APB_BOOT_PIN_CTRL_OFFSET,
		0x00000F0FU, 0x00000002U);
/*##################################################################### */

    /*
    * ADD 5US DELAY
    */
		mask_delay(5);
		
/*##################################################################### */

    /*
    * BOOT PIN HIGH
    */
    /*
    * Register : BOOT_PIN_CTRL @ 0XFF5E0250

    * Value driven onto the mode pins, when out_en = 1
    *  PSU_CRL_APB_BOOT_PIN_CTRL_OUT_VAL                           0X2

    * When 0, the pins will be inputs from the board to the PS. When 1, the PS
    *  will drive these pins
    *  PSU_CRL_APB_BOOT_PIN_CTRL_OUT_EN                            0X2

    * Used to control the mode pins after boot.
    * (OFFSET, MASK, VALUE)      (0XFF5E0250, 0x00000F0FU ,0x00000202U)
    */
	PSU_Mask_Write(CRL_APB_BOOT_PIN_CTRL_OFFSET,
		0x00000F0FU, 0x00000202U);
/*##################################################################### */

4. 单板定制
虽然ZCU102和ZCU106单板都使用了管脚PS_MODE1作为外部USB Phy的复位信号。客户的单板,可以自由选择PS_MODE和MIO作为外部USB Phy的复位信号。

5. 输出模式
PS_MODE1是totem-pole驱动,不是open-collector驱动。

6. 参考文档
SR #10480757 ZynqUS+ USB PHY reset feature

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119374
  • MPSoC
    +关注

    关注

    0

    文章

    194

    浏览量

    24111
  • 复位信号
    +关注

    关注

    0

    文章

    50

    浏览量

    6169
收藏 人收藏

    评论

    相关推荐

    Zynq UltraScale + MPSoC USB 3.0 CDC器件类设计

    设备模式下使用Zynq®UltraScale+™MPSoC USB 3.0控制器,并使用批量传输类型使用USB 3.0进行串行通信设备抽象。USB组件
    发表于 01-03 09:59

    无法将MIG设置为Ping-Pong PHY模式怎么办

    你好超级+ MPSoC设计。基于64位PL的DDR4设计。 2017.1使用IP Integrator。我试图将DDR接口设置为Ping-Pong PHY模式,而不是“控制器和物理层”。无论我做什么
    发表于 05-26 09:53

    如何调试Zynq UltraScale+ MPSoC VCU DDR控制器

    Xilinx DDR 控制器。  DDR PHY 与电路板调试:  Zynq UltraScale+ MPSoC VCU DDR 控制器采用 MIG PHY。  这意味着您可以使用标准 MIG 示例设计来验证您
    发表于 01-07 16:02

    Gowin USB HSIC PHY IP用户使用指南

    Gowin® USB HSIC PHY IP 用户指南主要内容包括功能简介、信号定义、功能描述、界面配置,旨在帮助用户快速了解 Gowin USB HSIC
    发表于 09-30 06:05

    什么是usb phy

    什么是usb phy USB接口网卡 在目前的电脑上很难找到没有USB接口(Universal Serial Bus,通用串行总线)的,USB
    发表于 07-02 10:46 2.9w次阅读

    基于ZU+系列MPSoC芯片的USB3.0/2.0接口硬件设计

    ZU+系列MPSoC要实现USB3.0/2.0的全部功能,需要同时使用MIO和GTR。因为GTR接口中的USB接口只支持USB3.0,对USB
    发表于 03-16 09:26 6023次阅读
    基于ZU+系列<b class='flag-5'>MPSoC</b>芯片的<b class='flag-5'>USB</b>3.0/2.0接口硬件设计

    Xilinx复位信号设计原则

    复位信号设计的原则是尽量不包含不需要的复位信号,如果需要,考虑使用局部复位和同步复位
    发表于 10-27 10:09 1747次阅读
    Xilinx<b class='flag-5'>复位</b><b class='flag-5'>信号</b>设计原则

    MPSoC SWDT在Standalone下的应用有哪些?

    工程师根据FSBL的main.c中的InitWatchDog( ),添加代码后,依然不能使MPSoC的PS复位
    的头像 发表于 09-19 11:15 1389次阅读
    <b class='flag-5'>MPSoC</b> SWDT在Standalone下的应用有哪些?

    ZCU10中MPSoC对DDR复位信号设计

    休眠,就从DDR读出系统状态,恢复系统。 MPSoC启动时,它的DDR控制器会驱动DDR的复位信号,有可能破坏DDR里的数据。为了避免这种情况,需要对DDR复位
    的头像 发表于 11-04 17:02 2470次阅读
    ZCU10中<b class='flag-5'>MPSoC</b>对DDR<b class='flag-5'>复位</b><b class='flag-5'>信号</b>设计

    FPGA和USB3.0通信-USB3.0 PHY简介

    可以和FPGA搭配使用的USB3.0 PHY芯片 通过之前的介绍FPGA和USB3.0通信-USB3.0协议介绍,我们大致了解到USB3.0
    的头像 发表于 11-09 09:36 7482次阅读
    FPGA和<b class='flag-5'>USB</b>3.0通信-<b class='flag-5'>USB</b>3.0 <b class='flag-5'>PHY</b>简介

    FPGA和USB3.0通信-USB3.0 PHY介绍

    可以和FPGA搭配使用的USB3.0 PHY芯片通过之前的介绍
    发表于 12-20 19:11 32次下载
    FPGA和<b class='flag-5'>USB</b>3.0通信-<b class='flag-5'>USB</b>3.0 <b class='flag-5'>PHY</b>介绍

    Gowin USB HSIC PHY IP用户指南

    电子发烧友网站提供《Gowin USB HSIC PHY IP用户指南.pdf》资料免费下载
    发表于 09-15 10:57 2次下载
    Gowin <b class='flag-5'>USB</b> HSIC <b class='flag-5'>PHY</b> IP用户指南

    力科扩展Type-C连接器的USB4信号传输

    力科宣布将其 CrossSync PHY 技术扩展到采用 USB Type-C 连接器的 USB4信号传输。
    发表于 02-10 14:00 353次阅读

    MBIST逻辑的复位信号怎么来的?

    jtag端口的复位信号jtag_trst用于复位TAP状态机模块,该复位信号可选。
    的头像 发表于 05-25 15:09 677次阅读
    MBIST逻辑的<b class='flag-5'>复位</b><b class='flag-5'>信号</b>怎么来的?

    USB电气信号复位与设备速率识别

    复位 从状态切换图上看,一个 USB 设备连接后,它将会被供电,然后被复位。当软件出错时,我们也可以发出复位信号重新驱动设备。 那么,
    的头像 发表于 07-20 10:05 935次阅读
    <b class='flag-5'>USB</b>电气<b class='flag-5'>信号</b><b class='flag-5'>复位</b>与设备速率识别