azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/azonenberg/scopehal-cmake, https://github.com/azonenberg/scopehal-apps, https://github.com/azonenberg/scopehal | Logs: https://freenode.irclog.whitequark.org/scopehal
<Degi> Is there a git repo for the ADC board yet?
<azonenberg> Degi: The characterization board lives under starshipraider right now which is where i've put most of the random accessory stuff like probes
<azonenberg> I have yet to decide if i'm going to put the whole scope under there or make its own repo. starshipraider was originally intended to be a purely digital project but it may be turning into an umbrella project for multiple pieces of hardware
Degi_ has joined #scopehal
Degi has quit [Ping timeout: 264 seconds]
Degi_ is now known as Degi
_whitelogger has joined #scopehal
<azonenberg> So, trying to figure out where to look for plugins
<azonenberg> so far i have... glscopeclient binary directory
<azonenberg> ~/.scopehal/plugins/
<azonenberg> /usr/lib/scopehal/plugins/
<azonenberg> /usr/local/lib/scopehal/plugins/
<azonenberg> (obviously will need improvement when we start thinking about windows support)
<azonenberg> so i think i have plugin support working
<azonenberg> I just need to actually build a plugin to test that it works :p
<monochroma> :D
<_whitenotifier-3> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±5] https://git.io/JvMYc
<_whitenotifier-3> [scopehal] azonenberg c31ff30 - Refactoring: moved AddDecoderClass into ProtocolDecoder.h
<_whitenotifier-3> [scopehal] azonenberg 4ad0463 - scopehal: initial plugin support
<_whitenotifier-3> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/JvMYW
<_whitenotifier-3> [scopehal-apps] azonenberg aece45c - glscopeclient: load plugins during startup. Fixes #16.
<_whitenotifier-3> [scopehal-apps] azonenberg closed issue #16: Add some kind of plugin interface for loading new protocol decoders and measurements from additional libraries - https://git.io/JvEt7
<_whitenotifier-3> [scopehal-cmake] azonenberg pushed 1 commit to master [+0/-0/±2] https://git.io/JvMYl
<_whitenotifier-3> [scopehal-cmake] azonenberg 93863c1 - Updated submodules for plugin support
<azonenberg> Going to test this a bit more thoroughly by writing a protocol decoder in a plugin that does something nontrivial
<azonenberg> So far it looks goo though
<azonenberg> good*
_whitelogger has joined #scopehal
lain has quit [Ping timeout: 268 seconds]
lain has joined #scopehal
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<tnt> Is there a new format for the scope connection ?
<tnt> nm, figured it out.
<tnt> I tried saving session and it just crashes/hangs.
futarisIRCcloud has joined #scopehal
<tnt> Ah, got it ... it hangs there because it tries to query the coupling (and other config I guess) from the 'EX' channel where this is not supported.
<tnt> If I remove the EX channel all together from the driver, it works.
m4ssi has joined #scopehal
m4ssi has quit [Remote host closed the connection]
m4ssi has joined #scopehal
m4ssi has quit [Remote host closed the connection]
<azonenberg> tnt: look at the lecroy driver
<azonenberg> don't remove the external trigger channel, but make it return default values
<miek> also, i still want external trigger! :p
<tnt> Sure, I wasn't suggesting it was a proper fix, I just wanted to make sure that was indeed the issue :p
<azonenberg> Yeah. I had the lecroy driver crash for the exact same reason when i first implemented file save
<azonenberg> basically the problem is that ext trig normally has mostly the same AFE as a signal input with a few small changes
<azonenberg> but sometimes not all of the commands work the same way
<azonenberg> e.g. no ac coupling support
<azonenberg> it makes sense to treat it as a channel most of the time
<monochroma> azonenberg: are you able to view your ext input as a channel like on ours?
<azonenberg> No
<azonenberg> that option doesnt exist on my scope
<azonenberg> your DDAs are weird
<azonenberg> i mean its a useful debug capability to know what your trigger looks like, dont get me wrong
<azonenberg> but it's odd
<azonenberg> Not something i've ever seen before
<monochroma> yeah, that's what i was curious about, how common that was
<azonenberg> Very unusual. Probably won't be adding scopehal support for that checkbox unless you think there's a good reason?
<azonenberg> if you really need it you can rdp into the scope and click it :p
<monochroma> yeah that's what i usually do
<tnt> The 1000X from keysight actually have a ext input that you can dispay on screen and even use as general purpose input for serial decode and stuff.
<azonenberg> Nice
<azonenberg> Yeah that's the sort of reason i wanted ext to be considered a channel
bvernoux has joined #scopehal
<tnt> azonenberg: that screenshot isn't usb 2.0 it's just random data to test the ice40 IOs.
<azonenberg> ah ok
<azonenberg> my point stands though, i'd love for someone to write a usb 2.0 decoder :p
<tnt> Hehe, yeah. I don't even know if in usb 2.0 the bus stays in high-speed mode all the time or does it transition at each packet ?
<azonenberg> It transitions i think. there's a "chirp" of 32 bits at high speed to provide time for CDR lock iirc
<azonenberg> then flatlines in between
<azonenberg> 3.0 moves to a sane full duplex design which is 8b/10b code with continuous idles between each frame
<azonenberg> its funny, usb 2.x was like the last holdout of the half duplex I/O buses
<azonenberg> (i2c doesnt count, i mean peripheral buses)
<azonenberg> half duplex is a nightmare and needs to die :p
<azonenberg> Now we just need DDRx to move to source synchronous full duplex, or better yet high speed serial with clock recovery
<azonenberg> having the sstl lines stupidly tightly matched and changing direction each read really feels like a relic from the past. like, ATA-133 -> SATA happened decades ago
<azonenberg> PCI -> PCIe
<azonenberg> why has ram stubbornly resisted this?
<azonenberg> what i dream is a scalable DRAM I/O interface that can range from a tiny chip with power, ground, one tx diffpair, and one rx diffpair all the way up to something competitive with hybrid memory cube
<azonenberg> same protocol, different number of lanes
<azonenberg> so you can hang one lane off of some small soc or a whole bunch off of a big GPU etc
<tnt> GDDR6 is 18Gbps per pin already
<bvernoux> per pins probably means differential ;)
<bvernoux> but anyway it is impressing and challenging for PCB routing ...
<tnt> nope
<tnt> AFAIT it's still single ended
<bvernoux> single ended i/o ?
<bvernoux> woo
<bvernoux> I was thinking it was diff now
<Degi> Ah yes, RAM kind adoes that
<bvernoux> especially for noise ...
<Degi> I mean as long as the chip is real close
<azonenberg> yeah GDDRx is ridiculous
<Degi> I think why RAM has no serial with clock recovery is cause DDR parallel interfaces are cheaper
<azonenberg> Degi: i know, and i dont like it
<azonenberg> they make the controller nightmarishly complex in order to keep the actual dram chips cheap
<Degi> Yeh
<azonenberg> heck, slap some pam4 serdes ip's on there for ram :p
<bvernoux> interesting 3GHz or 6GHz single ended ;)
<bvernoux> 1.25V
<Degi> At least the clocks are differential lol
<Degi> Are they somehow terminated?
<bvernoux> Like for RF or not far ;)
<bvernoux> especially at 3GHz or 6GHz ...
<bvernoux> they explain ground via effect on crosstalk
<bvernoux> with some nice insertion loss graph
<bvernoux> PCB stackup is 8layers ;)
<Degi> I wonder how hard it'd be to stack a few ADC081000 to have 1.5 GHz bandwidth at like 4 GSPS using that clock generator chip from earlier
<azonenberg> at that point why not use an LM97600?
<azonenberg> that's basically exactly that. 1 GHz bw, 5 Gsps
<azonenberg> four interleaved 1.25 Gsps lanes
<Degi> Oh right and cheaper
<Degi> Hm how would you read out the 10 data lanes? They'd go at 4 Gbit/s each, right? Can you just use ea DDR interface?
<bvernoux> LM97600 219.23USD/1ku ...
<bvernoux> 7.6Bit ENOB ..
<Degi> Mouser has it for 280 € for one
<bvernoux> no 6.4bits ENOB
<azonenberg> Degi: they're 8b10b coded, so you'd need a SERDES of some sort to pick it up
<azonenberg> bvernoux: yeah its 7.6 actual bits
<azonenberg> tl;dr its an 8 bit adc that sometimes only has 7 bits. it's a weird architecture
<Degi> Oh neat they already dome encoded
<azonenberg> but it's FAST
<Degi> Is it because of US export regulations?
<bvernoux> They are cleary so expensive
<Degi> I mean 280 € isn't thaat expensive
<azonenberg> no i think its for cost reduction
<bvernoux> Operating 3W
<azonenberg> yeah for 5 Gsps that's stupidly cheap
<azonenberg> i'm ok with losing some bits to get that kind of sample rate
<Degi> Oh mouser has HMCAD1511 for 58 €? I think it just got 20 € cheaper
<Degi> As far as I know, there's restrictions for ADCs which are >= 8 bit and >= 1 Gsps to export from the USA
<bvernoux> yes 5GSPS is nice
<azonenberg> Yes but i highly doubt they'd do this weird crippling for export reasons
<azonenberg> They'd just not sell it overseas / require an export license
<bvernoux> to have something like 500MHz Scope (up to 1GHz ....)
<azonenberg> or even have two variants like FLIR does
<azonenberg> Right now my overall roadmap has five scope variants
<bvernoux> a Rigol scope with such spec cost < 2KUSD ;)
<azonenberg> 1x HMCAD1520 per 4 channels
<azonenberg> 1x HMCAD1520 per channel
<azonenberg> 1x LM97600 per 4 channels
<azonenberg> 1x LM97600 per channel
<azonenberg> 1x AD9213BBPZ-10G per channel
<Degi> Rigol with 6.4 GS/s and 1 GHz?
<bvernoux> Rigol MSO5152-E => 4GSPS starting at about 1KUSD
<Degi> Oh geez that last one costs quite a buck
<azonenberg> Target bandwidth 100, 250, 500, 1G, 2G probably
<azonenberg> Degi: yeah but it's 12 bits 10 Gsps lol
<azonenberg> That doesnt come cheap
<Degi> Hm I mean with the LM97600 you should be able to get it for under 1k I think
<Degi> Like 250 € ADC 100 € AFE 200 € FPGAs?
<zigggggy> azonenberg what should i chmod a .secrets directory in ubuntu?
<bvernoux> MSO8K can be bought for < 9Keuros with 10GSPS
<Degi> Well does it have 40G ethernet
<Degi> Huh 6 watts for 10 GSa
<Degi> I have a (broken) TDS520 and the 250 MS/s 8 bit ADCs in there have dedicated heatsinks lol, technology has come a way
<bvernoux> The most interesting for me is not just a scope with 5GSPS but to do TDR with it too
<Degi> Hm azonenberg has another project for that, a 1 TS/s sampling scope
<bvernoux> yes I know
<Degi> For TDR you don't really need a fast ADC
<bvernoux> Degi, the idea was to do all in one ;)
<Degi> Ah yes
<bvernoux> Interesting point with fast ADC is decimation too
<Degi> decimation?
<Degi> Maybe a step recovery diode pulse generator can be added to freesample
<bvernoux> yes to gain 0.5LSB when you divide by 2
<bvernoux> and so on
<azonenberg> Degi: freesample certainly will be able to do tdr but i'd make the pulse gen external
<Degi> Hmh
<azonenberg> to keep the board from having too much feature creep
<Degi> Yes
<bvernoux> to have something like 10bits for 200MSPS ;)
<bvernoux> which can be nice for some use case
<Degi> You can just use a HMCAD1520 for that
<bvernoux> and cost 0 in HW
<Degi> Hm right
<bvernoux> when it is done on SW side
<Degi> Hm you should get log(decimation)/log(2) extra bits, assuming no errors, right?
<Degi> I think what might help is a sinewave of 1 LSB amplitude at decimation frequency on the input
<bvernoux> it is explained here for example http://ww1.microchip.com/downloads/en/appnotes/doc8003.pdf
<bvernoux> Enhancing ADC resolution by oversampling
<bvernoux> PicoScope use that
<bvernoux> Some high end ADC do that internally ...
<bvernoux> It is done on AirSpy SDR# also
<azonenberg> yeah lecroy has the same thing, they call it ERES (extended resolution) mode
<bvernoux> it is not new anyway but very nice to have
<Degi> Hm a TDR should be possible with less components than FREESAMPLE since you only need one comparator since you know when the pulse is sent
<azonenberg> i built a tdr using this exact sampling architecture
<bvernoux> anyone know if Tektronix 11801B TDR are good ?
<azonenberg> freesample is basically that RX stage plus a more precise delay line (adding the HMC856 vs using the LMK04806's 25ps taps)
<azonenberg> and a trigger/cdr circuit
<bvernoux> they are pretty old but affordable
<azonenberg> which is entirely redundant if you know when the pulse was sent
<bvernoux> used ones of course ;)
<Degi> Huh that'd be useful for PCIe analysis and maybe radar stuff
<Degi> Why can octopart search comparators by "natural thermal resistance" and wh
<bvernoux> One of the best for my use case is Tektronix MDO4104-6 Oscilloscope Mixed Domain ;)
<bvernoux> A must have to mix Oscilloscope with Spectrum Analyzer(6GHz)
<Degi> Hm is it possible to use a spectrum analyzer similar to a sampling scope?
<Degi> Like if you had a sufficiently stable clock and IQ data, it should be possible to transform that into a time domain signal, as long as you have a repetitive time domain signal...
<azonenberg> you'd need phase lock to the signal somehow
<azonenberg> not likely to be practical i think
<Degi> Shouldn't it be sufficient to have a sufficiently stable oscillator?
<Degi> Hm on the other hand, mixers have some harmonic generation etc.
<miek> i guess it's similar to time domain modes on VNAs?
bvernoux has quit [Quit: Leaving]
LeoBodnar has quit [Ping timeout: 246 seconds]
futarisIRCcloud has quit [Ping timeout: 246 seconds]
LeoBodnar has joined #scopehal
futarisIRCcloud has joined #scopehal