完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,我已经阅读了应用程序NoNAND8216-设计GPIF第二主接口的文档,但我仍然无法确定GPIF数据计数器和地址计数器的用途。它们被设置为2048的数据计数器和256的地址计数器。我猜想计数器值是基于DMA缓冲器配置的,但是这些配置之间的连接是什么?在主GPIF状态机中,WRDATAYAWAIT和RDYDATA等待状态的目的是什么?
当做, 陈国忠 以上来自于百度翻译 以下为原文 Hi, I have read through the document of the application note AN87216 - Designing a GPIF™ II Master Interface, but I still cannot figure out the purpose of the GPIF data counter and address counter. They are set as 2048 for data counter and 256 for address counter. I am guessing the counter values are based on DMA buffer configurations, but what is the connection between these configurations? In the master GPIF state machine, what is the purpose of WR_DATA_WAIT and RD_DATA_WAIT states? Regards, C.H. Chen |
|
相关推荐
4个回答
|
|
嗨,C.H.Chen
假设您在FX3主从之间有32位接口。Slave的DMA缓冲区大小分别为1K字节和8个这样的缓冲区。 地址和数据计数器的目的是引入流量控制和防止数据丢失。 地址和数据计数器(它们仅仅是2个计数器和名称不重要)在主机上跟踪有多少字节的数据实际上已经写入奴隶。GPIF状态机中的每个DRMA数据将发送32位数据(4字节),然后地址和数据计数器递增1。当地址计数器达到256(256×4= 1K字节)时,这意味着从存储器中的缓冲器完全被填充。有一个延迟是从切换到下一个缓冲区。主机应该确保它在缓冲区切换期间不驱动数据(通常微秒)。WrdDATAYAWAL只是一个状态,ADDISSH计数器被重置为0,这需要足够的时间来确保从机切换到下一个缓冲器。 类似地,数据计数器加载2048(对于8K缓冲器,2048×4字节)。当数据计数器值命中时,您已经写入了从机中的所有8个缓冲器,返回到RDYWRSIDLE,将计数器重新装入0,并检查标志B(这说明Slave是否释放了任何缓冲器),并相应地驱动数据。 希望这有帮助 当做 穆达比尔卡比尔 以上来自于百度翻译 以下为原文 Hi C.H.Chen Lets say you have 32 bit interface between FX3 Master and Slave. And Slave has DMA buffer size of 1K bytes each and 8 such buffers. The purpose of address and data counter is to introduce flow control and prevent data loss,. The Address and data counter ( They are just 2 counters and names dont matter) in master keeps track of how many bytes of data have actually been written to the Slave. Every DR_DATA in gpif state machine will send out 32 bits of data ( 4 bytes) and then Address and data counters are incremented by 1. When address counter reaches 256 ( 256 x4 = 1K bytes), It means that a buffer in Slave has been filled completely. There is a delay is Slave switching to next buffer. The master should ensure that it doesnt drive data during this buffer switching ( usually few microseconds). WR_DATA_WAIT is just a state where address_counter is reset to 0 and this takes enough time to ensure that the Slave has switch to next buffer. Similarly data counter is loaded with 2048 ( for 8K buffer, 2048x4 bytes). When data counter value hits, you have written to all 8 buffers in slave, you go back to RD_WR_IDLE , reload the counter to 0 and check flag B ( which tells if Slave has any buffer freed or not) and accordingly drive data. Hope this helps Regards Mudabir Kabir |
|
|
|
非常感谢你的解释。这很有帮助。
因此,WrdDATAYAWAIT处理从边侧的缓冲区切换延迟,而InDATA等待状态则处理主方的延迟,对吗? 当EZ-USB FX3发送数据时,发送方在其缓冲区之间切换时也存在这种延迟,对吗? 当做, 陈国忠 以上来自于百度翻译 以下为原文 Thank you very much for the clear explanation. It's very helpful. So the WR_DATA_WAIT deals with buffer switching delay on SLAVE side and the IN_DATA_WAIT state deals with the delay on MASTER side, is that right? When EZ-USB FX3 is sending out the data, there is also this kind of delay when sender is switching between its buffers, right? Regards, C.H. Chen |
|
|
|
嗨,C.H. Chen,
是的,你的理解是正确的。 当做 穆达比尔卡比尔 以上来自于百度翻译 以下为原文 Hi C.H. Chen, Yes, your understanding is right. Regards Mudabir Kabir |
|
|
|
当主驱动的数据依次存放在从缓冲区的奴隶,主人照顾的缓冲开关在奴隶的延迟和不开任何数据在这段时间。同样,当奴隶是数据驱动的主人,主人应确保奴隶不驱动数据(使用SLRD和野莓控)当主开关的下一个空缓冲区读取数据的进一步前。
当做 穆达比尔卡比尔 以上来自于百度翻译 以下为原文 When the master is driving data to the slave which inturn is stored in slave buffers, Master has to take care of buffer switching delay in the slave and not drive any data during this time. Likewise, when the slave is driving data to the master, master should ensure slave doesn't drive data ( controlled using SLRD and SLOE) when master is switching to its next empty buffer before reading further data. Regards Mudabir Kabir |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2069 浏览 1 评论
1826 浏览 1 评论
3634 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1510 浏览 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 14:28 , Processed in 1.022200 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号