Page 1 of 1
Carrier Board advice needed?
Posted: Sun Nov 12, 2017 10:39 am
by visinet
Hi all;
I am currently in the process of designing a new system to replace my current HW platform for a product that I have been producing for 20+ years. I have decided to use the MOD54415 as the brains and now I need to design a carrier board for the MOD54415 and am looking for any input/advice from others that have already done something similar. The product is a fairly old school basic automation control system type of product that has a bunch of (16) opto-isolated inputs to monitor the sum fault status of external devices and a bunch (16) of relays to send 24-30Vdc to various external devices to control them. It has 3 RS232/422/485 serial ports for remote control and now with the MOD54415 ethernet remote capabilities also. The board will take in 2 24Vdc power inputs and diode-OR them for redundancy while also producing system wide 5V and 3.3 voltages. Each 24V input will be monitored via MOD54415 ADC for simple power supply fault status. The MOD54415 will interface to the relays and opto stuff via SPI I/O expander at like 2-4MHz (not too fast) and also use another SPI port to interface to existing Front Panel, again at like 2-4MHz. This carrier card will also be designed so multiple cards can be stacked/used in a single product with a single MOD54415 to deal with larger I/O (relay and opto input) requirements. That is basically it in a nut shell.
I am looking for any advice the community can offer such as:
1) Things to look out for with respect to PCB design/layout
2) Possible EMI issues as I will need to get system CE certified
3) Possible Heat issues as system is enclosed in standard 19" aluminum rack mount fan-less chassis
Item 1 is my big concern. I don't think that layout will be very critical since I am not dealing with high frequency stuff but I am not an EE or PCB design/layout specialist and don't want to run into these types of related problems. I have asked a couple old school design guys and their response was that at these frequencies layout is a non-issue and the worse layout job possible will still be solid and reliable.
Any advice or feedback the community could provide would be a great help and much appreciated. Thanks in advance for any responses.
Regards
Re: Carrier Board advice needed?
Posted: Mon Nov 13, 2017 12:38 pm
by TomNB
Hello,
My opinion is that the layout can be critically important with respect to EMI. Things like clocks, oscillators, address bus, data bus should be on traces as short as possible.
I've also copied some notes on reducing EMI below:
EMI NOISE REDUCTION SUGGESTIONS
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.
1. CABLES
All cables going outside the enclosure will conduct noise from inside the enclosure. Measure emissions with no cables connected to compare
results. Ferrite beads and inductors can ususaly be added in series with the cable signal connections to reduce emissions.If using an Ethernet cable inside the enclosure, make certain it is a shielded Ethernet cable.
2. ENCLOSURES
A sealed metal inclosure is best. If using a plastic enclosure use a conductive coating or film.
3. PCB ROUTING
When designing your interface boards keep the traces for things like the address/data bus as short as possible.
4. INPUT POWER
Input power connections should have inductors to reduce the noise from the power supply entering the enclosure.
5. CLOCKS AND PERIPHERALS
Unused clocks and peripherals can be disabled in software. The header file periph_clocks.h defines macros to make this easier. 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).
The header file defines macros that will write to the Set/Clear register pair to individually disable/enable modules. The format of the macros are as follows:
PERIPH_DISABLE_
PERIPH_ENABLE_
Example:
PERIPH_DISABLE_FLEXBUS
PERIPH_ENABLE_FLEXBUS
For peripherals with multiple submodules, the format is as follows:
PERIPH_DISABLE__
PERIPH_ENABLE__
Example:
PERIPH_DISABLE_DSPI_1
PERIPH_ENABLE_DSPI_1
Clocks used by the system that should not be disabled:
MOD54415: Flexbus, Uart0, PIT0, DDR, PLL, MACNET_0, INTCO-2
MOD54417: Flexbus, Uart0, PIT0, DDR, PLL, MACNET_0, MACNET_1, ETHERNET_SWITCH_0, ETHERNET_SWITCH_1, INTCO-2
6. SIGNAL DRIVE STRENGTH
The signal drive strengh can be reduced for various interfaces:
#include
//Set SDRAM at half drive strength.
sim1.gpio.mscr_sdramc=0;
//Set slew rate registers down
sim1.gpio.srcr_fb1=0; //This defaulted to full strength so this may be an improvement.
sim1.gpio.srcr_fb2=0; //This defaulted to full strength so this may be an improvement.
sim1.gpio.srcr_fb3=0; //This defaulted to full strength so this may be an improvement.
sim1.gpio.srcr_fb4=0; //This defaulted to full strength so this may be an improvement.
sim1.gpio.srcr_dspiow=0;
sim1.gpio.srcr_cani2c=0;
sim1.gpio.srcr_irq0=0;
sim1.gpio.srcr_timer=0;
sim1.gpio.srcr_uart=0;
sim1.gpio.srcr_sdhc=0;
sim1.gpio.srcr_simp0=0;
sim1.gpio.srcr_ssi0=0;
//This one might break FEC....pick ONLY one of the following
sim1.gpio.srcr_fec=0;//Least likely to work, best for EMI
sim1.gpio.srcr_fec=0x5;//More likely to work woorse for EMI
sim1.gpio.srcr_fec=0x0A;//More likely to work woorse for EMI
sim1.gpio.srcr_fec=0x0F;//Known to work woorst for EMI (Current value)
7. PUT THE PROCESSOR IN WAIT MODE WHEN IDLE
Wait Mode: Intended to stop only the CPU and memory clocks until a wake-up event is detected. In this mode, peripherals may be programmed to continue operating and can generate interrupts, causing the CPU to exit from wait mode.
Doze Mode: Affects the processor in the same manner as wait mode, except that some peripherals define individual operational characteristics in doze mode. Peripherals continuing to run and having the capability of producing interrupts may cause the CPU to exit the doze mode and return to run mode. Stopped peripherals restart operation on exit from doze mode, as defined for each peripheral.
The first line enables the first low power mode and the second stops the processor with any interrupt re-enabling it
// Enable low power mode entry, and Wait mode. Doze mode would be 0x90
sim2.scm.wcr |= 0xA0;
asm ( " STOP #0x2000" );
Re: Carrier Board advice needed?
Posted: Mon Nov 13, 2017 1:17 pm
by visinet
Thanks for the response. One reason I thought that layout would not be that critical is that the stuff you mention such as clocks and address lines are not being used and therefor not even being brought out to the carrier card. The only signals being brought out from the MOD54415 to the carrier card are 2 SPI ( slow 2MHz) ports, 3 uarts running at 9600 or maybe 19200, a couple A/D channels, and a few GPIO. The MOD54415's Ethernet will simply be run to a rear panel RJ45 jack via a short jumper cable internally in the chassis and per your suggestion I will make sure it is shielded. Since I am not using any signals such as address, data, clock (other than slow SPI), crystal, do you still think layout would be critical? The EMI stuff is super important as 1) these units operate in very RF sensitive areas with lots of satellite communications equipment around and 2) I will need to eventually get CE certified which will require passing all EMI testing.
My current platform is very old 68HC11 multi-card based design with address/clock/data lines running all over the place between different PCB's via 3 foot 50pin ribbon cables and I have yet to run into any problems so I was really hoping that this new single carrier card and MOD54415 design would present less chance of problems but that is exactly why I wanted to reach out to the community and see what other think. Maybe, due to the MOD54415 and it's clock rate and PLL stuff, this new design will actually present more problems that the my old/current platform, but hopefully that will not be the case.
Thanks again.
Re: Carrier Board advice needed?
Posted: Wed Nov 15, 2017 1:52 pm
by Vernon
I have had great results with a MOD5441 carrier board using large ground traces to prevent ground bounce (see pictures) and 1.0uf and 2.2uf bypass capacitors at each 3.3V terminal of the module. I also use a 10uf cap at the output of the 3.3V linear regulator. I use a similar board (in fact the picture of the bare board below is that board) on my internet controllable model RR and it has been running trouble free for several years.
Never tested RFI generation but have used both SPI and I2C with great results as far as functionality.
I use an MCP23017 port expander (I2C) for IO and a ULN2803A to drive relays. You can get relay modules on Ebay that will connect to the 2803A and switch 24V at 10A just fine. You can jumper the 23017 to get 8 different addresses if you need more than 16 IO points.
Note that you can search on Ebay for "RFI enclosure" and find die cast enclosures with a gasket. Hint: if you can put your phone in it, call your phone, and not have it ring it won't fail the test with your electronics inside.
Re: Carrier Board advice needed?
Posted: Thu Nov 16, 2017 4:58 pm
by ecasey
Here is a good primer on board design for noise reduction.
http://www.ti.com/lit/an/szza009/szza009.pdf
One thing to think about is that going from a 68HC11 to a MOD54415 is like going from a scooter to a space shuttle. If you don't really need all the power and features, you might be safer with smaller step to a MOD5270b or MOD5282 (if you need a-to-d) with slower clocks and most likely less noise. They will all do the job that the HC11 did and a lot more, and they are fairly pin compatible with each-other. One nice think about the MOD5282 for retrofit work is that the input pins can tolerate 5 volts; the MOD54415 can't and I don't think the MOD5270B can either.
Ed
Re: Carrier Board advice needed?
Posted: Thu Nov 16, 2017 7:37 pm
by Vernon
Built this MOD54415 carrier board today - set up as a phase angle meter - selectable for two voltages and three currents.
Works great and they simply vector airliners around Pahrump, Nevada (where I live) when it is on - so the GPS keeps working.
Just kidding - I did test it (not exactly scientific) with the phone in FM radio mode tuned to a weak station and the display seems to make the most noise. You don't get anything from the processor module or the rest of the board beyond about 3 inches. The display has about a 3.5 inch noise radius but is louder in direct contact. Nothing that being in a steel box won't fix. I mount it in an ammo can.
My current transformer test set
http://www.cttestset.com uses a 68HS12 (kind of a 16 bit HC11) on the measurement board and an ARM 9 Mini2440 (now end of life) on the front panel. I am going to switch it to the MOD54415 because the number crunching power let me devise a new FFT based algorithm that delivers the whole kitchen sink when measuring one cycle of two AC signals and does it in 120 microseconds. Amplitudes, Phase angles, harmonics and so on - and it is mostly done in double precision floats. You can only do simpler stuff with the HS12 - real simple considering I program that in assembler where I am not much good at higher math.