jinfen
驱动牛犊
驱动牛犊
  • 注册日期2002-12-21
  • 最后登录2009-02-25
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望12点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1646回复:10

问一个有人问过的问题?(51+SL811)

楼主#
更多 发布于:2003-07-08 15:55
请教?
我用SL811+89C51,SL811用12MHz有源晶振.
复位U盘后,能检测到U盘的存在,然后设置寄存器

0F:0XAE ;cSOFcnt->0XAE
0E:0XE0 ;cDATASet->0XE0
05:0X05 ;CtrlReg->0X05

03:0X50 ;EP0Status->0X50
04:0X00 ;EP0Counter->0X00
00:0X01 ;EP0Control->0X01

设置完成后,用示波器检测D+,D-并无1ms sof 信号波形出现,进一步检测后发现,设备为低速时可以产生SOF,设备为高速时只能在配置完寄存器后产生1S左右的SOF,这个问题我在以前的贴子里又看到过,有人解决但没有人说为什么?
那位高手指点一下,谢谢!

最新喜欢:

ww7002ww7002 yyoukingyyouki...
liutom
驱动牛犊
驱动牛犊
  • 注册日期2003-05-29
  • 最后登录2005-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-09 01:32
用SL811HS+51读写U盘吧?
你被CYPRESS的文档给骗了,那份文档中错误百出,还有一份应用文档更是错的连边都沾不上了,号称是HS的,可程序中大量标注S(从设备),唯一正确的信息在EZ-811HS的文档中,那里有份源代码,内容基本是正确的,仔细找能找到的。
我的代码顺序跟你的基本一致,就是写0寄存器后有个25MS的延时,SOF能用逻辑笔看到。为什么要这样的?我都不知道,因为没有任何文档说明这个问题,我说的那个源代码里有这么一出,我就学过来了。
建议你先不RESET,就把那两段代码直接运行,应该能看到SOF的。
又,我第一条指令是05:0X00H,此外先写0E后写0F,可能没什么关系。
再又,你产生了1S的SOF,那应该是正常运行了,你是不是后面搞错了代码把控制搞乱了啊?
你核对一下你的芯片版本,如果低于1。5版,有个BUG说明,你仔细看看。
liutom
驱动牛犊
驱动牛犊
  • 注册日期2003-05-29
  • 最后登录2005-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-09 01:35
还有,我问过CYPRESS总部技术支持工程师,晶振以48M有源为佳,内部的那个PLL比较容易受干扰。
jinfen
驱动牛犊
驱动牛犊
  • 注册日期2002-12-21
  • 最后登录2009-02-25
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望12点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-09 08:40
真是太感谢你了!
jinfen
驱动牛犊
驱动牛犊
  • 注册日期2002-12-21
  • 最后登录2009-02-25
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望12点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-09 08:43
你说低于1.5版的有BUG,那怎么解决呢?
liutom能不能再解答一下,谢谢!
liutom
驱动牛犊
驱动牛犊
  • 注册日期2003-05-29
  • 最后登录2005-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-09 13:46
有一份错误表,里面列出了若干问题,并提出了一些解决方法,但如果是1。5版本,就应该没问题。
又,正确的DATASHEET应该是2002年版的,2001年那个是错的,很多寄存器内容都是不对的,赶快扔了吧。
芯片版本可以从寄存器读出来的。
jinfen
驱动牛犊
驱动牛犊
  • 注册日期2002-12-21
  • 最后登录2009-02-25
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望12点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-09 17:06
谢谢你的帮助,现在我按你的方法,先不REST设备,把代码运行一遍就可以产生SOF波形。而后进行通信(SETUP),一直出现TIMEOUT错误,是不是SETUP命令发送出去后设备不响应,还是SL811 SOF参数设置错误,我现在用的是48MHz有源晶振,SOF_H(0FH)->0XAE,SOF_L(0EH)->0XE0。我在论坛上有看到SOF周期为1.3ms的,这是什么原因?是不是我的也是这个原因?
不好意思!
忘了给分了!! :D
能不能载解答一下?
谢谢!
jinfen
驱动牛犊
驱动牛犊
  • 注册日期2002-12-21
  • 最后登录2009-02-25
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望12点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-09 17:14
liutom,能不能给个信箱地址,有很多问题想向您请教。
jinfen@gddc.com.cn
liutom
驱动牛犊
驱动牛犊
  • 注册日期2003-05-29
  • 最后登录2005-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-09 20:13
有一份小纸片,仅4页,名为BASIC EMBEDDED HOST USING THE SL811HS
这是一份含有很多正确信息的文档,里面列出了USB HOST OPERATION的8个主要步骤
1。允许中断
2。设备检测到及供电
3。USB RESET
4。SOF/EOP发生
5。USB传输
6。ERRORS
7。SUSPEND/RESUME
8。REMOTE WAKE UP
其中配有流程图,仔细观察就会发现每一步的代码都写出来了。
我根据这个一直读出了设备描述符,之后因为时间实在来不及了,就买了一份伊甸科技的方案,里面的代码正好符合我的要求,把地址一改就能用了,所以后面的东西我就没再弄了。
我的邮箱liuchunlei@263.net.cn
jinfen
驱动牛犊
驱动牛犊
  • 注册日期2002-12-21
  • 最后登录2009-02-25
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望12点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-10 22:25
liutom,你好!
我有给你发信,请收一下,谢谢!


[编辑 -  7/10/03 by  jinfen]
xxg
xxg
驱动小牛
驱动小牛
  • 注册日期2002-02-28
  • 最后登录2005-12-12
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-07-11 20:46
你好:
   SL811的最新资料在下面这个网站上有,保证是可靠的,我们就是参考这个datasheet开发成功的。
   网址:http://eden.51.net
游客

返回顶部