阅读:1063回复:7
谁能告诉我是什么原因
我做的USB 板 D12 +89C52
手工插上USB插头,系统能识别我的设备,GOODLINK LED闪烁,当我不拔掉插头,重新启动系统后,该设备不能被系统所识别. GOODLINK LED 不亮,但重新插拔一次,或者按下RESET后,又能重新被系统识别. 我是用ZLG的代码改的,不知漏掉了哪个环节?? |
|
|
沙发#
发布于:2003-11-12 16:08
为满足挂起电流小于500UA的USB规范,ZLG的代码中检测到D12的挂起脚置高后就使MCU进入掉电模式,而要使MCU退出掉电模式的唯一途径就是硬件复位,你的电路板中应该没有加挂起唤醒电路吧(用它来代替你的手去按那个复位开关)。
|
|
板凳#
发布于:2003-11-13 00:15
那么能不能不挂起呢?
或者说,在不修改硬件的情况下,实现重启后自动唤醒呢? |
|
|
地板#
发布于:2003-11-13 08:11
不能,只能通过硬件。
|
|
地下室#
发布于:2003-11-13 08:48
那么能不能不挂起呢? 飞根线就行了。 |
|
5楼#
发布于:2003-11-13 09:02
MCU进入掉电模式是为了满足USB规范在挂起状态下严格的电流要求,如果没有硬件唤醒电路,除非用人工复位,否则它将永远沉睡。
|
|
6楼#
发布于:2003-11-13 10:10
如果我不遵循500UA的规范,能不能在D12挂起的情况下,MCU不进入掉电模式.
如果是这样怎样修改固件呢? 提个思路即可. |
|
|
7楼#
发布于:2003-11-13 10:40
可以产用自供电方式,即不用总线供电,这样的话固件程序中挂起处理那一段可以去掉,或者你也可以在其中加上向主机发送唤醒命令(F6H)以唤醒主机。不过这种供电方式一般用在数码相机等产品中。
|
|