[HN Gopher] A Tektronix TDS 684B Oscilloscope Uses CCD Analog Me...
       ___________________________________________________________________
        
       A Tektronix TDS 684B Oscilloscope Uses CCD Analog Memory
        
       Author : zdw
       Score  : 80 points
       Date   : 2025-05-05 14:37 UTC (8 hours ago)
        
 (HTM) web link (tomverbeure.github.io)
 (TXT) w3m dump (tomverbeure.github.io)
        
       | formerly_proven wrote:
       | > The input to the ADC is clearly already chopped into discrete
       | samples, with a new sample every 120 ns. We can discern a sine
       | wave in the samples, but there's a lot of noise on the signal
       | too. Meanwhile the TDS684B CRT shows a nice and clean 1 MHz
       | signal. I haven't been able to figure out how that's possible.
       | 
       | Is this maybe using some form of correlated double sampling?
       | 
       | > It looks like the signal doesn't scan out of the CCD memory in
       | the order it was received, hence the signal discontinuity in the
       | middle.
       | 
       | Or maybe the samples are also interleaved in the low-order bits
       | in some way. This could be because the organization of the CCD
       | isn't symmetric for the input and output paths, perhaps to reduce
       | area or power, since only one path has to be fast. This would
       | make sense because if you implement the CCD using _n_ parallel
       | CCD bucket brigades you only have to put a fast S &H and
       | multiplexer in front of it, then you can drive the CCD brigades
       | at a fraction of the actual sample rate, and the capacitive load
       | of each of those clock phases is much lower as well.
        
         | dp-hackernews wrote:
         | I've not read the article, but from your response, is this
         | similar to "oversampling" from the world of CD audio?
         | 
         | Oversampling Versus Upsampling: Differences Explained
         | https://www.soundstagenetwork.com/gettingtechnical/gettingte...
        
         | tverbeure wrote:
         | I've been doing more measurements after some discussions on
         | discord after publishing the blog post. There's definitely some
         | kind of interleaving going on, but even when applying a square
         | wave at the input (that gets displayed perfectly fine on the
         | scope CRT) there is a lot of noise on the ADC input that can't
         | be explained away. I will update the blog post tonight after
         | doing more measurements.
         | 
         | Some people have also suggested deliberate addition of a
         | pseudo-random signal that gets removed after sampling to
         | counteract some CCD issues. But I don't know how that would
         | work either.
        
           | monster_truck wrote:
           | The shapes in the noise vaguely look like they are repeating.
           | Perhaps something like time%sampleRate (or some other context
           | dependent value)? Easy enough to filter out while still
           | providing enough to know it's a coherent signal
        
             | formerly_proven wrote:
             | You mean like a signal added to combat / detect aliasing?
             | I'm not sure how that would work. I know HP did something
             | like this, but they did it by introducing a known jitter
             | into the time base. I don't think it could work by merely
             | adding a signal, you need to interact with the incoming
             | signal in the time domain to do something about aliasing. I
             | have no experience with these older CCD-based ones, but the
             | later TDS'es from the 90s could do aliasing. The time base
             | jitter thing was probably patented by HP.
        
           | crote wrote:
           | Could it be some kind of fixed per-bucket offset?
           | 
           | I wouldn't be surprised if the CCD has all sorts of funky
           | analog stuff going on internally which has different impacts
           | on different samples, which would be incredibly hard to deal
           | with on its own.
           | 
           | However, if this behaviour is merely a fixed offset, it would
           | be fairly easy to compensate for this on the digital side:
           | just do a calibration with a known signal, and the measured
           | offset can be used to reverse its effect in future sampling.
        
             | tverbeure wrote:
             | Could be. I've already measured with sawtooth and square
             | waveforms to get a better idea about the interleaving and
             | noise, but not yet with a pure DC input.
             | 
             | Another possibility is that there's some charge decay which
             | you could calibrate for.
        
               | Retr0id wrote:
               | I mentioned in another comment, but I started writing an
               | emulator for my TDS 684A's firmware. _If_ I can get it a
               | bit further along (most of the business logic seems to be
               | implemented in smalltalk) then maybe we can answer some
               | of these unknowns by looking at what the calibration
               | routines do.
        
               | tverbeure wrote:
               | Having an emulator for that is really interesting.
               | 
               | Is the smalltalk program stored? Some kind of byte code
               | or the original source code?
        
               | Retr0id wrote:
               | It's something bytecode-y, I haven't been able to make
               | sense of it yet.
        
       | blagie wrote:
       | Tektronix instrumentation from this era (as well as HP/Agilent,
       | and many of the military-affiliated labs) used pretty magical
       | engineering tricks.
       | 
       | In order to be able to design equipment, the instrumentation
       | generally needs to outperform the equipment, sometimes by a
       | significant margin. If I'm looking at the eye of a digital
       | signal, I need to capture much faster than the signal.
       | 
       | It'd be fun to have a book of tricks from this era. At some
       | point, it will fade into obscurity. Right now, it's a whole
       | different bag of tricks for the state-of-the-art. They feel
       | less... more textbook and less clever.
       | 
       | On the other hand, what's nice is that in 2025, decent equipment
       | is cheap. There's a breakpoint where below around 100MHz, you
       | can't do basic work, and above you can. That's roughly where FM
       | pickup and a lot of oscillations sit. That used to cost a lot,
       | but as technology progressed, we're at a point where a decent
       | home lab can be had for well under a grand.
        
         | floxy wrote:
         | >It'd be fun to have a book of tricks from this era.
         | 
         | I think you'll get a kick out of:
         | 
         | "Analog Circuit Design: Art, Science and Personalities"
         | 
         | https://www.amazon.com/Analog-Circuit-Design-Personalities-E...
        
         | mycatisblack wrote:
         | In order to be able to design equipment, the instrumentation
         | generally needs to outperform the equipment, sometimes by a
         | significant margin.
         | 
         | Flashback to my days as beginning TLP engineer. I was
         | subjecting ESD protection structures to kV pulses with ~nanosec
         | rise-time. The oscilloscope measures the pulse as it enters and
         | reflects. You'd increase the voltage until the device breaks
         | and do a wafer mapping. I remember a conversation where I
         | showed the setup to a colleague from a diff department, telling
         | him we're developing next-gen protection against static
         | discharges.
         | 
         | To which he replies: why don't we use what the guys from the
         | oscilloscope are using?
        
         | scrlk wrote:
         | > It'd be fun to have a book of tricks from this era.
         | 
         | Though it isn't a book, the _Hewlett-Packard Journal_ is a gold
         | mine for this type of content:
         | https://web.archive.org/web/20120526151653/http://www.hpl.hp...
         | 
         | E.g. _An 8-Gigasample-per-Second, 8-Bit Data Acquisition System
         | for a Sampling Digital Oscilloscope_ (October 1993):
         | https://web.archive.org/web/20120526151653/http://www.hpl.hp...
        
         | burner420042 wrote:
         | Any recommendations for a sub-grand scope that a hobbyist will
         | never be limited by?
        
       | amelius wrote:
       | Maybe this CCD/delay-line/bucket-brigade trick can finally
       | inspire someone to make a cheap DIY device that can sample USB3
       | signals, useful e.g. to check signal integrity. A missing tool in
       | my toolbox.
       | 
       | I mean, I think this would be a very nice project for someone
       | with hardware skills and some time on their hands, and it would
       | be useful too.
        
         | tverbeure wrote:
         | This whole exercise started because I wanted to see if it's
         | possible to add a sniffer to the memory chips of the TDS 684B
         | so that I can use it as the analog frontend of a USB scope.
         | It's not possible because of this CCD trick.
         | 
         | I've also looked at the existence of CCD memory, but it doesn't
         | seem to be a thing anymore. I didn't find any such modern
         | chips.
        
           | amelius wrote:
           | Have you checked this category:
           | 
           | https://www.digikey.com/en/products/filter/delay-lines/688
        
             | tverbeure wrote:
             | I didn't know that kind of product existed! I don't think
             | it's useful to slow-sample a fast signal (e.g. they delay
             | digital signals, not analog ones), but some of those chips
             | have a BW of 1.5GHz.
        
               | amelius wrote:
               | > e.g. they delay digital signals, not analog ones
               | 
               | I think they can be used with analog signals too. After
               | all, they are (I suppose) just a chain of transistors
               | holding charge, like in a CCD. It is just the most
               | efficient implementation, since doing it with logic gates
               | will bring more overhead. EDIT: maybe not, it seems at
               | least some of these chips have digital input/output
               | stages. Maybe it could work if you put a very fast 8-bit
               | ADC in front of the delay line, and used 8 delay lines,
               | one for each bit? :)
               | 
               | Anyway, I have totally zero experience with these chips.
               | 
               | But I can imagine you clock-in the signal using a fast
               | clock (maybe the internal clock), and then you clock-out
               | the signal using a slow clock (slow enough for a
               | subsequent ADC chip).
               | 
               | Also, perhaps you can put a bunch of these combinations
               | in parallel to increase bandwidth, or to increase sample
               | depth.
        
           | fecal_henge wrote:
           | https://www.psi.ch/en/drs
           | 
           | -not quite the same but similarly novel.
        
           | Retr0id wrote:
           | My motivations were similar, although for my needs the 15K
           | buffer + GPIB is just about good enough. I am curious about
           | the unpopulated SRAM footprints on the acquisition board
           | though, I wonder if there's any possibility it could be
           | upgraded to 30K.
        
         | topspin wrote:
         | The Thunderscope story had a comment about USB3 sampling as
         | well. Here, you cite "check signal integrity," as a reason. I'm
         | curious. Is USB3 signal integrity really an active area of
         | research or troubleshooting? I would have figured this has all
         | been well characterized and mostly solved by device
         | manufacturers selling working USB3 components by the boat load
         | for years now.
        
           | tverbeure wrote:
           | The ICs are a solved problem, but hobbyists like me designing
           | their own USB3 capable PCB is a different story. Whether or
           | not having a high BW scope would be helpful to detect signal
           | integrity issue is not clear to me: measuring these kind of
           | signal is an art in itself.
        
           | crote wrote:
           | High-speed signals are incredibly fragile. The chips
           | themselves are a solved problem, but you still need quite a
           | bit of skill and experience to design a PCB for them. It's
           | quite easy to mess up in subtle ways which _look_ like they
           | should work, but actually ruin your signal to the point of
           | being completely unusable.
           | 
           | If you're designing a board, not being able to look at its
           | signals is a major limitation. Is something wrong with the
           | transmitter, receiver, cable, connector, pcb, firmware,
           | driver? Who knows! It doesn't work, and that's all you're
           | going to get. Have fun randomly tweaking stuff in the hope
           | that it is magically going to work.
        
           | amelius wrote:
           | Yes, I experienced a lot of trouble with USB3 cables,
           | cameras, and storage devices in scientific/industrial
           | environments where lots of data is transferred.
           | 
           | There seems to be no way to debug this stuff unless you are a
           | big company that can pay large sums of money.
        
       | MarkusWandel wrote:
       | This isn't nearly as technologically radical, but a Tek scope of
       | that era that we had in the lab then had a sequential colour
       | display. A monochrome CRT with a fast-changing electronic colour
       | filter in front of it. Totally sharp (for the era) colour
       | graphics with no subpixels. Until you moved your head and you
       | briefly saw the individual colour frames. The HP stuff was stodgy
       | and boring and predictable by comparison.
       | 
       | The HP logic analyzers back then had a really neat touchscreen
       | interface based on criss-crossing infrared beams in front of the
       | CRT face. The only thing that I've ever used that felt even
       | better than a capacitive touchscreen, though obviously lower
       | resolution.
        
         | tverbeure wrote:
         | I'm pretty sure that this TDS 684B has the same kind of CRT.
         | When I take a photo of the display, you can often clearly see
         | it switching from one color field to the next in the middle of
         | the screen.
         | 
         | As for the HP touch screen, I tore down a bunch of HP 16500A
         | logic analyzers and reverse engineered the touch screen PCB. It
         | uses a pretty simply LED/photo sensor matrix. You can see the
         | PCB in one of the pictures here: https://tomverbeure.github.io/
         | 2022/06/17/HP16500a-teardown.h....
        
         | grishka wrote:
         | Modern video projectors also display color channels
         | sequentially and also exhibit that effect. Also, this
         | particular CRT technology was not only used in oscilloscopes:
         | https://www.youtube.com/watch?v=z-q8ehzHeQQ
        
           | sgerenser wrote:
           | Not all video projectors, only color wheel DLP projectors
           | (which were once the majority of the home projector market
           | but not sure if that's still the case). Always drove me nuts
           | but apparently most people don't notice it.
        
           | robocat wrote:
           | Skip forward to 9 minutes and the fantastic vid talks quite a
           | bit about how Tektronix invented the LCD colour shutter tech
           | calling it NuColor.
        
       | benob wrote:
       | > If you ever remove the interconnection PCB, make sure to put it
       | back with the same orientation. It will fit just fine when
       | rotated 180 degrees but the scope won't work anymore!
       | 
       | I remember pulling a 486 out of its socket in the 1990s and
       | putting it back with the wrong orientation. There was a poc and a
       | bit of smoke. Something on the mainboard had burnt and it wasn't
       | working anymore.
       | 
       | I used smell to locate the fault, a big trace on the PCB, which I
       | soldered back and magic, it all worked again...
        
         | MarkusWandel wrote:
         | I have a story like that! Back in my lab rat days, I dropped a
         | scope probe and its grounded sleeve skittered down the back
         | side of a powered-up, prototype memory board (with 240
         | individual RAMs on it), leaving a trail of sparks. After that
         | it was dead.
         | 
         | Uh oh. We needed that board. What to do? Well, it can't hurt to
         | try. We had "freeze spray" for debugging purposes, so got a
         | bottle of white-out handy (what's that?), frosted up the board
         | really well on the component side, powered up, and quickly
         | marked the devices that defrosted notably quicker than the
         | rest.
         | 
         | Got the solder station lady to replace all those parts and it
         | worked again.
         | 
         | Old days...
        
           | minipci1321 wrote:
           | These days they do that using a vape, cover the PCB with a
           | thick layer of vapor and see where it raises the fast after
           | power-up. Youtube has videos.
        
           | tverbeure wrote:
           | Using your comment as a crutch to post a link to my Eye of
           | Sauron function generator story:
           | https://tomverbeure.github.io/2023/01/02/HP33120A-Repair-
           | Shu.... That was an incredibly satisfying repair if you
           | ignore days of dealing with after effects of burnt PCB
           | material in your lungs.
        
       | nottorp wrote:
       | Unrelated but related:
       | 
       | I have an entry level standalone oscilloscope that i got but
       | never used. I once looked for tutorials and unpacked it, ready to
       | test, but:
       | 
       | It's covered in that kind of plastic that goes all gooey if left
       | unattended for a long time.
       | 
       | Any hints on how I can clean it up so i can touch it again?
        
         | pehtis wrote:
         | Its called soft touch or "rubber oil". It's basically silicone
         | suspended in plastic which gives that soft touch feeling before
         | it biodegrades to the sticky goo.. We can easily clean that
         | with isopropyl alcohol. You will be left with the clean hard
         | plastic below that layer.
        
           | kevin_thibedeau wrote:
           | There are two variants: One with the soft touch sprayed on
           | after molding, the other mixed in with the pellets before
           | molding. You can't do much for the latter.
        
         | ramses0 wrote:
         | lighter fluid - https://www.youtube.com/watch?v=mvTSAIV7FlI
        
       | codedokode wrote:
       | I didn't even know such things exist. When I wanted to know the
       | delays of 7400-series logic gates, I built a logic analyzer using
       | Arduino and stroboscopic effects which provided resolution on
       | order of 1 ns. But with CCD it seems that it could be done much
       | easier, and allowed to measure exact voltage and not just logic
       | levels.
        
       | cmrdporcupine wrote:
       | Not any kind of EE, just a nerd: could this kind of CCD circuitry
       | be used to model a neural network, but in analog-land?
        
         | bgnn wrote:
         | There are similar methods to model neural networks in analog.
         | Switched capacitor circuits like CCD are semi digital as they
         | are time discrete. This makes them very interesting for analog
         | computing. It kinda never got popular though, as capacitors are
         | much larger than transistors, and you need an ADC and a DAC to
         | interact with a digital computer. In fact you need a lot of
         | them, and they consume even more power than the digital
         | alternatives.
         | 
         | The biggest use case for this is sensor interfaces where the
         | signal is still analog (not passed through an ADC yet). Voice
         | recognition is a typical example where analog neural networks
         | are used to certain level of success, and now people are
         | pushing for insge recognition but the architecture of a digital
         | camera isn't compatible with that, so I don't see much
         | happening there.
         | 
         | Funny fact is these kind of circuits are used in analog portion
         | of the chips to implement rather complex calibration/training
         | loops (correlation, LMS optimization, pattern recognition etc)
         | heavily since early 90s. There's a lot of analog computing
         | happening in every SoC.
        
         | kazinator wrote:
         | The values of the nodes in a network could be represented by
         | charged capacitors. The functions which combine the voltages
         | from multiple nodes could be operational amplifiers, with a
         | clock driving everything: telling the nodes to sample their
         | input that is calculated from the current values of nodes.
        
       | weinzierl wrote:
       | In the 90s Conrad (think Germany's RadioShack) sold a little
       | audio recorder module that I believe was CCD based. It could only
       | store 16 seconds and quality was terrible but audio stored
       | completely in solid state without moving parts was revolutionary
       | back then.
       | 
       | Thinking about it, I might still have the device somewhere in the
       | attic.
        
       | Retr0id wrote:
       | Wow, great timing!
       | 
       | I recently got a TDS684A and also made the same discovery, and
       | wrote half a blog post about it which remains
       | unfinished/unpublished. I don't have much of an EE background (at
       | least, not on this level) so my article was certainly worse. It's
       | also my _only_ decent scope, so I don 't have a good way to take
       | measurements of the scope itself.
       | 
       | Relatedly, I dumped the firmware of mine (referencing Tom's notes
       | on a similar model) and started writing an emulator for it:
       | https://github.com/DavidBuchanan314/TDS684A
       | 
       | It boots as far as the vxworks system prompt, and can start
       | booting the Smalltalk "userspace" but crashes at some point
       | during hardware initialization (since my emulation is very
       | incomplete!) - some screenshots/logs:
       | https://bsky.app/profile/retr0.id/post/3ljzzkwiy622d
       | 
       | Edit: heh, I just realised I'm cited in the article, regarding
       | the ADG286D
        
       | bgnn wrote:
       | Nice work. Just a comment: ADC clock is very sensitive to
       | capacitive loading of the probe as it cannot drive that large
       | load, it most likely fails to generate enough signal swing. It's
       | not advisable to probe clock signals like that.
        
         | tverbeure wrote:
         | But probing the ADC clock didn't impact the clock signal
         | itself, only the ADC input signal. How does that happen? FWIW:
         | the clock signal starts at one side of that large PCB and
         | travels to all 4 ADCs, so it must have a serious driver on it.
        
       | kazinator wrote:
       | > Finally, an off-the-shelf device! But why is it only rated for
       | 25MHz?
       | 
       | Because that's more than enough for scanning a screen-
       | width's-worth of samples from the analog CCD snapshot.
       | 
       | In a digital camara, the CCD columns basically capture the image
       | instantaneously. It has an infinite sample rate!
       | 
       | Then the data is shifted out the CCD some rate that basically
       | doesn't matter, as long as it isn't so slow that it takes
       | seconds.
        
       ___________________________________________________________________
       (page generated 2025-05-05 23:00 UTC)