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.

[参考译文] EVM430-FR6043:SAPH_AATM_E = restartCaptureCount 的用途是什么?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1352308/evm430-fr6043-what-is-the-purpose-of-saph_aatm_e-restartcapturecount

器件型号:EVM430-FR6043

ussMeasurementConfig 之间的区别。 恢复捕获计数 和 ussMeasureConfig。 restartLowPowerCaptureCount

它们定义在 UltrasonicGasFR6043_02_30_00_01\include\ussSwLib.h 中为:

typedef struct _USS_Measurement_Configuration_
{
uint_least16_t restartCaptureCount;
//!< This count determined the time to trigger next capture. This
//!< count is based on <b>16 ASQ clock= (HSPLL_CLOCK_FREQ/256)</b> period.
//!< For examples if turnOnADCCount = 15 and ASQ clock is 68 MHz, then next
//!< capture will be triggered \n
//!< (16/ASQ_clock_freq)*(16)*(startADCsamplingCount) = (16/68MHz)*(16)*(15)
//!< = 56.4 usec\n
//!< after acquisiton sequence has been triggered. \n\n
//!< \"restartCaptureCount\" valid range (0x0002 - 0xFFFF)
//!< \n \n <b>Registers modified:</b> <i>SAPH.ATM_E.TimeMarkE</i>

uint_least16_t restartLowPowerCaptureCount;
//!< This should be calculated using the following formula
//!< restartLowPowerCaptureCount=F1/F2*restartCaptureCnt where (F1=PLL/16, F2=32k)

} USS_Measurement_Configuration;

它们都使用相同的时序进行初始化:

1. restartCaptureCount = USS_RESTART CAP_COUNT =(USS_PLL_FREQ * USS_RESTART CAP_COUNT_SEC)/256 =(80e6 * 8.000E-3)/256 = 640e3/256 = 2500
restartCaptureCount 通过80MHz PLL 输出/(16*16)=>节拍周期= 3.2usec =>计时器周期= 3.2usec * 2500 = 8000usec = 8ms。
这用于初始化 SAPH_AATM_E、假设它"为下一次测量重新启动时间计数器"。

2. restartLowPowerCaptureCount = USS_LOW_POWER_RESTART CAP_COUNT = USS_LFXT_FREQ_IN_Hz * USS_RESTART CAP_COUNT_SEC = 32768 * 8.000E-3 = 262
LF 32768Hz =>节拍周期= 30.52us =>计时器周期= 30.52us * 262 = 7995.6usec = 8ms、以此来勾选 restartLowPowerCaptureCount。
这用作第一个 USS_commonTriggerSingleCapture ( 通道0 restartLowPowerCaptureCount)呼叫,它是 UPS 测量、并充当第二个 USS_commonTriggerSingleCapture ( 通道1 ,0)调用,即 DNS 测量.
实际上、这似乎会造成 DNS 和 UPS 之间的延迟。
我测试过、当我修改 restartLowPowerCaptureCount=262*2或262/2时、延迟分别修改为16ms、而我保持 restartCaptureCount=8ms、这看起来像是 restartCaptureCount 没有影响?

那么问题是、restartCaptureCount 的用途是什么? 通过描述、我了解到 ASQ 应在 SAPH_AATM_E 之后的下一次捕获中自行重启、是这样吗?
但在 UltrasonicGasFR6043演示中、似乎只有一个捕获(UPS)、然后在 restartLowPowerCaptureCount 之后、下一个(DNS)会手动重新触发?
关于这种架构选择、有什么说明吗?
是否可以通过使用 SAPH_AATM_E 而不使用 restartLowPowerCaptureCount  手动延迟诀窍、让 ASQ 自行完成 UPS 和 DNS 捕获?

谢谢。

丹尼尔

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

    您好!

    但在 UltrasonicGasFR6043演示中、似乎只有一个捕获(UPS)、然后在 restartLowPowerCaptureCount 后、下一个(DNS)会手动重新触发?

    可以。 该库仅 在代码中使用 restartLowPowerCaptureCount。 这是从节能的角度出发。 MCU 在捕捉 UPS 通道后进入 LPM 模式。 然后等待延迟时间、以唤醒并捕获 DNS 通道。  

    [quote userid="579788" url="~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1352308/evm430-fr6043-what-is-the-purpose-of-saph_aatm_e-restartcapturecount 是否可以让 ASQ 使用 SAPH_AATM_E 自行进行 UPS 和 DNS 捕获而不使用 restartLowPowerCaptureCount  手动延迟诀窍?

    我认为这是可能的。 但是、我们没有如何配置 SAPH 的参考代码来实现在没有这个延迟的情况下的自动捕捉。  

    此致、

    现金豪