Clocking a HI7190 ΣΔADC using a 10MHz Quartz Crystal Oscillator

Thread Starter

mpak

Joined Aug 21, 2020
2
Hello,

This is my first post so I'm sorry ahead of time if I'm missing key information.

I am trying to produce a clock signal for a HI7190 (ΣΔADC) using a 10MHz quartz crystal oscillator. The HI7190 uses either 2-Wire or 3-Wire (SPI-compatible) communication for reading and writing internal registers. It seems mine is responding correctly by driving its Data Ready Pin low to let my microcontroller know it has valid information ready. However, it only responds with random bits, mostly flat 0's.

At first, I was using a 4MHz CMOS compatibe(-ish) clock signal from the ATmega32u4 I am using to control the ADC. It wasn't a pretty squarewave signal by any means, so I decided to try a quartz crystal oscillator instead, connecting it to the ADC as shown in the datasheet (directly to the OSC1/2 pins). I probed the crystal on the OSC1 pin (clock signal input) but my oscilloscope shows only a flat 0Vdc. I tried connecting a 1MΩ resistor in parallel with the crystal, and I do now have a clean 10MHz sinusoidal signal. However, it is by no means CMOS compatible as it sits at 1.7Vdc with a ~135mVac signal on top.

I'm not sure what to do at this point, so any advice would be much appreciated! Let me know if I should post any more info.

Thanks!
 

ericgibbs

Joined Jan 29, 2010
10,767
hi mpak,
Welcome to AAC.
When using the 10MHz xtal, without the 1Meg resistor, is the DR pin being controlled.? and does the ADC function as expected.?
What signal voltage are the Vin Inputs connected too, during the testing.?
It is possible that by attaching your scope probe on the OSC pins you a stopping the oscillator.

Is all wired as per this clip from the DS.?

E

Added Application PDF, may help.
 

Attachments

Last edited:

cmartinez

Joined Jan 17, 2007
7,082
Hello,

This is my first post so I'm sorry ahead of time if I'm missing key information.

I am trying to produce a clock signal for a HI7190 (ΣΔADC) using a 10MHz quartz crystal oscillator. The HI7190 uses either 2-Wire or 3-Wire (SPI-compatible) communication for reading and writing internal registers. It seems mine is responding correctly by driving its Data Ready Pin low to let my microcontroller know it has valid information ready. However, it only responds with random bits, mostly flat 0's.

At first, I was using a 4MHz CMOS compatibe(-ish) clock signal from the ATmega32u4 I am using to control the ADC. It wasn't a pretty squarewave signal by any means, so I decided to try a quartz crystal oscillator instead, connecting it to the ADC as shown in the datasheet (directly to the OSC1/2 pins). I probed the crystal on the OSC1 pin (clock signal input) but my oscilloscope shows only a flat 0Vdc. I tried connecting a 1MΩ resistor in parallel with the crystal, and I do now have a clean 10MHz sinusoidal signal. However, it is by no means CMOS compatible as it sits at 1.7Vdc with a ~135mVac signal on top.

I'm not sure what to do at this point, so any advice would be much appreciated! Let me know if I should post any more info.

Thanks!
I worked with the HI7190 chip some years ago. And although it's not a bad chip, I found it quite hard to program.
That being said, here's a few tips for you:
  • Use a 10 MHz crystal oscillator and not just a crystal. That will save you a lot of headaches.
  • Make sure that the oscillator you pick has good frequency stability. Anything below ±10 ppm is good enough.
  • If you're using the SMT version of that chip, be extremely careful when soldering it. The chip is way too sensitive to the temperatures involved when soldering and can very easily be damaged.
 

Thread Starter

mpak

Joined Aug 21, 2020
2
When using the 10MHz xtal, without the 1Meg resistor, is the DR pin being controlled.? and does the ADC function as expected.?
What signal voltage are the Vin Inputs connected too, during the testing.?
It is possible that by attaching your scope probe on the OSC pins you a stopping the oscillator.

Is all wired as per this clip from the DS.?
E -
1a. It was at first, but I decided to get a digital isolator as the MCU uses 3.3V logic and the ADC relies on a CMOS compatible clock, so I figure the ADC also may need a full digital 5V to operate correctly. So before the isolator, xtal, and 5V for DVdd, the DRDY pin was responding normally, and I had a CMOS compatible-ish signal for the clock controlled by the MCU (I used a BJT as a switch). With the isolator, xtal, and 5V for DVdd, the DRDY pin is now always low. The datasheet for the digital isolator mentions a weak pull down resistor on the pin I'm using, so I thought that was the issue. However, I unplugged the isolator and the DRDY pin would not return high.

1b. Like I said in 1a, it sort of did at first, just with garbage data. Usually the bits were all 0's, but it would randomly spit out 1's, too.

2. The Vin pins are floating right now. I thought they were connected before, but I may have forgotten to do that. That would make sense for the seemingly random (but mostly 0) results. I will make a 0V and ~1V reference circuits to probe the ADC with for testing.

3. It's possible, but I'm getting the same results without the probes attached.

4. It is not. I thought it would only be an issue for noise, but I guess if the digital circuitry is also finicky, then I might need to set up some caps as well. I have a reference, analog supplies (+/- 5V analog), and SPI set up.

I worked with the HI7190 chip some years ago. And although it's not a bad chip, I found it quite hard to program.
That being said, here's a few tips for you:
  • Use a 10 MHz crystal oscillator and not just a crystal. That will save you a lot of headaches.
  • Make sure that the oscillator you pick has good frequency stability. Anything below ±10 ppm is good enough.
  • If you're using the SMT version of that chip, be extremely careful when soldering it. The chip is way too sensitive to the temperatures involved when soldering and can very easily be damaged.
cmartinez -
I bought a few of the oscillators you recommended, plus a function generator (sick of not having one), so hopefully a good, clean signal will fix this issue. Would you have any recommendations if the oscillator was not the issue? (as in before I used an xtal?)
 

oliverb

Joined Feb 23, 2020
6
Just taken a look at the datasheet...
It looks as if the part might be compatible with a 3.3V microcontroller even when powered from 5V, as the logic input thresholds are lowered. Not so sure about the outputs, but I'd suggest 100 ohm series resistors.

I'm somewhat nervous of the crystal option because there is so little information. Normally with two "osc" pins I'd expect to see a "parallel resonant" type crystal with 15-33pF load capacitors, but I don't see capacitors or a figure for built-in load capacitance.

As regards the interface I believe the calibration registers may be very useful to you as you should be able to write a known value, read it back and compare it to the original as a test. Depending on how the IC is implemented this test may work even without an oscillator.

Funnily enough I'd also disagree with the datasheet supply and ground provision as I've seen application data explaining that there is significant on-chip stray capacitance between the AGND and DGND pins. I think the app-note might have been by AD though. Their suggestion was to use PCB AGND for both the chip A and D grounds, AVDD for both the ADC supplies but with an inductor between the AVDD and DVDD pins, and put series resistors on data lines to minimise noise coupling between the microcontroller and ADC. The suggestion was to give the logic signals the slowest rise/fall time allowed.

Also to get best results from a 24-bit ADC you have to be wierdly obsessive about managing noise.
 
Top