当前位置:   article > 正文

USB Phy/ULPI (3-接收模块和传输模块)_phy-ulpi.c

phy-ulpi.c

接收模块:

使用ULPI接口接收USB信号并且向link发送状态信息。通过RX Cmd和link进行数据交互。

        ULPI link 需要linestate[1:0], rxactive, rxvalid, rxerror, and VbusValid 得到需要的信息。当在OTG模式下时,VBUS和ID 也需要发送到Link 。

   RX Cmd的格式如下:

        

            linestate: 告诉link,USB数据线的状态,以及DM、DP引脚。

                  1.LS/FS 模式下的含义

                  

         2.HS 模式下的含义

                     

传输模块:

 支持高速、全速和低速操作。

         按照USB2.0 spec文档中的 bit-stuffing和 NRZI 方式编码USB 包

         通过XcvrSelect[1:0], TermSelect, OpMode[1:0] 、DpPulldown, and DmPulldown 来确定接下来要执行什么样的操作

         在发送高速package的时候发送32位的同步帧,当发送低速和全速包时候发送8位的同步帧

         USB 传输时序图

       

               1.传输数据之前先发送命令

                            TX CMD where DATA[7:6] = 01b, DATA[5:4] = 00b, and Data[3:0] = PID

               2.通过NXT 去控制传向PHY的数据传输速率

               3.传输接收的时候会检测到STP信号被拉高

               4.完成传输以后DP/DM引脚为IDLE状态。同时向link发送一个RX CMD


         

         


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/971507
推荐阅读
相关标签
  

闽ICP备14008679号