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.

TMS320F28035: TMS320F28035 ADC采用外部参考源3.0V如何计算CPU内部温度

Part Number: TMS320F28035

请教:TMS320F28035 ADC采用外部参考源3.0V如何计算CPU内部温度,offset值和slope值怎么计算呢

  • 我的建议还是使用内部参考电压会比较方便;

    如果就是想用外部参考电压,offset可以通过在0℃时测量得出,slope可以通过如下公式换算,也可以通过测量整定。

    内部

    外部

  • 芯片会发热  如何在0℃时测量? 

  • 客气啦

    你看一下那边的回复,他是以使用2.5V外部参考为例进行计算的。

    如果使用的是3.0V外部参考,则

    0℃ offset = 1750 * (3.0 / 3.3) = 1591 LSBs

    slope = 5.56 * (3.0 / 3.3) = 5.05 LSBs

    即 1 / 5.05 = 0.20 °C/LSB

  • 似乎还是有些问题,以下是我的代码:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    _iq15 temp,IQslope,IQslope30;
    Uint16 ofs,ofs30;
    IQslope = _IQ15(0.18);//
    ofs = 1750;//
    ofs30 = ofs*3.3/3.0;
    IQslope30 = _IQ15mpy( IQslope, _IQ15(3.3/3.0));
    temp = ((long)(AdcResult.ADCRESULT7 - ofs))<<15;
    temp = _IQ15mpy( temp, IQslope);
    chiptemperautre = _IQ15toF(temp);
    temp = ((long)(AdcResult.ADCRESULT7 - ofs30))<<15;
    temp = _IQ15mpy( temp, IQslope30);
    chiptemperautre30 = _IQ15toF(temp);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    我的外部参考电压是3.0v, 当使用3.0v参考电压时,chiptemperautre30大约为31,当切换到内部参考电压时(调试器修改寄存器位ADCREFSEL),chiptemperautre 大约为27。

    用红外测温设备测得芯片表面温度为49度,环境温度为28度。手摸芯片表面能感觉到芯片发热,所以我觉得测量得到的温度不正常,是我的代码有问题吗?用的芯片是28035PNT。

  • 当修改代码为:

      IQslope =(*(int (*)(void))0x3D7E82)(); //_IQ15(0.18);
    ofs = (*(int (*)(void))0x3D7E85)();//1750;

    使用外部电压参考时,chiptemperature30为61, 内部电压参考时chiptemperature为51。

    所以,不知道哪个结果是正确的

  • 当修改代码为:

      IQslope =(*(int (*)(void))0x3D7E82)(); //_IQ15(0.18);
    ofs = (*(int (*)(void))0x3D7E85)();//1750;

    内部电压参考时chiptemperature为51。

    这个是正确的。

    这个时候读IQslope与ofs是多少?

    上一条回复的代码中,slope与offset的计算可以在代码外完成。

  • 这种方法,内部电压参考和外部电压参考两种方法的结果为啥差别这么大? 相差了10摄氏度 

  • 因为内部存储的offset和slope就是以内部基准为参考做的

x 出现错误。请重试或与管理员联系。