Other Parts Discussed in Thread: AM6421
器件型号: AM6421
您好、
我正在使用 am6421 为 USB 设备开发批量通信。
当传输正在进行中且 EP_STS 寄存器中的 DBUSY 状态设置时、我尝试通过写入 EP_CMD 寄存器中的 S/PRST/字 段来取消发送到 OUT 端点的 DMA 传输请求。
执行上述过程之后、发起 DMA 请求不会开始传输。
这种行为是已知的吗?
此外、是否有任何权变措施?
此致、
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的 Tushar:
感谢您的答复。
我使用的是最大数据包大小为 512 字节的批量输出端点。
在通信期间、主机端会发生某种错误、并发送清除的功能请求。 作为响应、器件需要清除失速条件、同时还会执行端点复位(EPRST/)操作。
此后、即使主机在器件启动 DMA 请求后发送出数据包、DMA 也不再正常运行。
另外、在再次开始 DMA 传输之前、您必须等待 EPRST 位再次变为 0。 重置结束后、您还需要设置 TRADDR。
我们的实施中已经处理了这一问题。
此致、
本笃史