TIDUF52 December 2023 MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346
This section introduces the reference software design of the smoke detector module. Figure 3-5 shows the power-on sensing sequence.
Once power is on, the smoke detector enters an 8-second calibration state to obtain a baseline signal for sensing. During the calibration state, the smoke detector must be placed in a clean-air environment to make sure the calibration is properly performed. Recalibration can always be accomplished by power-cycling or using either the software reset function or hardware reset button provided. The calibration is only required for correct smoke detection using the predefined detection algorithm and threshold. If only raw signals are of interest, the calibration is not required.
After calibration, the smoke sensing is performed in a duty-cycled fashion. During sleep phase, all sensing circuitry as well as peripherals of the M01306L are disabled and the M01306L is in standby mode to conserve energy. Figure 3-6 illustrates this duty-cycled sensing scheme. The sensing period can be updated on-the-fly as necessary for either energy saving or sensing rate performance.
Figure 3-7 shows the simplified smoke detection algorithm that is programmed in M0L1306. There are two power modes defined in the software: low-power and high-power mode. The smoke detector starts with low-power mode after power on and calibration state. The low-power mode has a low number of pulses and low sensing rate. An early-warning threshold TH0 is set to determine whether high-power mode and actual smoke detection is operated. In high-power mode, a higher number of pulses and high sensing rate is adopted. Table 3-1 shows the default configuration of low and high-power modes. Once the IR signal surpasses the TH0 threshold, an adaptive threshold THadp is calculated based on both the IR and BLUE signals. If the IR signal surpasses the THadp threshold, the alarm count increments. A smoke detected alarm is triggered after NALARM times of consecutive alarm count increment.
PARAMETER | LOW-POWER MODE | HIGH-POWER MODE |
---|---|---|
Sensing Period (s) | 10 | 1 |
# of Pulses | 16 | 300 |
The reference design software also provides user-configuration parameters located in the sasi_user_config.h file. The details of configurable parameters are provided in Table 3-2.
Set the measurement period parameters SASI_RTC_PRD_MS no less than 0.173 × SASI_N_VSIG_PULSES + 5 if UART data transmission is disabled. If UART data transmission is enabled, have SASI_RTC_PRD_MS no less than 400 to secure the data transmission.
SASI_N_VSIG_PULSES selection can be determined based on the power and noise requirements in each mode. Increasing the value of SASI_N_VSIG_PULSES results in lower noise and increased power consumption. The minimum and maximum values of SASI_N_VSIG_PULSES that is supported is 4 and 300, respectively.
N_CAL_START is determined by the settling time of the signal chain after start-up or reset. Make sure N_CAL_START is no less than 5000 / SASI_RTC_PRD0_MS for at least 5 seconds of settling time.
It is possible to set both SASI_RTC_PRD0_MS and SASI_N_VSIG_PULSES0 to different values than SASI_RTC_PRD2_MS and SASI_N_VSIG_PULSES2, respectively, for the start-up calibration mode. However, to provide reliable smoke detection, set SASI_RTC_PRD0_MS and SASI_N_VSIG_PULSES0 to be equal to the respective high-power mode sensing parameters, SASI_RTC_PRD2_MS and SASI_N_VSIG_PULSES2.
PARAMETER NAME | DESCRIPTION | DEFAULT VALUE |
---|---|---|
SASI_RTC_PRD0_MS |
Measurement period for start-up calibration in milliseconds |
1000 |
SASI_RTC_PRD1_MS |
Measurement period for low-power mode sensing in milliseconds |
10000 |
SASI_RTC_PRD2_MS |
Measurement period for high-power mode sensing in milliseconds |
1000 |
SASI_N_VSIG_PULSES0 |
Number of signal pulses for start-up calibration |
300 |
SASI_N_VSIG_PULSES1 |
Number of signal pulses for low-power mode sensing |
16 |
SASI_N_VSIG_PULSES2 |
Number of signal pulses for high-power mode sensing |
300 |
N_CAL_START |
Number of measurements to skip after start-up or reset before calibration |
6 |