打印

多重缓冲

[复制链接]
689|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yufe|  楼主 | 2015-9-12 13:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CY7C68013中FIFO的多重缓冲是怎么回事啊!比方说我在驱动中将FIFO设置双缓冲模式,是不是和兵乓缓冲一样的道理啊!
沙发
zhanglli| | 2015-9-12 14:00 | 只看该作者
一个缓冲包满了就自动上传给电脑,以后在有数据进来时就传给另一个缓冲,一直交替传输。

使用特权

评论回复
板凳
yufe|  楼主 | 2015-9-12 14:00 | 只看该作者

FIFO满标志是指一个缓冲包满了FIFO满标志就置为低电平,还是两个包一起满了FIFO满标志就置低啊

使用特权

评论回复
地板
llia| | 2015-9-12 14:00 | 只看该作者
双重buffer,应该是两个包满了才FULL。

使用特权

评论回复
5
wangpe| | 2015-9-12 14:01 | 只看该作者

使用特权

评论回复
6
yufe|  楼主 | 2015-9-12 14:01 | 只看该作者

如果是两个包一起满了那FULL标志应该很难满吧!  因为数据传送给电脑理论上是480Mb/s,那只要数据进入包的速度小与USB传给电脑的速度就不会满。

使用特权

评论回复
7
zhanglli| | 2015-9-12 14:01 | 只看该作者
很容易满

使用特权

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

使用特权

评论回复
9
lium| | 2015-9-12 14:02 | 只看该作者

主机长时间不读设备,比如,主机在读写U盘的同时,启动了一个网游,“卡”了一下,设备缓冲区可能就满了。这不很正常吗?

使用特权

评论回复
10
wangzsa| | 2015-9-12 14:02 | 只看该作者
理想情况下,或者纯粹的硬件电路里,是你说的情况。进来的数据不能快过读出的数据,否则就丢数了。
关键是满了之后怎样处理,如果处理不当,自然就丢了。如果外设能等,那就让外设传慢点。

使用特权

评论回复
11
guoyt| | 2015-9-12 14:02 | 只看该作者
内核驱动也有调度问题。

使用特权

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

使用特权

评论回复
13
yufe|  楼主 | 2015-9-12 14:03 | 只看该作者
内核驱动也有调度问题?能详细说哈吗?有点不懂?谢谢您

使用特权

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

使用特权

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

使用特权

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

使用特权

评论回复
17
yufe|  楼主 | 2015-9-12 14:04 | 只看该作者
结贴吧
周末快乐

使用特权

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

本版积分规则

983

主题

10170

帖子

1

粉丝