0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

器件上的大部分可用I/O接口都没有得到使用?

GReq_mcu168 来源:玩转单片机 2020-07-01 16:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

记得有一次,客户拿着处理器板走进我的办公室,说它的功耗太大,耗尽了电池电量。由于我们曾骄傲地宣称该处理器属于超低功耗器件,因此举证责任在我们这边。我准备按照惯例,一个一个地切断电路板上不同器件的电源,直至找到真正肇事者,这时我想起不久之前的一个类似案例,那个案例的“元凶”是一个独自挂在供电轨和地之间的LED,没有限流电阻与之为伍。LED最终失效是因为过流,还是纯粹因为它觉得无聊了,我不能完全肯定,不过这是题外话,我们暂且不谈。

从经验出发,我做的第一件事是检查电路板上有无闪闪发光的LED。但遗憾的是,这次没有类似问题的希望曙光。另外,我发现处理器是板上的唯一器件,没有其他器件可以让我归咎责任。客户接下来抛出的一条信息让我的心情更加低落:通过实验室测试,他发现功耗和电池寿命处于预期水平,但把系统部署到现场之后,电池电量快速耗尽。此类问题是最难解决的问题,因为这些问题非常难以再现“第一案发现场”。这就给数字世界的问题增加了模拟性的无法预测性和挑战,而数字世界通常只是可预测的、简单的1和0的世界。

在最简单意义上,处理器功耗主要有两方面:内核和I/O。当涉及到抑制内核功耗时,我会检查诸如以下的事情:PLL配置/时钟速度、内核供电轨、内核的运算量。有多种办法可以使内核功耗降低,例如:降低内核时钟速度,或执行某些指令迫使内核停止运行或进入睡眠/休眠状态。如果怀疑I/O吞噬了所有功耗,我会关注I/O电源、I/O开关频率及其驱动的负载。

我能探究的只有这两个方面。结果是,问题同内核方面没有任何关系,因此必然与I/O有关。这时,客户表示他使用该处理器纯粹是为了计算,I/O活动极少。事实上,器件上的大部分可用I/O接口都没有得到使用。

“等等!有些I/O您没有使用。您的意思是这些I/O引脚未使用。您是如何连接它们的?”

“理所当然,我没有把它们连接到任何地方!”

“原来如此!”

这是一个令人狂喜的时刻,我终于找到了问题所在。虽然没有沿路尖叫,但我着实花了一会工夫才按捺住兴奋之情,然后坐下来向他解释。

典型CMOS数字输入类似下图:

图1.典型CMOS输入电路(左)和CMOS电平逻辑(右)

当以推荐的高(1)或低(0)电平驱动该输入时,PMOS和NMOS FET一次导通一个,绝不会同时导通。输入驱动电压有一个不确定区,称为“阈值区域”,其中PMOS和NMOS可能同时部分导通,从而在供电轨和地之间产生一个泄漏路径。当输入浮空并遇到杂散噪声时,可能会发生这种情况。这既解释了客户电路板上功耗很高的事实,又解释了高功耗为什么是随机发生的。

图2.PMOS和NMOS均部分导通,在电源和地之间产生一个泄漏路径

某些情况下,这可能引起闩锁之类的状况,即器件持续汲取过大电流,最终烧毁。可以说,这个问题较容易发现和解决,因为眼前的器件正在冒烟,证据确凿。我的客户报告的问题则更难对付,因为当您在实验室的凉爽环境下进行测试时,它没什么问题,但送到现场时,就会引起很大麻烦。

现在我们知道了问题的根源,显而易见的解决办法是将所有未使用输入驱动到有效逻辑电平(高或低)。然而,有一些细微事项需要注意。我们再看几个CMOS输入处理不当引起麻烦的情形。我们需要扩大范围,不仅考虑彻底断开/浮空的输入,而且要考虑似乎连接到适当逻辑电平的输入。

如果只是通过电阻将引脚连接到供电轨或地,应注意所用上拉或下拉电阻的大小。它与引脚的拉/灌电流一起,可能使引脚的实际电压偏移到非期望电平。换言之,您需要确保上拉或下拉电阻足够强。

