阅读:5811回复:29
USB主端芯片SL811HS的一些开发经验,与大家共享(请求置顶)
最近开发完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] |
|
沙发#
发布于: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开发的套件和资料. |
|
板凳#
发布于:2003-10-18 10:03
最初我写一兆大小的文件要30s,经过不断的改进,现在只需7秒
|
|
地板#
发布于:2003-10-20 22:42
1m数据用7秒,差不多130k每秒,用51能做到这么快吗?
|
|
地下室#
发布于:2003-10-21 12:35
请问,avent1713兄,要是把sl811的晶振换成48M,那相应的电路用不用改成sl811hs资料里提供的48M的典型电路呀,还要加什么电感之类的吗?
|
|
5楼#
发布于:2003-10-22 20:33
spec里有详细说明的,除了一个管脚接地外,最好有源晶振的电源加电容,你说的加电感做什么用??
|
|
6楼#
发布于:2003-10-23 09:08
sypress上面找不到所谓得源代码呀?
怎么回事? |
|
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. |
|
8楼#
发布于:2003-10-23 09:10
用户被禁言,该主题自动屏蔽! |
|
9楼#
发布于:2003-10-23 20:01
cypress找到embedded usb host,进去可以下载资料,包括源代码,
|
|
10楼#
发布于:2003-10-27 10:15
avnet1713兄,我在sl811hs的资料里看到若采用48M晶振的典型电路如下,其中就有一个2.2uH的电感和22pf的电容并联,是不是不需要振么麻烦呀!
|
|
11楼#
发布于:2003-10-27 11:34
你们么的FAT文件格式是FAT12,FAT16,FAT32?那一种?
|
|
12楼#
发布于:2003-10-27 12:22
windish: fat16
liujinfeng321:这是外接晶体的做法,最好的方法就是用有源的48m,我在原文中修改了你看看。 |
|
13楼#
发布于:2003-10-27 14:15
avnet1713兄,你说在原文里改了,是在我的那个图里改的吗?可没有改过呀!求你再贴一张图在这吧,或者在改改我的!
|
|
14楼#
发布于:2003-10-27 17:26
我想问一下,我们在开发时遇到将数据写入sl811的时候,为什么总是隔一个写一个?
|
|
15楼#
发布于:2003-10-28 10:50
liujinfeng321:我的原文是指上面这篇文章,我说了叫你用有源晶振啊
sunyi0107:能否说的明白些? |
|
16楼#
发布于:2003-10-28 12:38
spec里有详细说明的,除了一个管脚接地外,最好有源晶振的电源加电容,你说的加电感做什么用?? 有源晶振加电容是不是加10uF和0.1uF的电容并联在电源和地之间呀?输出端用不用加一个0欧姆的电阻到X1端呀? |
|
17楼#
发布于:2003-10-28 16:38
请问:在读写U盘时,哪些细节应加注意,为什么我在读写U盘时,能读出扇区数据,但写不上?
|
|
18楼#
发布于:2003-10-29 14:36
文件系统怎么实现啊,给小弟偶一个概念
|
|
19楼#
发布于:2003-10-29 19:21
liujinfeng321:为什么我的回答你看不懂,你的回答我也看不懂?呵呵
|
|
上一页
下一页