完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
1 USB2 PHY AFE
1.1结果参数 USB主机端:D+和D-各接一个15kΩ的下拉电阻; USB从端:高速和全速D+接一个1.5kΩ电阻上拉到3.3V;低速在D-上接一个1.5 kΩ电阻上拉到3.3V。高速chirp KJ招手(Chirp KJ的频率大概是10KHz)成功后,自动断开D+上的1.5kΩ拉;当高速设备进入暂停时,使能D+上的1.5kΩ上到3.3V退出时,断开D+上的1.5k。 集线器的全速驱动器和设备的全速驱动器在拉动上挂成每个45Ω,合成90Ω的衍生产生一个0系数的反射。这样才产生了电缆的特征阻抗是90Ω的需求。 HS模式DP / DM对地单端阻抗为45Ω(由全速驱动器形成的一个阻抗为45Ω的终端电阻),串联的匹配电阻必须是0 HS模式DP/DM的DC-level是17.78mA x (45Ω//45Ω) = 17.78mA x 22.5Ω = 400mV,否则,眼图有问题;LS/FS的DP/DM上必须有大于0的匹配结果。 ,其中17.78毫安是电流源(一般需要PHY外接参考电阻),所以差模电压是800mV.DC级LS的/ FS为3.3V。 HS PHY DP / DM上串联10Ω电阻带来的信号完整性问题如下计算所示。 Udevice =17.78毫安*(45 //(10 + 45))= 440.1mV,Uhost =(45 /(45 + 10))* 440.1 = 360.1mV 1.2捕获的USB2.0的复位信号 Capture the USB signals Dm and Dp with a scope (preferably 1 GHz or better) during the reset. Set timebase to 20 ms/div, trigger on falling edge of Dp with trigger level set to 1.5V. Trigger position at the left of the screen. 1.3 Chirp握手 1)Chirp K信号 Chirp K的电压幅值为800 mV = (host 45 Ohm // device 1.5 K Ohm) x 17.78 mA,持续时间约1到7 ms。 2)Chirp KJ信号 设备检测到Hub发送的3对KJ序列后,切换到高速收发器,此后Hub发送的KJ序列电压幅值降为400 mV = (host 45 Ohm // device 45 Ohm) x 17.78 mA,Chirp KJ的频率大概是10KHz。 1.4 TX和RX Tuning 1.4.1 4个放大器 发送放大器,接收放大器,静噪检查放大器(检测地板电压),断开检测放大器(检测天花板电压)。 1.4.2 TX USB2 Pre-emphasis:预加重,可以放大发送信号的高频部分。 rise/fall time:You can raise these values for quick slew rate. 1.4.3 RX USB2 squelch:接收探测包络(静噪检测)。例如,设成100mV, 就是说DP/DM的DC-level在100mV 以下的信号USB2 XCEIV 认为都是噪音,因为USB2 的DP/DM的DC-level大概是400mV。 detail:squelch level = envelop, 静噪(包络)检测电压,在PHY parameters里面这个电压可以设置的,假如设置了这个值是100mV,意思就是当PHY RX 从DP/DM上接收到的电压绝对值小于100mV的信号,PHY认为是噪音,直接丢弃。 Host disconnect threshold adjustment: USB断开时,由于2个并联的45 Ohm电阻只剩一个,瞬时反射电压是45 Ohm * 17.78 mA = 800 mV,所以一般取一个折中的数据625 mV,大于该阈值就表示USB连接已经断开。 1.5 USB PHY校准分类 1) frequency calibration, BCK 2) resistor calibration PHY芯片内部的pullup或者pulldown参考电阻是由CMOS构成,由于CMOS的天然特性,造成该电阻会随着PTV(制程,温度和电压)变化,因此必须对其进行校准。为了达到校准的目的,USB PHY需要外接一个参考电阻R1EXT。 3) slew rate calibration MT2712 1.6 QCOM Chipidea USB2 PHY tuning HSETT:HS Electrical Test Tool,USB-IF官方测试device眼图的PC软件,运行时,会将Windows默认的EHCI驱动替换成USB-IF官方写的驱动,百佳泰提供USB-IF认证测试。 Device眼图:单眼皮形状。 Host眼图:双眼皮形状。如果眼图是双眼皮,可判断出信号可能有串扰或预(去)加重。 0x82:PARAMETER_OVERRIDE_C bit 6:0 -- for decreasing rise/fall time(slew-rate) and raising pre-emphysis // /sys/module/phy_msm_u***/parameters/override_phy_init // format // &u***_otg { [...] qcom,hsu***-otg-phy-init-seq = <0x44 0x80 0x68 0x81 0xXX 0x82 0x13 0x83 0xffffffff>; }; 2 xHCI HS眼图调试 2.1 EHCI眼图调试寄存器设置流程 第一步:把寄存器USBCMD的bit4和bit5设成0 第二步:把寄存器USBCMD的bit0和bit6设成0 第三步: - 对应的USB port的PORTSC,port suspend(bit7)设置成0 - 然后把测试模式selector(取值范围:>0,<5,这个数字对应眼图夹具上的那个开关的拨弄的编号)写到PORTSC中(selector << 16) 2.2 xHCI每个port的4个寄存器 - EHCI每个port都有一个寄存器PORTSC - xHCI中每个2.0和3.0 port entry的寄存器个数(包括PORTSC)都是4,并且每个port entry占了16个字节 2.3 xHCI HS眼图调试寄存器设置流程 第一步:把寄存器USBCMD的bit0设成0 第二步: - 对应的USB port的PORTSC,port power(bit9)设置成0 - 然后把测试模式selector(取值范围:>0,<5,这个数字对应眼图夹具上的那个开关的拨弄的编号)写到PORTPMSC中(selector << 28) 验证方法: - 把selector的值设成1,这时候你用万用表去量D+的电压为高(0.4V),而D-的电压为0,就说明寄存器设置对了 - 要测试眼图,只要把selector设成4就行了 注意点: 1)测试Host眼图时Golden Device参考板使用Cypress Ref Board 2)Intel xHCI HS不支持修改DC level(400mV) 2.4 xHCI HS Roothub眼图测试patch in xhci-hub.c int xhci_hub_control(struct u***_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex, char *buf, u16 wLength) { [...] unsigned selector; [...] case SetPortFeature: if (IS_ENABLED(CONFIG_USB_EHSET_TEST_FIXTURE)) selector = wIndex >> 8; [...] /* p320, s4.19.6 Port Test Modes in xhci spec */ case USB_PORT_FEAT_TEST: if (!IS_ENABLED(CONFIG_USB_EHSET_TEST_FIXTURE)) { (void)selector; goto error; } if (hcd->speed >= HCD_USB3) goto error; if (!selector || selector > 5) goto error; spin_unlock_irqrestore(&xhci->lock, flags); xhci_quiesce(xhci); spin_lock_irqsave(&xhci->lock, flags); /* * Put all enabled ports into Disabled state, Port Power = 0 * FIXME: only can set port_array[#wIndex] to PP = 0 */ temp = readl(port_array[wIndex]); temp &= ~(1 << 9); writel(temp, port_array[wIndex]); temp = readl(port_array[wIndex]); spin_unlock_irqrestore(&xhci->lock, flags); retval = xhci_halt(xhci); spin_lock_irqsave(&xhci->lock, flags); temp = readl(port_array[wIndex] + PORTPMSC); temp &= ~(0xf << 28); temp |= selector << 28; writel(temp, port_array[wIndex] + PORTPMSC); break; [...] } 3 EMC测试 3.1 出问题的RF频点 步长20MHz,380MHz和440Mhz容易出问题。 3.2 EMC干扰后,USB设备断开走的代码路径 - U盘,走hub.c的u***_reset_device();USB设备使用过程中复位与设备第一次连接复位的区别是udev->config非空;获得syspath路径函数kobject_get_path(kobj, GFP_KERNEL) - USB转以太网,走hub.c的EM interference - 表现与手工插入、移除一样 3.3 寄存器判断 - xHCI 宏中有大写C(change)的表示描述的是wPortChange。 每次insertion有多次portsc寄存器打印,是因为: - USB reset前,调用hub_port_debounce()多次轮训portsc寄存器,确认设备连接 - USB reset时,调用hub_port_wait_reset()多次轮训portsc寄存器确认复位是否成功(检查portsc.bit1是否为1,1表示成功,否则失败) wPortStatus(对应到xHCI portsc.bit0 - portsc.bit15): bit0 - 有无设备连接,portsc.bit0 bit1 - 端口是否使能,portsc.bit1 bit4 - 端口是否有复位信号,portsc.bit4 bit8 - 端口电源,portsc.bit9,for USB2 bit8...bit5 - PORT_LINK_STATE,portsc.bit8...portsc.bit5,for USB3 wPortChange(对应到xHCI portsc.bit17 - portsc.bit31): bit0 - 端口连接改变位,portsc.bit17 bit1- 端口使能/禁止改变位,portsc.bit18 4 TDR - 时域反射计:又称为电缆雷达,测量传输线、FPC、USB线缆等的阻抗是否均匀 - TDR测试设备:USB VNA(Vector Network Analyzer),矢量网络分析仪 - TDR测试时的激励脉冲(TDR阶跃脉冲发生器)的周期需要与真实波形的周期一样,譬如480MHz的USB HS数据 - iAP2或者U盘数据传输的过程中出现u***_reset_device(),可以在这个函数中对cable dpdm进行放电处理,这样可以消除由于cable的TDR测试不合格并且长时间运行导致容抗或者阻抗变化(USB眼图中,容抗越大,上升沿和下降沿越慢)而致使的USB设备断开后无法重新re-enumerate - 差分信号为什么在高速传输中电压往往会很低呢?原因就是为了获得更短的上升沿时间,这样数据传输速率就上去了 5 URLs daisho USB http://www.greatscottgadgets.com/daisho/ 6 Abbreviations AFE:USB PHY Analog Front-end ARC:Argonant RISC Core BCK: Built-in Clock,省去石英震荡器(crystal-less),内建频率USB 2.0物理层IP解决方案 BYOD:bring-your-own-device,CarPlay和Android Auto就属于BYOD CC2530:TI ChipCon2530 CCGP:Windows USB Common Class Generic Parent,Linux内核类似的驱动就是u***_generic_driver(generic.c) CCGP MI_:Common Class Generic Parent Multi Interface Cross-talk:测试串扰使用的字节一般是0x55和0xAA CYPRESS TD_Poll:Task Dispatch Daisho:大小 DWC2:Design Ware Controller 2,Apple的嵌入式设备,包括iPad和iPhone都是使用的DWC2 giveback:归还 - ehci_urb_done() -> u***_hcd_giveback_urb()。USB PD中的giveback(= 1)指sink会响应source的GotoMin请求,返还部分电力给source。 halt:停车或者站住,来自于德语;USB endpoint停止运行,返回stall handshake。recovery方法:control ep接收下一次SETUP PID时,自动清除halt标志;其它ep使用clear_feature复位ep halt。 HSSQ:USB PHY High-speed Squelch HX3C:USB Type-C Hub with PD IAAD:EHCI Interrupt on Async Advance ISP1161:Philips' Integrated host Solution Pairs 1161,“Firms introduce USB host controllers”,https://www.eetimes.com/document.asp?doc_id=1290054 nds:Nintendo Dual Screen,ULPI NXT、DIR、STP PIPE:PHY Interface for PCI Express Quirks:the attributes of a device that are considered to be noncompliant with expected operation SL811HS:Cypress/ScanLogic 811 Host/Slave,性能上与ISP1161(Integrated host Solution Pairs 1161)相当 SSUSB-QMP:QCOM Multiple Protocol Phy suspendM:UTMI suspend Macrocell TDI:TransDimension Inc.,该公司首先发明了将TT集成到EHCI RootHub中的方法,这样对于嵌入式系统来说,就省去了OHCI/UHCI的硬件,同时降低了成本,作为对该公司的纪念,Linux内核定义了宏ehci_is_TDI(ehci);产品UHC124表示USB Host Controller;收购了ARC USB威廉希尔官方网站 ;现已被chipidea收购,chipidea又被mips收购 TDR: Time Domain Reflectrometer TLV:TI Low Value,高性价比 TPS:TI Performance Solution TT:Transaction Translator(事务转换器,将USB2.0的包转换成USB1.1的包) TVS:Transient Voltage Suppressor,特殊二极管,连到VBUS、DP/DM、GND,防止浪涌电流(Surge) USB BH reset:Bigger Hammer or Brad Hosler,表示warm reset;you may be confused why the USB 3.0 spec calls the same type of reset "warm reset" in some places and "BH reset" in other places. "BH" reset is supposed to stand for "Big Hammer" reset, but it also stands for "Brad Hosler". Brad died shortly after the USB 3.0 bus specification was started, and they decided to name the reset after him. The suggestion was made shortly before the spec was finalized, so the wording is a bit inconsistent. USB3 BULK Stream ID:对应到SCSI Tag或者SATA Tag USB Host枚举时-71错误码可能原因:DP和DM走线太长导致眼图差;DP和DM接反了 USB PET:USB Protocol and Electric Test Instrument VNA:Vector Network Analyzer,矢量网络分析仪 共模电感:会导致USB眼图变差,所以要选择好一点的共模电感 |
|
|
|
只有小组成员才能发言,加入小组>>
4521个成员聚集在这个小组
加入小组3338 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4267 浏览 1 评论
4292 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 21:43 , Processed in 0.622812 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号