avnet1713
驱动牛犊
驱动牛犊
  • 注册日期2003-08-06
  • 最后登录2004-04-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:5811回复:29

USB主端芯片SL811HS的一些开发经验,与大家共享(请求置顶)

楼主#
更多 发布于:2003-10-16 21:01
最近开发完sl811hs+51读写u盘的系统,在usb层上叠加mass storage层,再在上面实现fat文件系统,真累,写下一些经验和大家共享,如果有人需要我提供廉价开发板也可跟我联系。
其实sl811hs做过的人不少,我在02年上半年已经开发了sl811hs+USB数码相机,实现用PTP协议(picture transfer protocol,专用与数码相机上的标准协议)来完成相机的调接拍摄等动作和下载图片,用51单片机实现,都用USB通信完成。
对于811的开发主要有以下几点请注意:
1.电路的干扰,比如推荐用103电容,22欧姆电阻等,可以用示波器看看输出信号的噪声大小
2.晶振的选择,比如最好使用外接48MHZ有源晶振,能大大提高通信的稳定性,也能减少遇到的问题。timeout问题我遇到两次,基本上是电路的信号干扰和使用12m晶振时,内部PLL在倍频时遇到问题,在换成48M有源晶振时一切正常。这个问题我以前在这里问过,可惜有人说已经解决,却没有贴出来怎么解决,真是分特。
3.修改源代码,cypress提供的源代码有些缺陷,做产品的话还需要修改。
4.调试时可以使用串口输出调试信息,如能正确输出pid和vid,那么基本的平台应该没有问题了。
5.源码和资料下载,在www.cypress.com进product,进embedded usb host,找到sl811hs和它的开发板,然后就可以找到下载的链接。找资料也是一种能力哦,呵呵
6.48m外接频率的设置。前面提到最好用48m有源晶振,连接图在datasheet里有专门讲到,在pll那一部分,注意英文中振荡和晶体是两个概念,不像中文中都叫成晶振。
7.想到再加

关于文档我也想共享给大家,但是想想一来未免有前人那样哗众取宠之疑,二来这些东西网上都可以找到,所以大家有问题直接发信问我吧,avnet1713@hotmail.com

顺便提个问题,大家用51+sl811hs写u盘能达到多少速率?几k每秒?几十k每秒??

[编辑 -  10/16/03 by  avnet1713]

[编辑 -  10/16/03 by  avnet1713]

[编辑 -  10/16/03 by  avnet1713]

[编辑 -  10/27/03 by  avnet1713]

最新喜欢:

litcrazylitcra... tjjkzhytjjkzh...
xxg
xxg
驱动小牛
驱动小牛
  • 注册日期2002-02-28
  • 最后登录2005-12-12
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-16 23:09
我们实现的方案是几十K每秒,并还有提速的很大空间.
   我们从2003年5月份开发出51+SL811方案到现在为止更新了版本3次,从最初的2K每秒到现在的几十K每秒(大于25K 字节/秒).我觉得,调通这个方案不是很容易的,它涉及到的协议众多,编程量很大,特别是文件系统方面,需要彻底吃透FAT文件系统.所以我们建议大家不要人人都从底层开始做.
   我觉得这个方案很重要两个地方大家一定要注意:
   一是兼容性,就是对各种U盘兼容的能力.我们的方案现在能兼容95%的U盘,已经尽了很大的努力了.
   二是系统稳定性,主要是软件的稳定性.同样的程序,不同的人编写出来稳定性可能相差较大,所以没有一定的单片机C语言功底的人我们不建议从底层开发.
   还有就是速度问题.
   如果大家有什么问题需要交流,我热情欢迎.
   我的电话:13911801721 徐
   我的网站:http://eden.51.net
    网站上有几个USB开发的套件和资料.
wangzzdd
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-18 10:03
最初我写一兆大小的文件要30s,经过不断的改进,现在只需7秒
avnet1713
驱动牛犊
驱动牛犊
  • 注册日期2003-08-06
  • 最后登录2004-04-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-20 22:42
1m数据用7秒,差不多130k每秒,用51能做到这么快吗?
liujinfeng321
驱动牛犊
驱动牛犊
  • 注册日期2003-05-15
  • 最后登录2005-05-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-21 12:35
