collen
驱动牛犊
驱动牛犊
  • 注册日期2003-08-03
  • 最后登录2004-02-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1789回复:8

高分求救!D12的INT脚为何总是低电平啊

楼主#
更多 发布于:2003-08-23 14:02
各位大侠:救命!!我的USB板基本情况是这样的:
1)USB板采用的是C52+D12,总线供电;
2)D12的DATA0-DATA7直接于单片机的D0-D7相连,对D12的操作采用CS于ALE配合;
3)D12的INT脚直接连到单片机的INT1脚;
    现在板子连到计算机后,固件程序用仿真器运行,结果检测到D12的INT脚一直为低电平,用手动复位后变高,但立刻又变低电平;用BUSHOUND监测到总线上没有任何的有效信号,上位机根本没有发GET DESCRIPT()的命令,这是为什么啊!
资料上不是说只要中断寄存器中为零,INT脚就会变高么?
各位老大,救救我吧,我一定倾我所有的分来回报的,急!!!!
yao_wx2002
驱动牛犊
驱动牛犊
  • 注册日期2002-12-10
  • 最后登录2008-04-28
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-24 04:12
D12上电时INT引脚是默认为低的,当你使用读中断寄存器命令后可以将其拉高(F4)。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-24 12:52
中断引脚要上拉的,还有开始初始化的时候先清一次中断寄存器。
collen
驱动牛犊
驱动牛犊
  • 注册日期2003-08-03
  • 最后登录2004-02-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-24 13:43
首先谢谢两位大哥的回答。
说明一下的是我的板子INT脚加了上拉电阻,我这两天调试自己的板子,发现只是读中断寄存器还不能把INT脚拉高,还需设置DMA和MODE
,但是这也是在没有和PC机的USB口连接上之前(是指用电缆连),当我把电缆接上之后,SOFTCONNECT后,总线上面总是收到复位信号,然后就产生中断,我在总线中断处理程序里进行了如下操作,重新设置D12的DMA和MODE(软连接之前已经设置过的),但是PC机好象没有反应,不停的给我发复位命令,GOODLINK灯亮了三次之后就灭了,我的INT脚又被永久的置0了,我现在真的是不知道如何是好了,还望各位大哥再多多关照!!!
还有就是我怎么找不到给分的按钮啊!!!再找……
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-24 14:15
那你检查一下你的复位引脚看看,说不定是这里的毛病,如果还不行就等明天做过D12的那些高手上班了给你回答吧,我对D12了解得不多。每贴只能给一次分
collen
驱动牛犊
驱动牛犊
  • 注册日期2003-08-03
  • 最后登录2004-02-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-24 15:14
对了,我没有用HCT123,我本来用MAX706作了一个复位电路的,后来没有用它,现在我的D12的复位脚通过一个按钮和电阻接地,也就是说,平时RESESET脚是悬空的,会不会是它的问题,下午在查一查看,谢谢任大哥!!呆会儿在开贴放分给你,虽然少了一点,我尽力,谢谢!!!!
collen
驱动牛犊
驱动牛犊
  • 注册日期2003-08-03
  • 最后登录2004-02-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-24 19:47
各位大侠:下午去调试了一下,发现了一个奇怪的现象,我的板子连上PC的USB口并SOFTCONNECT后,监测D+的信号发现,每隔1ms有一个低电平,我怀疑是SOF信号,两个SOF信号之间都是高电平,并且这种状况持续三次后就没有了,D+就一直为高;在D+上有SOF信号的时候,D12的INT脚一直为低电平,而在两次信号之间恢复为高电平,但是第三次的总线信号没有了之后,INT脚就一直为低了,不过稍微好一点的是,在我下午改了RESESET为上电复位之后,只要执行读中断寄存器就可以把D12的INT脚置高,不过这是在没有跟PC机软连接的情况下,奇怪的是,只要连上了PC之后,好象读中断寄存器就不能使INT脚变高了,因为我在中断处理程序中有这样做,但是监测INT脚在总线上有信号的时候一直为低.先谢谢各位的关注,还盼望各位大侠能继续指点小弟一二,不胜感激!!!!
yao_wx2002
驱动牛犊
驱动牛犊
  • 注册日期2002-12-10
  • 最后登录2008-04-28
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-08-24 22:25
你的RESET引脚不能悬空,因为CMOS电路引脚不接固定电平就是不定态。你上面说的问题我没碰到过,估计是硬件接法的问题。把不要用到的功能脚都要接成无效态。如DMACK_N接高(假如你没用到DMA)。
还有,SUSPEND脚要处理好。我做USB手柄时就时不让它挂起。
collen
驱动牛犊
驱动牛犊
  • 注册日期2003-08-03
  • 最后登录2004-02-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-08-25 01:41
谢谢这位大哥的提醒。你说的我后来改了,作了一个上电复位电路。我也估计是硬件接法的问题,我的没有用到的脚都接了固定电平,还有就是我的SUSPEND是直接接地的,AO通过10K的电阻接地,CS用的是P1。6脚,然后就是ALE,RD,WR,DATA直接和单片机的相连,我的EOT脚通过一个4.7K的电阻接高电平,用一个1M的电阻下拉,我没有采用总线供电,所以USB四根线中的VBUS没有接到板子上,不知道这样会不会有问题,只好逐个排除了。现在我发现我的6M的晶振波形中有一个大约500HZ的低频信号调制波,12M输出也是,不知道会不会是这个原因。对了,这位大哥,不知道你的相关的控制线是怎么连的,还请指点,谢谢!!!!
游客

返回顶部