74logic_sa_adc

Public

schilkp/74logic-sa-adc

Loading…

Description

Imported from GitHub: schilkp/74Logic_SA_ADC · commit 03a2710 · license MIT

Description

A discrete Successive Approximation ADC built from individual logic gates.

README

SA-ADC

Philipp Schilk

A discrete successive-approximation ADC controlled by a 74-series logic gate state machine.

Built to understand SA-ADCs, and serve as a demonstration unit.

PCB v0.2 Picture

PCB v0.2 Render

Status

Finished.

Specifications

SpecificationValue
Resolution8-bit
Sample Rate1Hz - 90Hz
Input Voltage Range0-5V
InputSingle-ended
Input SourceIncluded Potentiometer or External Input
Supply Voltage9-12Vdc
Output8-bit parallel

As this is a demonstration unit only really meant for DC inputs, no Sample-&-Hold stage is included.

Successive Approximation Architecture

This Project uses the classic DAC-based Successive Approximation Architecture Wikipedia.

It is essentially an analog implementation of a binary-search algorithm. The ADC first sets it's DAC to 2.5V (Vref/2), and uses an analog comparator to determine if the applied input voltage is higher or lower than the generated voltage. Depending on the comparator's output the DAC voltage is then repeatedly refined to determine each bit of the conversion-result successively.

Here are two example conversions, with Vin = 2V and Vin = 0V:

Example Conversion of Vin = 2V Example Conversion of Vin = 0V

The steps of the conversion are show in the State-Machine outputs/LEDs:

LEDDescription
RSAR (Successive Approximation Register) bits 6-1 are reset
7Bit 7 is tested and latched if set.
6Bit 6 is tested and latched if set.
......
0Bit 0 is tested. Bit 7-1 are latched into the output from the SAR , and bit 0 is latched from the comparator

A note on clocks/timing: The state machine/shift-register is clocked on the falling edge, while the SAR (Successive Approximation Register) and the output register are latched on the rising edge. Due to this, all signals (including the DAC and hence the comparator output) are setup on the falling edge of the clock by the state machine, and have until the rising edge of the clock to stabilize and be latched into the different registers.

Repo Overview

See Github Releases for Gerbers, Interactive BOM, etc.

Doc/
Documentation

KiCad/
KiCad Project Files (Schematic and PCB).

Logisim/
Visual Logic Simulation.
Download LogiSim at cburch.com.

Very short video demo

Comments

No comments yet. Be the first to ask about this board.

Askabout this board