External ADC - SPI SCK noise - Page 1
Forum section: electronics / beginners

author: pawcuq
author_rank: Newbie
timestamp: July 11, 2016, 09:43:12 am
content: Hello. I have ADS8341 on small external PCB connected to my AVR board using 4 cm cables (for testing purposes) and reading data from ADS8341 makes noise on my +3V3 and +2,5V (Vref) which ruins my readings. I'm pretty sure that is caused by SPI SCK signal because ADS8341 samples (acquire) data on rising edges of SCK signal (125kHz). What should I google to find ADC which samples data when SCK signal is low/high?

author: Signal32
author_rank: Frequent Contributor
timestamp: July 11, 2016, 09:53:13 am
content: It's very unlikely that the SCK signal is what is causing most of the noise that you are seeing.Share your schematic / pictures of your setup.What are your ADC requirements (bits / speed / power supply voltage) ?You can also enable the internal clock for the ADS8341 so there will be no SCK edges during the conversion.

author: bktemp
author_rank: Super Contributor
timestamp: July 11, 2016, 10:02:51 am
content: QuoteSo the ADC samples the input after 4 clock cycles and during the next 4 clock cyles. So there is no way to avoid clocking the ADC while it samples the input.But you can use internal clock mode and wait until the actual AD conversion is complete before reading the result. (See FIGURE 5 + 6)

author: danadak
author_rank: Super Contributor
timestamp: July 11, 2016, 10:07:17 am
content: The ADC does have a S/H on its front end, from data sheet -"When the converter enters the hold mode, the voltagedifference between the +IN and –IN inputs, as shown inFigure 2, is captured on the internal capacitor array. "Regards, Dana.

author: pawcuq
author_rank: Newbie
timestamp: July 11, 2016, 10:43:07 am
content: Quote from: Signal32 on July 11, 2016, 09:53:13 amIt got to be SCK or MISO/MOSI (I see spikes on oscilloscope only when reading from ADS8341). When I'll get home I'll upload schematic and picture of my setup. Preferably 4-channel (or single, dual) 14/16bit ADC which would be powered from Li-ion battery (4.2V).Would internal clock make a difference? Data is sampled during "Acquire" or "Conversion" time? I'm bit confused to be honest.

author: Signal32
author_rank: Frequent Contributor
timestamp: July 11, 2016, 10:58:53 am
content: Quote from: pawcuq on July 11, 2016, 10:43:07 amWell if you see spikes only when reading, those should not impact the conversion as the conversion is already done.Most likely you are not decoupling the ADC properly causing the power consumption either of your main MCU or of the ADC to generate noise on your power rails that will be shown in the conversion output. We need to see schematic + pics to get an idea.I don't think that internal clock will help you much, because I think that decoupling is the main issue with your setup. Also if all your connections are not soldered then that will also generate noise.From your requirements, if you don't care about speed, the MCP3421 is very beginner-friendly (no external vRef, you can sleep the main micro during conversion, only one VCC/GND). The only downside is that it only has 15 samples per second in 16 bit mode (60 in 14 bit mode). It is very easy to set up in order to get low noise.What are you finding confusing ?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 11, 2016, 11:03:15 am
content: Try ferrite beads on the wires, or 100 ohm resistors in series with the transmitting/driving end (i.e., at the MCU, on the Arduino board, for CS, SCK and MOSI; at the ADC for MISO). Connect more grounds, and group all the wires together (multiple grounds/VCCs surrounding the CS/SCK/MOSI/MISO wires). For example, if you were using ribbon cable, it's preferred to make every other wire either VCC or GND.Tim

author: danadak
author_rank: Super Contributor
timestamp: July 11, 2016, 12:17:36 pm
content: Code wise you could always halt all comm or switching activity while SARis converting. It does waste CPU cycles though. Also use running average ofSAR results to aid in noise reduction. This works well if noise uncorrelated,if correlation increases effectiveness of averaging drops.Just a thought.You have a 2.5 Vref, its 16 bits, so its LSB is =~ 38 uV. The SAR has no specon PSRR effects when its converting, so use scope on infinite persistence, lookat supply rails to get p-p noise to get a handle on how many lsbs of noise youare dealing with. Also look at grounds with scope setup as discussed.Regards, Dana.

author: pawcuq
author_rank: Newbie
timestamp: July 15, 2016, 01:35:26 pm
content: Hi guys. Sorry for the delay, I've made new PCB containing uC + ADC + Vref etc and all is working flawlessly! Thanks for your help!