A simple 4-bit ADC.
ZXNet echo conference «hardware.zx»
From Ivan Mak → To All 8 March 2000
Greetings, All!
4 bit ADC (C) I don’t know whose.
The circuit is very ancient, I saw it about 15 years ago, back on episode 176.
D1.1
Login ┌───┐
─────┬──┬──┬──┬───┤ o──┬──┬──┬─────────── ───────────────────── D3
┌┴┐┌┴┐┌┴┐┌┴┐ └───┘ ┌┴┐┌┴┐┌┴┐
│ ││ ││ ││ │3x │ ││ ││ │ 3x
300k└┬┘└┬┘└┬┘└┬┘10k └┬┘└┬┘└┬┘ 20k D1.2
│ │ │ │ │ │ │ ┌───┐
│ └──│──│──────────┴──│──│──┤ o──┬──┬─────────────────── D2
│ │ │ │ │ └───┘ ┌┴┐┌┴┐
│ │ │ │ │ │ ││ │2x
│ │ │ │ │ └┬┘└┬┘39k D1.3
│ │ │ │ │ │ │ ┌───┐
│ └──│─────────────┴──│─────────┴──│──┤ o──┬───────── D1
│ │ │ │ └───┘ ┌┴┐
│ │ │ │ │ │ 82k
│ │ │ │ └┬┘ D1.4
│ │ │ │ │ ┌───┐
│ └────────────────┴─── ─────────┴─────────┴─┤ o─┬─ D0
│ └───┘ │
│ ┌───────┘
│ D1 K561LH2 │ ┌───┐ D1.5
│ └─┤ o───┐│ └───┘ │
└───────────────────────────── ─────────────────────────────┘
Converts 0..5 volt input signal to 0..F numbers
The output impedance of the signal source should be low.
Conversion time is in units of microseconds. Input spectrum
the signal should not contain high-frequency components
more than ~100KHz
To increase sensitivity, you can try proportionally
reduce a group of 10k resistances, for example, reducing them to 1k.
D1.5 and 300k resistor are introduced to improve operation reliability
so-called "hysteresis". These elements do not need to be placed, as they may
distort the signal.
To reduce reading errors, you can read data twice in a row
and compare with previous ones, only matching ones are considered correct (or
take, for example, the average value).
If it doesn't match, read on until it does. Permanent
mismatch can only appear when high-frequency
signals to the input or a low reading frequency close to the upper
signal frequency.
Wow! The Protoss are attacking my Zerlings! It's time to get going. Ivan.
- Divorce the circuit, big and small.. [ Sprinter-II ] [ Forth-CPU ] [ ZX ]