Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

USB superspeed peripherals

Robin_Peng
Level 5
100 replies posted 50 replies posted 50 questions asked
Level 5

hi,各位

        问题描述如下:

       1采用同步slave 的方式进行数据的读写;

2FPGA的波形如下图,当flagaflagb同时有效时发送累计数到上位机,但是上位机接收的数据是错乱的;请帮助看下原因

3、  原厂固件的测试数据截图如下图,数据错乱无法分析;

4、  自己按照网上修改的固件,(32bit1k的深度),数据奇数被偶数给替换。

FPGA波形:

原厂固件数据截图:

11.jpg



自己修改的固件截图:

  22.jpg

0 Likes
1 Solution
Max_Li
Employee
5 questions asked First solution authored 10 sign-ins
Employee

看收到的数据并不是无规律的错乱,这些数据是有规律的。

所以我觉得是GPIF这里的信号问题造成这种结果的可能更大。

Max

View solution in original post

0 Likes
10 Replies
YiZ_31
Moderator
Moderator 1000 replies posted 750 replies posted 500 replies posted
Moderator

您好,

请问FPGA的波形在哪里? 还有你的图片都不是很清晰,看不清楚

0 Likes
waji_4679811
Level 1
Level 1

你好

具体波形如下

根据自己更改的固件测试结果如下:flag_a,b有效时,发送0-1024的累加数到上位机

pastedImage_0.pngpastedImage_1.png

0 Likes
YiZ_31
Moderator
Moderator 1000 replies posted 750 replies posted 500 replies posted
Moderator

您好,请问您对我们AN68829的固件做了什么修改呢?

原本的固件有什么问题?可以发一下使用未修改固件的测试结果吗?

0 Likes
waji_4679811
Level 1
Level 1

你好,

这是安装好软件后,将安装程序内的firmware下slavesync的固件编译了一下,然后下载进去

软件安装路径:D:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\slavefifo_examples\slfifosync

pastedImage_0.png

0 Likes
YiZ_31
Moderator
Moderator 1000 replies posted 750 replies posted 500 replies posted
Moderator

您可以看一下PCLK与Data之间的时序要求tDS与tDH是否满足?

0 Likes
waji_4679811
Level 1
Level 1

你好!

我这边FPGA内部clk的时钟频率是100M,上升沿产生数据,然后pclk=clk用于产生3014的时钟,请问这样有什么问题吗,我现在降速pclk为50M后,多次点击(8次)control cneter工具的transfer data-in后,数据正确了,但是前8次还是错误的;请问这是什么问题。

0 Likes
waji_4679811
Level 1
Level 1

你好

如果固件中buffer

#define CY_FX_SLFIFO_DMA_BUF_COUNT_P_2_U      (8),需要点击8次 control cneter工具的transfer data-in后,数据正确。

如果固件中buffer

#define CY_FX_SLFIFO_DMA_BUF_COUNT_P_2_U      (4),需要点击4次 control cneter工具的transfer data-in后,数据正确。

从调试的情况来看是buffers的问题导致的,硬件上我已经做了hard reset上电复位,但是效果不明显。

0 Likes
YiZ_31
Moderator
Moderator 1000 replies posted 750 replies posted 500 replies posted
Moderator

我觉得这里还是存在时序的问题,这里是不应该和buffer count有关系的。 我上一个问题你也没有回答。

pastedImage_0.png

0 Likes
waji_4679811
Level 1
Level 1

理论上讲我现在将时钟(100M)反向输出,usb芯片上升沿采样,tds的时间为5ns,完全满足tds 2ns的要求

0 Likes
Max_Li
Employee
5 questions asked First solution authored 10 sign-ins
Employee

看收到的数据并不是无规律的错乱,这些数据是有规律的。

所以我觉得是GPIF这里的信号问题造成这种结果的可能更大。

Max

0 Likes