wince5.0系统起来后无法自动同步

hjqqqhjqqq   2010-3-1 11:29 楼主
wince5.0系统起来后无法自动同步,必须拔插USB线才能同步~~~~~~~~

我现在想让系统起来后自动实现同步(跳出同步框),不需要再拔插了。。。

哪位大哥高见下~~~我想应该是USB配置问题,难道是一个跳变?

回复评论 (22)

看看你的USB驱动,是否默认情况下未开启USB功能,而是在当检测到有USB线插入的时候才开启的USB功能?如果是这样的话在INIT阶段就开启USB功能,或者INIT阶段就检测是否有线插入,有的话就开启。
点赞  2010-3-1 12:46
谢谢前辈,小弟实在愚昧~“看看你的USB驱动,是否默认情况下未开启USB功能”能否具体点~~USB驱动太庞大了~我们我板子上用的是EINT20 但是就是找不到GPG12~
点赞  2010-3-1 14:06
感觉问题在USB上,你可以测试一下你的系统是否支持冷启动识别:

在插入U盘,冷启动情况下看看能否在进入系统后找到U盘。

如果U盘也只是开机后热插拔才能使用的话,你说的问题就不奇怪了。

点赞  2010-3-1 15:33
你的USB是OTG的吗?会不会是驱动中的连接状态有问题。
点赞  2010-3-1 16:50
引用: 引用 4 楼 sunrain_hjb 的回复:
你的USB是OTG的吗?会不会是驱动中的连接状态有问题。

是OTG 2.0的
点赞  2010-3-1 17:14
我的是OTC 2.0的从USB口~这个封装是小的USB封装,接U盘需要转接头~呵呵~我没转接头,
我现在用它连USB线~实现与PC同步
点赞  2010-3-1 17:18
引用: 引用 4 楼 sunrain_hjb 的回复:
你的USB是OTG的吗?会不会是驱动中的连接状态有问题。


连接状态  能具体点吗?
点赞  2010-3-1 17:18
如1楼所说的,
应该是PLUG_IST中,对USB检测问题。
可能你的USB在驱动起来以后,需要等待PLUG_IST检测到USB插入,中断引脚跳动时,才开始enable USB功能。
而对于,开机就插着USB的情况,USB driver起来后,没有检测到这个跳动,所以没有打开usb 功能。

办法就是,在Init的时候检测USB如果已经插入,让enable USB功能。
点赞  2010-3-1 17:28
引用: 引用楼主 lightsoure 的回复:
wince5.0系统起来后无法自动同步,必须拔插USB线才能同步~~~~~~~~

我现在想让系统起来后自动实现同步(跳出同步框),不需要再拔插了。。。

哪位大哥高见下~~~我想应该是USB配置问题,难道是一个跳变?
我以前用YCKJ的板子也有这个问题,必须热插拨才可以。
引用: 引用1楼 Veabol的回复:
看看你的USB驱动,是否默认情况下未开启USB功能,而是在当检测到有USB线插入的时候才开启的USB功能?如果是这样的话在INIT阶段就开启 USB功能,或者INIT阶段就检测是否有线插入,有的话就开启。
引用: 引用8楼 skynet000的回复:
如1楼所说的,
应该是PLUG_IST中,对USB检测问题。
可能你的USB在驱动起来以后,需要等待PLUG_IST检测到USB插入,中断引脚跳动时,才开始enable USB功能。
而对于,开机就插着USB的情况,USB driver起来后,没有检测到这个跳动,所以没有打开usb 功能。
办法就是,在Init的时候检测USB如果已经插入,让enable USB功能。

这两位高人说的都是真理,经典呀!
点赞  2010-3-2 10:41
2440wince5.0 OAL\INIT.c中GPIO:
    s2440IOP->GPGDAT    = 0x1004;
    s2440IOP->GPGUP     = 0xFEFF;
    s2440IOP->GPGCON    = 0x0180FD9A;
        s2440IOP->GPGDAT    |= 0x1<<2;
        s2440IOP->GPGDAT    |= 0x3<<6;
    s2440IOP->GPGDAT    |= 0x1<<12;
    s2440IOP->GPGUP     |= 0x1<<12;
    s2440IOP->GPGCON    = (s2440IOP->GPGCON & ~(0x3<<24)) | 0x1<<24;
根据我的电路,是用GPG12这个I/O口来检测USB的。默认为高

我把它改为低就可以实现系统起来后自动同步了;那么又有2个问题:
1,按照我的原理图GPG12这个I/O脚是作为拉高D+用的,设置成0按照道理应该是   不可能同步才对。。奇怪了,难道在哪里又拉高了这个脚?
2,我不明白USB驱动中是怎样检测USB是否插上的~前辈能否贴个代码列举下?
点赞  2010-3-2 12:41
当有USB插入的时候USB接口的VBUS是高电平,没有USB插入的时候VBUS是低电平,根据这个特性来判断。
点赞  2010-3-2 13:23
也就是说在哪里检测这个I/O状态,从而使能USB?可否列举下~呵呵
点赞  2010-3-2 13:27
引用: 引用 11 楼 veabol 的回复:
当有USB插入的时候USB接口的VBUS是高电平,没有USB插入的时候VBUS是低电平,根据这个特性来判断。

但是我的电路上VBUS是没接任何东西的,而且我的电路上的主USB HOST的VBUS是接+5V的,应该不同电路把
点赞  2010-3-2 13:34
我的有时候需要插拔,有时候不需要,呵呵。
点赞  2010-3-2 13:34
引用: 引用 13 楼 lightsoure 的回复:
引用 11 楼 veabol 的回复:当有USB插入的时候USB接口的VBUS是高电平,没有USB插入的时候VBUS是低电平,根据这个特性来判断。
但是我的电路上VBUS是没接任何东西的,而且我的电路上的主USB HOST的VBUS是接+5V的,应该不同电路把

电路是不同,但是你可以按照这个思路去处理
点赞  2010-3-2 14:03
引用: 引用 14 楼 gooogleman 的回复:
我的有时候需要插拔,有时候不需要,呵呵。

这个有可能是硬件上的阻抗问题哦。。
点赞  2010-3-2 20:34
D+脚....
PC检测到 复位信号才会开始枚举!
你在开机时如果接着USB的话,由于你的  一些设置(多是硬件) 使得D+脚没有复位信号 所以PC不枚举
点赞  2010-3-2 21:38
顺便问下!LZ的头像是不是 "抱对"
点赞  2010-3-2 21:39
引用: 引用 17 楼 trueman_onlyme 的回复:
D+脚....
PC检测到 复位信号才会开始枚举!
你在开机时如果接着USB的话,由于你的? 一些设置(多是硬件) 使得D+脚没有复位信号 所以PC不枚举


1,我原先的驱动中D+是用GPG12这个I/O控制的,并设置为高的,但是出现了我开始问的“连上USB后开启CE系统,不能自动同步”;后来设置为低后,就能实现自动同步了。。。这个让我觉得很奇怪,D+不是要上拉才对哦。怎么拉低是对的呢??这个一直迷惑
是哪里又把它拉高了????
点赞  2010-3-2 21:59
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复