Page 1 of 1

EMI Reduction with MOD5441X and NANO54415

Posted: Mon Jul 29, 2013 11:20 am
by dciliske
Recently, we've seen a couple cases where designs using the MOD5441X have had issue with FCC certification due to RF radiation. In both cases they were seeing failures with harmonics of 125 MHz. On their own, both the MOD5441X and the carrier board were within limits, both fully assembled the device could not pass. One thing that you as a designer/user can do to reduce the strength of 125 MHz harmonics is to disable unused peripherals.

A little explanation for the uninitiated: the MCF54415 processor on these modules runs at a default core clock speed of 250 MHz. This is generated using a PLL in the processor from a 25 MHz crystal on the module. This 250 MHz core clock is then scaled by a factor of 2 to 125 MHz to create the clock signal that is fed into the peripheral modules of the processor. These modules are then clocking and drawing power at some subharmonic of 125 MHz. By disabling the clock to a peripheral module, that module will no longer have a varying load; it may still draw some power, but significantly less, and more importantly, it will do so in a DC manner.

So how do you do this? By writing to the Peripheral Power Management Registers (MCF54415 Reference Manual 9.2) and turning on the bit associated with the peripheral module. You can do an 'all at once', by read, modify, writing to the Peripheral Power Management Registers (section 9.2.4) or you can selectively enable/disable modules one at a time by writing to the Peripheral Power Management Clear (section 9.2.3) or the Peripheral Power Management Set (section 9.2.2).

I have made a header file which will facilitate this process. It defines macros that will write to the Set/Clear register pair to individually disable/enable modules. The format of the macros are as follows:

Code: Select all

PERIPH_DISABLE_<MODULE NAME>
PERIPH_ENABLE_<MODULE NAME>
Example:

Code: Select all

PERIPH_DISABLE_FLEXBUS
PERIPH_ENABLE_FLEXBUS
For peripherals with multiple submodules, the format is as follows:

Code: Select all

PERIPH_DISABLE_<MODULE NAME>_<SUBMODULE NUMBER>
PERIPH_ENABLE_<MODULE NAME>_<SUBMODULE NUMBER>
Example:

Code: Select all

PERIPH_DISABLE_DSPI_1
PERIPH_ENABLE_DSPI_1

Re: EMI Reduction with MOD5441X and NANO54415

Posted: Mon Jul 29, 2013 5:05 pm
by greengene
thanks!
i used the processor clock speed dithering on previous modules.

Re: EMI Reduction with MOD5441X and NANO54415

Posted: Wed Aug 14, 2013 2:30 pm
by khoney
Has Netburner ever experimented with a spread spectrum oscillator for the 54415 platforms? There are some drop-in replacements available, but they are sometimes not recommended if you are clocking an ethernet controller.

Also, did you take any spectral plots of before and after? I spent a fair amount of time early on disabling peripheral clocks on the Nano, but it didn't help much in our case.

Re: EMI Reduction with MOD5441X and NANO54415

Posted: Thu Aug 15, 2013 2:15 am
by roland.ames
Can you tell me which of these clocks must be left on as it is being used by the NetBurner library.

I assume: PIT0, DDR, PLL, MACNET_0, MACNET_1, ETHERNET_SWITCH_0, ETHERNET_SWITCH_1, are all used, are there any other clocks that I should not disable?

Re: EMI Reduction with MOD5441X and NANO54415

Posted: Tue Jun 30, 2015 7:15 pm
by seulater
I know this is old, but I too am now looking to reduce power to lower heat.
Can NB verify what we need to initially leave on.

Re: EMI Reduction with MOD5441X and NANO54415

Posted: Wed Jul 01, 2015 10:24 am
by mbrown
Check out this other post. I remember addressing this before and there are a few other notes we've made in the past.

http://forum.embeddedethernet.com/viewt ... f=3&t=1922