Dear NXP Support Team,
I am currently working with the S32K312 and using the eMIOS ICU in SAIC mode to measure a PWM signal. However, I am observing inconsistent and inaccurate results in the measured duty cycle and period time.
System Setup:
Signal Characteristics:
🧭 Clock Configuration:
Core clock: 80 MHz
eMIOS global clock: divided by 160 → 0.5 MHz
OPWMB prescaler: ÷10 → Tick = 20 µs (50 kHz)
SAIC measurement also uses BUS_DIVERSE, with same tick = 20 µs
Observed Issue:
This suggests that in most cases, the period time is not measured properly and may be overwritten or missed.
Request:
Could you please help us understand:
How to correctly configure eMIOS ICU in SAIC mode to reliably measure both ActiveTime and PeriodTime for low-frequency PWM input?
Are there specific timing or synchronization requirements between the OPWMB and SAIC channels?
Is there any known issue or workaround for measuring low-frequency PWM (e.g., 1 Hz) using this setup?
Attached below is the scope snapshot and software configuration if needed.
Thank you for your support.
Here is the detailed configuration:
*
* Connect PTC12 (PWM) to PTC11 (SAIC)
* PWM signal generated by EMIOS_0_ch8 (in OPWMB mode) is measured by EMIOS_1_ch_0 (SAIC mode).
*
* EMIOS_0 global global clock (core clock = 80MHz) prescaled in EMIOS_Mcl driver (/160) = 0.5MHz.
*
* Internal BUS generated by EMIOS_0_ch_8
* Tick = 20us (0.5MHz global clock prescaled by 10 = 50kHz)
*
* PWM (OPWMB), EMIOS_0_ch_8, PTA12
* Tick = 20us (0.5MHz global clock prescaled by 10 = 50kHz)
*
* IC (IPWM), EMIOS_1_ch_0, PTC11
* Clocked by Internal BUS (Diverse)
* Tick = 20us
