Cypress技术william hill官网
直播中

徐昕

7年用户 249经验值
私信 关注
[问答]

赛普拉斯FX3 SuperSpeed Explorer套件的延迟问题

我正在设计一个同步的FIFO接口与FX3超高速探索者工具包的设计。但是,我在延迟问题上有问题。
我的应用程序将36字节指令发送到FPGA上的2048字节FIFO;从FIFO接口从100 MHz读取FX3,并将数据写入FIFO,但FPGA在0.5 MHz FPGA时钟的每个时钟周期中读取一条指令。在一些处理之后,FPGA根据我的FPGA上的0.5 MHz时钟,以“时间戳”的形式发送结果,因此我可以看到当FPGA收到指令时。我用奴隶FIFO接口与我的主机进行通信,这是一个带有USB 2的漫游四核单板计算机Runnig-Ubuntu 14.04。连接。
我试图减少从我的主机发送指令到FX3的延迟,因为FPGA从FX3接收数据不够快。在我的FX3实现中,我有45个2048字节的DMA缓冲器要由FPGA读取。由于指令的大小,我同时发送指令块,用2016字节的数据填充缓冲区。然而,当测试时,我发现当在DMA缓冲器之间切换时,存在显著的延迟100毫秒。从一个DMA缓冲器末尾的最后一次指令到下一个DMA缓冲器开始时的第一个指令的时间,根据结果,即使它们间隔7个时钟周期,结果表明它们被分开1000个周期。
我试着把延迟降低到微秒。我尝试切换到DMA自动配置,将端点改为中断端点,而不是批量端点,但我似乎无法降低延迟。我使用LIUBBB使用异步数据传输从我的漫游板发送数据,但是我还能做些什么来减少延迟呢?我是不是刚好碰到USB 2传输的局限性?我不能将突发传输增加到1以上,但是还有什么可以减少延迟呢?

回帖(2)

刘辉

2019-9-17 11:11:16
你好,
缓冲器切换延迟应仅在最大5μs附近。你是如何测量它的1000个周期的?你注意到国旗状态改变的延迟了吗?
当做,
- Madhu Sudhan
举报

徐昕

2019-9-17 11:28:06
引用: dfzvzs 发表于 2019-9-17 11:11
你好,
缓冲器切换延迟应仅在最大5μs附近。你是如何测量它的1000个周期的?你注意到国旗状态改变的延迟了吗?
当做,

对迟到的回应表示歉意。我把信号探针放在MYFPGA上,并且测量了一个传输结束和另一个传输的开始之间的时间差,基于当FX3读取的DMA信道专用标记变高的时候。我把一个传输结束和下一个开始之间的差值,我测量了基于采样时钟的延迟。我正在为每个包执行单独的LIPSBB传输,所以一个LIUBSB传输保持36个字节,而下一个保持36字节。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分