FPGA-USB-Device
FPGA-USB-Device copied to clipboard
求比特位边缘检测信号快慢原理,dpv信号为什么能代表j信号的原理
您好,已star and follow,
在usbfs_bitlevel.v文件中,有如下代码段:
想请问您,在usb host中,我查阅的频率为48Mhz,而在本仓库的代码需要提供60Mhz,如果进行5分频,就是12Mhz,和usb host的频率不同步,希望您能解答一下我的疑问。
还有一个疑问就是dpv和dnv两个信号的代表的意义是什么,按照我的理解是代表在三种不同时钟下的j信号,但我不太明白其中的原理。
您好,我也是最近刚上手这个项目,也产生了同样的疑问,dpv、dnv的具体含义是什么以及检测时钟过快过慢的原理。
我来解释一下这个问题 用60M的过采样,实际上fs只有12Mbps,也就是说对于一个USB的bit有5个采样点,保存在dpl[4:0]里面,其中dpl[4]是第一个采样点,dpl[0]是最后一个采样点
假设一开始是完全对齐的,那我们就有dpl[4] == dpl[3] == dpl[2] == dpl[1] == dpl[0] 假设本地的时钟比较快,并且USB线上相邻的两比特发生了跳变,那会出现什么情况呢? 本设计考虑了两种
- 第一次采样的点还是旧值,但是后面四个采样点采样到的是新值,也就是dpl[4]!= dpl[3], 但是dpl[3] == dpl[2] == dpl[1] == dpl[0]
- 前两次采样的点都是旧值,但是后面3个采样点采样到的是新值,也就是dpl[4] == dpl[3], dpl[3] != dpl[2], dpl[2] == dpl[1] == dpl[0]
检测本地时钟慢的逻辑同理