英飞凌
直播中

贾飞世

7年用户 1809经验值
私信 关注

使用的是5位程序,同时运行8IN和8OUT时,EP IN特别容易崩溃,EP端口再也无法通信的原因?

我使用的是 5 位程序,现在使用 8 输入和 8 输出进行通信。 但当同时运行 8 IN 和 8 OUT 时,EP IN 特别容易崩溃,这个 EP 端口再也无法通信。
dmaCfg.size = size*2; //2K
dmaCfg.count = CY_FX_SLFIFO_DMA_BUF_COUNT*3; //6
FPGA 上的每次读取或写入都是 2k;使用 Streamer 通信时,无论将每次传输的数据包设置为 2 或 32,都会出现故障。
问题可能出在哪里? 有 IN OUT 的开关逻辑吗? 当前的时序逻辑是在 IN 之前完全 OUT

回帖(1)

张波

2024-6-3 15:52:42
从您的描述来看,问题可能出现在以下几个方面:

1. 资源限制:当同时运行8个输入和8个输出时,可能会超出硬件或软件资源的限制。请检查您的硬件和软件资源是否足够支持这种配置。

2. DMA配置:您提到的DMA配置可能存在问题。请确保DMA的配置正确,并且没有超出其限制。例如,您提到的`dmaCfg.size`和`dmaCfg.count`可能需要根据您的具体需求进行调整。

3. 通信协议:请检查您的通信协议是否正确实现,以及是否适用于同时运行8个输入和8个输出的场景。如果协议存在问题,可能会导致通信故障。

4. 时序问题:您提到的时序逻辑可能存在问题。请确保IN和OUT操作之间的时序关系正确,以避免潜在的冲突或错误。

5. 代码逻辑:请检查您的代码逻辑,特别是与IN和OUT操作相关的部分。确保没有逻辑错误或遗漏,这可能会导致通信故障。

6. 硬件故障:如果以上方面都没有问题,那么可能是硬件故障导致的通信问题。请检查您的硬件设备,确保它们正常工作。

为了解决这个问题,您可以尝试以下步骤:

1. 逐步排查:逐一检查上述可能的问题点,找到导致通信故障的原因。

2. 优化资源:根据需要调整硬件和软件资源,确保它们能够支持您的配置。

3. 调整DMA配置:根据您的具体需求,调整DMA的配置参数,以避免潜在的问题。

4. 检查通信协议:确保通信协议正确实现,并适用于您的配置。

5. 优化时序逻辑:调整IN和OUT操作之间的时序关系,以避免潜在的冲突或错误。

6. 检查硬件:如果可能,请检查您的硬件设备,确保它们正常工作。

希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。
举报

更多回帖

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