如果选择以有源方式驱动引脚,务必确保驱动强度对所用的CMOS负载足够好。若非如此,电路周围的噪声可能强到足以超过驱动信号,迫使引脚进入非预期的状态。

我们来研究几种情形:

在实验室正常工作的处理器,在现场可能莫名重启,因为噪声耦合到没有足够强上拉电阻的RESET(复位)线中。

图3.噪声耦合到带弱上拉电阻的RESET)引脚中,可能引起处理器重启

2.想象CMOS输入属于一个栅极驱动器的情况,该栅极驱动器控制一个高功率MOSFET/IGBT,后者在应当断开的时候意外导通!简直糟糕透了。

图4.噪声过驱一个弱驱动的CMOS输入栅极驱动器,引起高压总线短路

另一种相关但不那么明显的问题情形是当驱动信号的上升/下降非常慢时。这种情况下,输入可能会在中间电平停留一定的时间,进而引起各种问题。

图5.CMOS输入的上升/下降很慢,导致过渡期间暂时短路

我们已经在一般意义上讨论了CMOS输入可能发生的一些问题,值得注意的是,就设计而言,有些器件比其他器件更擅长处理这些问题。例如,采用施密特触发器输入的器件能够更好地处理具有高噪声或慢边沿的信号。

我们的一些最新处理器也注意到这种问题,并在设计中采取了特殊预防措施,或发布了明确的指南,以确保运行顺利。例如,ADSP-SC58x/ADSP-2158x数据手册清楚说明了有些管脚具有内部端接电阻或其他逻辑电路以确保这些管脚不会浮空。

最后,正如大家常说的,正确完成所有收尾工作很重要,尤其是CMOS数字输入。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    20154

    浏览量

    247465
  • led
    led
    +关注

    关注

    243

    文章

    24449

    浏览量

    687633
  • CMOS
    +关注

    关注

    58

    文章

    6191

    浏览量

    241609

