azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing |,, | Logs:
<miek> playing with the GUI stuff probably isn't gonna find a space on the todo list tbh :p
Degi has quit [Ping timeout: 240 seconds]
Degi has joined #scopehal
Bird|ghosted has joined #scopehal
Bird|otherbox has quit [Read error: Connection reset by peer]
electronic_eel has quit [Ping timeout: 240 seconds]
electronic_eel has joined #scopehal
<azonenberg> Just ordered components to make 20 probes. 13 are for kickstarter backers, i'm keeping 4 for myself, giving one to shahriar, then 3 more will be available for immediate sale
<azonenberg> (in total the KS sold 11 standard edition, 2 pro edition, and 20 bare boards)
<azonenberg> I made 60 pcbs so i'll have 20 shipped bare, 20 populated, and 20 bare in inventory i can populate as orders come in
_whitelogger has joined #scopehal
Guest31990 has joined #scopehal
Guest31990 is now known as NeroTHz
_whitelogger has joined #scopehal
<noopwafel> the sigrok rigol driver implicitly documents the protocol differences, which is helpful
<_whitenotifier-b> [scopehal-apps] pepijndevos commented on issue #146: glscopeclient hangs on Rigol MSO5000 -
<noopwafel> pepijndevos: I guess by the 'send the stop command' note they just mean, don't keep triggering?
juli964 has joined #scopehal
<noopwafel> pepijndevos: the VXI on the ds1054z is so slow that it's not worth it, but I guess it responds faster than this 500ms?
kbeckmann has quit [Quit: WeeChat 2.7]
juli964 has quit [Quit: Nettalk6 -]
<noopwafel> ah yes
<noopwafel> sigrok source also comments on this problem :(
<noopwafel> "The scope copies data really slowly from sample memory to its output buffer, so try not to bother it too much with SCPI requests"
<noopwafel> amazing
<noopwafel> also looking at version history I don't think this rigol driver ever worked
<noopwafel> if it did, I am missing something
<noopwafel> so I have some, uh, changes
<noopwafel> but now I'm sending SING and then we immediately request the trigger state
<noopwafel> and it says STOP because we didn't give it time yet
<noopwafel> so now I added a sleep inside the Rigol code which is horrible maybe?
<noopwafel> even worse, it doesn't fix it
alexhw has quit [Remote host closed the connection]
alexhw has joined #scopehal
<noopwafel> so I wrote a hack which just detects the case where there's no waveform
<noopwafel> and goes back to 'waiting for trigger' state
<noopwafel> and now I have a very very slow glscopeclient connected to a ds1054z
<noopwafel> if I turn down the memory depth it's actually usable
<noopwafel> oh right, I guess also if you do that then it would work previously
<azonenberg> noopwafel: lol
<azonenberg> sadly, some hardware is just so broken we can't do what we really want with it
<azonenberg> i recall giving up on my ds1102d years ago
<azonenberg> although i cant recall the specific bug that was problematic
<azonenberg> But this is why BLONDEL etc are on my list
<azonenberg> because there simply isnt an option right now for a low end/entry level scope with high WFM/s over ethernet
<noopwafel> so with some more caching (I guess also up-front rather than opportunistic), I'm sure it'd be useful
<azonenberg> i mean it will still be useful for semi-offline postprocessing of data
<azonenberg> you just won't be doing 100k points at 50 WFM/s or something
<noopwafel> I wonder how slow the tek here is
maartenBE has quit [Ping timeout: 260 seconds]
<noopwafel> windows ME is .. so familiar still
<noopwafel> <me> changes IP address <windows ME> you must restart your computer
kbeckmann has joined #scopehal
maartenBE has joined #scopehal
<azonenberg> lolol
<azonenberg> why are you still using ME?
<azonenberg> what unholy piece of gear uses it
<noopwafel> old tek
<azonenberg> interesting
<azonenberg> i would have expected it would use NT or 2000
bvernoux has joined #scopehal
<noopwafel> well, winME or not, it's ridiculously faster than the Rigol
<azonenberg> Lol
<azonenberg> does it work with glscopeclient?
<noopwafel> kind of
<noopwafel> needs more time than I have now, and it also has this problem where it's asking for the trigger status too soon
<noopwafel> it does an ACQ:STATE ON, and TRIG:STATE? returns SAVE ('saw trigger and data available') immediately after
<azonenberg> So you need to add a delay before the first "get trigger status" after arming
<noopwafel> or just move away from single triggers
<azonenberg> If you do that, how can you be sure when you read channel 1 and channel 2 you get waveforms from the same trigger?
<azonenberg> this is why all of my scopes will be based on a push model instead of polling
<noopwafel> hm meh yeah :(
<azonenberg> The whole scpi polling model is bad IMO
<noopwafel> again am used to pico where I can queue scope-side
<azonenberg> Yeah
<azonenberg> And this is what my scopes will be able to do too
<noopwafel> yes, I would hope so :D
<noopwafel> (and better than the fixed-buffer pico model)
<azonenberg> Most instruments are not really designed for headless operation from the beginning as a core feature
<azonenberg> My model will be a fifo of acquisition objects in several GB of DDR3
<azonenberg> which is pushed as fast as the scope can trigger if memory is available
<azonenberg> when you hit 'stop trigger' any un-pushed waveforms are discarded
<azonenberg> and during normal operation it pushes to the PC as fast as your link can keep up
<azonenberg> there will be some rate matching logic to delay triggers if it sees the fifo getting too full so you dont end up streaming waveforms from 30 sec ago if the PC can't keep up
<noopwafel> with trigger timestamp, this would be ideal [for me]
<noopwafel> so this tek seems reaaalllly slow to re-arm
bvernoux has quit [Read error: Connection reset by peer]
<noopwafel> I wrote a loop which checks TRIG:STATE? until it says something that isn't SAVE, which is race-y
<noopwafel> ah, *WAI works :)
<azonenberg> frequency response of first production probe
<azonenberg> NeroTHz, lain, Kliment:^
<azonenberg> this is after de-embedding the test fixture and cable
<Kliment> measurement or sim?
<azonenberg> Actual measurement
<azonenberg> it falls off a bunch past 3 GHz but is quite good to 2. And with de-embedding of the probe and cable it should be possible to get super flat system response to 2 GHz
<azonenberg> One thing i still have to do is add support in scopehal for de-embedding multiple s2p's
<miek> nice!
<azonenberg> I'm characterizing each probe with 3 different ground accessories, as well as the cable
<azonenberg> the probe s2p's are just the probe body, with fixture de-embedded from port 1 and cable de-embedded from port 2
<azonenberg> so for a full system response you want to stack the probe and cable. I split it like this because users may not be using the cable i provided with the probe
<azonenberg> So i want to allow arbitrary cables to be stacked with the probe body
<azonenberg> and while you could do two de-embed filters, going from time to frequency domain twice means lots of FFTs and wasted compute
<azonenberg> i want to do all of the processing i possibly can in a single frequency domain waveform
<azonenberg> Which means supporting multiple s2p's in a single de-embed operation
<azonenberg> this is trivial at the math level, you just sum the phases and multiply the amplitudes
<azonenberg> but i need to design a UI
<NeroTHz> What exactly are you looking at there?
<azonenberg> NeroTHz: Insertion loss of my 2 GHz probe design across a 50 ohm termination
<azonenberg> It's a nominal 10x probe so ideally it should be -20 dB flat
<azonenberg> but obviously there's some rolloff
<azonenberg> it's flat enough out to 2 GHz that it should be possible to de-embed without much trouble, you could probably use it out to 3 even (-7 dB so your ENOB will suffer after de-embedding, but kinda-usable... would work better on a HD scope)
<azonenberg> past there it starts to get bad, at 4 GHz it's -14 dB below nominal and at 5 GHz it's -20 dB below
<azonenberg> so de-embedding probably won't save you there
<NeroTHz> de-embedding is not a matter of flatness, but of repeatability
<azonenberg> yes but you also have to consider how much signal is left after probe attenuation
<NeroTHz> unless you really run up against noise
<azonenberg> de-embedding 20 dB of insertion loss will amplify noise like crazy
<azonenberg> It seems fairly repeatable but i'm still gathering data to see just how stable it is. The 4 GHz scope will come in the day after tomorrow so i plan to get some time-domain measurements of a 40ps edge and see how well the probe passes it
<NeroTHz> It really depends on your noise floor and applicatino. And you don´t have to de-embed the 20 dB of loss, rather, just de-embed tha non-flatness wrt. an ideal -20 db
<azonenberg> Yes i know
<azonenberg> Insertion loss of this probe at 5 GHz is -40 dB
<azonenberg> it's a nominal -20 :p
<NeroTHz> oh I see
<azonenberg> Hence why i said de-embedding that was likely not feasible
<NeroTHz> okay, yeah, well, I just mean, you can maybe get 2.5 or even 3 GHz out of it, but not much more. Do you know cause of that loss? just the resistors of the probe ebcoming to non-idea?
<azonenberg> out to 2 GHz you've got less than -3 dB, at 3 GHz you get to -7 so noise will start being an issue
<NeroTHz> ideal*?
<azonenberg> I do not know the source. I've spent a lot of time experimenting and simulationg
<azonenberg> The resistor combination i'm using should in theory be flat +/- 0.07 dB to 10 GHz
<azonenberg> they're super high end vishay flip chip RF resistors that are characterized to 40 GHz
<azonenberg> i carefully chose the string so their frequency characteristics canceled out almost perfectly
<azonenberg> it's a mix of several values in series
<azonenberg> However, i did that modeling assuming zero electrical length between resistors and there's actually about half a mm or so of transmission line between them
<azonenberg> It's possible that has something to do with the problem, my sonnet license didn't let me model non-ideal parts
<azonenberg> When i get gold/pro i plan to simulate that part of the design more accurately and see if it can be improved on
<NeroTHz> 3 GHz is 10 cm though. half a millimeter is like a few degrees
<azonenberg> That was my thought too. The entire resistor array is several mm long though
<azonenberg> It's possible i'm better off using less resistors, even though the frequency response of them individually is worse, it might help to have the string electrically shorter
<azonenberg> This is the first rev i'm willing to send to my kickstarter backers because it meets the 2 GHz -3 dB bandwidth target i advertised
<NeroTHz> do you have images of the PCB/screenshots of the layout?
<azonenberg> But i'm not convinced i cannot do better
<miek> i can't remember, have you done any tests without the tip in the mix? just coax connections on both ends
<NeroTHz> You have to be able to do better, 3 GHz is DC these days
<azonenberg> This is insertion loss of a test board i made with the same coplanar waveguide geometry on oshpark
<azonenberg> Same connector launch, same CPW
<azonenberg> but ENIG on FR408HR instead of silver on RO4350B
<azonenberg> so higher loss vs frequency
<azonenberg> but it's a very smooth rolloff, there's not that sharp knee at ~2.5 GHz that i have with my full probe
<NeroTHz> I´d say plot a mag/phase response of the full probe, and maybe plot them on smith-chart too
<azonenberg> I do know that the tip-side ground socket is critical to getting max freq response
<azonenberg> the more distant ground provides more convenience for lower freq (up to a GHz or so) use but the increased loop area, plus ground lead inductance, kils it after that
<azonenberg> I wonder if i might be getting some weird resonances or reflections within the string of resistors
<azonenberg> Overall PCB is 78mm long, tip to end of resistor string is 17 mm
<NeroTHz> aha. I have an idea but it is crazy and unlikely. I would suggest doing 2 things for future designs: do not have a fixed via pitch, but alternate, and do not have the resistors at fixed intervals, but space them about a bit
<azonenberg> Values from tip to end are 100, 4x 75, 50
<azonenberg> this adds to 450
<azonenberg> the 100 has peaking due to capacitive coupling, the 50 has rolloff due to package inductance, and the 75 has a tiny bit of peaking
<azonenberg> the s-parameters cancel almost perfectly
<azonenberg> but again that assumed zero distance between them
<azonenberg> Since my sonnet license won't let me simulate the whole board
<NeroTHz> also, stitch your ground where you now say 10:1 transmission line probe. that could very well be that you have a 1/4 wavelengt resonator I think
<azonenberg> i suspect if i simulate the entire pcb the problem will jump out at me
<NeroTHz> better yet just get rid of the massive ground planes. Just keep a few mm of ground on each side of the trace
<azonenberg> you think i'm getting cavity resonances in that top area?
<NeroTHz> I´m not thinking it, I´m just saying it is a possibility
<azonenberg> My plan right now is to send these probes to my backers as they meet the promised spec, then go back to the drawing board for the version 2 design and simulate the whole pcb
<azonenberg> and see what jumps out at me
<azonenberg> Just need to come up with $8K or so to get sonnet gold
<NeroTHz> This is also where an S11 plot can be very usefull, because you´ll really see any resonances like that in your magnitude/phase
<azonenberg> I'll get you one in a bit. The S2P i have right now is off a 50 ohm line
<azonenberg> with a 50 ohm terminator
<azonenberg> i think one across an open would be more useful for that?
<azonenberg> i did the characterization across a terminator because that's how these probes are intended to be used
<NeroTHz> both would be fine, I suspect. If it is resonating, you are gonna see it regardless of what you hook up at the other end
<NeroTHz> how high can you go with your VNA?
<NeroTHz> go to the highest frequency possible, even though you don´t care about what it does past 4-5 GHz
<azonenberg> 6 GHz
<NeroTHz> that is with tip shorted?
<azonenberg> port 1 goes to the test fixture which is basically a ~1 inch SMA-SMA thru line
<azonenberg> The far side SMA has a terminator screwed down
<azonenberg> port 2 goes to the probe
<azonenberg> Probe is across center pin and ground of far-side SMA on fixture
<azonenberg> left scale/red trace = S11 magnitude dB, right scale/blue trace = S11 phase angle
<azonenberg> with fixture itself de-embedded
<NeroTHz> can you show a picture of how you have this set up?
<azonenberg> so reference plane is the far side of the fixture aka the probe tip
<NeroTHz> At some point you are just gonna have to come to belguim and I´m gonna have to smuggle you into the lab at work
<NeroTHz> But the fact that you have a peak in S11 at 2.3-2.4 GHz, that could coincide with your loss at those frequencies.
<azonenberg> Yes that seems likely
<NeroTHz> but it is hard to stay without me having a long-hard think about it
<azonenberg> But that doesnt answer the question of why said power is reflected
<NeroTHz> What you can do, if you have a sacrificial one, actually, is drill/mill away that big copper at the top
<azonenberg> Once i've shipped them out to the backers, i can experiment. I have some 250um endmills and a 3-axis mill
<azonenberg> so would be easy to experiment
<NeroTHz> or just dremel the metal away. I don´t think it´s gonna be that, but you never know
<azonenberg> This is the test setup
<azonenberg> left VNA cable is port 1, right is 2
<azonenberg> Cable is a Mini-Circuits FL086-24SM+
<azonenberg> Fixture de embedded from port 1, cable de embedded from port 2
<NeroTHz> are you just deembedding loss, or also phase
<NeroTHz> ie, are you including that mini-circuits cable in your calibration
<azonenberg> Whatever the VNA software does. I would assume phase is included
<azonenberg> if not, pico sucks :p
<azonenberg> I did a SOLT cal with my standard on the VNA cables directly with nothing attached
<azonenberg> Then i measured the fixture and cable separately
<azonenberg> and used those s2p's to de embed everything but the probe
<NeroTHz> what does it look like if you don´t do that
<azonenberg> (the cable was measured with the coupler on port 2 included)
<azonenberg> Do you want the terminator on the fixture or no?
<NeroTHz> sure, I would keep that there so you don´t see any standing waves on your little fixture board
<azonenberg> port 1 = fixture, 2 = probe
<NeroTHz> okay, sec, let me start up matlab
<NeroTHz> What is the imput impedance of your probe? from the tip side
<azonenberg> here's with the terminator removed
<azonenberg> Probe is 450 ohms then there's 50 ohm termination at the instrument so total loading at the tip should be 500 to ground
<azonenberg> now THIS is interesting
<azonenberg> there's a huge resonance in s11 at 2.75 GHz
<NeroTHz> yep
<NeroTHz> I was just seeing the same
<NeroTHz> well, no
<NeroTHz> how long is the line from your port1 to the open coax
<NeroTHz> is it just a straight?
<azonenberg> There's about 26mm of coplanar waveguide from the port 1 SMA to the far side of the board
<azonenberg> at that point there's the probe tip, which should transmit 10% and reflect 90% of incident power
<azonenberg> and a tiny unterminated stub from the body of the far side SMA
<azonenberg> Which should be insignificant at 2 GHz
<NeroTHz> I needa think about this a bit
<azonenberg> That looks like the fixture resonating
<NeroTHz> yeah it´s what I was thinking
<azonenberg> it's the right length
<azonenberg> So the "with terminator" is the way to go for characterizing the probe i think
<NeroTHz> I would agree
<azonenberg> In which case 007-no-deembed.s2p is the interesting data
<azonenberg> And yes, one day when the plague is over i would love to see your lab :p
<azonenberg> if i ever find myself in belgium i'll let you know lol
<NeroTHz> we can characterize your probe up to 1.1 THz
<NeroTHz> ;p
<azonenberg> no you can't
<azonenberg> It has a SMA connector :p
<NeroTHz> I´ll just land some wafer probes
<azonenberg> Lol
<azonenberg> Closest i've been so far was probably .nl when i spoke at a con in The Hague back in... '17 i think?
<azonenberg> then i had a nice get-together with a research group at RU Bochum and the Max Planck institute there shortly after
<azonenberg> and i havent been in europe since
<NeroTHz> well, time to change that, once we all stop dying
<azonenberg> Priorities :p
<azonenberg> Anyway i have a little bit more testing to do on this particular probe (serial number 007, because that's what the sticker on this particular enclosure i grabbed at random from the bin of 25 said)
<azonenberg> but i'm planning on sending it to shahriar shortly to see what he thinks of it
<azonenberg> i'll give him an assembled probe, a populated prototype PCB (ENIG+FR408 but same BOM/layout as the production units), and a bare production pcb
<NeroTHz> my current suspecion is that it might be the probe tips or something but I have to think more
<azonenberg> I know for a fact the longer ground accessories kill my response past ~1 GHz
<azonenberg> but the tip/ground i have right near the tip SHOULD be quite good
<NeroTHz> also try probing some other things
<azonenberg> it's the same grounds PMK and lecroy use in their 4 GHz active probes
<azonenberg> same tips*
<azonenberg> although i wasnt able to figure out the part number for the socket so that may be part of it
<azonenberg> i'm using a through hole pin socket and abusing it as edge launch :p
<azonenberg> it's possible there's issues there
<NeroTHz> azonenberg, yeah, but they might be adding some capacitance to tune out the inductance of the tips
<azonenberg> Yeah. Optimizing all of this is on my list for rev 2
<azonenberg> The three things i needed to do were getting a proper VNA, a highish bandwidth scope, and sonnet gold/pro
<azonenberg> first is done, second comes the day after tomorrow, third is pending budget
<azonenberg> It's also possible the tip sockets are too capacitive
<azonenberg> I did increase the coplanar waveguide gap around them based on what my sims suggested was needed to compensate
<azonenberg> and i also added a cutout in the ground plane under it
<azonenberg> sonnet sim suggested that should match the tip socket very well to 50 ohms
<azonenberg> There is a total of ~8mm of unterminated stub between the start of the attenuator and the DUT, just due to the length of the tip needle
<azonenberg> That should produce a quarter wave null around 9.5 GHz
<azonenberg> which is beyond my ability to measure
<azonenberg> i'm aware of it, but ignoring it and do not believe it's responsible for my current issues
<NeroTHz> yeah, I´m just wondering if it is not a transmission-line-length effect, and just a combo of inductive/capacitive effect
<azonenberg> Possible
<azonenberg> My prime suspect right now is the attenuator itself
<azonenberg> I think what i'm going to do soonish is build a test fixture with the string of resistors on a coplanar waveguide but with a SMA at the tip end
<NeroTHz> May I suggest microstrip
<azonenberg> Why?
<azonenberg> This type of SMA is easier to match to CPW
<azonenberg> And at this point i want to understand my actual circuit behavior better, not optimize it
<NeroTHz> true
<azonenberg> changing too many variables at once will just confuse things
<azonenberg> If i make one with CPW and one with microstrip, fine
<azonenberg> But i want this to be a controlled experiment
<NeroTHz> you do mean grounded-CPW right? not classic CPW?
<azonenberg> Yes
<azonenberg> (side note, it never ceases to amuse me that the inventor of CPW has initials CPW)
<NeroTHz> I have a book on CPW
<NeroTHz> from a JPL dude
<azonenberg> My first test was a thru line on the oshpark stackup
<NeroTHz> did not know the inventor had initials CPW
<azonenberg> i linked the response earlier
<azonenberg> (Chang P. Wen)
<azonenberg> sorry Cheng
<azonenberg> anyway, so the thru line had good performance other than the expected enig/fr408hr losses
<azonenberg> (I can prototype at that fab for $10ish per small board, it costs me $500+ to do a fancy controlled impedance rogers prototype)
<azonenberg> That design appears to validate the coplanar waveguide and SMA launch
<azonenberg> So if i then insert the resistors into that line, i should be able to verify the performance of just the resistors, eliminating effects from the tip/ground geometry on the actual probe
<NeroTHz> sorry, was bussy for a sec
<azonenberg> keep overall line length the same, same connector launch
<NeroTHz> yeah, but you sometimes see issues, esp with CPW, where the pad capacitance of a SMD causes problems, esp as in your case it´s mutliple
<NeroTHz> but I don´t think that is the issue here
<azonenberg> Yeah. I'm more worried about the overall electrical length of the attenuator being so long
<azonenberg> it's six resistors 1mm long with i think 2mm pitch
<azonenberg> I'm wondering if using less resistors with a less-flat lumped response might actually be better in terms of being electrically smaller
<azonenberg> this is something that i really need to do a full board field solver model of
<azonenberg> and as i mentioned the limitation on that is purely software licensing
<NeroTHz> I really would consider doing that
<azonenberg> which, less resistors or the full board sim?
<azonenberg> I could drop down to 3 resistors with 200+200+50, but the 200s have a lot of peaking at higher freqs because of the ~26 fF of parasitic shunt capacitance
<_whitenotifier-b> [scopehal] azonenberg opened issue #192: IBIS-AMI support for signal generator -
<NeroTHz> both really
<NeroTHz> :p but less resistors is what I mainly meant
<_whitenotifier-b> [scopehal] azonenberg opened issue #193: VCD support for signal generator -
<azonenberg> I had issues with flatness on my old 200+200+50 design but i've fixed a lot of things since then
<azonenberg> But like i said at this point i dont want to spin more boards blind
<azonenberg> I want to understand why my system acts the way it does
<azonenberg> and only then think about ways to improve
<azonenberg> I don't want to randomly twiddle things and hope to perturb the bug out of existence
<azonenberg> aka "debugging by prayer"
<miek> welp, that didn't take long - had to open up the 34410a, so i can pick a replacement fan that's less annoying :p
NeroTHz has quit [Read error: Connection reset by peer]
bvernoux has joined #scopehal
bvernoux has quit [Quit: Leaving]