Posts by azonenberg@ioc.exchange
 (DIR) Post #AukirbeuA8vSclbqZk by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       What are the pros and cons of pinned vs finned heatsinks? I'm thinking specifically about rectangular pins like seen in my previous post (Wakefield-Vette 960 series).Initial thoughts:* Fins absolutely have to have airflow down their long axis. Square/round pins don't care, rectangular pins degrade but not horribly if you're oriented wrong* Pins weigh less* Fins have more surface area (at least, in the direction of airflow) in the same footprint* Fins have smooth unbroken channels while pins have interrupted channels. This probably Does Things to boundary layers and eddies and such but I'm not a fluid dynamics person.I'm sure somebody has spent years CFDing heatsink designs and can accurately comment on why both are in common use still. But not me.
       
 (DIR) Post #AukirfbVUiaIrO3Bpo by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       My gut feeling is that surface roughness is also super important for boundary layer behavior, but I can't put any numbers to it.
       
 (DIR) Post #AukjIIJsAoTSSnUv44 by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @mntmn @jaseg If it was sufficiently open to get good airflow through it maybe? But you would also need enough material to get heat to flow from the chip into the area being cooled.
       
 (DIR) Post #AwHuGzXi3ZtbS2kCG0 by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       Will do a more proper demo of this later on, with a cleaner bench (right now I just want to update some screenshots for the ngscopeclient website).But I'm throwing together a quick demo of multiple-scope sync operation using ngscopeclient and the trigger crossbar.
       
 (DIR) Post #AwHuH079vmFhDzKVVo by azonenberg@ioc.exchange
       0 likes, 1 repeats
       
       For starters, the initial bench setup. This is why I'm not shooting the actual demo yet!Two scopes, one on each rack. Both happen to be Teledyne LeCroy but it doesn't matter, any supported instruments will work.Trigger in and out of each are hooked to the trigger crossbar, and ext ref input of each are connected to 10 MHz from the SRS FS752 GPSDO.CH3 of the SDA816Zi-A and CH2 of the WR8404M-MS are connected through a broadband splitter to TX0+ of the crossbar's built in BERT.
       
 (DIR) Post #AwHuH4EkbUhY0gucts by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       Trigger crossbar configuration: trigger out of the SDA goes to trigger in of the WaveRunner, and the BERT is producing a 1.25 Gbps PRBS-31 on TX0.You could easily replace this setup by just wiring trig out to trig in (but in my case that would mean crawling behind the bench and running cables in awkward places), and using a free-standing BERT. The crossbar just integrates the cable patching and PRBS generation into a convenient 1U package.
       
 (DIR) Post #AwHuH5lOvaPekFCDQm by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       Connecting ngscopeclient to both scopes, nothing is synchronized and the scopes are configured to trigger independently of one another.Nothing exciting yet, this is what you'd expect from two independent scopes that happen to be looking at the same signal.Having them in a single GUI is already convenient, though.
       
 (DIR) Post #AwHuH7J7BiyVX5yecS by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       Dragging the WR8 under the SDA to form a 2-instrument trigger group, they now properly trigger in lock step with the WR8 triggering when the SDA triggers.But there's still a huge offset, probably a microsecond or more, between the two because of the cross-trigger setup.So the waveforms don't line up.
       
 (DIR) Post #AwHuH8kRpaQu09lzrU by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       So the next step is to correct this by clicking the "deskew" button.
       
 (DIR) Post #AwHuHAA0a2TONijvLE by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       The wizard walks you through all of the cabling, reference clock connections, etc.
       
 (DIR) Post #AwHuHBR3q7hwKtj3Ym by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       The wizard then takes ten waveforms on each scope and finds the phase alignment with the best cross-correlation (doing a GPU-acclelerated brute force to find the best alignment).If all of the correlations give values within +/- 1 sample, you know you have a good calibration.If you get wildly divergent values, something is wrong with your setup.(I actually had this at first, then discovered that the WR8 had the external trigger threshold set to 0V, so it was reading noise instead of the 0-1.8V trigger pulse I was feeding it. Once I fixed the trigger threshold I got a much better sync.)Eventually I should add a pass/fail result and maybe a pretty histogram or something here.
       
 (DIR) Post #AwHuHCuWM4rouYW67M by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       Oops, I didn't have the WaveRunner at max sample rate (40 Gsps interleaved). Re-ran the calibration and got a slightly different result at the higher sample rate.Anyway, now that we have the calibration done, we can then hook the scopes up to real signals.Let's make things fun: we'll use the same BERT as the test signal, but connect the + differential output to the SDA and the - output to the WR8.And bump the data rate up a bit higher. 1.25 Gbps is too slow ;)
       
 (DIR) Post #AwHuHEDLVZWGxEKe6C by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       Here's 2.5 Gbps. Sync still looks near perfect. Can we push further?
       
 (DIR) Post #AwHuHFfO6nXpSUSYRk by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       Eh, 2.5 Gbps is probably the limit before the WaveRunner waveforms start looking ugly (it's only a 4 GHz scope).Let's do some signal processing here.You can clearly see the waveforms are coming from two scopes with a skew in acquisition time, but are perfectly aligned for the overlapping region.
       
 (DIR) Post #AwHuHH2oz9spjSQmbw by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       And here's the beauty shot I was going for.2.5 Gbps differential PRBS-31 split across two scopes of different models, plotted on a single timeline, and running filter graph blocks seamlessly on waveforms from each scope.
       
 (DIR) Post #AxR8KeXpXAAZhGDTyC by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @mntmn WLCSP *all* the things
       
 (DIR) Post #AzLj9NxcXBM8mDuA3E by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @whitequark @MonniauxD Huh, interesting.I don't think I have ever seen pulse dialing in the wild. I'm old enough that I've had phones that were switchable between both modes and had physical bells to ring, but we've always been able to call by DTMF.
       
 (DIR) Post #B16wQlk7qHE55qqOUS by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @whitequark @dngrs @mntmn 800 Mbps data rate is 400 MHz Nyquist bandwidth / 800 Msps minimum. I can't remember if the MIPI clock is half rate or full rate (which would require double the BW).You can actually run close to Nyquist with upsampling if you are just doing data recovery not SI work. I've decoded 25G NRZ with a 40 Gsps scope before, and on the extreme case 1.25 Gbps 1000Base-X (625 MHz Nyquist bandwidth) with a 2 Gsps scope.
       
 (DIR) Post #B16wQovE1St4x93nhw by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @whitequark @dngrs @mntmn Scope bandwidth also need not exceed Nyquist bandwidth as long as you have the sample rate and aren't too far down the rolloff of the antialiasing filter.I've decoded 10Gbase-R (10.3125 Gbps, 5.15625 GHz Nyquist BW) on a 4 GHz 40 Gsps scope.The eye looked like shit due to the lowpass filtering of the scope, but it was open enough you could tell an 0 from a 1 clearly.I wrote the ngscopeclient 10GbE decode that way lol.
       
 (DIR) Post #B16wQpYvdqe8wHdVaq by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @whitequark @dngrs @mntmn This is very much an expert-level move and you need a pretty clean starting signal since you're effectively adding a lossy ISI channel in front of what's actually on the DUT.But thinking you need scope bandwidth > data rate as a hard rule *for decoding rather than SI work* is a gross oversimplification.