TMP112D: 温度报警失效

Part Number: TMP112D


你好,

  我用的是TMP112D 传感器,我通过软件让芯片工作在连续比较模式下,我现在碰到的问题是:

112d一直处于报警状态,不论我怎么给芯片加热,alter 引脚一直输出高电平,我的高低温阈值设置如下:

 i_temp=(uint16_t)(30.0/0.0625);        
          sendBuf[0]=(i_temp>>8)&0xff; //  
            sendBuf[1]=i_temp&0xff;            
          iic_write(0x02,sendBuf,2);  // 低温

      i_temp=(uint16_t)(48.0/0.0625);        
          sendBuf[0]=(i_temp>>8)&0xff; //  
            sendBuf[1]=i_temp&0xff;            
          iic_write(0x03,sendBuf,2);  // 高温
            
            
                 sendBuf[0]=0x64; //开启温度检测
            sendBuf[1]=0x00;    
        
      iic_write(0x01,sendBuf,2);

 

但温度检测是正常的,我通过 i2c读取1/2/3  号寄存器与我设置的是相同的,说明 i2c 驱动没问题。

下面是模块的原理图,请问我的问题改如何解决?

image.png

  • 您好,收到了您的案例,调查需要些时间,感您的耐心等待。

  • 你好,

    您能否检查客户是如何在配置寄存器中配置极性位的? 他们是否尝试将设备加热到预设的温度限制,以查看警报引脚输出是否过低? 如果极性位设置为0 (默认值),警报输出为活动低电平,这意味着线路将保持高电平,直到触发警报,触发警报时,您将看到引脚输出低电平。

  • 关于pol 位的设置,我两种情况都测试了,pol=0  引脚一直处于低电平,pol=1 引脚一直处于高电平,无论温度怎么变化都不影响。

  • 能否跟你电话沟通?我的联系电话是 185 6658 6539

  • 您好,

    我们的站点支持主要通过在线渠道进行,您可以描述您的问题,我们会尽快回复您。

    我还注意到客户在警报针脚上没有上拉电阻器。 如数据表中所述,这是必需的,很可能是问题的原因,因为没有上拉电阻器,警报引脚处于高阻抗状态。 任何连接的输入都可以随时注册为高/低信号。 此外,SCL/SDA还应具有上拉电阻。

    本文档为计算上拉电阻器的适当值提供了指导:https://www.ti.com/lit/an/slva689/slva689.pdf

  • 报警引脚上通过mcu内部上拉,外部没有接上拉,并且测试过能正常输出高低电平。请问温度报警是否只适合中断模式?连续比较模式下是否可以实现报警。

  • 针脚P0.05/AIN3处MCU的内部上拉电阻的值是多少?

    回答您的第二个问题:请问温度报警是否只适合中断模式?连续比较模式下是否可以实现报警。

    答案:在比较器或中断模式下,警报引脚都将被激活。 区别在于中断模式,警报引脚将保持高电平,直到MCU读取任何TMP112D寄存器。 在比较器模式下,警报引脚和状态标记将保持高,直到温度降至为T_LOW设置的值以下。

    无论选择何种模式,如果不需要Alert 引脚,则可以将其连接至GND。

  • 我查了mcu的规格书,内部上拉是13k,能否发一份温度测试报警的代码给我验证?比如低温28°,高温35° 低电平报警,比较模式,异常次数设置为1. 谢谢!

    最后查明,是温度值设置错误导致,转换后的温度值没有移位导致。

    谢谢!