This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMP431: The customer build two boards. 1. The old board is ok. 2, the new board the near side is ok, the far-end BJT isn't right.

Part Number: TMP431
Other Parts Discussed in Thread: DXP

Hi team,

My customer is using the TMP431 now and meets some problems. The phenomenon is below.

The customer build two boards. 1. The old board is ok. 2, the new board the near side is ok, the  far-end BJT isn't right. We have checked the schematic and BJT and the code. They are all the same. And the DXP and DXN voltage are the same. Do you have some ideas about the phenomenon. Thanks.

DXP

DXN

*******************************************************************************/

void INIT_hous_temp(int ctrl_reg_base)

{     

       i2c_init(ctrl_reg_base);

       unsigned char config1;

       unsigned char config2;

       i2c_read(ctrl_reg_base,0x4c,0x03,&config1);

       config2=config1|0x04;

       i2c_write(ctrl_reg_base,0x4c,0x09,config2);

       usleep(1000000);

       i2c_read(ctrl_reg_base,0x4c,0x03,&config1);

       OSA_INFO("config1=%d\r\n",config1);

}

      

/*******************************************************************************

*

*******************************************************************************/

 

float READ_hous_temp(int ctrl_reg_base,int value)

{     

        unsigned char tmp;        

        unsigned char tmp1;             

        if(0==value)             

             {              

               i2c_read(ctrl_reg_base,0x4c,0,&tmp);         

                i2c_read(ctrl_reg_base,0x4c,0x15,&tmp1);         

           }           

        else            

             {              

               i2c_read(ctrl_reg_base,0x4c,0x01,&tmp);             

                i2c_read(ctrl_reg_base,0x4c,0x10,&tmp1);         

              }            

        float tmp2;

        OSA_INFO("tmp=%d\r\n",tmp);

        OSA_INFO("tmp1=%d\r\n",tmp1);

        tmp2=(tmp1>>4)*0.0625+tmp-64;            

        return tmp2;

}

Br

Frank