问题1:USB时序 这个由USB的48M时钟提供给FPGA, 这个是FPGA的50M时钟分频25M给USB, reg d1,d2; always @(posedge Clk) begin d1<=!d1; d2<=d1; end assign ifclk = !d1&d2; //这个是分频的USB时钟 由上述分频程序可以分析得出,同步时钟在时序上是落后1/2系统时钟的,所以在对CY7C68013A的时序控制上也需要做一些调整,状态机的触发采用了CLK的下降沿的触发方式, 在真实的情况下我测到的可行的时序 USB 48M晶振 READ1: slwr <= 1 slrd <=0 sloe <=0 READ2: slrd <=1 WRITE1:slrd <= 1 sloe <=1 slwr <= 0 WRITE2: slwr <= 1 这个是根据时序图的标准时序(对于48M晶振来说,这两个时序都是可以的,但是对于50M来说只能是下面的时序) /////////////////////////////////////////// 50M分频25M给FPGA提供时钟 Read1 slrd <= 1 slwr <= 1 sloe <= 0 Read2 slrd <= 0 Write1 slrd <= 1 slwr <= 1 sloe <= 1 Write2 slwr <= 0 50M晶振标准时序 问题2:USB传输 问题4:USB 固件 OEB = 0x00,好像是端口B的输出使能,但是在48M晶振里面怎么没有?
|