Scanner sensor reading

Status
Not open for further replies.

Starflex

New member
Hi all,

I have taken apart a Canon LIDE scanner and am trying to read the pixel values directly from the linear image sensor.
The sensor contains a small IC that needs a clock and a reset signal as input and output the pixel values as analog voltages between 1 and 2 Volts. 1V corresponds to a white pixel and 2V is black.

The scanner main PCB sends a 3.75 MHz clock, which sounds pretty fast. I suppose slowing that down will just increase the integration time and result in brighter pixels.
A "reset" signal tells the sensor to go back to the first pixel and starts a new line. The sensor shifts pixel at each clock cycle. The sensor output signal drops to the pixel value voltage when the clock is high and goes back to 2V between pixels.

The image below makes probably more sense than my explanations...
Waveforms.jpg

Do you guys think it is possible to interface this with a Teensy? Has anyone around here played with these sensors before?

I started looking at FTM timers with the idea of outputting clock and reset signals and hopefully triggering the ADC when clock is high. The readings can then be streamed to an SD card or a the PC
The signal generation/ADC trigger mean quite a bit of fiddling with registers and probably interrupts to get that right.
Is there an easier approach?
 
Seen the actual retail price of such a readily built and working Canon scanner ( < 130$), every experiment which takes more than 2 or 3 working hours will make a Teensy based alternative more expensive which leads to the question: Why not use this scanner “as is”?
 
Teensy's ADC can't run at 3.75 Msample/sec. It is possible to run at a few hundred kHz if using DMA and hardware timers to trigger.
 
The idea was to control independently the motor and the sensor. I would like to control the movement of the sensor (speed, trajectory, distance) myself instead of letting the scanner to do it.
Decoupling movement/image acquisition is probably possible using a computer/scanner driver and move the sensor separately via a stepper motor / microcontroller triggered at the same time. It just sounds quite tedious and a lot less elegant. I'll think more about it and might give it a go if I get stuck in the other routes.

Interfacing the sensor directly seems to give better control. As I intend to use this for a photographic experiment, the ability to alter the integration time (yet to be confirm) allows to tweak the "shutter speed" which would help to get the exposure right.

Paul, do you think an external SPI ADC could help sampling faster? Is transfer speed likely to be a problem ?
 
There are for sure fast enough ADCs on the market. But SPI is not forcibly the way to go. Multiply the 3.75MHz with the desired bit resolution, i.e. 8 bit and you end up at a bit rate of 30MHz plus some overhead for asserting chip select or interrupt handling. I’d rather suggest looking for an ADC with 8bit parallel output which would allow the Teensy to accept each sample in one single rush.
 
Status
Not open for further replies.
Back
Top