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
maartenBE has quit [Ping timeout: 272 seconds]
maartenBE has joined #scopehal
juli964 has quit [Quit: Nettalk6 - www.ntalk.de]
Degi has quit [Ping timeout: 260 seconds]
Degi has joined #scopehal
<azonenberg> miek: yeah you have lots of noise on the traces
<azonenberg> what the heck kind of probing are you using? also is that usb2 or 1?
<azonenberg> i've only ever implemented decode support for full/low speed, high speed needs some work
<azonenberg> so errors are unsurprising
<azonenberg> also i have only *tested* full speed
<azonenberg> Low speed i think should work in theory
<azonenberg> but i have an open ticket for testing it because i have yet to actually *find* a low speed device to test against
<azonenberg> Ok i'm gonna try out the 93R's in a bit
<azonenberg> Probe dummies are *still* in the fedex warehouse in shenzhen and havent moved
<azonenberg> and the splitter was supposed to come today but fedex shows still in Oregon
<miek> azonenberg: it's high speed. channel 1 is my good probe, channel 3 is a cheap ebay fet probe with a huge ground lead so that's expected to be bad
<azonenberg> in that case i'm amazed you got as far as you did
<azonenberg> the sequence numbers look plausible
<miek> and.. the scope is only 300MHz, so i'm surprised it works at all :p
<azonenberg> but i've literally never tested it at high speed
<miek> lol
<azonenberg> the chirp at the beginning for example decodes as gibberish
<azonenberg> then channel 3 you see lots of humping because of the transitions on the right side
<azonenberg> i think
<azonenberg> but like i said i've never even *looked* at the high speed protocol
<azonenberg> so the fact that it even kinda parsed is impressive lol
<azonenberg> also meanwhile i am in the middle of rigging up an *extremely* janky setup with both of my scopes
<azonenberg> using every sma coupler i have and even some horribly hacks like using two opposite gender sma-bnc adapters back to back as a sma coupler
<azonenberg> to get enough cable length
<azonenberg> in order to combine them and get 8 channels to a board on the far right side of my lab bench
<azonenberg> i'm attempting to collect some sample waveforms for writing a DDR3 protocol decoder
<azonenberg> i already solved the bug in question but as long as i have a client board on my bench with a bunch of probes hooked up, i want to get test data for later
<miek> hah, nice
<azonenberg> i dont have enough channels to do full data recovery
<azonenberg> but i want to be able to at least decode all of the commands
<azonenberg> in our case we had two bugs, one was the clock divider configured wrong so Fclk was too fast
<azonenberg> but the other was more subtle timing related - the controller was configured with code copied from a devkit with a smaller dram
<azonenberg> that had a faster refresh cycle
<azonenberg> this led to a short dead time window after a refresh in which the chip was still busy but the controller thought it was ready
<azonenberg> and would issue reads/writes which never executed
<azonenberg> we had been blaming it on SI for a long time and couldn't find any evidence of glitches on any of the signals
<azonenberg> So to aid in debug of such problems in the future i want to be able to do full ddr protocol decode, as well as extract timing parameters like activate/precharge time from the data stream
<azonenberg> and ideally be able to eventually compare that to a library of preconfigured DRAMs or parameters you type in, and alert if you violate some timing parameter
<azonenberg> i had been holding off on this until later because i didnt have a fast enough scope
<azonenberg> but these guys ran their ram slow enough i can capture it with the hardware i've got
<miek> hmm, am i right in thinking that high speed can be decoded with a differential probe into a single channel? (ignoring all the weird single-ended stuff happening for negotiation)
<miek> i'm not familiar with the spec, i'm finding it kinda hard to parse. it seems like there's 3 diff. levels: +400mV for 1, -400mV for 0, 0V idle
<azonenberg> in full/low speed at least
<azonenberg> there is a "single ended 0" state where both legs are low
<azonenberg> this is a well defined state that occurs every packet
<azonenberg> it's not actually true differential
<miek> i'm seeing both legs low between packets, but i don't think it depends on it during decode. i think end of packet is a weird single ended thing in full/low? but in high speed it uses an intentional bitstuff error for EOP
<azonenberg> ah interesting
<azonenberg> meanwhile i'm trying to deskew all of my alternate signals here
<miek> oh that must be *fun*
<azonenberg> because CLK, WE, CAS, RAS are all sane but the address pins are on the other scope and i used literally whatever cabling i had handy
<azonenberg> they are not the same length
<azonenberg> I have some proper same-length cables en route but this is a hack
<azonenberg> getting deskew modulo clock rate is easy
<azonenberg> but figuring out phasing in multiples of Fclk is hard
<azonenberg> i think this is right
<azonenberg> now to write the decode
<miek> nice
<azonenberg> For now i'm ignoring bank addresses because i don't have enough channels to also capture BA pins (the two address pins i capture are used as command bits)
<azonenberg> So i can't tell a refresh on one bank from a refresh on another
<azonenberg> But this board is also enough of an octopus as it is with seven solder-in probe tips coming off something about 30x80 mm square :p
<azonenberg> And let me put it this way, i had to use a SMA-BNC adapter on either side of a BNC tee to couple two SMA cables end to end to get enough length to even reach the DUT
<azonenberg> because i was out of true sma couplers
<azonenberg> then a similar monstrosity on the other side to convert SMA to MMCX without the right gender
<azonenberg> signal integrity? what's that
<Degi> azonenberg: I have a usbisp that probably classifies as low speed lol
<Degi> Hm the 300 MHz should be fine to 600 Mb/s
<azonenberg> Degi: low speed = 1 Mbps
<azonenberg> full speed = 12 Mbps
<Degi> Oh
<Degi> I think it has less than 1 Mbps not sure
<azonenberg> even most uarts are full or high speed now
<azonenberg> very few devices still use low speed
<azonenberg> which is why i havent been able to test yet
<Degi> Hm the usbisp uses an atmega8 soft usb
<_whitenotifier-9> [scopehal] azonenberg pushed 2 commits to master [+4/-0/±4] https://git.io/Jfn1K
<_whitenotifier-9> [scopehal] azonenberg 87e0779 - Continued initial implementation of AntikernelLabsOscilloscope
<_whitenotifier-9> [scopehal] azonenberg ed0d009 - Initial implementation of DDR3Decoder
<_whitenotifier-9> [scopehal-cmake] azonenberg pushed 1 commit to master [+0/-0/±2] https://git.io/Jfn16
<_whitenotifier-9> [scopehal-cmake] azonenberg d54e51c - Updated to latest ipcores
<miek> Degi: thinking about it in terms of nyquist only works when you have no data (ie: just a sine), once there's data there you have frequency content far higher than the clock freq
<Degi> Hm but the higher content isnt necessary to decode, right?
<tnt> 7 signals because I guess 1 channel must be shared ?
<azonenberg> tnt: channel 8 is on the trigger sync but i could have used ext trig
<azonenberg> i actually had meant to put a probe on CKE as well
<azonenberg> and forgot to solder it in
<azonenberg> once i had the octopus on my bench all cabled up i didn't want to move it
<azonenberg> that was the original plan though
<_whitenotifier-9> [scopehal-apps] azonenberg opened issue #86: Add preference setting to partially redact instrument serial number in title bar - https://git.io/JfnyF
<_whitenotifier-9> [scopehal-apps] azonenberg labeled issue #86: Add preference setting to partially redact instrument serial number in title bar - https://git.io/JfnyF
juli964 has joined #scopehal
<Degi> Cool my SCR controller works
<monochroma> Degi: don't burn the house down
<Degi> I was surprised it didnt tbh
<Degi> This metal filled paste is very nonconductive
<bvernoux> DDR3 decode is nice
<azonenberg> somewhat surprisingly i didnt have a ticket for that already
<Degi> Hmm besides not being able to earth the hotplate it works! ya
<Degi> y
bvernoux1 has joined #scopehal
bvernoux has quit [Ping timeout: 256 seconds]
<Degi> This is not a success...
<Degi> too much bendyness of the hotplate at 200 °C and it makes breaking glass noises
<electronic_eel> Degi: how about using the hotplate just as preheater from below and do the final hump for reflow with hot air, set to low speed to not blow away your components?
<Degi> Hmm maybe
<Degi> I think I need a better hotplate this one is too bendy
<Degi> It bent like 5 cm over 50 cm lengtth
<electronic_eel> hmm, there is really something wrong with your hotplate
<Degi> Turns out that 50 cm of aluminium has a different thermal expansions
<Degi> than 50 cm of gass
<Degi> *glass
<electronic_eel> so if your need to buy new stuff anyway, why not a toaster oven?
<Degi> Hm yeaj
<Degi> (but the scr controller works very nicely. Could connect to a toaster oven)
<electronic_eel> yeah, the scr controller can be reused if it can handle the amps
<Degi> It did 6 A and got hand warm
<electronic_eel> did you build the scr controler yourself or did you buy chinesium?
<Degi> Oh i built it myself
<Degi> The chinesium would probably be safer lol
<Degi> Well it can measure pt100 temperature, has optocoupled UART, zero crossing detection et
<Degi> c
<electronic_eel> not so sure, I saw lot's of fake ssrs. especially "fotek" branded ones are mostly fake
<Degi> Oh it uses a SCR, BT137-800 IRRC.
<electronic_eel> like they do work, but are waaay overspecced
<electronic_eel> and blow apart easily if used at 50% rated amps, so really unsafe
<Degi> Also this hotplate is kinda very thermal massy or the air convection and radiant heat is high
<Degi> At 700 W I had 200 °C slowly climbing
<electronic_eel> the ebay page you linked is funny: "Produktart: Roboter-Staubsauger"
<Degi> Lol what
<Degi> Fabrication number: Microwave
<electronic_eel> just scroll down a bit
<Degi> Hm it says 230 °C thp
<Degi> *tho
<Degi> Thats not enough
<electronic_eel> 1.5kw seems like it should do it, with your own controller
<Degi> Wonder if the elements are in parallel or series
<electronic_eel> you could also add some ceramic heating element to give it more power
<electronic_eel> a combination of convection and radiation is best I heard
<Degi> Hmh wonder if I can just hot air it. Though usually that just destroys the pcb
<electronic_eel> you'd need a beefier scr for this oven though
<Degi> Ohh I have a BT139
<electronic_eel> the one you linked first has convection too
<Degi> But its pricier and I can get the second one myself
<electronic_eel> looks a bit sketchy though
<Degi> It says new in original packaging
<electronic_eel> doesn't say anything about power and if it is convection or not
<Degi> The manual says convection
<Degi> Wait thats the wrong manual
<electronic_eel> I found some page with specs: https://www.sixpol.com/57500_m213860_1.htm
<Degi> Found that too just now
<electronic_eel> convection and radiation, that should work well
<Degi> k ill msg them if it works
<electronic_eel> probably doesn't sell well now with the "Korona" name
<Degi> hehe yeah
<Degi> like corona beer
<Degi> My hot plate got kinda bubbly and partially delaminated
<electronic_eel> pure, brewed virus
<electronic_eel> no wonder with 5cm bending
<Degi> Hmm I knew it was no good idea but im surprised that nothing glowed red (besides some light flashes)
<Degi> Ill need to find a location to put it...
<Degi> ill get the corona thingy tomorrow
<miek> nice! hope that helps push the KS along :)
<monochroma> :D!
<azonenberg> miek: it broke the halfway mark today
<azonenberg> before the HaD post went live
bvernoux1 has quit [Quit: Leaving]
bvernoux has joined #scopehal
<bvernoux> re
<bvernoux> 16 chan with 5GHz BW ;)
<bvernoux> with 2.22GSPS ADC and 6.554GSPS DAC ;)
<bvernoux> 16x ADCs, 12-bit up to 2.220 GSPS
<bvernoux> 16x DACs, 14-bit up to 6.554 GSPS
<bvernoux> I have checked the price of this famous board ;)
<bvernoux> 22KUSD haha ;)
<bvernoux> for 1KUSD I will have bought it ;)
<bvernoux> and the carrier board cost 5KUSD ;)
<bvernoux> Affordable 5G is not for tomorrow ...
<azonenberg> lol
<Degi> That is not that pricy tbh if you consider what the adcs cost lol
<azonenberg> electronic_eel: so i got an idea for the active probes, not sure if i mentioned it before
<azonenberg> but i want to put an rgb led on them
<azonenberg> no, not just for show
<azonenberg> i want them to light up the channel color
<electronic_eel> yes, that was what I proposed before
<azonenberg> ah ok i forgot
<azonenberg> i thought we only were talking about leds on the scope inputs
<azonenberg> but putting them on the probe too just makes sense
<azonenberg> anyway i got distracted and ended up doing ddr3 stuff last night but tonight i want to work on fine tuning the afe more
<azonenberg> then probably this weekend work on the active probe
<Degi> yes!
<electronic_eel> do you have any idea how to get something spec wise like the tetris probe?
<electronic_eel> I'm a bit out of ideas how to do that
<azonenberg> I'm gonna have to sit down and think and maybe run some sims
<Degi> What are the specs?
<Degi> 1 MOhm 0.9 pFß
<Degi> ?
<azonenberg> i think its actually 10M at DC, but the bigger issue is that it has a pretty wide voltage range
<Degi> 20 V?
<electronic_eel> yes, they allow +-20v
<Degi> Maybe a 10:1 rc divider?
<electronic_eel> dynamic range is +-8v, but the lecroy version allows you to shift the offset +-12v
<electronic_eel> so you can use all of the +-20v
<electronic_eel> I would prefer a 20:1 probe, which would give +-40v
<electronic_eel> if this is your primary lowspeed probe, you need a bit more voltage range than just 20v
<electronic_eel> you want to probe something like a common 24v power supply for example
<azonenberg> we could design a scalable design
<Degi> Hmh i did a 100x probe which could do like 200 V recently in design
<azonenberg> where we swap component values around to trade bandwidth for attenuation?
<Degi> Not sure why thatd trade bw
<Degi> Ok after a certain point it does
<azonenberg> anyway weekend project
<electronic_eel> the tetris goes up to 2.5ghz, i would be ok with 500MHz
<azonenberg> yeah
<azonenberg> past 500m use the resistive for sure
<Degi> I mean we could just put a 100:1 RC divider inside
<electronic_eel> but you also want to probe low voltage stuff, and not have it buried in the noise
<Degi> Hm then we can change rc values
<electronic_eel> that would mean you need a whole box of probes
<Degi> You mean to add a switch to change gain
<Degi> ?
<azonenberg> degi: i'm thinking of using the ADA4817-1ACPZ-R7 as the frontend amplifier
<azonenberg> what can you do around that?
<electronic_eel> yeah, somehow switchable would make it much more convenient
<azonenberg> FET input amplifier, +/- 5V supply range, 1 GHz -3dB bw, 2 pA bias current, around 1 pF input capacitance
<Degi> Hm that one probably isnt enough for 500 MHz
<azonenberg> Degi: why?
<Degi> Well at 0.1 V
<Degi> At 2 V it has 200 MHz
<Degi> 2Vpp
<azonenberg> i'm assuming we put an attenuator before it
<azonenberg> and run it in unity gain
<Degi> I think the scope has 10Vpp input
<Degi> Otherwise nice chip
<electronic_eel> we could add another opamp afterwards, which could be switched in and out to give different gains
<Degi> Yes
<Degi> 100:1 input and then 1:1 or 1:10 amp
<azonenberg> why do that when we have a perfectly good afe in the scope?
<azonenberg> Degi: 1 GHz at 100 mV, 200 MHz at 2V p-p
<Degi> yes
<electronic_eel> more like 20:1 input and then 1x or 2x
<azonenberg> if we do 20:1 attenuation that gives us 1 GHz bandwidth to 2V and 200 MHz to 40V
<azonenberg> if my mental math is right
<Degi> i dont think so
<azonenberg> why not?
<azonenberg> the dynamic range is for the output voltage
<Degi> I think then you'd need 40 V on the input terminals
<azonenberg> 2V/20 = 100 mV p-p
<Degi> Ah
<Degi> You mean at 2 V input
<Degi> Yes that works
<azonenberg> So now we just need to design a 20:1 passive attenuator that has high (50k+ ohm) impedance
<azonenberg> and can drive this thing
<Degi> At 500 MHz?
<azonenberg> at DC
<Degi> Why 50k?
<azonenberg> i mean more would be better
<Degi> The thing has hundreds of pA input bias
<azonenberg> 50k is what i consider an absolute minimum
<Degi> Maybe 10 MOhm
<azonenberg> The whole point of an active probe for this particular application is to not disturb things that a 500 ohm probe would load too heavily
<azonenberg> Higher impedance is better as long as it doesnt hurt bandwidth
<Degi> We could maybe get 3 kOhm at 500 MHz
<azonenberg> Spend some time thinking about an attenuator to drive it
<azonenberg> targeting 500 MHz at low voltages
<electronic_eel> Degi: did you sim this?
<azonenberg> Degi: is C12 parasitic of R26?
<Degi> Yes
<azonenberg> and what's with the variable cap?
<Degi> Hm sim idk
<Degi> The variable cap is for compensation
<Degi> For varying values of C12
<Degi> Like on a standard probe you have that trimming hole
<azonenberg> i really want to avoid trim caps if we can
<Degi> We can use potentiometers instead
<azonenberg> i want to avoid both :p
<azonenberg> moving parts can break, collect dust, etc
<Degi> If you want repeatable performance wed need trim caps probably
<azonenberg> i consider them a last resort
<Degi> They should not move more than once
<Degi> Hm you can trial and error 100 fF caps around too for compensation
<electronic_eel> the tetris doesn't have trim caps
<Degi> Ah yes I did sim it
<azonenberg> True, but i would still much rather have performance ensured by engineering
<Degi> Hm maybe it has?
<Degi> Did you open one?
<azonenberg> i would rather just load a few different values until we get it to work
<azonenberg> then stick with one model of resistor to get repeatable performance
<Degi> The problem is with inter pcb variation, op amp input C, trace capacitance variation etc
<azonenberg> yes we will want to build a few and see how repeatable iti s
<azonenberg> it is*
<Degi> (the potentiometer was a joke, thatd give variable gain)
<Degi> Hm oaky
<Degi> Hm yes I should try to get ltspice model for said diff amp and then simulat eit...
<electronic_eel> maybe there is a way to do it without going into the low ff range
<Degi> its medium ff
<electronic_eel> because I think if you use ff caps, parasitics like holding your hand near the probe will really affect the results
<Degi> Well add an emi shield in the probe...
<electronic_eel> yeah, your small emi shield will have more capacitance than your cap...
<azonenberg> electronic_eel: but it will be repeatable
<electronic_eel> fair point
<azonenberg> as far as i'm concerned parasitics can be arbitrarily large as long as they're constant, we can design around that
<Degi> I think 100 fF input could be doable
<Degi> Maybe 300
<azonenberg> you mean 100 fF of added C?
<azonenberg> because there are likely going to be a few hundred fF from the socket and tip etc that we can't easily avoid
<Degi> Hmm total C, ithink 300-500 fF is more relaitic
<azonenberg> i mean even 1 pF wouldnt be a huge deal out to 500 MHz
<azonenberg> the tetris is 900 out to i think 1.5 or 2.5 GHz
<bvernoux> woo
<bvernoux> I have feedback from Darrell Harmon
<bvernoux> why the loss is so big with my Probe Test Board v0.4 ;)
<bvernoux> It seems it is because there is nickel in ENIG with OSHPark 4 layers PCB
<bvernoux> so the loss is clearly bigger that what we can expecte
<bvernoux> expected 1dB loss @6GHz for 60mm trace and I obtain about 2.8dB loss
<monochroma> "electroless NICKEL immersion gold" >.>
<bvernoux> also not very good S11 18dB when expected 25dB is in tolerance with OSHPark process
<bvernoux> so it seems OSHPark 4 Layers with GCPW is not the best for RF board ...
<bvernoux> I see Darrell have tested mainly stripline which is an other story vs GCPW i'm using
<bvernoux> stripline->microstrip
<bvernoux> So I need to fix my simulation with ENIG ;)
<bvernoux> as I have used copper ;)
<bvernoux> If I use Gold it wrong also ...
<bvernoux> need to find what is the rho of ENIG ;)
<bvernoux> anyway I will expect something like +0.5dB @6GHz with 60mm line not +1.5 to 2 dB ;)
bvernoux has quit [Quit: Leaving]
<Degi> Hmmm nickel causes high loss because of µr?
<monochroma> nickel is slightly ferromagnetic
<Degi> 100-600 µ0