USB PHY芯片

USB PHY芯片参考 https www zhihu com question

USB PHY芯片

参考:

https://www.zhihu.com/question/

ULPI_v1_1

USB PHY芯片

https://www.sparkfun.com/datasheets/Components/SMD/ULPI_v1_1.pdf

http://cross-hair.co.uk/tech-articles/ULPI%20interface.html

https://www.beyondlogic.org/usbnutshell/usb3.shtml

https://www.usb.org/documents?search=&tid_2%5B0%5D=40&items_per_page=50

https://www.mentor.com/products/ip/usb/usb20otg/phy_interfaces

https://www.ti.com/lit/ds/sllse16e/sllse16e.pdf?ts=1592220488191&ref_url=https%253A%252F%252Fwww.google.com%252F

https://www.techdesignforums.com/practice/technique/usb-3-0-physical-layer/

https://ip.cadence.com/ipportfolio/ip-portfolio-overview/interface-ip/usb-ip/usb-3-0-phy-2/usb3-ss-phy

usb3.0

https://www.eefocus.com/liangziusb/blog/11-12/236193_34684.html

hs usb2.0

http://ww1.microchip.com/downloads/en/DeviceDoc/evb3320.pdf

http://ww1.microchip.com/downloads/en/Appnotes/AN19.0-Application-Note-DS00002959A.pdf

http://ww1.microchip.com/downloads/en/DeviceDoc/evb3320user.pdf

http://ww1.microchip.com/downloads/en/DeviceDoc/00001792E.pdf

opencores

https://opencores.org/projects/usb1_funct

https://opencores.org/projects/usb

USB 2.0 Physical
USB 2.0 Physical
Layer(PHY
Layer(PHY
) Design
) Design
https://download.csdn.net/download/u0/
 
USB PHY芯片
 

低速设备D-上有一个1.5k欧的上拉电阻。

高速和全速设别在D+上有一1.5k欧上拉电阻。

连接后通过检测电压变化来了解设备是否为低速设别。

低速下:D+为“0”,D-为“1”是为“J”状态,“K”状态相反;

全速下:D+为“1”,D-为“0”是为“J”状态,“K”状态相反;

高速同上。

低速下空闲状态为“K”状态;//1.5Mbps

全速下空闲状态为“J”状态;//12Mbps

高速下空闲状态为“SE0”状态;//480Mbps

//———————————————-

J态:DP=0,DN=1

K态:DP=1,DN=0

SE0态:DP=0,DN=0

从J到K或者从K到J,信号翻转,说明发送的是信号0;从J到J或从K到K,信号保持不变,说明发送的是信号1。这就是差分信号0/1的发送。

高速设备的J和K相反。

 

NRZ与NRZI编码解释

RZ 编码(Return-to-zero Code),即归零编码。

在 RZ 编码中,正电平代表逻辑 1,负电平代表逻辑 0,并且,每传输完一位数据,信号返回到零电平,也就是说,信号线上会出现 3 种电平:正电平、负电平、零电平:

 

USB PHY芯片

 

从图上就可以看出来,因为每位传输之后都要归零,所以接受者只要在信号归零后采样即可,这样就不在需要单独的时钟信号。实际上, RZ 编码就是相当于把时钟信号用归零编码在了数据之内。这样的信号也叫做自同步(self-clocking)信号。

USB PHY芯片

这样虽然省了时钟数据线,但是还是有缺点的,因为在 RZ 编码中,大部分的数据带宽,都用来传输“归零”而浪费掉了。

那么,我们去掉这个归零步骤,NRZ 编码(Non-return-to-zero Code)就出现了,和 RZ 的区别就是 NRZ 是不需要归零的:

这样,浪费的带宽又回来了,不过又丧失宝贵的自同步特性了,貌似我们又回到了原点,其实这个问题也是可以解决的,不过待会儿再讲,先看看什么是 NRZI:

NRZI 编码(Non-Return-to-Zero Inverted Code)和 NRZ 的区别就是 NRZI 用信号的翻转代表一个逻辑,信号保持不变代表另外一个逻辑。

USB 传输的编码就是 NRZI 格式,在 USB 中,电平翻转代表逻辑 0,电平不变代表逻辑1:

 

USB PHY芯片

翻转的信号本身可以作为一种通知机制,而且可以看到,即使把 NRZI 的波形完全翻转,所代表的数据序列还是一样的,对于像 USB 这种通过差分线来传输的信号尤其方便~

现在再回到那个同步问题:

的确,NRZ 和 NRZI 都没有自同步特性,但是可以用一些特殊的技巧解决。比如,先发送一个同步头,内容是 0 的方波,让接受者通过这个同步头计算出发送者的频率,然后再用这个频率来采样之后的数据信号,就可以了。

