Noise issue during transitions between normal and low power modes

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Noise issue during transitions between normal and low power modes

4,976 Views
jbjoe30
Contributor I
I have an rf receiver attached to a 908qy1.  When I started, I was running in normal mode (no sleep) and I had some microprocessor based noise in the rf section.  Once those issues were resolved, I coded the "power reduction" scheme of waking via the auto-wakeup timer.  When I did that, I can see noise spikes every time the processor wakes and goes to sleep.  I assumed that these were from the transiet current draw, however, large caps to suppress any regulator lugging and a choke in the ground path did nothing to resolve.  Any help on explaining A) where is the noise comming from (conducted or radiated), and B) how do I get rid of it???  Any thing I can do in software??
 
Thanks,
Joe
 
Labels (1)
0 Kudos
10 Replies

825 Views
jbjoe30
Contributor I

Ron,

  You are correct, a 24ms wide off-on-off really isn't a noise it the typical sense.  I will try the test you listed. One interesting point:  When I was powering from a single source into the two regulators (8v & 5v) I only needed power and gnd connected to see the pulse, however, when I removed the regulators and fed in two separate power supplies, I need to connecct pin13 to the op amp before the pulse was noticable again.

 

Thanks for the advice, and I'll keep you updated.

 

Joe

 

0 Kudos

824 Views
jbjoe30
Contributor I

Ok, here is some more details and updated test results.

The transmitters are running at 300Mhz.  The data stream is a 25%/75%, such that a "zero" is 25 high, 75 % low, while a "one" is 75/25.  The bit period is 1.97ms.  Basically, it works just like any older (non-rolling key) garage door opener.  During testing, no transmitters are active and the antenna is removed.  The rf section is running off a 8v linear regulator and the micro has a 5v linear.  The rf and micro grounds are only common at one point.

The "noise" that I see, is at pin 13 (input of rf,  PA0) the voltage is at or near zero volts.  There is the occasional quick noise spike (inherant with super-regen), but the pulse widths are very small.  The "sleep mode" noise that I see is a signal that goes from near zero to 5 volts and stays high for ~24ms, and then drops low again.  This, of course lines up perfectly with my 6ms task * 4 loops.  The next time the micor wakes up (160ms later) the same waveform can be seen.  I just checked the code and PA0 (input capture input) does not have the internal pull up resistor enabled.

What is interesting is that I removed both regulators and fed in two separate power supplies.  With just the power and ground pins connected, no noise.  If I then connect pin 13, the noise comes back.

I am pulling my hair out!  To further complicate matters, if I disable the s/w which enters sleep mode, I don't see any micro based noise.  This makes me believe that it is related to the rapid change in current. I tried  a choke in the power line, but since each section has its own regulator, it didn't seem to do anything.

Thanks for all the help and support.

Joe

0 Kudos

824 Views
bigmac
Specialist III

Hello Joe,

How are you generating the 6ms task period - you wouldn't happen to be using a timer channel?  The thought was that perhaps you have mistakenly overlapped on the timer channel, and the channel you are intending for input capture gets configured for output compare instead.  So this might possibility produce a 24 millisecond width pulse.  This could also explain why the pulses do not occur when you modify the firmware to disable the sampling arrangement.

You might confirm whether the PTA0 pin is an output (using the existing firmware) by removing the series resistor of the voltage divider (leave the shunt resistor connected to the pin) and then monitor the voltage waveform at the PTA0 pin.

As a matter of curiosity, when you put the MCU in sleep mode, are you also putting the receiver in low power mode, or switching the supply to it?  I guess the receiver would draw a few milliamps, probably comparable with the MCU in run mode.  So if you are not powering down the receiver, there would be little benefit in using stop mode for the MCU.  You might even consider wait mode as an alternative, so that timers would remain operating.

Regards,
Mac

 

0 Kudos

