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

[复制链接]
791|16
 楼主| kangzj 发表于 2017-4-21 20:59 | 显示全部楼层 |阅读模式
CY7C68013中FIFO的多重缓冲是怎么回事啊!比方说我在驱动中将FIFO设置双缓冲模式,是不是和兵乓缓冲一样的道理啊!
supernan 发表于 2017-4-21 21:06 | 显示全部楼层
一个缓冲包满了就自动上传给电脑,以后在有数据进来时就传给另一个缓冲,一直交替传输。
 楼主| kangzj 发表于 2017-4-21 21:07 | 显示全部楼层


FIFO满标志是指一个缓冲包满了FIFO满标志就置为低电平,还是两个包一起满了FIFO满标志就置低啊
xxrs 发表于 2017-4-21 21:08 | 显示全部楼层
双重buffer,应该是两个包满了才FULL。
houcs 发表于 2017-4-21 21:10 | 显示全部楼层
 楼主| kangzj 发表于 2017-4-21 21:12 | 显示全部楼层
如果是两个包一起满了那FULL标志应该很难满吧!  因为数据传送给电脑理论上是480Mb/s,那只要数据进入包的速度小与USB传给电脑的速度就不会满。
yinxiangh 发表于 2017-4-21 21:13 | 显示全部楼层
很容易满
 楼主| kangzj 发表于 2017-4-21 22:31 | 显示全部楼层

为什么会很容易满啊?如果是双缓冲模式的话,如果是兵乓缓冲,应该很难满吧!
ousj 发表于 2017-4-21 22:32 | 显示全部楼层
主机长时间不读设备,比如,主机在读写U盘的同时,启动了一个网游,“卡”了一下,设备缓冲区可能就满了。这不很正常吗?
zyf部长 发表于 2017-4-21 22:34 | 显示全部楼层
理想情况下,或者纯粹的硬件电路里,是你说的情况。进来的数据不能快过读出的数据,否则就丢数了。
关键是满了之后怎样处理,如果处理不当,自然就丢了。如果外设能等,那就让外设传慢点。
xxmmi 发表于 2017-4-21 22:36 | 显示全部楼层
内核驱动也有调度问题。
 楼主| kangzj 发表于 2017-4-21 22:38 | 显示全部楼层

机长时间不读设备,比如,主机在读写U盘的同时,启动了一个网游,“卡”了一下? 什么意识啊!什么叫网游?
 楼主| kangzj 发表于 2017-4-21 22:39 | 显示全部楼层

内核驱动也有调度问题?能详细说哈吗?有点不懂?谢谢您
zwll 发表于 2017-4-21 22:41 | 显示全部楼层
以设备的角度来看,CPU是所有设备共用的.即按优先级分时使用.既然分时,就有调度和优先机抢占问题.68013整个FIFO BUFFER是4096 BYTES,如果以48MB/s(48BYTES/us)写入,PC端85.333us不抓数据,FIFO BUFFER就会满.实际情况写入能做到5MB/s(windows)就很不错了.
 楼主| kangzj 发表于 2017-4-21 22:44 | 显示全部楼层
如果我从机比方说(DSP)想要不停的发数据,如果我电脑不请求接受CY7C68013的包的话,那DSP发的数据很多都没有用。有什么方法使DSP不停的发数据,电脑不停的收啊!
juventus9554 发表于 2017-4-21 22:45 | 显示全部楼层
如果你能保证电脑什么事情都不做,只接受你的 USB发来的数据,电脑当然会不停的收.但你是无法保证的.让电脑裸奔才行.
 楼主| kangzj 发表于 2017-4-21 22:46 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

672

主题

7007

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部