What do your waveforms look like in a smaller time base? Try to get the something similar to the scale of what the datasheet has. What are you triggering on? Trigger on the falling edge of the SH signal if you can to make sure that you are looking at the waveforms at the end of the integration time. Note in the timing diagrams that the first real data output occur after 32 cycles of F1/2 after the end of integration time.
Maybe try delaying RS with respect to BT by a single clock cycle. For some reason the timing specifications list a minimum delay time between BT falling and RS rising.![]()
Edit. These oscope displays are 2V/div? Are you running off 5V. Judging by the scope images it looks like close to 3.3V.
Ok I'll try rebuilding the circuit to include a signal buffer, and those signal amplifiers.
What does exactly SH do, and how do I adjust it correctly, and when do I trigger it?
The total period that SH is low (including the period where you read the samples out) controls the sensitivity of the array.
...
I think these devices were meant for barcode scanners, the output intended to be sampled and quantised into binary with a simple op-amp/comparator circuit. They are very sensitive, but not particularly linear over the useful range.
Thanks for the reply.
Ok, so here what my system does so far.
When not scanning, I set SH to high, and when I start scanning I set SH to low, but that is one of the issues, I don't know exactly when should I pull sh low and high, I noticed that there is a difference, but I didn't figure it out. Once SH is low, I start clocking f1 and f2, along with rs and bt for the entire 2094 elements. When I switch the phase, I start the a/d conversion, when that is done I switch rs and bt, and when that is done I switch the phase, increment the data pointer, and start another a/d conversion, and the process repeats. I store all of the data in the ram. The 8051 goes through the data and prints a simple bar like printout via serial port to my putty client. So the thing I noticed is that when I don't print out the result I can see that I get some output from the ccd, but it is only from the top pixel all along the scan, but when I do print out the result it won't work, so the only thing that is different in both scenarios is the amount of time I keep the SH line high, because while printing out the 8051 is busy, so it won't generate any clock, and sh is held high.
So that is why I ask what exactly should I do with sh, and when should I assert it in my setup to get a decent readout.
. Just generate rising edge from PLD in time you should start the conversion. But beware, that ADC in micro might not be fast enough, also you'll have to subtract offset from signal.I think these devices were meant for barcode scanners, the output intended to be sampled and quantised into binary with a simple op-amp/comparator circuit. They are very sensitive, but not particularly linear over the useful range.
Sorry, but this is misinterpretation. Time the shutter signal is low simply gives integration time of CCD array, not its sensitivity. Also, note that BT and RS signals must be running even if you have gone in reading beyond last usable pixel (important if you are using fixed read-out clock frequency).
These devices were ment to be used in flat-bed and handheld scanners, so linearity of individual pixels is not bad. What is bad is that pixels have up to 20% non-uniformity in their sensitivity to light and small deviations in dark offset voltages, so it must be compensated lately.
EDIT: You've mentioned that 10kHz clockrate is used ? That's about 100ms integration time - at this times it is fucking sensitive
no way you'll get along with LCD screen nearby without proper shielding made from black carton, it'll be driving it safely to saturation. And if you overexpousure it too much, next few scans will be corrupted too (charge remaining in pixels).
Also a good point is to have sensor half-covered by aluminium tape, when not sure if you are getting only a gibberish or some to at least some degree valid data out from it.
Also, are you sure you are measuring on video output (OS) and not on dark offset correction output (DOS)? Stupid mistakes like this happens and it will comply with diagrams you provided - just clamping pulses and very faint response to strong overexposure or covering the sensor.
EDIT: You've mentioned that 10kHz clockrate is used ? That's about 100ms integration time - at this times it is fucking sensitiveYou mean 100us?
But one particular thing is that when f2 is active, the output level gets a a bit higher, but still nowhere close to saturation.
What I understood so far is that SH sorta resets the charge holders, but what controls the exposition time, and which signals transfers the charge to the bucked brigade?
Because if it was shifting and transferring all along I would get a blurry image.
Btw, the datasheets of such devices are a disaster, it only tells you which pins are for what, and some timing information, with absolutely no info on what does which signal do, and that is why I am having so many issues.