搜索
bottom↓
回复: 13

MSP430 IO口控制P-MOS遇到问题 MOS 不能完全关断

[复制链接]

出0入0汤圆

发表于 2013-10-18 15:47:54 | 显示全部楼层 |阅读模式
如图,VCC_BA是3.3V电源,P-MOS用的是si2301DS。现在用430的P2.2引脚输出来控制mos管的打开和关闭,当P2.2输出低的时候,D端能得到3.3V电压,但是当P2.2输出高的时候,D端还是有2.3V左右的电压,这个MOS管的Vgs(th)= -0.45V,照理说IO拉高了MOS管应该关断的。另外在没有负载的情况下,就是把MOS管D端后面的线路断开后,能正常关闭,这是什么原因呢,请大家帮我分析分析

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2013-10-18 15:58:19 | 显示全部楼层
那是由于与CC2500相连的IO口给CC2500供电了。
一般芯片内IO口到VCC、GND间各有一个二极管,当IO电压高于VCC时,就有可能对VCC形成供电。

出0入0汤圆

发表于 2013-10-18 16:06:30 | 显示全部楼层
GS加1M电阻,

出0入0汤圆

 楼主| 发表于 2013-10-18 16:42:12 | 显示全部楼层
lcw_swust 发表于 2013-10-18 15:58
那是由于与CC2500相连的IO口给CC2500供电了。
一般芯片内IO口到VCC、GND间各有一个二极管,当IO电压高于VCC ...

我把单片机跟CC2500所有相连的IO口(si,so,sclk,csn,GDO0,GDO2)都设置为输入,然后再测,MOS的D端仍然有电压。然后在都设置为输出并且拉低后也还是有电压。

出0入0汤圆

 楼主| 发表于 2013-10-18 16:48:05 | 显示全部楼层
wmm20031015 发表于 2013-10-18 16:06
GS加1M电阻,

我手里只有个10M的电阻 可以接吗

出130入129汤圆

发表于 2013-10-18 16:51:08 来自手机 | 显示全部楼层
io口么内部有钳位二极管?

出0入0汤圆

发表于 2013-10-18 16:57:24 | 显示全部楼层
以前我们用PMOS关GPS模块电源也这样,后来也没管,反正模块会掉电,那个电压只是浮空电压。

出0入0汤圆

发表于 2013-10-18 17:06:14 | 显示全部楼层
chenjunqi303 发表于 2013-10-18 16:48
我手里只有个10M的电阻 可以接吗

10M的并两个也可以

出0入0汤圆

 楼主| 发表于 2013-10-18 17:10:54 | 显示全部楼层
mandey 发表于 2013-10-18 16:57
以前我们用PMOS关GPS模块电源也这样,后来也没管,反正模块会掉电,那个电压只是浮空电压。 ...

CC2500 2.3V也能工作,所以他一直在耗电流,我是电池供电吃不消啊

出0入0汤圆

 楼主| 发表于 2013-10-18 17:13:29 | 显示全部楼层
68336016 发表于 2013-10-18 16:51
io口么内部有钳位二极管?

内部没有钳位2级管

出130入129汤圆

发表于 2013-10-18 17:16:12 | 显示全部楼层
chenjunqi303 发表于 2013-10-18 17:13
内部没有钳位2级管

相连就那几根数据线,也看不到其他地方,自己量下看看

出0入0汤圆

 楼主| 发表于 2013-10-18 17:18:31 | 显示全部楼层
68336016 发表于 2013-10-18 17:16
相连就那几根数据线,也看不到其他地方,自己量下看看

我把单片机上与他相连的相应引脚全都设置为了输入,测量各个引脚得到SI 引脚一直是高电平,其他都是低电平

出0入0汤圆

 楼主| 发表于 2013-10-21 15:23:23 | 显示全部楼层
本帖最后由 chenjunqi303 于 2013-10-21 15:27 编辑

问题解决了,我把MOS管G端的下拉电阻去后,程序中CC2500的工作模式都设置为空闲模式后mos就能正常关闭了
  1. P2OUT &= ~0x04;                                          //RFTransceiverPowerOn
  2.                 delay(65530);
  3.                 CC2500_INIT();
  4.                 //TI_CC_SPIReadBurstReg(0x31,RecvArray,1);
  5.                 TI_CC_SPIStrobe(TI_CCxxx0_SIDLE);        //设置CC2500为空闲模式
  6.                 RFSendPacket(SendArray,2);
  7.                 TI_CC_SPIStrobe(TI_CCxxx0_SIDLE);        //本来没有这句的时候,mos关不断,加上这句后就可以关断了
  8.                 P2OUT |= 0x04;                                                //RFTransceiverPowerOff
复制代码
问题应该就是lcw_swust说的单片机IO口给CC2500供电了,等任务完成后我再回头来研究到底是什么原因造成的,谢谢各位热心帮主,哈哈
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 23:05

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表