Step 8Circuit Description - Analog-to-Digital Converter; Sample Memory
That sample rate means the scope can produce meaningful displays of signal up to about 150kHz (in that case, there are about 7 samples per period). The ADC is driven by the same clock as the counter, and it provides the sampled data in parallel format (8 data lines).
The sample memory is a legacy SRAM chip with a size of 2K x 8 (i.e. 2 KBytes), of which only the first 256 bytes get used. One could easily put in a larger counter (just cascade another counter IC), but I chose to keep it down to an 8-bit address out of two reasons - first, it cuts down on components and cost, second, a record length of 256 samples is sufficient for a very decent waveform display while at the same time the screen update rate is relatively fluent (I measured close to 7 frames/sec with a single channel turned on). Doubling the record length would cut the update rate roughly in half.
The acquisition circuit (ADC + SRAM) is doubled, i.e. one set for each of the scope's two channels.
The overall design would allow for an easy extension to more than two channels - just add more sets of ADCs and SRAMs in parallel, as well as more I/O expanders to read back the SRAM content.
One little hitch that took me a while to debug is the following: The counter is a ripple counter, i.e. not all output signals toggle at exactly the same time. This means that for a short while the address going to the SRAM changes more or less randomly. If you keep the SRAM's write enable on during that time, the data at those random addresses will get overwritten with the current sample. I got waveforms that were recognizable but had sudden abrupt changes every few cycles. The solution was to hook up the /WE input to a copy of the clock signal of appropriate phase so the write gets disabled whenever the address from the counter changes.
| « Previous Step | Download PDFView All Steps | Next Step » |
![]() |
Add Comment
|





























































