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.

[参考译文] MSP430FR2522:软件更新后由于 LTA 漂移而导致的恒定传感器重新校准

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/789443/msp430fr2522-constant-sensor-re-calibration-due-to-lta-drift-after-software-update

器件型号:MSP430FR2522

你(们)好

我们将 MSP430用作具有14个按钮的键盘的触摸板控制器。 固件更新 MSP 软件后出现问题、该问题似乎与升级的固件无关。

我们看到的问题是、在固件更新(BSL)后、由于 LTA 漂移、我们会不断进行传感器重校准。

序列:

  1. 将 MSP 设置为 BSL 模式
  2. 固件升级 MSP 软件
  3. 恢复 应用 CPU 上 UART 引脚(用于固件更新)的默认值
  4. MSP 的硬复位

结果:

在序列之后、 MAP_CAPT_testForRecalibration 会持续返回 true、并且我们在每次调用 CAPT_updateUI 时都会得到传感器重校准、结果是未检测到按键操作。

if (map_CAPT_testForRecalibration (PAPP->pSensorList[ui8SensorID])){

  gReCalibrationReason.ltaDrift++;//<-在每次调用 CAPT_updateUI 时递增
CAPT_MANAGER_CALIBRATE SENSOR (PAPP->pSensorList[ui8SensorID]);

这无助于对 MSP 进行软复位或硬复位、摆脱这种行为的唯一方法似乎是主 CPU 的完整电源周期(SiLabs EFR32)。

在 ltaDrift 问题状态下、它仍然可以通过 i2c 与 MSP 通信。

与上述序列相比、它似乎是100%可重复的。

您是否对导致此问题的原因有任何了解?  

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

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

    尊敬的 Martin:

    以下是一些想法:

    如果 MAP_CAPT_testForRecalibration (PAPP->pSensorList[ui8SensorID])始终返回 true、则表示 LTA 始终超出预期范围(转换计数的±1/8)。  例如、如果传感器的转换计数为800 (.ui16ConversionCount = 800)、则如果 LTA 高于900或低于700、此函数将返回 true。  这向软件表明、由于某种漂移或误差、传感器未在预期的灵敏度范围内运行。  这是 技术指南术语表中的文档

    •在本例中、哪个传感器提供该误差?  接近或按钮?

    •在该传感器上、转换计数参数和函数返回 true 时的 LTA 值是多少?

    如果传感器具有极高的转换计数、则可能无法在 LTA 的1/8之内进行精确校准、这会产生恒定误差。  这也是系统在这些设置下可能不稳定的一个迹象(因为它刚好位于应用的偏移量过大的边缘)。

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

    尊敬的 Dennis:

    问题在于、在固件更新后、EFR 上的 UART 通信引脚未正确恢复、并且这些引脚也用作触控传感器的 CAP 引脚、因此它们会导致恒定漂移。 在修复了 LTA 漂移问题之后、我没有看到它。

    谢谢、

    Martin