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 捕获?
谢谢。
丹尼尔