825 Views
glork
Contributor I
Hi Joe.
I think I would classify a 24mS lo-2-hi-2-lo as a pulse rather than noise (if I didn't mis-understand your description of the timing).

In this case I would look at the port pin control (PA-0). It appears that you are using it as an input (driven by the de-modulated o/p of your receiver??). I'm wondering if the cpu momentarily engages a port-pin pull-up when struggling to wake up.

A possible test (if it doesn't break soemthing) is to, just before going to sleep, make PA-0 an output (set lo). Then, immediately upon waking up re-define it as an input.
ron
0 Kudos

825 Views
rocco
Senior Contributor II

glork wrote:
. . . A possible test (if it doesn't break soemthing) is to, just before going to sleep, make PA-0 an output (set lo). Then, immediately upon waking up re-define it as an input.
I was going to suggest a stiff pull-down resistor, but Ron had a much better idea.

If nothing else, it should verify that the port pin is indeed the "source" of the problem.
0 Kudos

825 Views
jbjoe30
Contributor I

Sorry for the late update,

I am using the 908QY1 with internal osc.  The rf section is a super-regen style with the final output comming via an op-amp output.  The output is fed into a simple voltage divider (two resistors) and the micro taps into the center of the divider.  I am using PA0 as the input with input capture interrupts enabled.  Since I need to sample the data and save power, I stay awake for 24ms (6ms task loop * 4 loops) and then if no data is present, I go to sleep.  The auto-wakeup brings the micro back up every 16ms.  Given the data packet structure, I can sleep for around 160ms.  So, upon wakeup, I inc the counter, and if less than 10, go back to sleep.  This gives a cycle of 24 ms on and 160 ms off.

During testing, I monitor the center of the voltage divider and see a noise spike which lines up with the power cycle.  I then started to lift pins to narrow down the path.  I am left with just the power and ground pins of the micro connected, thus it appears to be conducted via the power. 

A choke makes sense as the voltage is constant, but the current is swinging from 100ua to 7ms.

Joe

 

 

0 Kudos

825 Views
bigmac
Specialist III

Hello Joe,

A super-regen receiver may not be the best choice for this type of application - a super-het would provide a much narrower noise bandwidth.  It is possible that the interference could be radiated from the MCU, depending on proximity, positioning of the antenna, etc.  Try running the receiver from a separate regulator and/or power source, to see if the spikes are still present.

You have not mentioned the frequency band used, the modulation method, nor the data rate.  If you are using on-off keying (OOK), are the spikes visible mostly during the off durations?

I would assume the spikes are affecting the auto-wakeup process.  What is the duration of the noise spikes compared with the modulation pulses?  You might be able to differentiate on the basis of pulse width timing.

Regards,
Mac

0 Kudos

825 Views
bigmac
Specialist III

Hello Joe,

You also do not mention what type of receiver you are using - its frequency band, IF frequency used, type of modulation used, and the physical positioning of the receiver relative to the MCU.  Are the receiver components on the same board as the MCU, or a separate sub-board?

Where do you observe the noise spikes - at the demodulator output?  When you observe the noise, is the wanted signal also present, or not?  Do you still observe the spikes with a large RF input level?

Regards,
Mac

 

0 Kudos

825 Views
rocco
Senior Contributor II

jbjoe30 wrote:
. . . and a choke in the ground path did nothing to resolve.
My personal experience (don't put too much faith in that) is that you DON'T want to put a choke in the ground path. That will cause the ground voltage to rise for devices that are on the opposite side of the choke from the power supply when transients occur.

What I would do is put the choke on Vcc, between the noise source and the noise-sensitive devices (typically analog components). I also put .1uF decoupling caps and filter caps (normally tantalum) on each side of the choke, creating a Pi filter on Vcc.
0 Kudos

825 Views
glork
Contributor I


jbjoe30 wrote:
I have an rf receiver attached to a 908qy1. When I started, I was running in normal mode (no sleep) and I had some microprocessor based noise in the rf section. Once those issues were resolved, I coded the "power reduction" scheme of waking via the auto-wakeup timer. When I did that, I can see noise spikes every time the processor wakes and goes to sleep. I assumed that these were from the transiet current draw, however, large caps to suppress any regulator lugging and a choke in the ground path did nothing to resolve. Any help on explaining A) where is the noise comming from (conducted or radiated), and B) how do I get rid of it??? Any thing I can do in software??


Thanks,

Joe






Hi Joe.
I think you need to supply a lot more detail:
1. Do you use the QY's internal oscillator, an external xtal or an external clock?
2. Which lines connect the QY to the RF unit?
3. What can you say about the geometry of the noise, etc.?
4. Is the power supply common for the QY & RF unit?

Your post implies that you assume the noise is propigated via the power supply. I wonder if it is coming over the interconnect wires?

As a general practice for the last several years I've been using a 1uH smt choke feeding a 4.7uF tant || 100nF ceramic parallel combination power supply filter as close as possible to the micro's power pin. In the case of those micros that have more than 1 power pin I use this filter on EACH power pin. Does wonders for my peace-of-mind.
ron
0 Kudos