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.

[参考译文] TMS320F28386D:温度传感器控制寄存器

Guru**** 2451970 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1231976/tms320f28386d-temperature-sensor-control-register

器件型号:TMS320F28386D

在 CCS 中进行调试时、请找到 仅 CPU1提供温度传感器控制寄存器。

但是、  技术参考手册中是否有文档说明此寄存器仅由 CPU1提供?

我想再次确认这个重要的信息。

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

    您好!

    感谢您的反馈。  温度传感器控制寄存器以及上表中的其他寄存器只能从 CPU1访问。  我们将在 TRM 中添加一条注释以指定此值。  此说明将在下一个 TRM 版本中提供。

    此致、

    约瑟夫

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

    我尝试在 CPU1中启用内部温度传感器、然后使用 ADCA SOC13获取 CPU2中传感器的原始数据。  

    但该测试失败了、我无法获得正确的原始数据。

    此设计是否具有一些未校正功能?  

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

    要检查的几件事:

       -您是否使用 CPUSEL11寄存器将 ADCA 的所有权转让给 CPU2 ?

       -您是否为温度传感器分配了正确的通道?  ADCA 的 CH13内部提供温度传感器(而非 SOC13)。

    此致、

    约瑟夫

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

    确认了几件事情的配置正确。

    ADCA 或 ADCA CH13的 基准电压是否有设置?

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

    我 对双核应用程序使用 IPC_ex1_BASIC。

    有一个在 CPU1中运行以获取内部温度传感器并在 CPU2中运行的差值(将与 ADC 相关的代码从 CPU1移动到 CPU2、并为 CPU2分配 ADCA 所有权)。

    我附上下面的代码

    您可以帮助确认吗?

    e2e.ti.com/.../DualCore.rar

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

    e2e.ti.com/.../7446.DualCore.rar

    我在此处更新项目。  

    另请查找  

    静态内联 int16_t

    ADC_getTemperatureC (uint16_t tempResult、float32_t Vref)

    {

       //

       //从 OTP 读取温度传感器斜率和偏移位置并转换

       //

       return ((int16_t)((((float32_t) tempResult * Vref / 4096.0F)-

                         ADC_EXT_REF_TSOFFSET)/ ADC_EXT_REF_TSSLOPE));

    这应是根本原因、为何 CPU1中的温度传感器读取与 CPU2不同。

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

    您好、W Z:

    这里的问题是、为  ADC_EXT_REF_TSOFFSET 和 ADC_EXT_REF_TSSLOPE 分配的指针仅映射到 CPU1。  您必须读取这些 CPU1存储器位置的值并将其传输到 CPU2。  您可以使用 CPU1至 CPU2消息 RAM 来传输这些值。

    此致、

    约瑟夫

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

    我面临另一个问题。

    当我将上述代码合并到 CPU2中的现有公司项目以获取温度传感器原始数据时。

    我通过上述示例获得了不同的原始数据。

    在 针对双核应用的示例 IPC_ex1_BASIC 中、我可以在 CPU1和 CPU2中获取相同的原始数据。  ADCA 的 CH13值 为4095。

    当我在 CPU1中将上述代码合并到我们的现有公司项目时、它也获得了4095。

    但是、当我将上述代码合并到 CPU2中的现有公司项目时、  1687.

    这让我很困惑!   

    所有测试都在相同的开发板中执行、硬件部分相同。

    是否有一种可能的设置我漏掉了可能会导致此问题?

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

    您好!

    这一后续问题不知何故没有得到我们的回应。  出现这种情况是因为该线程已关闭、然后发布了后续问题。  建议是、一旦问题关闭、请打开新问题、以便我们的团队会收到相应的通知。

    无论如何、转换获得最大值4095的一个原因是 VREFHI 没有任何偏置。 另一种可能是 CPU1和 CPU2之间共享 ADC 所有权。  您是否已解决此问题、或者您仍在调试此问题?

    此致、

    约瑟夫

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

    目前还没有、因为没有有关如何在 TRM 中进行设置的技术细节。

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

    您好、WZ:

    您能否更具体地说明 TRM 中未显示的设置? 我认为您成功执行了以下任务:

    (将与 ADC 相关的代码从 CPU1移动到 CPU2,并为 CPU2分配 ADCA 所有权)

    此致、

    约瑟夫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    无论如何,转换值最大值为4095的一个原因是 VREFHI 没有得到任何偏压。 [/报价]

    我的意思是、我始终得到的原始数据是4095。

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

    我没有在 TRM 中找到任何显示的设置或偏置。

    我想 TI 的示例可以提供正确的结果。

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

    您好、WZ:

    VREFHI 不需要进行设置。  只需确保 VREFHIA 端子获得正确的电压基准。  您是否也检查 ADC 温度传感器寄存器、以查看分配了模块的 CPU 是否正确写入寄存器?  根据您对原始代码工作位置的描述、然后将工作代码迁移到您现有的公司项目、并总是得到错误的温度传感器值、似乎在代码合并期间出现了问题。  我建议您在检查 ADC 寄存器的同时逐步执行代码、以查看这些值是否更新正确。

    此致、

    约瑟夫

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

    我要开始一个新问题、非常感谢。