基于DWC2的USB驱动开发-0x0E 使用逻辑分析仪分析ULPI数据

本文转自公众号,欢迎关注
基于dwc2的usb驱动开发-0x0d phy寄存器读写代码编写与测试 (qq.com)
1.1 前言前面我们详细讲解了ulpi接口,一般情况不需要关注ulpi总线接口上的信号。但有时候我们需要进行底层问题的分析,此时就需要抓取ulpi总线上的数据来进行分析,此时就需要使用逻辑分析进行信号抓取,这个时候一个好用的逻辑分析仪就非常重要了。
我们使用acute的tl4234b逻辑分析仪抓取ulpi总线数据,该逻辑分析仪支持ulpi解码非常方便。
该逻辑分析仪的使用参考https://mp.weixin.qq.com/s/bcdgcnsgpbyjszjv8vjyra。
测试代码见https://mp.weixin.qq.com/s/r64aypkzjtlxpuvsmzyvwg
设置好相应的信号之后可以按照如下添加ulpi协议分析通道
1.2 读寄存器读寄存器的标准时序如下
我们实际抓到的读0寄存器,波形如下
可以看到分析仪自动解析出了过程
对应测试代码
res = hw_dwc2_read_phyreg(0x00,®val,1000);if(res != 0){ return res;}usb_hal_info([vidl]:0x%x\\r\\n,regval);
我们详细分析下如下过程
(1) 此时dir为低,总线所有权归link所有,但是link没有数据要发送,所以驱动数据线全0。
(2) 此时软件进行读立即寄存器0的操作,对应的命令字节为0xc0,发送到总线上,但是nxt被phy拉为低,说明phy没有接收,link只能继续重发
(3) 重发0xc0,此时nxt被phy拉高,说明被phy接收了。
注意dir和nxt应该在clk的上升沿处跳变,但是由于信号一致性问题clk不是很完美,所以逻辑分析抓出来的clk信号有一些偏移,占空比也不是50%.
(4) dir低到高之后的clk上升沿开始是turnaround
(5) 该clk上升沿,link锁存phy发出的数据0x24
(6) dir由高到低之后的clk上升沿开始是turnaround
(7) 回到空闲状态,dir为0,link驱动总线为0
1.3 写寄存器写寄存器理想的时序如下
写0x16寄存器为0x55
对应代码为
hw_dwc2_write_phyreg(0x16,0x55,1000);if(res != 0){ return res;}我们实际抓到的波形如下
可以看到分析仪自动解析出了过程
我们详细分析下如下过程
(1) 此时dir为低,总线所有权归link所有,但是link没有数据要发送,所以驱动数据线全0。
(2) 此时软件进行写立即寄存器0x16的操作,对应的命令字节为0x96,发送到总线上,但是nxt被phy拉为低,说明phy没有接收,link只能继续重发
(3) link重发0x96,此时nxt被phy拉高,说明被phy接收了。
(4) link发送数据0x55,nxt为高说明phy接收了,于是下一个周期link 拉高stp结束。
同样要注意dir和nxt应该在clk的上升沿处跳变,但是由于信号一致性问题clk不是很完美,所以逻辑分析抓出来的clk信号有一些偏移,占空比也不是50%.
1.4 数据收发同样可以抓到usb数据传输时的内容进行分析
如下,不再详细分析
寄存器读写和usb数据传输的抓包数据可以参考
链接:https://pan.baidu.com/s/1ooglc8sbeywoemrsgegtvw?pwd=4j92
提取码:4j92
1.5 总结工欲善其事必先利其器,所以在usb开发中工具很重要,示波器,逻辑分析仪,usb协议分析仪等都不可少。在底层问题分析时缺少有力工具时很难进一步分析,本文分享了ulpi抓包分析,实际抓包波形因为信号质量问题可能没有那么理想,所以信号的冗余度也是很重要的,很多时候问题可能就是时序问题。


PNY发布1TB SDXC存储卡:售价约1372元
适用于密集服务器的电源转换器的设计方案
新唐科技N539T260主板简介
猝不及防!600亿芯片巨头遭立案调查
苹果特斯拉微软Meta四大巨头8月市值蒸发超六千亿美元
基于DWC2的USB驱动开发-0x0E 使用逻辑分析仪分析ULPI数据
第三代骁龙8cx计算平台可满足用户日常娱乐需求
人工智能将与云计算完美结合
电容器在电子电路中的作用介绍(三)
中国移动正式进入元宇宙玩家阵营
超微SYS-5028D-TN4T塔式NAS的详细参数
纵行科技携ZETA亮相世界物联网博览会,助力全球物联网生态合作
直流电机可控硅调速原理及常见故障检修
那些关于传感器的风云录
贴片电感是什么,贴片电感电流是不是越大越好
低噪声射频放大器电路
意大利无人机配新电子战BriteCloud/亮云机载诱饵弹系统
为56G/112G SerDes选择XO/VCXO时钟参考时的设计考量
应急灯自动充电器的制作
智慧园区数字化防疫系统的重要性说明