sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2309回复:11

USB设备不正常

楼主#
更多 发布于:2002-05-04 20:48
我在公司做USB接口数据采集设备开发,在批量生产的时候有个异常现象搞得我很狼狈,请高人指点。
该设备由一块AN2131QC做的USB接口卡(独立放置,外部供电,通过排线和采集卡连接)、一块采集卡、8块程控放大器卡、一块具有总线性质的底板(数据通道、供电,前9块卡平行竖插在底板上)和电源模块组成。当设备上电时,一般情况下在设备管理器的USB类别下马上就出现设备名,但现在的情况是设备有时能立即出现,系统的各部分也都能正常工作,有时只出现一个带感叹号的USB DEVICE,断电后稍等再上电没准又有了。单独连上接口卡(改用USB供电),反复拔插,毫无问题,表现很稳定。
从线路上分析,接口卡只需从采集卡获得+5V电源就能工作(每次查电源也没有问题),设备就该出现,其他板卡即使不正常也不至于影响到这一点,更何况这是第二代产品,技术和工艺都很成熟。顺的时候每台设备都能PASS,不顺的时候把PASS过的设备拿回来再测试也有前面所说的毛病,重装操作系统也没治。请指教。
另外,有的设备出现得很快,有的就比较迟钝,这又是什么原因?

最新喜欢:

yy3yy3yy3yy3 qgrqgr
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-05 23:52
我用别的chip也碰到过,好像一般只有2个原因:
1.接触不良
2.延时不够
我这些都是猜测,仅供参考。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-06 04:35
谢谢斑竹,可是我的板子应该做的没有问题,枚举延时达到了3秒钟,应该够了的,光是一个USB接口卡,怎么折腾都没事,加上了其他板子就发神经,偏偏其他板子跟设备枚举就不沾边,仅仅提供一个电源,我每次去量电压都是对的,就差去割线量电流了。
WOOD
驱动老牛
驱动老牛
  • 注册日期2001-09-14
  • 最后登录2008-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-06 10:01
竞争和冒险
空想了一下:加电顺序是怎样的?
huoxy
驱动小牛
驱动小牛
  • 注册日期2002-03-01
  • 最后登录2014-02-24
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-06 16:36
是不是AN2131需要检测USB总线提供的5V,PDIUSBD12就需要检测。
好好学习,天天向上,做一个乖宝宝。
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-07 21:43
我没有看到过AN2131需要检测总线电源的说明,按说不需要。
上电的顺序是和用总线供电的顺序相反,但为了充分保证系统的供电没有采用总线供电方式,用外部供电,USB接口部分也是的,当系统处在上电中,仅有供电线路向USB提供电源,I/O和DATA BUS无动作,从功能上应该不会对设备列举有影响。
www3390
驱动牛犊
驱动牛犊
  • 注册日期2002-04-25
  • 最后登录2005-04-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-05-08 15:38
    我的USB刚开始做,但硬件已作过几年,SUNKAI大侠古道热肠,如果我说一点能有所帮助,也算对SUNKAI的一点感谢-替所有像我一样的初学者。
    从硬件的角度考虑,我觉得是不是应看看USB接口部分的电源滤波。10uF + 0.1uF应该是必须的,或者加个外部电源单独给接口电路供电,或者在加电状态让USB设备重新枚举,不知你的排线有多长,有几根做VCC和GND?或用记忆示波器看看加电时电源上升和稳定的情况。
    我能想到的就这么点,祝你好运,另外,什么时候好了一定和大伙说一下原因。
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-05-08 22:58
谢谢关心,帮助别人和互相帮助是有必要的,否则一点小问题就去问洋人,会让他们小瞧的。
“10uF + 0.1uF应该是必须的,或者加个外部电源单独给接口电路供电”这个我已经做了,我上传的图上的确是这样的。“或者在加电状态让USB设备重新枚举”,这个建议非常有建设性!排线有20cm左右,VCC和GND各有一跟(可能不够?),“或用记忆示波器看看加电时电源上升和稳定的情况”,好的,你很有经验,请多多指教。“什么时候好了一定和大伙说一下原因”,没问题,我保证。
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-05-15 01:38
楼上的朋友指示我要报告结果,经过几天苦干,现在可以汇报了:
设备本身是好的,是我的应用程序有很多BUG,在编程过程中,频繁打开和关闭设备,而且是在多线程运行时,造成对设备的访问异常,比如在一个线程中正在获取数据,另一个线程却关闭了句柄,另一个线程中以句柄为判断条件等等,如果有异常退出时就更不对了,设备就没有关闭,反正乱七八糟的。我统统清理了一遍,只在启动主程序时打开设备,在退出主程序时关闭句柄,就没事了,尽管程序有不健壮的地方,但对设备的后续访问没有影响。形象点说,原来有“阻塞”的因素,排除后可通畅访问设备。
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-05-15 11:49
你这样做可能会有问题,如果一直打开,拔掉以后经常会不能枚举,要重新启动机器才行。
最好是需要的时候才打开,用完了马上关闭。不同的线程之间用mutex同步。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-05-15 23:55
斑竹说的没错,但我已经尽力了,原来是按照你所说的方法做的,因程序比较大,改动起来很费事,还有我猜测频繁打开和关闭设备会浪费时间和资源,会影响实时处理(会不会?我是想当然),再加上我的水平不咋的,也改不动了,谁要是喜欢在对设备操作时拔掉就让他重启机器好了,:)
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-05-16 10:59
理论上当然会对时间有影响。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部