zf_98412
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2004-08-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3551回复:12

SL811已经可行的原理图,一些体会

楼主#
更多 发布于:2003-11-07 09:23
来这儿的大部分人都不需要这个东西了,但是共享一下也是好的。
我花了三个星期时间,从基本的读写到设备枚举成功到能读优盘扇区,有些心得,希望还要做SL811HS的同行不要走同样的弯路
1.晶振要工作正常。在这儿看到过贴子,说最好使用48M晶振,但是事实上48M晶振对PCB要求似乎比较高,我曾经用48M试过,无法工作,使用高质量的12M晶振即可。检验晶振是否正常的方法是启动硬件SOF,在插上设备后用示波器查看SOF包产生频率,要1ms一个,如果示波器足够好再看看每个SOF包的长度,与电脑做比较,要几乎相同才成。记住SOF包要接上设备后才有。
2.枚举过程时如果这一步有读数过程则需要写一个空包,否则读一个空包,这个在示例程序上是有的,我当初就认为可有可无,结果有些设备无法枚举成功。
3.DATA0/DATA1交换使用。因为我现在做的设备在对优盘读写时需要进行其它工作,所以我使用的中断里置标志位,主循环检测的方法,这种方法用双缓冲没有太大必要,就全用DATA0,结果老NAK。后来发现在数据读写时DATA0/DATA1还是必须交换使用。
4.以前好多人问过为什么读数据时优盘老NAK,除了上面第三条的原因外还有就是每次写CBW后需要一定延时。

[编辑 -  11/7/03 by  zf_98412]
附件名称/大小 下载次数 最后更新
2003-11-07_SL811HS.pdf (31KB)  217

最新喜欢:

litcrazylitcra... yyoukingyyouki...
fancery
驱动牛犊
驱动牛犊
  • 注册日期2003-07-24
  • 最后登录2005-09-07
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-07 09:36
我现在也在考虑是否用SL811HS,主要是担心它的传输速率上不去,因为这个片子是8bit的数据端口,同ISP1161比起来,理论上速度要慢一倍啊!(1161是16bit的数据端口)想问一下,你现在测试的传输速率达到了多少呢?!
qbasic
驱动牛犊
驱动牛犊
  • 注册日期2002-07-30
  • 最后登录2006-01-03
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-07 11:22
请问每次CBW后要多久的延时呢?
我用BUSBOND监视WINDOWS对优盘操作发现同一条命令其操作时间会有很大的不同,有些是几us,有些是几ms,有些达到3s。如何来判断要多久的延时呢?
mhxsoft
驱动牛犊
驱动牛犊
  • 注册日期2003-06-13
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分100分
  • 威望10点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-07 14:21
单片机读写U盘,能读出扇区数据,但写不上。
在写扇区数据的时候,第二个64B时间特长,可能是U盘NAK,因为NAK时我一直重发,其它7个64B包均正常,但数据丝毫没有写上,为什么?
CBW 64B 64B 64B 64B 64B 64B 64B 64B SBW
=1mS 1mS 35mS 1mS 1mS 1mS 1mS 1mS 1mS 1mS
xxg
xxg
驱动小牛
驱动小牛
  • 注册日期2002-02-28
  • 最后登录2005-12-12
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-11-08 11:00
嗯,其实12M也是可以的,我们用的是48M
   欢迎光临我的网站:http://eden.51.net主要是USB开发方面的一些信息
zf_98412
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2004-08-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-11-08 16:43
每个CBW后的延时我发现主要是命令25-ReadCapacity,我不知道我的为什么100ms的延时都不认帐,返回NAK。其它的不怎么需要延时。
我现在还没有做写,所以不知道写有会有什么问题出现。读的速度大概是42k byte/s
yyouking
驱动老牛
驱动老牛
  • 注册日期2003-12-18
  • 最后登录2020-04-28
  • 粉丝0
  • 关注0
  • 积分967分
  • 威望114点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2004-10-18 10:42
鼎鼎
提供: AT89S52+D12开发套件 W78E54+Sl811HST单片机读写U盘套件 PL2303HX-串口转USB 网站http://www.devking.cn 联系 sl811hs@yahoo.com.cn QQ:14441292
kY1NgmAn
驱动牛犊
驱动牛犊
  • 注册日期2003-06-16
  • 最后登录2009-11-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-10-21 10:56
我正有一个问题不清楚。请做过主设备的人回答。 如果我做一个单片机读U盘的冬冬,我那个单片机上面都需要写些什么程序阿,是不是要写一个u盘的驱动进去呢。还要写些什么呢。请大拿们赐教 感激不尽
ajin505
驱动牛犊
驱动牛犊
  • 注册日期2008-03-22
  • 最后登录2008-05-17
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-03-29 12:11
谢谢 我也正在做这个
m0000m
驱动牛犊
驱动牛犊
  • 注册日期2008-03-31
  • 最后登录2008-04-11
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-03-31 10:17
同问,read10和write10的时候老是NAK,在CBW后延时好像不大起作用,哪位大大指教下吧。bow
JJADKT
驱动牛犊
驱动牛犊
  • 注册日期2007-11-30
  • 最后登录2009-05-25
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望46点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-06-16 11:18
是哦。我也被这个问题困扰。写的速度超慢的。现在才3KB/S.真是超级的慢啊。
JJADKT
驱动牛犊
驱动牛犊
  • 注册日期2007-11-30
  • 最后登录2009-05-25
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望46点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2008-06-16 11:19
每次写要加Delay(150);也就是延时150MS,所以导致超慢,不加的话写的时候又老是要出错。郁闷啊
JJADKT
驱动牛犊
驱动牛犊
  • 注册日期2007-11-30
  • 最后登录2009-05-25
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望46点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2008-07-08 15:30
游客

返回顶部