CCD noise - where's it coming from? - Page 1
Forum section: electronics / beginners

author: slackchameleon
author_rank: Newbie
timestamp: November 29, 2014, 03:24:11 pm
content: I'm working with a Toshiba TCD1304 linear array CCD. I've got the code to clock it out and no problem there, it's hooked up to a 16 bit ADC (TI ADS8319) and I'm dumping the numbers over serial to be plotted.Basically I'm getting an extremely high noise floor that increases with integration time, even if the detector is covered up. The effect is like a very strong dark current and even if the CCD is well shielded (taped over in a darkroom) a long exposure time gives large amounts of noise. By long exposure we're talking seconds. At this point the background is ~10000 and it increases fairly linearly from there. A 5 second exposure is impossible. You can see the effects in the attached picture, the CCD signal comes out inverted (more electrons = lower signal?) so 65536 is the reference 2.5V and saturation is around 10000 counts. It's like a DC offset. The ~1000 counts noise is mostly the same whatever the exposure is, but the offset is integration time dependent.The CCD is powered from a 5V line from a wall wart which I thought was regulated, in hindsight it probably isn't. The read noise is constant at around 1000 counts (40mV) which I think is mostly bad circuit design (on a breadboard).I don't think it's hot enough to be thermal noise and it's not background light otherwise it would be less uniform. I don't think it's a dark signal - the datasheet value is very low (at 1s it should be around 1000 counts) . I don't think it's quantisation error (poor breadboard layout, etc) as this shouldn't be dependent on the integration time.The only thing I can think of is that the power supply is noisy enough to add spurious counts. I didn't have time yesterday to check what would happen if we ran it off a battery pack.Can you get this kind of effect from a crappy power supply alone? My knowledge of CCD internals stops at undergraduate solid state/astronophysics level so I know what's going on in terms of the physics, but not so much the electronics aside from a bunch of shift registers.Cheers!

author: Paul Price
author_rank: Super Contributor
timestamp: November 30, 2014, 12:47:31 pm
content: Fascinating.No circuit shown or even labeling of the x-axis. Maybe you should expose more of your test setup.

author: slackchameleon
author_rank: Newbie
timestamp: November 30, 2014, 03:56:59 pm
content: You sound like my old supervisor! It's pixel number vs counts, I've added an updated plot. Note again that as the CCD is returning a low signal for saturation, zero photons = high signal.I'm out of the lab, it being the weekend, but I'll try to get some photos on Monday.The setup is the reference circuit from the datasheet, 5V in, ground and data out. The chip is specced from 0-5.5V. As mentioned I thought the power supply was regulated, but it looks like it probably isn't. It's coming (via a Raspberry Pi) from a bog standard 5V wall supply which is probably around 5% accurate and I guess has lots of switching noise on top of it.I'm fairly sure that's the culprit, but I was wondering if anyone had had similar experiences with CCDs and noisy power.I'll see if I can get hold of a scope trace, I'll disconnect the ADC side. I don't see why it would make a difference as the signal level is generated in the CCD, a DC offset caused by a bad analog frontend would always be present, not just with long exposures.

author: PA0PBZ
author_rank: Super Contributor
timestamp: November 30, 2014, 06:33:55 pm
content: I get the feeling that you should pay more attention to the analog power input (VAD). That is probably used to charge the CCD elements, which are decharged by incoming light (and time...). So every fluctuation (noise etc.) will be directly reflected in the output. That is - I can't find anything about internal stabilisation in the datasheet. And yes, in the reference example they just connect VADand VDDtogether, but maybe that only works with a very clean supply.