原文标题:为什么我的处理器这么耗电?原因不只是一个小小的限流电阻...

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TCAL9539 I2C总线I/O扩展器技术解析与应用指南

    Texas Instrument TCAL9539/TCAL9539-Q1 I^2^C总线/SMBus I/O扩展器为双线双向I^2^C总线(或SMBus)协议提供通用并行输入/输出
    的头像 发表于 08-08 11:49 960次阅读
    TCAL9539 <b class='flag-5'>I</b>2C总线<b class='flag-5'>I</b>/<b class='flag-5'>O</b>扩展器技术解析与应用指南

    MAX7321 I²C端口扩展器,具有8路漏极开路I/O技术手册

    MAX7321 2线串行接口外设具有8个漏极开路I/O口,可选择内部拉和瞬态检测功能。每个端口均可以配置成逻辑输入和漏极开路输出端口。端口具有+6V过压保护,与电源电压无关。
    的头像 发表于 05-23 11:41 716次阅读
    MAX7321 <b class='flag-5'>I</b>²C端口扩展器,具有8路漏极开路<b class='flag-5'>I</b>/<b class='flag-5'>O</b>技术手册

    MAX7325 I²C端口扩展器,提供8路推挽式I/O和8个漏极开路I/O技术手册

    MAX7325 2线串行接口外设具有16路I/O端口。其中8路为推挽输出,另外8路为I/O端口,带有可选择的内部
    的头像 发表于 05-22 15:27 695次阅读
    MAX7325 <b class='flag-5'>I</b>²C端口扩展器,提供8路推挽式<b class='flag-5'>I</b>/<b class='flag-5'>O</b>和8个漏极开路<b class='flag-5'>I</b>/<b class='flag-5'>O</b>技术手册

    ADP5589键盘解码器和I/O扩展器技术手册

    (手机、遥控器和相机)及非便携式应用(医疗保健、工业和仪器仪表),可用来增加处理器可用I/O数量,或者通过接口连接器减少前面板设计所需的
    的头像 发表于 05-22 09:35 723次阅读
    ADP5589键盘解码器和<b class='flag-5'>I</b>/<b class='flag-5'>O</b>扩展器技术手册

    ADP5585键盘解码器和I/O扩展器技术手册

    ADP5585是一款10I/O端口扩展器,内置键盘矩阵解码器、可编程逻辑、复位发生器和PWM发生器。I/O扩展器IC适用于便携式设备(手机、遥控器和相机)及非便携式应用(医疗保健、工业
    的头像 发表于 05-22 09:21 750次阅读
    ADP5585键盘解码器和<b class='flag-5'>I</b>/<b class='flag-5'>O</b>扩展器技术手册

    ADP5586键盘解码器和I/O端口扩展器技术手册

    ADP5586是一款10 I/O端口扩展器,内置键盘矩阵解码器、可编程逻辑、复位发生器和脉冲发生器。输入/输出扩展器IC适用于便携式设备(手机、遥控器和相机)及非便携式应用(医疗保健、工业和仪器仪表),可用来增加处理器
    的头像 发表于 05-21 15:08 722次阅读
    ADP5586键盘解码器和<b class='flag-5'>I</b>/<b class='flag-5'>O</b>端口扩展器技术手册

    知行科技全资子公司拟收购小工匠机器人大部分股份

    近日,知行科技旗下专注机器人研发及商业化的全资子公司艾摩星机器人与苏州小工匠机器人有限公司(“小工匠”)签署股权转让框架协议,艾摩星机器人将出资收购小工匠大部分股份,成为控股股东。以此为开端,知行科技正快速提升在机器人关键部件层面的技术积累,在加速拓展具体场景应用方面,迈出坚实一步。
    的头像 发表于 05-13 14:51 731次阅读

    六脚IC:有知道这个六脚IC的吗,找过好多地方都没有找到?

    有知道这个六脚IC的吗,找过好多地方都没有找到。拜托拜托!!!
    发表于 03-21 15:18

    FreeRTOS(V9.0)中创建信号量的函数都没有被定义,因此用不了,怎么解决

    问题背景:我想要使用信号量,结果查找了整个工程都没有创建信号量的函数。我还以为是我自己移植有问题,因此还特地下载了其他人移植好的工程进行编程。结果也没有创建信号量的函数。不论是二值信号量创建函数
    发表于 03-13 09:30

    ads7886的输出接口 *CS SDO SCLK可以直接连接到单片机的I/O吗?

    请问一下,ads7886的输出接口 *CSSDOSCLK 可以直接连接到单片机的I/O,还是一定要拉一个电阻然后在连接单片机的
    发表于 02-08 07:08

    I/O接口I/O端口的区别

    在计算机系统中,I/O接口I/O端口是实现CPU与外部设备数据交换的关键组件,它们在功能、结构、作用及运作机制
    的头像 发表于 02-02 16:00 2871次阅读

    单片机I/O接口的传输方式

    单片机(Microcontroller Unit,MCU)作为嵌入式系统的核心部件,其输入输出(Input/Output,I/O接口是实现与外部设备数据交换的关键。I/
    的头像 发表于 02-02 15:56 1663次阅读

    大部分的干扰问题都来自电源和地

    大部分的干扰问题都来自电源和地,分享一个很好的PDF文档,文末附文档获取方式。  
    的头像 发表于 01-15 17:37 816次阅读
    <b class='flag-5'>大部分</b>的干扰问题都来自电源和地

    MSP430f5529一直都没有输出是怎么回事?

    用普通io控制的cs,sclk,din,芯片用的是MSP430f5529,一直都没有输出,求助
    发表于 12-24 07:00

    按照手册的电路图绘制的,输出的DAC CODE怎么调整out输出都没有变化,是哪里的问题?

    请问一下,我按照手册的电路图绘制的,输出的DACCODE怎么调整out输出都没有变化,时间运行长了以后就会烧毁芯片,电源与地短路,想问一下这个问题怎么解决
    发表于 12-20 07:43