完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个状态机传送GPIF到USB。从我的等待状态的转换被定义为DMAYRYDYTHX和!忙的地方是外部接口上的一个引脚,指示是否有数据就绪,Ithen读取此数据直到WM,读取其余的数据包,然后转回等待状态,发送USB数据包。
如果我回到等待状态,在我的外部接口上没有数据准备,那么它等待一段时间,然后转换!忙碌,一切都很好。如果它返回到等待状态,接口就已经存在了!然后,一些数据丢失(在GPIF上传输,但不通过USB传输)。唯一的结论是,当我处于等待状态时,DMAYRDY和DMA-WWM标志不正确。AN6997表明DMAγRyFLAG有3个周期的延迟,但插入一个虚拟状态的等待时间远大于此,不能解决问题。如果IDO提交一个较短的数据包,然后转移到等待状态,这也是正确的。 我只能认为,这可能是DMA标志在DMAbuffer切换期间无效?有没有一种方法可以检测缓冲区是从我的状态机切换过来的? 以上来自于百度翻译 以下为原文 I have a state machine transferring GPIF to USB. The transition from my wait state is defined as DMA_RDY_THx&!BUSY where busy is a pin on the external interface to indicate if there is data ready, I then read this data until WM, read the rest of the packet and then transfer back to the wait state, the u*** packet is sent. If I get back to the wait state and there is no data ready on my external interface then it waits a while and transitions when !BUSY and everything works fine. If it gets back to the wait state and the interface is already !BUSY then some data is lost (transferred over the GPIF but not transferred over the USB). The only conclusion I can draw from this is that the DMA_RDY and DMA _WM flags are not correct when I am in my wait state? AN65974 indicates that there is a 3 cycle latency of the DMA _RDY flag but insertting a dummy state with considerably more wait than this does not fix the problem. This also seems to be true if I do a commit of a shorter packet and then transfer to the wait state. I can only think that this might be that the DMA flags are not valid during DMA buffer switching? Is there a way that I can detect the buffers are switching from my state machine? |
|
相关推荐
4个回答
|
|
我想你可以通过两个动作知道缓冲区的结尾:
LDXDATA计数和计数数据。 可以将计数加载为缓冲区大小,并可以查找DATAYCNTHIT命中。 谢谢, 西克里希纳。 以上来自于百度翻译 以下为原文 I think you can know the end of the buffer using two actions: LD_DATA_COUNT and COUNT_DATA. You can load the count as your buffer size and you can look for DATA_CNT_HIT. Thanks, sai krishna. |
|
|
|
嗨,Sai,
我的问题是找不到缓冲区的末端,我可以像你建议的那样用WM或计数来很好地解决这个问题,问题是不是所有的GPIFIS传输的数据都通过USB传输(IAM在GPIF上传输数据包)。目前唯一的解释是,DMAbuffer还没有准备好接收数据,所以通过GPIFIS传输的数据不会被读取到缓冲区中,这只能从我的状态机中发生,如果DMA-RDY和DMA-WWM标志在缓冲区I之后是不正确的。S被提交到USB。那么,是否有任何条件,RDY或WM标志是不正确的或无效的? 皮特 以上来自于百度翻译 以下为原文 Hi Sai, My issue is not finding the end of a buffer, I can do this happily with WM or Count as you suggest, the problem is that not all of the data transferred over the GPIF is transferred over USB (I am transferring packet at a time over GPIF). The only explanation I can come up with at the moment is that the DMA buffer is not ready to receive data and so the data transferred over the GPIF is not read into a buffer, the only way this can happen from my state machine is if the DMA _RDY and DMA _WM flags are incorrect directly after a buffer is commited to USB. So, are there any conditions under which the RDY or WM flags are incorrect or invalid? Pete |
|
|
|
你的USB传输有可能是高带宽同步吗?
以上来自于百度翻译 以下为原文 By any chance are your USB transfers high-bandwidth isochronous? |
|
|
|
嗨,史提夫,我都是批量传输,实际上在今天的一些工作上,问题似乎不那么糟糕,WM标志似乎在启动GPIFF波形之后没有准备好,这似乎是通过插入重复30次的虚拟状态来解决的。我仍然想了解所有这些标志可能不成立的条件,因为我可以看到这个问题在未来抬头。
以上来自于百度翻译 以下为原文 Hi Steve, my'n are all bulk transfers and actually on some more work today the problem doesn't seem to be as bad, it just seems that the WM flag is not ready directly after starting my GPIF waveform which seems to be solved by inserting a dummy state that repeats 30 times?! I'd still like to understand all of the conditions that these flags might not be valid as I can see this problem rearing its head in the future. |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2069 浏览 1 评论
1824 浏览 1 评论
3633 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1509 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
507浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
357浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:44 , Processed in 1.118486 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号