GPS Interference

Hi,

I have a couple of Cobras and was planning on using this for some projects, but it appears to cause severe GPS interference.

I built a daughter board for the Cobra with GPS mounted and the GPS would never lock. After replacing the GPS module with no change, I did some testing using a standalone GPS. Whenever I bring it within 3 inches of the Cobra, GPS signal basically drops to 0.

Disconnecting my board and testing against only a new Cobra shows an identical issue.

This is an out-of-the-box Cobra board without loading flash (as well as my flashed units).

Is the EMX module noisy? Is there something that can be done to remove this issue?

Thanks!

EMX is 72Mhz so you won’t see a lot of noise from it and there is nothing special on there to cause noise. Does your GPS work fine close to cobra is cobra is not powered?

Not sure what would be causing this, but I can confirm that I use an MTK LS20033 within inches of my FEZ Rhino.

What GPS module is it?

It works perfectly when the Cobra is not powered. Apply power, the signal drops. Remove from Cobra area, signal back. Take back to Cobra, signal drops off.

I have been investigating more as I was suspecting a crystal.

Using Power.EthernetOscillatorEnable(false);, I then get a GPS lock almost instantly.

So… looks like that is causing interference. Which is not good. We should be able to use the Ethernet port with a GPS around!

Note that the signal loss is basically complete - I.e. we cannot start the GPS with no Ethernet, get a lock and then enable it, as then the GPS will no longer update.

Put an RF Shield over the EMX board :slight_smile: You can find them on digikey and mouser, or make one out of tin cut to the right size and soldered to ground… or, even easier get some aluminium tape and cover the emx module with it (make sure you put some paper or plastic over the module first to make it non-conductive! Then make sure the tape is grounded (but not shorting something!).

I have tried a basic aluminum wall as a shield as well as a 4 layer board with ground plane. No difference. The noise may be permeating traces to the GPS.

That might be a great work around for a project board but I’m planning on putting these in production units, and so would rather using without a messy hack.

Additionally when using Power.EthernetOscillatorEnable(false); the unit appears to sometimes lock up after a few seconds when I run the debugger.

Can we modify the PHY frequency or something to workaround?

Have you tried putting some ferrite rings on the GPS cable?

Oh I see so it is not the processor like I was saying but seem that the 50Mhz ethernet oscillator. Is GPS and EMX powered from same power source? Ir same ground? Try complete separate power and let us know. the noise maybe traveling over power lines not in the air.

You will of course need the grounds on the two tied together, just separate voltage sources.

If you have some success with a separate supply you should just need to add some decoupling on the GPS’ power supply with a couple of caps. Try starting around 47uF and work your way down (it might need as little as 1uF but 47uF will decouple pretty much any power supply enough to work)

oh yes, ground must be shared! What was I thinking?! :smiley: Maybe a ferrite beed on shared grounds.

The GPS has no cable as I have a PCB build that interfaces to the Cobra header and so it is just traces.

The External test GPS I was using to work out if there was interference (I.e. to find out why the onboard one was not locking) is entirely independent and is battery powered.

Note that when I say the GPS doesn’t lock, it really is blocked entirely - it can’t even get the time signal which is the most basic receipt of GPS data when the Ethernet is on.

With separate power but common ground the issue still exists.

Does the gps stops sending nmea messages?

No, that would be a little more fundamental than interference :slight_smile:

Expected NMEA, no time or satellite lock data. Until Ethernet PHY off. Then perfect data.

OK… so having gone to a 4 layer board to get better ground planes, placing the EMX within an EMI board shield, I still really don’t get great GPS performance when the EMX is running.

If the EMX module is ‘off’ (reset held low) then the GPS module locks fine.

With the EMX running, GPS is degraded to a barely operational state. This is better than not running at all which is what I previously had…

I am using:

Configuration.LCD.Set(Configuration.LCD.HeadlessConfig);

to hopefully turn off the video output (how are you doing Video anyway? GPDMA? The CPU doesn’t have video…)

Using:

Power.EthernetOscillatorEnable(false);

to remove one clock signal (although clocks appeared to still be running when EMX in reset state, so not sure that helps a lot…)

Using:

 // define the power control register PCONP
            Register PCONP = new Register(0xE01FC0C4);

            UInt32 mask = CPU.PCONP_PCAN1 | CPU.PCONP_PCAN2 | CPU.PCONP_PCI2C0 | CPU.PCONP_PCI2C1 | CPU.PCONP_PCI2C2 | CPU.PCONP_PCI2S |
                          CPU.PCONP_PCPWM1 | CPU.PCONP_PCSPI | CPU.PCONP_PCUART0 | CPU.PCONP_PCUART1 | CPU.PCONP_PCUART3 |
                          CPU.PCONP_PCAD | CPU.PCONP_PCGPDMA | CPU.PCONP_PCENET | CPU.PCONP_PCSSP0 | CPU.PCONP_PCSSP1 |
                          CPU.PCONP_PCSDC | CPU.PCONP_PCTIM2 | CPU.PCONP_PCTIM3;

            PCONP.ClearBits(mask);

To power down as much of the CPU as possible, to remove unnecessary digital noise etc.

What else can I switch off/alter to try and improve this?

Perhaps related: Has anyone ever stuck a scope on pins while displaying in FFT mode… I am a novice, but there appears a lot of structured noise on I/O and serial lines. Like the EMX signals are not very clean. And yes, I tested on an EMX floating in thin air (just powered) to verify it wasn’t coming from my board.

A while ago I couldn’t get a GPS fix because of nearby WLAN network activity.

Can you give us a schematic of the power supply circuit used in your setup?

We are using a power supply module (mouser: OKI-78SR-3.3/1.5-W36-C).

This gives the 40mv pk-pk the GPS requires, and runs the GPS when the only components are power supply/GPS or power supply/GPS/EMX in forced reset.

We are looking at better segmenting the GPS ground pad and changing our layer makeup to see if that helps too. As well as giving a separate supply rail direct from the power supply. Little things… but we’re clutching at straws here.