FPGA-USB-Device icon indicating copy to clipboard operation
FPGA-USB-Device copied to clipboard

求比特位边缘检测信号快慢原理,dpv信号为什么能代表j信号的原理

Open XHX00008888 opened this issue 1 year ago • 2 comments

您好,已star and follow, 在usbfs_bitlevel.v文件中,有如下代码段: image 想请问您,在usb host中,我查阅的频率为48Mhz,而在本仓库的代码需要提供60Mhz,如果进行5分频,就是12Mhz,和usb host的频率不同步,希望您能解答一下我的疑问。 还有一个疑问就是dpv和dnv两个信号的代表的意义是什么,按照我的理解是代表在三种不同时钟下的j信号,但我不太明白其中的原理。

XHX00008888 avatar Nov 30 '23 01:11 XHX00008888

您好,我也是最近刚上手这个项目,也产生了同样的疑问,dpv、dnv的具体含义是什么以及检测时钟过快过慢的原理。

nihaonihao996996 avatar Feb 28 '24 07:02 nihaonihao996996

我来解释一下这个问题 用60M的过采样,实际上fs只有12Mbps,也就是说对于一个USB的bit有5个采样点,保存在dpl[4:0]里面,其中dpl[4]是第一个采样点,dpl[0]是最后一个采样点

假设一开始是完全对齐的,那我们就有dpl[4] == dpl[3] == dpl[2] == dpl[1] == dpl[0] 假设本地的时钟比较快,并且USB线上相邻的两比特发生了跳变,那会出现什么情况呢? 本设计考虑了两种

  1. 第一次采样的点还是旧值,但是后面四个采样点采样到的是新值,也就是dpl[4]!= dpl[3], 但是dpl[3] == dpl[2] == dpl[1] == dpl[0]
  2. 前两次采样的点都是旧值,但是后面3个采样点采样到的是新值,也就是dpl[4] == dpl[3], dpl[3] != dpl[2], dpl[2] == dpl[1] == dpl[0]

检测本地时钟慢的逻辑同理

churchmice avatar May 29 '24 06:05 churchmice