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.

[参考译文] TMS320F28069:具有外部基准的内部温度传感器(ADC A5)

Guru**** 2589265 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/661236/tms320f28069-internal-temperature-sensor-adc-a5-with-external-reference

器件型号:TMS320F28069

在 SPRUH18文档的第8.1.13.1节中、它声明:

'用于确定温度的传递函数定义为:

温度=(传感器-偏移)*斜率  

(笑声)

列出的值假定为3.3V 满量程范围。 使用内部基准模式可自动实现此固定范围、但如果使用外部模式、则必须根据外部基准电压调整温度传感器值。"

我没有找到任何示例来说明如何调整温度公式以使用外部基准。 哪些术语或术语应进行缩放? 我使用的是3.0V 外部基准。

谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Dan、

    谢谢您的发帖、我们同意我们在这方面的文档中可以更清楚一点。  在您的示例中、我们只需要使用外部3.0V 基准(FSR = 3.0V)来调整您获得的温度传感器读数、使其与使用内部基准(FSR = 3.3V)时获得的读数等效。

    如果我使用 Example_2806xAdc_TempSensorConv.c 作为参考;您将在代码末尾找到以下内容、以将温度传感器输出电压转换为摄氏度或 K 的温度

    temp = AdcResult.ADCRESULT0;
    
    //
    //将原始温度传感器测量值转换为温度
    //
    degC = GetTemperatureC (temp);
    degK = GetTemperatureK (temp); 

    为了应对 Vref = 3.0V 的变化、我们会在 var temp  传递到  GetTemperatureC/K  函数之前插入以下代码:

    temp =(float) AdcResult.ADCRESULT0 * 3.0/3.3;//标准化为3.3V FSR
    
    
    //
    //将原始温度传感器测量值转换为温度
    //
    degC = GetTemperatureC (temp);
    degK = GetTemperatureK (temp); 

    此致、

    Matt