1) PA1 can be placed into alternate function as Tim2_Ch2. Is this what you're doing to read/decode the PWM input signal?
2) Have you insured that positive/negative transitions do not exceed STM32 device input specifications?
3) Have you a 2nd eval board to try & duplicate your results?
4) Rather than apply pwm - try constant levels of both, "low & high." Do either of these static conditions cause the problem?
5) Change the rate of the pwm - see if these effect your problem.
All above assumes you've read latest errata - looking for Tim2 & USB issues...
/* Clear TIM2 Capture compare interrupt pending bit */
/* Get the Input Capture value */
IC2Value = TIM_GetCapture2(TIM2);
if (IC2Value != 0)
/* Duty cycle computation */
DutyCycle = (TIM_GetCapture1(TIM2) * 100) / IC2Value;
/* Frequency computation */
Frequency = 2250000 / IC2Value; //72000000
DutyCycle = 0;
Frequency = 0;
Retrieving data ...