打印

CY7C68013中FIFO的多重缓冲是怎么回事啊

[复制链接]
1216|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kangzj|  楼主 | 2018-9-4 20:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CY7C68013中FIFO的多重缓冲是怎么回事啊!比方说我在驱动中将FIFO设置双缓冲模式,是不是和兵乓缓冲一样的道理啊!
沙发
supernan| | 2018-9-4 20:38 | 只看该作者

一个缓冲包满了就自动上传给电脑,以后在有数据进来时就传给另一个缓冲,一直交替传输。

使用特权

评论回复
板凳
kangzj|  楼主 | 2018-9-4 20:40 | 只看该作者
FIFO满标志是指一个缓冲包满了FIFO满标志就置为低电平,还是两个包一起满了FIFO满标志就置低啊

使用特权

评论回复
地板
xxrs| | 2018-9-4 20:44 | 只看该作者
双重buffer,应该是两个包满了才FULL。

使用特权

评论回复
5
houcs| | 2018-9-4 20:48 | 只看该作者

使用特权

评论回复
6
kangzj|  楼主 | 2018-9-4 20:53 | 只看该作者
如果是两个包一起满了那FULL标志应该很难满吧!  因为数据传送给电脑理论上是480Mb/s,那只要数据进入包的速度小与USB传给电脑的速度就不会满。

使用特权

评论回复
7
yinxiangh| | 2018-9-4 20:56 | 只看该作者
很容易满

使用特权

评论回复
8
kangzj|  楼主 | 2018-9-4 21:00 | 只看该作者
为什么会很容易满啊?如果是双缓冲模式的话,如果是兵乓缓冲,应该很难满吧!

使用特权

评论回复
9
ousj| | 2018-9-4 21:04 | 只看该作者
主机长时间不读设备,比如,主机在读写U盘的同时,启动了一个网游,“卡”了一下,设备缓冲区可能就满了。这不很正常吗?

使用特权

评论回复
10
zyf部长| | 2018-9-4 21:06 | 只看该作者

理想情况下,或者纯粹的硬件电路里,是你说的情况。进来的数据不能快过读出的数据,否则就丢数了。
关键是满了之后怎样处理,如果处理不当,自然就丢了。如果外设能等,那就让外设传慢点。

使用特权

评论回复
11
xxmmi| | 2018-9-4 21:09 | 只看该作者

内核驱动也有调度问题。

使用特权

评论回复
12
kangzj|  楼主 | 2018-9-4 21:12 | 只看该作者
机长时间不读设备,比如,主机在读写U盘的同时,启动了一个网游,“卡”了一下? 什么意识啊!什么叫网游?

使用特权

评论回复
13
kangzj|  楼主 | 2018-9-4 21:15 | 只看该作者
内核驱动也有调度问题?能详细说哈吗?有点不懂?谢谢您

使用特权

评论回复
14
zwll| | 2018-9-4 21:18 | 只看该作者
以设备的角度来看,CPU是所有设备共用的.即按优先级分时使用.既然分时,就有调度和优先机抢占问题.68013整个FIFO BUFFER是4096 BYTES,如果以48MB/s(48BYTES/us)写入,PC端85.333us不抓数据,FIFO BUFFER就会满.实际情况写入能做到5MB/s(windows)就很不错了.

使用特权

评论回复
15
kangzj|  楼主 | 2018-9-4 21:27 | 只看该作者
如果我从机比方说(DSP)想要不停的发数据,如果我电脑不请求接受CY7C68013的包的话,那DSP发的数据很多都没有用。有什么方法使DSP不停的发数据,电脑不停的收啊!

使用特权

评论回复
16
juventus9554| | 2018-9-4 21:31 | 只看该作者
如果你能保证电脑什么事情都不做,只接受你的 USB发来的数据,电脑当然会不停的收.但你是无法保证的.让电脑裸奔才行.

使用特权

评论回复
17
kangzj|  楼主 | 2018-9-5 09:36 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

672

主题

7007

帖子

2

粉丝