请问,avent1713兄,要是把sl811的晶振换成48M,那相应的电路用不用改成sl811hs资料里提供的48M的典型电路呀,还要加什么电感之类的吗?
avnet1713
驱动牛犊
驱动牛犊
  • 注册日期2003-08-06
  • 最后登录2004-04-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-22 20:33
spec里有详细说明的,除了一个管脚接地外,最好有源晶振的电源加电容,你说的加电感做什么用??
windish
驱动牛犊
驱动牛犊
  • 注册日期2003-10-17
  • 最后登录2004-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-10-23 09:08
sypress上面找不到所谓得源代码呀?
怎么回事?
genchen
驱动牛犊
驱动牛犊
  • 注册日期2003-07-28
  • 最后登录2010-01-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-10-23 09:10
对于支持不同的U盘,Cypress公司建议:
1. Please use 22-24ohm series termination resistors on your D+ and D- data lines, 33ohms is too large.
pengenwen
禁止发言
禁止发言
  • 注册日期2003-03-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1586分
  • 威望8380点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-10-23 09:10
用户被禁言,该主题自动屏蔽!
avnet1713
驱动牛犊
驱动牛犊
  • 注册日期2003-08-06
  • 最后登录2004-04-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-10-23 20:01
cypress找到embedded usb host,进去可以下载资料,包括源代码,
liujinfeng321
驱动牛犊
驱动牛犊
  • 注册日期2003-05-15
  • 最后登录2005-05-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-10-27 10:15
avnet1713兄,我在sl811hs的资料里看到若采用48M晶振的典型电路如下,其中就有一个2.2uH的电感和22pf的电容并联,是不是不需要振么麻烦呀!
windish
驱动牛犊
驱动牛犊
  • 注册日期2003-10-17
  • 最后登录2004-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-10-27 11:34
你们么的FAT文件格式是FAT12,FAT16,FAT32?那一种?
avnet1713
驱动牛犊
驱动牛犊
  • 注册日期2003-08-06
  • 最后登录2004-04-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-10-27 12:22
windish: fat16
liujinfeng321:这是外接晶体的做法,最好的方法就是用有源的48m,我在原文中修改了你看看。
liujinfeng321
驱动牛犊
驱动牛犊
  • 注册日期2003-05-15
  • 最后登录2005-05-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-10-27 14:15
avnet1713兄,你说在原文里改了,是在我的那个图里改的吗?可没有改过呀!求你再贴一张图在这吧,或者在改改我的!
sunyi0107
驱动牛犊
驱动牛犊
  • 注册日期2003-10-27
  • 最后登录2003-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-10-27 17:26
我想问一下,我们在开发时遇到将数据写入sl811的时候,为什么总是隔一个写一个?
avnet1713
驱动牛犊
驱动牛犊
  • 注册日期2003-08-06
  • 最后登录2004-04-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-10-28 10:50
liujinfeng321:我的原文是指上面这篇文章,我说了叫你用有源晶振啊

sunyi0107:能否说的明白些?

liujinfeng321
驱动牛犊
驱动牛犊
  • 注册日期2003-05-15
  • 最后登录2005-05-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-10-28 12:38
spec里有详细说明的,除了一个管脚接地外,最好有源晶振的电源加电容,你说的加电感做什么用??

有源晶振加电容是不是加10uF和0.1uF的电容并联在电源和地之间呀?输出端用不用加一个0欧姆的电阻到X1端呀?
mhxsoft
驱动牛犊
驱动牛犊
  • 注册日期2003-06-13
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分100分
  • 威望10点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2003-10-28 16:38
请问:在读写U盘时,哪些细节应加注意,为什么我在读写U盘时,能读出扇区数据,但写不上?
lvbaoshi@163.co
驱动牛犊
驱动牛犊
  • 注册日期2003-08-24
  • 最后登录2004-04-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2003-10-29 14:36
文件系统怎么实现啊,给小弟偶一个概念
avnet1713
驱动牛犊
驱动牛犊
  • 注册日期2003-08-06
  • 最后登录2004-04-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2003-10-29 19:21
liujinfeng321:为什么我的回答你看不懂,你的回答我也看不懂?呵呵
上一页
游客

返回顶部