Hi,
Actually I was trying with different input-output pins and below is the one I am currently using for PWM signal calculation:
PWM Output : OPWFMB Mode,
EMIOS_0_CH_3 = MSCR 130 = GPIO 130 = PTE2
PWM Input : ICU - IPWM Mode
EMIOS_1_CH_1 = MSCR 19 = GPIO 19 = PTA19
As it is EMIOS1_CH1, I have enabled the interrupt "EMIOS1_5_IRQ" and this interrupt is being triggered as well. In the Design Studio project, I am able to see the capture values in Register A & B and accordingly the "Emios_Icu_Ip_IrqHandler()" is able to calculate some signal values (Values are getting changed when reading in a loop though) and I am able to read it using "Icu_GetDutyCycleValues" api.
Current observation is that :
1) in the second read, it is able to provide both period and duty cycle values (which is same whenever I execute, but able to see a multiplication factor of 2 with what I set in PWM output channel)
2) If I again read the value using Icu_GetDutyCycleValues api, the values are getting changed often.
Could you please provide clarity on why the signal calculation values are getting changed when I am reading it again. ?
I tried to bring the same configuration into my baseline project using EB Tresos configuration. Made the same changes as in Design Studio, but then I am not able to see the interrupt trigger and the register A & B are also not showing up any values.
Could you please suggest me what could be the reason for the Reg A & Reg B capture events are not happening in my integrated project when the same configuration is working with Design Studio project ?
Screenshot showing the register values for the Design studio project :

Screenshot showing the register values for my integrated project created with EB configuration :

. Apart from this, I have below queries as well :
1) Is it possible to calculate PWM signal values in ICU-Signal measurement mode with Interrupt disabled ( ie, by disabling corresponding interrupt-EMIOS1_5_IRQn in Platform, disabling the channel ISR-EMIOS1_CH1 in ICU configuration & enabling the flag "IcuSignalMeasureWithoutInterrupt".?
2) When interrupts are disabled, will it still capture values in A & B register properly ? - I tried this in Design Studio project, but I could see the values were not as proper as the case when interrupt enabled. Its giving same values for A & B register in the first read.
3) In the PWM module, how can we calculate the resultant PWM-output signal frequency ?. Saw the below formula from one of the query raised in community,
PWM frequency = CORE_CLK / global pre-scaler / internal pre-scaler / (B1+1)
"B1 is a value written to channel B register."
But as per this calculation, I was not getting the output frequency and is mismatching with the actual generated signal (verified its frequency through oscilloscope).
Below are the values that I set in PWM module:
CORE_CLK = 240MHz | OPWFMB Mode |
Global Pre-scaler : 44 (Clock Divider value set in MCL module - EMIOS0_CH23 )



As per the formula , we got 340Hz ( 240MHz/ (44*2*(8000+1)), but what I got from the oscilloscope was having 3.67kHz.for 50% duty cycle. (Reg-A value : 4000 & Reg-B value : 8000).
Kindly help me to understand the above mentioned issues and provide resolutions accordingly.
Thanks in advance for your response.
Thanks & Regards
Jishnu T B