NetBurner 3.5.6
PDF Version
EMI Emissions Reduction

EMI Emissions Reduction Example

Overview

This example demonstrates how to implement EMI (Electromagnetic Interference) reduction options for NetBurner MCF5441x platforms. The application provides an interactive menu system to test various emission reduction techniques that can help minimize electromagnetic interference in your embedded designs.

Supported Platforms

  • MOD5441x
  • NANO54415
  • SB800EX

Features

The example provides the following EMI reduction capabilities:

1. Peripheral Clock Management

  • Disable unused peripheral clocks - Turns off clocks to peripherals not being used by the application
  • Enable peripheral clocks - Restores all peripheral clocks to their default enabled state

2. Spread Spectrum Clock Mode

  • Enable/Disable spread spectrum - Available on MOD54415 hardware revisions 2.3 and later
  • Helps reduce peak emissions by spreading the clock frequency over a range

3. Ethernet PHY Control

  • Disable Ethernet PHY - Turns off the physical layer interface when network connectivity is not needed
  • Enable Ethernet PHY - Restores normal Ethernet functionality

4. Signal Slew Rate Control

  • Reduce signal slew rates - Configures pins for minimum slew rate to reduce high-frequency emissions
  • Restore default slew rates - Returns pin configuration to reset defaults

5. Power Management

  • Wait mode idling - Puts the processor in low-power wait mode when idle
  • Normal idling - Uses standard polling loop when idle

Menu Options

When running the application, you'll see an interactive menu with these options:

Select EMC test to perform:
-----------------------------
1) Disable Peripheral Clocks
2) Enable Peripheral Clocks
3) Disable Spread Spectrum Mode on Primary CPU Oscillator
4) Enable Spread Spectrum Mode on Primary CPU Oscillator
5) Disable Ethernet PHY
6) Enable Ethernet PHY
7) Reduce Signal Slew Rates
8) Restore Default Signal Slew Rates
9) Idle in wait mode
10) Idle normally

Important Notes

Critical Peripherals

The application preserves functionality of essential system components:

  • UART 0 - Debug console remains enabled
  • FlexBus - Required for application flash memory access
  • Interrupt Controllers - System interrupts remain functional
  • PIT 0 - OS TimeTick timer stays enabled
  • DDR RAM - External memory interface preserved
  • PLL - Primary CPU clocks maintained
  • GPIO - Module hardware GPIO functionality preserved

Signal Slew Rate Considerations

  • Flash access timing may be disrupted at lowest slew rates
  • Ethernet (FEC) functionality may be affected by reduced slew rates
  • Multiple slew rate options are available as commented alternatives

Spread Spectrum Support

Spread spectrum mode is only available on:

  • MOD54415 platform
  • Hardware revision 2.3 and later

Usage

  1. Build and deploy the application to your NetBurner device
  2. Connect via serial console or Telnet
  3. Use the interactive menu to test different EMI reduction techniques
  4. Monitor emissions using appropriate test equipment
  5. Combine multiple techniques as needed for your specific application

Additional EMI Considerations

This code example addresses software-configurable EMI reduction options. The associated documentation (EmiSuggestions20210218.pdf) also covers:

  • Ethernet cabling design considerations
  • Cable routing and shielding best practices
  • Enclosure design for emission reduction
  • Input power filtering (very important for EMI compliance)
  • PCB routing techniques and guidelines

File Structure

EMI-EmissionReduction/
|-- src/
| +-- main.cpp # Main application source
|-- makefile # Build configuration
|-- ReadMe.txt # Original documentation
|-- EmiSuggestions20210218.pdf # EMI design guidelines
+-- README.md # This file

Application Architecture

The application uses a simple menu-driven architecture:

  • UserMain() - Main application loop with menu display and input handling
  • DisablePeripheralClocks() - Systematic peripheral clock disabling
  • EnablePeripheralClocks() - Restore all peripheral clocks
  • ReduceSignalSlewRates() - Configure minimum slew rates for all pins
  • RestoreDefaultSlewRates() - Return to reset default slew rates
  • SpreadSpectrumOscillator() - Control spread spectrum mode (MOD54415 only)