[CH573] 关于内部温度传感器的采样问题


似乎内部温度采样不太准确,下面是测试的温度和实际代码


d25930e1-c933-4018-8d2f-01a309f76e64.jpg














测量芯片部分有26.7度,实际输出是-1~2度左右。


  UINT8 i;
  signed short RoughCalib_Value = 0;    // ADC粗调偏差值

  SetSysClock( CLK_SOURCE_PLL_60MHz );

  /* 配置串口调试 */
  DebugInit();
  PRINT( "Start @ChipID=%02X\n", R8_CHIP_ID );

  /* 温度采样并输出, 包含数据校准 */
  PRINT( "\n1.Temperature sampling...\n" );
  ADC_InterTSSampInit();
  RoughCalib_Value = ADC_DataCalib_Rough(); // 用于计算ADC内部偏差,记录到变量 RoughCalib_Value中,注意这个变量需要定义为有符号变量
  for( i = 0; i < 20; i++ )
  {
    abcBuff[i] = ADC_ExcutSingleConver() + RoughCalib_Value;      // 连续采样20次
  }
  for( i = 0; i < 20; i++ )
  {
    PRINT( "%d \n", ADC_GetCurrentTS(abcBuff[i]));
  }


自己顶一下


目前的EVT中的温度转换公式的斜率将之改为两倍之后,变化率的问题可以解决,温度绝对值上的偏差需要根据实际温度进行修正。


只有登录才能回复,可以选择微信账号登录