在 USB 中,每个 USB 数据包,最开始都有个同步域(SYNC),这个域固定为 0000 0001,这个域通过 NRZI 编码之后,就是一串方波(复习下前面:NRZI 遇 0 翻转遇 1 不变),接受者可以用这个 SYNC 域来同步之后的数据信号。

   此外,因为在 USB 的 NRZI 编码下,逻辑 0 会造成电平翻转,所以接受者在接受数据的同时,根据接收到的翻转信号不断调整同步频率,保证数据传输正确。

但是,这样还是会有一个问题,就是虽然接受者可以主动和发送者的频率匹配,但是两者之间总会有误差。假如数据信号是 1000 个逻辑 1,经过 USB 的 NRZI 编码之后,就是很长一段没有变化的电平,在这种情况下,即使接受者的频率和发送者相差千分之一,就会造成把数据采样成 1001 个或者 999 个 1了。

USB 对这个问题的解决办法,就是强制插 0,也就是传说中的 bit-stuffing,如果要传输的数据中有 7 个连续的 1,发送前就会在第 6 个 1 后面强制插入一个 0,让发送的信号强制出现翻转,从而强制接受者进行频率调整。接受者只要删除 6 个连续 1 之后的 0,就可以恢复原始的数据了。

 

既然说编码,那就顺便把另一种极常用的编码也说一下把:曼彻斯特编码

曼彻斯特( Manchester )码是一种双相码。用高电平到低电平的转换边表示 0 ,而用低电平到高高电平的转换边表示 1 。

注:以上关于电平的表示,具体环境或者不同教材给出的规定可能不同,但是原理相同!

 

低速设备:

J态:DP=0,DN=1

K态:DP=1,DN=0

SE0态:DP=0,DN=0

从J到K或者从K到J,信号翻转,说明发送的是信号0;从J到J或从K到K,信号保持不变,说明发送的是信号1。这就是差分信号0/1的发送。

高速设备的J和K相反

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219367.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午10:43
下一篇 2026年3月17日 下午10:44


相关推荐

  • 高维数据聚类方法

    高维数据聚类方法1 一般数据聚类方法聚类是一个无监督的分类 它没有任何先验知识可用 典型的聚类过程主要包括数据 或称之为样本或模式 准备 特征选择和特征提取 接近度计算 聚类 或分组 对聚类结果进行有效性评估等步骤 聚类过程 1 数据准备 包括特征标准化和降维 2 特征选择 从最初的特征中选择最有效的特征 并将其存储于向量中 3 特征提取

    2026年3月26日
    3
  • MySQL清空表数据

    MySQL清空表数据清空表数据一共有三种方式1、truncate(速度很快)自增字段清空从1开始全表清空首选2、drop直接删表…啥都没了啥都没了…………3、delete速度慢的一批自增字段不清空MySQL清空表数据命令:truncate说明:删除内容、释放空间但不删除定义,也就是数据表的结构还在。与drop不同的是,它只是清空表数据而已,它比较温柔。truncatetable表名注意:不能与where一起使用。truncate删除数据后是不可以rollback

    2022年6月14日
    34
  • 性能测试用例模板

    性能测试用例模板转载于:https://www.cnblogs.com/laosun0204/p/8727478.html

    2022年7月17日
    63
  • RS232、RS485、RS422、RJ45接口,终于弄明白了!

    RS232、RS485、RS422、RJ45接口,终于弄明白了!原文地址 https www sohu com a 通讯端口都是串口 在以下几个方面有区别 1 通讯距离 RS232 口最大通讯距离是 15 米 而 RS422 485 最大通讯距离是 1200 米 2 所连接设备个 RS232 只能连接一个设备 而 RS485 可以连接多个设备 3 端口的定义 RS232 是标准接口 为 D 形 9 针头 所连接设备的接口的信号定义是一样的 其信号定义如下 而 RS422 RS485 为非标准接口 一般为 15 针串行接口 也有使用 9 针接口的 每

    2026年3月17日
    1
  • poi技术实现Excel导入_java json库

    poi技术实现Excel导入_java json库J2EE下Excel转JSON题外话:苦逼毕业狗,在北京做Android还没毕业就10K,回到长沙后连个面试机会都没有。毕业狗总是被瞧不起没有工作经验,好歹我在北京干了大半年呢。一是Android开发太饱和了,门槛低,谁学谁会,二是Android原生开发不行了,在Hybrid混合式和FaceBook主推的ReactNative新开发模式下,越来越多新型创业公司钟情于后两种开发模式。所以我果断抛弃An

    2022年5月3日
    88
  • stm32固件库介绍_STM32固件库使用手册

    stm32固件库介绍_STM32固件库使用手册STM32固件库编程入门

    2025年8月30日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号