2020-02-13 07:56 AM
Hi,
I'm trying to certified a product and we just fail the ETSI EMC. It appears that the USB lines are the cause of this failure.
As we tried to track down the main source of this issue it appears that between 2 differents firmware the noise level was very different !!
The only difference between these firmware are the optimization level (-O0 for noise and -O3 for less noisy)
My product is running on a STMF446 @168 MHz with FreeRTOS.
It's a usb device (VPC profile)
The product has been tested extensively with the 2 different optimization without any reset or strange bug.
For me it seems unreal, because usually the problem appears the other way !
After startup, the OS is started and the product is waiting for USB command (OS is always in the idle task)
If I don't start the os (so waiting in the main while loop), there is no noise
It seems that the noise is somewhat linked to the OS but I cannot see why
I don't have any more idea to find the root cause so any idea is welcome !
ps: pcb design are lacking USB filter so they will be added but I want to find why the fwm optimization can have an impact on such behaviour
Solved! Go to Solution.
2020-02-20 04:32 AM
Ok, so test house show now difference between 2 firmware ....
so my personnal measurement setup must have been incorrect. (and I still don't know what this noise was )
NB: USB filter solve the problem :grinning_face_with_sweat:
2020-02-13 08:19 AM
I tried to use a more urgent priority for the USB interrupt (so USB will not be interrupt by the os tick) but it doesn't change the problem -_-'
2020-02-20 04:32 AM
Ok, so test house show now difference between 2 firmware ....
so my personnal measurement setup must have been incorrect. (and I still don't know what this noise was )
NB: USB filter solve the problem :grinning_face_with_sweat: