微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 请TI工程师帮忙确认ads8345nb数据转换公式

请TI工程师帮忙确认ads8345nb数据转换公式

时间:10-02 整理:3721RD 点击:

代码如下:

__idata float ad_conv_voltage(__idata uint16_t twosCCode)

{

   twosCCode=twosCCode<<1;  //加上1个最低有效位

   if (twosCCode&0x8000) //如果是负数的话,取该数的二补码

   {

       return 0;  //忽略处理

   }

   return (float)(twosCCode*(2*2.5)/0x10000);

}

__idata float ad_conv_ampere(__idata float voltage)

{

   //参考电压2.5V时代表电流值93.75A(也就是最大输入电流值)

   return ((voltage/2.5)*93.75);

}

经我们硬件工程师验证测试结果,发现转换后的电流值偏小,误差较大,请有经验的工程师帮忙看下是否公式有问题?

这款模数转换器精度为16位8通道,我们用它来检测电流数据,用spi进行通讯,设参考电压为2.5v,单端模式,内部时钟。

也请使用过这款芯片的朋友帮帮忙;

测试电压值与万用表差不多,但转换成电流误差较大;

93.75A 是怎么来的?串电阻用0.27ohm? 5V才代表最大电流,0V代表反向电流最大。

哦,对不起,是我没有弄清楚情况,我们没有验证电流值,而是一直用万用表和功率计测电压值,请帮忙看一下电压计算公式是否正确:

__idata float ad_conv_voltage(__idata uint16_t twosCCode)

{

  twosCCode=twosCCode<<1;  //加上1个最低有效位

  if (twosCCode&0x8000) //如果是负数的话,取该数的二补码

  {

      return 0;  //忽略处理

  }

  return (float)(twosCCode*(2*2.5)/0x10000);

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top