A to D converters - How to wire timing & control logic

Carultch

Senior Member
Location
Massachusetts
I'm working with this product, and I'm trying to make sense of how to wire the following pins:
Pin 6: Write/Ready, with an overbar on "write"
Pin 7: Mode select
Pin 8: Read, with overbar
Pin 9: Interrupt, with overbar
Pin 13: Chip select, with overbar
Pin 18: Overflow, with overbar

The datasheet just shows these wired to a microprocessor, but it doesn't show what signals the microprocessor is expected to send for each application. In my application, I'd like the ADC to stand on its own and not need any supplimentary signals from a microprocessor. Either in real-time, or close enough to real time (e.g. every 100 microseconds or similar order of magnitude). I'm only using the single group of 8 bits for any given analog input signal. I'm open to recommendations on other ADC chips you think could work better with my goals.

Here's my guess at how it's supposed to be wired, from what I gather reading the datasheet:
Pin 6: Possible Jumper from Pin 9
Pin 7: 0V ground
Pin 8: 0V ground
Pin 9: Possible Jumper to Pin 6
Pin 11 (Vref-): to 0V ground with 100 nF capacitor in parallel (not sure if capacitor is really necessary)
Pin 12 (Vref+): to +5V with wire, and 100nF capacitor to ground
Pin 18: no connect. Will be logical high output, as long as there's no overflow
 
... In my application, I'd like the ADC to stand on its own and not need any supplimentary signals from a microprocessor. Either in real-time, or close enough to real time (e.g. every 100 microseconds or similar order of magnitude). I'm only using the single group of 8 bits for any given analog input signal. I'm open to recommendations on other ADC chips you think could work better with my goals.
...

Somehow you need to synchronize the timing between when the ADC samples the input signal, the digital output of the ADC is ready for reading, and the device receiving the data captures this output data word. Normally, this receiving device is providing primary control of this timing via control lines going to the ADC.
What are you intending to use for receiving the data from the ADC?
 
Somehow you need to synchronize the timing between when the ADC samples the input signal, the digital output of the ADC is ready for reading, and the device receiving the data captures this output data word. Normally, this receiving device is providing primary control of this timing via control lines going to the ADC.
What are you intending to use for receiving the data from the ADC?
Thank you for the insight. I'm using it, essentially to turn 1 analog output into 8 digital outputs to run a bank of indicator LEDs. The reading device is always ready.
 
Thank you for the insight. I'm using it, essentially to turn 1 analog output into 8 digital outputs to run a bank of indicator LEDs. The reading device is always ready.

Are there going to be 8 individual LEDs, one for each of the 8 bits? If so, do you want them to represent a straight binary value, where at midrange it flips between 01111111 and 10000000?

Or perhaps you would want a "thermometer" output, where the 1's fill up from the right side and there is only one transition from 0 to 1. Kind of like a bar graph. If not, you can ignore the following comments.

With a thermometer type output you will only get 9 available states for the outputs with 8 bits. And if each transition between states represents the same increment in voltage, that might be too coarse for your requirement. An alternative would be to have a more logarithmic increment in order to span a larger range. You could do this by building your own "flash" type ADC with an alternating series/shunt resistor ladder to provide attenuation of a reference voltage in 8 steps, with each step connected to one of 8 voltage comparators. All comparators would have their other input connected to the analog signal to be digitized. The comparators will have a "thermometer" type output in real time without any clocking or digital logic/processing necessary. Only 2 relatively cheap "quad" comparator ICs could be used.

As an example, the figure below shows a flash ADC where the reference voltage is divided into equal steps using series connected resistors of equal value. Digital processing is used to convert the thermometer type output of the comparator to a binary form most applications require.
 

Attachments

  • 8-bit_flash_ADC.gif
    8-bit_flash_ADC.gif
    13.4 KB · Views: 2
Are there going to be 8 individual LEDs, one for each of the 8 bits? If so, do you want them to represent a straight binary value, where at midrange it flips between 01111111 and 10000000?

Or perhaps you would want a "thermometer" output, where the 1's fill up from the right side and there is only one transition from 0 to 1. Kind of like a bar graph. If not, you can ignore the following comments.

With a thermometer type output you will only get 9 available states for the outputs with 8 bits. And if each transition between states represents the same increment in voltage, that might be too coarse for your requirement. An alternative would be to have a more logarithmic increment in order to span a larger range. You could do this by building your own "flash" type ADC with an alternating series/shunt resistor ladder to provide attenuation of a reference voltage in 8 steps, with each step connected to one of 8 voltage comparators. All comparators would have their other input connected to the analog signal to be digitized. The comparators will have a "thermometer" type output in real time without any clocking or digital logic/processing necessary. Only 2 relatively cheap "quad" comparator ICs could be used.

As an example, the figure below shows a flash ADC where the reference voltage is divided into equal steps using series connected resistors of equal value. Digital processing is used to convert the thermometer type output of the comparator to a binary form most applications require.
I'm aware of the comparator ladder behind the scenes, and I don't want to have to revert to first principles with 255 comparators. Ultimately, I'd like to be able to get all 256 possible binary values out. Or at least 128 possible values, excluding the least significant bit.

This single chip seems to do what I'm expecting it to do, if I can just get the right signals to the control logic pins. I can pull this from a timer square wave if that's what's needed to give rising and falling logic signals.
 
Top