templa
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2013-03-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1900回复:9

(20分)51+811hs作HOST,写U盘在read10转WRITE10时总是要嵌延时才能继续?

楼主#
更多 发布于:2005-05-27 10:21
如题!
在每次执行了读扇区后转写扇区时,第一个写操作在发CBW和数据之间加延时则能正常运行,否则回产生NACK错误.是什么原因导致的呢?与配置时的命令状态有关吗?
kkyouking
驱动中牛
驱动中牛
  • 注册日期2004-02-23
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分47分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-30 13:02
是操作FALSH需要时间
52+PDIUSBD12开发套件 SL811单片机读写U盘套件 www.devking.cn 联系sl811hs@yahoo.com.cn QQ 14441292
templa
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2013-03-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-05-30 13:23
谢大侠!用写延时来解释有点困难啊!您看:
1。FLASH写信息也应该是在CBW、DATA OUT 之后吧?
2。如果我连续写,不需要延时就能操作;
3。延时要竟然要100-200毫秒,有点多了吧?

另外每个品牌的U盘都应该不太一样,我如何得知这个延时会是多少呢?我奇怪的是WINDOWS倒好象都知道,那它怎么知道的呢?在RBC命令里知道的吗?
p_y_h
驱动牛犊
驱动牛犊
  • 注册日期2004-04-27
  • 最后登录2006-04-27
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-05-31 15:25
检查一下HOST READ10操作是否成功、完整结束(CBW+DATA+CSW)。如果没有完整结束(如CSW没有),所需的DELAY作用就是让USB TIMEOUT,才能进行下一个操作。
templa
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2013-03-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-05-31 15:48
虽然还没有试,但感觉是对的。谢谢!希望继续支持本贴,还有分数奉上。
templa
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2013-03-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-06-02 13:25
遗憾,我原先感觉并不正确。仍请继续支持。
在两次扇区写的间隔如果比较长(100毫秒),则在第2次发送CBW后要延时(100-400毫秒)再发送DATA则传输正确。而上一个的命令的CSW是正确的。有点像U盘进入了睡眠,需要唤醒时间?加延时后虽然勉强通过了,但效率可就太低了,而且兼容性很差。可否通过UFI命令禁止此模式呢?或者用TEST_UNIT_READY检测U盘的状态正常后再执行命令?
sg03040218
驱动牛犊
驱动牛犊
  • 注册日期2007-05-18
  • 最后登录2009-07-17
  • 粉丝0
  • 关注0
  • 积分34分
  • 威望44点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-05-23 10:26
我在写的过程中也遇到问题了
看了楼主的帖子仿佛明白是延时的问题啊
JJADKT
驱动牛犊
驱动牛犊
  • 注册日期2007-11-30
  • 最后登录2009-05-25
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望46点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-06-23 11:09
那咋解决呢?我也困扰啊
JJADKT
驱动牛犊
驱动牛犊
  • 注册日期2007-11-30
  • 最后登录2009-05-25
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望46点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-06-24 09:05
咋解决呢????????
yunyixiao
驱动牛犊
驱动牛犊
  • 注册日期2008-06-24
  • 最后登录2010-09-14
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望296点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-12-22 19:30
各位,这个问题好像好多人都有遇到,有没有哪位高手确定知道什么原因的!加入那么久的延时效率太慢了!怎么才能解决?感觉windows很好的解决了呢!
游客

返回顶部