Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Noise induced by microcontrollers

Status
Not open for further replies.

paurelian

Junior Member level 3
Joined
Aug 16, 2007
Messages
29
Helped
5
Reputation
10
Reaction score
1
Trophy points
1,283
Location
Europe
Activity points
1,512
Hi friends,

Anyone had so far problems with noise induced by microcontrollers? I worked to build a circuit for weight measuring applications and I found that using more or less the same schematic and layout for analog part, the result had a strong influence according to the microcontroller used. I tested 2 microcontrollers from atmel avr family, atmega8 and atmega8535. The outcome was that atmega8535 was less noisy then atmega8 (16 bits resolution compared with 12 bits resolution). I asked atmel about this issue and they wasn't able to offer me such kind of data regarding noise induced by microcontrollers, only an application note regarding how to build design using microcontrollers!
So I will be glad to hear from you such kind of information regarding noise from microcontrollers and ways to suppress this noise!

Regards,
Aurelian
 

I know one way to supress the noise: Stop (set in sleep) the microcontroller if you do the AD conversion. There are some controllers which can do that.
I can find them back if you want.
 

plusminus said:
I know one way to supress the noise: Stop (set in sleep) the microcontroller if you do the AD conversion. There are some controllers which can do that.
I can find them back if you want.

Thanks for the suggestion! It will be difficult to implement for my project (but not impossible) because during conversion the microcontroller should be able to receive commands from serial port. But it's really a good ideea! I will try to implement it!
I am using microcontroller from Atmel and these controllers have this feature!

Thank you!
 

Be sure to check how the interrupts are handled during the ADC sleep mode, I faintly recall that if you use interrupt-driven reception and puts the device in temporary sleep mode it will execute any pending interrupts as soon as it returns from the ADC sleep. Depending on the latency you require this might solve your problem.
 

xarragon said:
Be sure to check how the interrupts are handled during the ADC sleep mode, I faintly recall that if you use interrupt-driven reception and puts the device in temporary sleep mode it will execute any pending interrupts as soon as it returns from the ADC sleep. Depending on the latency you require this might solve your problem.

Unfortunately during ADC sleep mode the uart is not active, and is very important for my application that the device to respond to every command that it receive. I will check in the next days with different sleep modes to see if it's possible to solve this problem.

Thank you
 

You were right, I looked at the datasheet a little, and it has the following to say regarding the ADC Noise Reduction mode:

"Apart from the ADC Conversion Complete interrupt, only an external reset, a Watchdog System Reset, a Watchdog Interrupt, a Brown-out reset, a 2-wire Serial Interface address match, a Timer/Counter2 interrupt an SPM/EEPROM ready interrupt, and external level interrupt on INT0 or INT1 pin change interrupt can wake up the MCU from ADC Noise Recution mode."

I figure you could either design your serial protocol to use some simple acknowledgment of transmitted messages, so in case your system was sleeping while a message arrived the host would retransmit it after a short while and your system could process it when it awakened from sleep.
Or you could use the external interrupt pin as an input, connected to the serial receive line (on the TTL side) and use it to sense whenever a start bit was detected. You'd probably want some sort of simple low-pass filter to improve noise immunity a bit though.

Another solution altogether would be an external ADC conversion chip I guess, that way your system could always remain responsive no matter what the ADC-chip is doing. Or you could switch communications over to an external chip on the SPI bus, which DOES work during ADC sleep mode. I've recently gotten some Maxim 3420 samples, which is a complete full-speed USB controller that talks to an MCU using SPI, and they're pretty cheap I think. But that's USB, which is kind of a hassle.

Oh, thanks for the points by the way! Now I can download that manual I wanted from the oscilloscope forum! :D
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top