Maker Pro
Maker Pro

True flash ADC

I presume that you are meaning to separate the technical roles of sample and hold from ADC. Often combined in modern "ADC"s.
You still need to "clock" the sample and hold, in that a sample instant needs to be defined.
.
You need BCD output?
I guess, generally when I see BCD output the task is usuualy rather a low sample/conversion rate.
If the converter is self clocking and you are sampling slowly, does it matter that there's a clock?
.
Sorry, not quite sure where you're coming from.
 
> where you're coming from.
Water over my head : )
I want to emulate an 8 bit version of something
like below , using a VGA monitor.
I have ordered a BASIC computer ( I can program
to read an 8 bit port) and hopefully use PSET
to form a trace .
Here is a crude simulation :
100+Leds+Oscilloscope.JPG
 
Even cascading LM3914s the resolution is limited.
I suspect that there are cheap, computer-based scopes available. Perhaps a USB one might do?
 
> I suspect that there are cheap, computer-based scopes available.
Yes .... But they are all ( as far as I know ) ' DSO ' --- digital storage oscilloscopes .
I do not want the ' storage ' ...... I like the ' feel ' of a CRT scope ..
More immediate ...
 
Note that the schematic in post #3 will not produce the image in post #3. The schematic has no retention - as the 4017 steps through the columns, as one LED in a column lights, the LED in the previous column goes out. You will see a moving dot, not a line draw. If the writing rate is fast enough, the retina of your eye will integrate the dots into a fading line, like a tail on a comet.

ak
 

Harald Kapp

Moderator
Moderator
The schematic has no retention
To generate a voltage vs. time display you'll have to store the past values (left of the current position of the indicator/trigger). This is possible but will be a mess of chips if you want to realize this as a digital circuit without processor.

You already ordered a basic processor. Which one? Knowing this will greatly help us aiding your further efforts. So you can program it to sample values from the ADC, store the values in memory and create the necessary signals to drive the display. Presumably you'll use a matrix display to minimize the number of signal lines and you will use multiplexing to address single pixels.
Chances are your basic processor has a built-in ADC which you can use. This would simplify your circuit considerably.

If your processor does not have a built-in ADC, here are some considerations:
  • As far as I know and as others have stated previously FLASH ADCs are meant to be extremely fast- No way your basic program can keep pace with the speed of such an ADC. Not to speak of your eyes and brain to process the fast sampled signals (no offense meant, man isn't meant to do that).
  • Any reasonably prized ADC will be of another type than FLASH. Common are SAR (serial approximation register) or even Sigma/Delta.
  • As you'll have to control the display via the processor anyway, you will need a lot of pins for multiplexing. Even a small 10 x 10 matrix will require 20 pins (or additional pin extender circuitry). Therefore you may want to minimize the number of connections to the ADC. A serial interface is imho the best choice. I²C will require only 2 pins (clock and data) as compared to 10 pins or more for an 8 bit parallel interface (data + control lines).
If your processor does not have a built-in ADC, you may also want to reconsider your choice of processor. A very common alternative among hobbyists is the Arduino platform, based on Atmel processors and programmed in a C++ dialect. Don't be afraid, the Arduino's C++ dialect is surely very different from Basic, but easy to learn. Plus there is a large community with libraries and code samples for (almost) everything. Did I mention that the Arduinos have built-in ADCs?
Other platforms are also available, have your choice.
 

Harald Kapp

Moderator
Moderator
I doubt this is a hardware issue. The spec states the ADC inputs should be good for more than 160 kHz. What you see (or don't see) is probably related to the programming being too slow.
 

Harald Kapp

Moderator
Moderator
0.2 ms is equivalent to a max. sample rate of 5 kHz, not taking into account the time in between samples the program needs to perform calculations, store data etc.
So usable maybe 2 kHz to 3 kHz sample rate, depending on the program.
According to the Nyquist-Shannon sampling theorem the sample rate needs to be at least 2 × fmax, i.e. twice as high as the maximum signal frequency to be able to reconstruct the signal. Since you obviously do not perform any form of advanced filtering to reconstruct the signal from the samples, this factor goes up to maybe 10 times or 16 times. In other words, the max. signal frequency that can be usefully displayed by your simple algorithm (although I admit I'm working on assumptions here as you haven't published your program) is at lkeast 10 times less than the max. sample rate. This amounts to approx. 200 Hz ... 400 Hz.

One simple method to improve the visual display is to draw small line segments between the dots instead of drawing the dots alone. The Basic interpreter of your computer surely has instructions for that.
Drawing lines takes time, however, so I suggest you separate acquiring data and displaying data into two steps:
- loop 1: acquire data for 1 screen
- loop 2: display acquired data drawing lines between points
 
Thank You ! ..... Much better ....... 1 kHz ......
'adc
dim a(255),y%(255)
adc open 250000,7
adc trigger 1,1.5
cls :adc start a()
for i%=1 to 254
x%=i%+400
y%(i%)=275+((1.5-a(i%))*100)
line x%,y%(i%),x%-1),y%(i%-1)
next i%
box 400,150,255,265
save image "adc1kHz",390,140,275,285

adc1kHz.jpg
 
Top