GuzTech has quit [Ping timeout: 250 seconds]
<tnt> whitequark: "loopback: USB EP4OUT->EP8IN read-write mismatch" any idea what could cause this ? (the first EP2 -> EP6 seems to pass).
azonenberg_work has quit [Ping timeout: 268 seconds]
<whitequark> yes
<whitequark> er, wait
<whitequark> what are you doing exactly
<tnt> selftest loopback
<tnt> works fine on one board, but fails on another. Trying to find the fault :)
<whitequark> oh
<whitequark> look at FLAGn pins
<whitequark> and FIFOADRn pins
<whitequark> probably the latter
<tnt> ok, tx.
Bicyclidine is now known as bike
<whitequark> wow, usbdevfs is a piece of shit
<whitequark> you are limited to a total of 16 MB of in-flight USB transfers *per entire linux userspace usb stack*
<whitequark> because...
<whitequark> the kernel is trying to avoid running out of DMAable kernel memory (?!!)
<Zorix> dug up a 7 year old commit heh
<q3k> there is a perverted pleasure in trawling through git blame to track down the person who ruined your plan
<tnt> MMm, I'll have to wait for my microscope to show up ... can't see anything wrong with those joints with just a magnifier.
<cr1901_modern> Why do USB devices need a bounce buffer?
Miyu has quit [Ping timeout: 250 seconds]
oeuf has quit [Ping timeout: 246 seconds]
oeuf has joined ##openfpga
Flea86 has joined ##openfpga
pie___ has joined ##openfpga
<_whitenotifier> [whitequark/Glasgow] whitequark pushed 2 commits to master [+0/-0/±2]
<_whitenotifier> [whitequark/Glasgow] whitequark 2ebe314 - support.chunked_fifo: fix bool() with partial reads.
<_whitenotifier> [whitequark/Glasgow] whitequark 48aefee - use ChunkedFIFO.
<_whitenotifier> [Glasgow] whitequark closed issue #79: Performance issues when writing lots of data -
pie__ has quit [Remote host closed the connection]
jevinskie has joined ##openfpga
unixb0y_ has joined ##openfpga
unixb0y has quit [Ping timeout: 268 seconds]
Adluc has quit [Ping timeout: 252 seconds]
[X-Scale] has joined ##openfpga
X-Scale has quit [Ping timeout: 245 seconds]
[X-Scale] is now known as X-Scale
rohitksingh_work has joined ##openfpga
bike has quit [Quit: Lost terminal]
Adluc has joined ##openfpga
<_whitenotifier> [whitequark/libfx2] whitequark pushed 1 commit to master [+0/-0/±2]
<_whitenotifier> [whitequark/libfx2] whitequark d806c8d - Implement USB Device Qualifier descriptor support.
<_whitenotifier> [whitequark/Glasgow] whitequark pushed 1 commit to master [+0/-0/±2]
<_whitenotifier> [whitequark/Glasgow] whitequark bfcb376 - firmware: add Device Qualifier request.
<_whitenotifier> [whitequark/libfx2] whitequark pushed 1 commit to master [+0/-0/±1]
<_whitenotifier> [whitequark/libfx2] whitequark b034ecb - Tolerate absence of Device Qualifier request.
rohitksingh_work has quit [Ping timeout: 246 seconds]
<_whitenotifier> [whitequark/libfx2] whitequark pushed 1 commit to master [+0/-0/±1]
<_whitenotifier> [whitequark/libfx2] whitequark b939f9a - Tolerate absence of Device Qualifier request.
rohitksingh_work has joined ##openfpga
rohitksingh_wor1 has joined ##openfpga
rohitksingh_work has quit [Ping timeout: 240 seconds]
azonenberg_work has joined ##openfpga
catplant is now known as demonplant
pie__ has joined ##openfpga
pie___ has quit [Remote host closed the connection]
demonplant is now known as catdemon
m4ssi has joined ##openfpga
Miyu has joined ##openfpga
GuzTech has joined ##openfpga
<_whitenotifier> [whitequark/Glasgow] whitequark pushed 3 commits to master [+2/-0/±5]
<_whitenotifier> [whitequark/Glasgow] whitequark 950d2f6 - applet.benchmark: hint reads to use total length.
<_whitenotifier> [whitequark/Glasgow] whitequark 794b521 - support.lazy: implement.
<_whitenotifier> [whitequark/Glasgow] whitequark c1fcb27 - support.logging: implement dump_hex, and use in USB and FIFO code.
<_whitenotifier> [whitequark/Glasgow] whitequark pushed 2 commits to master [+0/-0/±3]
<_whitenotifier> [whitequark/Glasgow] whitequark 29021bf - auto-hint reads with length.
<_whitenotifier> [whitequark/Glasgow] whitequark 2a1a1a6 - firmware: update libfx2.
Bob_Dole has quit [Ping timeout: 264 seconds]
Bob_Dole has joined ##openfpga
Bob_Dole has quit [Remote host closed the connection]
Bob_Dole has joined ##openfpga
Bob_Dole has quit [Ping timeout: 260 seconds]
catdemon has quit [Ping timeout: 250 seconds]
mumptai has joined ##openfpga
Bob_Dole has joined ##openfpga
rohitksingh_wor1 has quit [Read error: Connection reset by peer]
rohitksingh has joined ##openfpga
pie___ has joined ##openfpga
pie__ has quit [Remote host closed the connection]
Flea86 has quit [Quit: Goodbye and thanks for all the dirty sand ;-)]
rohitksingh has quit [Ping timeout: 244 seconds]
rohitksingh has joined ##openfpga
catdemon has joined ##openfpga
mumptai has quit [Quit: Verlassend]
catdemon has quit [Ping timeout: 250 seconds]
goran-mahovlic has joined ##openfpga
<goran-mahovlic> Hi to all I am Goran from Radiona. Will be at CCC this year and I am bringing few ULX3S ...
GuzTech has quit [Quit: Leaving]
<RaYmAn> goran-mahovlic: bring everything you can carry :D
<goran-mahovlic> haahahaha
<goran-mahovlic> and if someone is interested in buying 12F. I can buy ULX3S locally and bring few ... Price for those is 75$ but I could try to get discount... Unfortunately I do not think radiona 85F special edition will be ready until then. But if you are interested send mail +1 to less then 30 will be available ...
<goran-mahovlic> We will arrive by car so I can bring whatever is needed ;)
TavyCats has joined ##openfpga
m4ssi has quit [Quit: Leaving]
Xark has quit [Ping timeout: 246 seconds]
Xark has joined ##openfpga
<pie___> optocouplers give ESD protection but what about ESD between the outer side pins of an optocoupler?
<pie___> im somewhat stuck:
<pie___> i wanted to avoid using relays to simulate closing a switch because i thought the circuit could be simpler/more reliable (no safety requirements), but we dont know how it works on the provided-device side
<pie___> and afaict most ESD circuits in the art of electronics add resistors and stuff to the "data" lines
<pie___> and wouldnt that mess up the digital signal on the line?
<pie___> ill try to grab a screenshot of the protection circuit examples, one sec
<pie___> wiht the optocouplers i have it will have the additional voltage drop of a transistor/diode/thing on the output side but my colleague said that at least should be fine, havent had an opportunity to ask him about the above yet
<sorear> the outer side pins of an optocoupler are a diode, not a MOSFET, so the baseline ESD resistance is already far higher
jevinskie has quit [Ping timeout: 268 seconds]
<adamgreig> optos are more for galvanic isolation than esd protection i would have thought?
<adamgreig> does also provide very effective esd protection of course
<pie___> adamgreig, yeah but they provide esd /across/ the opto as well xD
<adamgreig> but quite extreme if you just want esd
<pie___> i actually didnt thikn of using it for esd but its also suggested in AoE
<qu1j0t3> not sure this is simpler than a relay. 5V relays are easy to find.
<pie___> dont ask why its a bmp
<qu1j0t3> & along with opto you also need a switch, or are you talking about a part with an integrated switch?
<pie___> qu1j0t3, we already established an opto is fine for the "switch" part??
<qu1j0t3> nope.
<qu1j0t3> the opto would isolate the control of a switch (e.g. mosfet).
<qu1j0t3> maybe link us to the opto part you're looking at?
<pie___> right now its but its a rather arbitrary choice
<pie___> colleague said it should be fine. i was going to go pick parts after i got the esd stuff figured out (but at least for this there could be an interatction so...)
<qu1j0t3> hm yes i think you're right about this part
<pie___> i think this may be one of the more unhelpful datasheets beause it doesnt seem to give a current-in / current-out curve, but it gives a current transfer curve or something like that
<pie___> and since it should be a digital signal, we figured operating it in a low current-out zone would be fine
<_whitenotifier> [Glasgow] kbeckmann opened pull request #86: applet.benchmark: Skip going through the MODE state -
<qu1j0t3> pie___: Yeah i think you're right, this is an appropriate part
<pie___> qu1j0t3, why did you think it wouldnt be?
<pie___> sorear, i actually figured BJT for some reason. they usually draw them as a transistor missing the base, or even with the base, and sometimes its even got a pin?
<_whitenotifier> [Glasgow] kbeckmann commented on issue #79: Performance issues when writing lots of data -
<sorear> a BJT is structurally two diodes (not electrically independent of course)
<pie___> sorear, yeah
<pie___> thanks, will read that in a second
jevinskie has joined ##openfpga
TavyCats is now known as catplant
pie__ has joined ##openfpga
pie___ has quit [Remote host closed the connection]
<pie__> sorear, thats...more or less what i figured?
<pie__> I had to go deal with something; here's the other page on input protection:
<pie__> so for the external device...well I'm surprised I haven't just gone and measured it yet. There's two pins of unknown function that are what I need to short to do the "switch closed" thing. I imagine its a logic level on one pin, and an input tied to ground on the other pin
<pie__> or whatever the opposite approach is? (i think there was a second way to do it?)
<tnt> daveshah: "preplace_plls()" :) sounds familiar.
<pie__> the the voltage drop on a resistor correlated to the current through it yeah? so a logic signal (low current) shouldnt drop much on a small resistor right?
<tnt> I'm wondering if an id_BEL wouldn't be welcome ...
<tnt> pie__: U = R I ... kind of basic rule ...
<tnt> like ... ohm's law.
<pie__> tnt, i know ohms law, but theres interactions with other parts of the circuit
<pie__> kirchoffs laws and whatnot
<tnt> voltage drop on a resistor is always going to match it's value times the current through it ... no matter what the rest of the circuit does.
<pie__> well, ok the rest of the circuit infliences the current, but i guess that doesnt invalidate the interaction
<cr1901_modern> pie__: When you get the chance, you may wish to simulate a diode and resistor in series to see what tnt is saying in action
<pie__> will do
catplant has quit [Ping timeout: 252 seconds]
<daveshah> tnt: yes, needed on ECP5 too to then place the global buffers properly
<RaYmAn> goran-mahovlic: any idea what the price of 85f version will be?
catplant has joined ##openfpga
rofl_ has joined ##openfpga
jcarpenter2 has quit [Ping timeout: 250 seconds]
<_whitenotifier> [Glasgow] whitequark commented on pull request #86: applet.benchmark: Skip going through the MODE state -
<_whitenotifier> [whitequark/Glasgow] whitequark pushed 1 commit to master [+0/-0/±1]
<_whitenotifier> [whitequark/Glasgow] kbeckmann f333817 - applet.benchmark: skip going through the MODE state.
<_whitenotifier> [Glasgow] whitequark closed pull request #86: applet.benchmark: Skip going through the MODE state -
catplant has quit [Ping timeout: 268 seconds]
<goran-mahovlic> @RaYmAn, I really do not know we still wait for production cost (it is small quantity) But we will probably do this first series without any profit. So it should be best price possible ...
emeb has joined ##openfpga
<pie__> the datasheet doesnt list any ESD resistance info so i dont think i can assume anything <sorear> the outer side pins of an optocoupler are a diode, not a MOSFET, so the baseline ESD resistance is already far higher
<goran-mahovlic> @RaYmAn, What do you think that is good price for 85F,what would be your "comfort zone" for version that has all on board... We are still trying to find source and replacement for some components and trying to find different production prices...
<daveshah> I would like to see it below $120, excluding ESP32 if needed
<daveshah> Really nice board btw
<_whitenotifier> [Glasgow] whitequark created branch lpc -
<_whitenotifier> [whitequark/Glasgow] whitequark pushed 1 commit to lpc [+1/-0/±1]
<_whitenotifier> [whitequark/Glasgow] whitequark a4e8419 - wip
<goran-mahovlic> yes, should be bellow 120$ probably with ESP32 ;) tnx @daveshah
<daveshah> Awesome
<pie__> is 8kv contact / 15kv air discharge esd really enough? theres lots of stuff saying you can get like >20kV in the winter and such
<pie__> i dont know why im having so much trouble finding a resource for this that doesnt suck
<pie__> or am i just being difficult
rohitksingh has quit [Remote host closed the connection]
<tnt> I'm not even sure what you're trying to design ...
<daveshah> I think the reality is most people not designing an aeroplane or nuclear power plant just chance it
<pie__> i just want protection on an external connector, i can elaborate on the actual circuit if you want
<pie__> well that stuff is oging to get plugged/unplugged a lot and ive had decent amounts of static accumulate in that work area...
<pie__> "decent amounts" = shock myself every time i touch the rach
<pie__> rack
<daveshah> What is the connector connected to internally?
<pie__> i dont have the schematic on hand, but to an atmega (arduino) input pin and vcc in one case, and across optocoupler output stages in the other case
<pie__> its actually pretty simple so i can just whip something up or see if i can find a screenshot in scroll
<tnt> just put dedicaded ESD diodes on every pin and that'll be fine.
<tnt> ideally your connector should also be staggered to make sure gnd connects first.
<pie__> (cant find anything in scroll)
SpaceCoaster has quit [Ping timeout: 245 seconds]
<pie__> tnt, a lot of examples seem to clamp both to vcc and gnd, but a lot of people seem to ignore that and only clamp to gnd in practice?
<sorear> are you trying to avoid gate oxide damage or are you trying to avoid latch-up? the requirements are different
<tnt> pie__: you can use back to back diodes to GND and just make sure they have a breakdown voltage higer than whatever voltage will be on those pins during normal operation.
<pie__> yeah i understood that much
<pie__> what do you mean by back to abck diodes
<pie__> hm actually i guess that makes sense
<pie__> so i should get those devices with "bidirectional" channels?
SpaceCoaster has joined ##openfpga
catplant has joined ##openfpga
f003brv has joined ##openfpga
<f003brv> What's new?
catplant has quit [Ping timeout: 250 seconds]
f003brv has quit [Ping timeout: 256 seconds]
<pie__> most TVS diodes seem to clamp at higher than 5.5v, which is what the datasheet for the atmega 32u4 gives as maximum voltage on io lines, but it doesnt say anything about transients
<sorear> right. you have a lot more flexibility for transients
<sorear> just because a part can survive 11 kV ESD doesn't mean you can hook it up to a US intermediate-voltage distribution line and expect it to survive in any capacity
<pie__> sorear, which is to say, im not sure how much leeway i get
<pie__> since it doesnt say anything, /ideally/ i suppose i would have to add protection myself in the form of a resistor or something?
<sorear> pie__: usually datasheets say something like "15 kV HBM, 5 kV CDM"
<pie__> i looked for esd and some other keywords but found nothing, ill try hbm and cdm
<sorear> human body model and charged device model are two specific R/C filters which limit the available charge/current
<pie__> sorear, yeah ive seen them mentioned everywhere by googling, i just dont know how to use them :/
catplant has joined ##openfpga
<azonenberg_work> pie__: yeah basically any esd diode will melt if subjected to DC voltage
<azonenberg_work> They just rely on the die having enough thermal mass to sustain the pulse for a short time
<sorear> if you apply enough voltage you can skip the melting. ask azonenberg_work about his experiences with LDOs
<pie__> i think there may be a misunderstanding? im not trying to run them open
<azonenberg_work> sorear: yes they can explode too :p
<pie__> :D
<daveshah> I think there's a part which combines a zener with a polyfuse for transient and dc protection
<pie__> hm, i think i may have been reading datasheets wrong too
<pie__> apparently the reverse breakdown voltage is the clamping voltage?
<pie__> the digikey filters have reverse standoff, breakdown, and clamping
<pie__> (voltages)
<pie__> says "clamping" is the voltage drop across the diode??? but vbr is the conduction voltage...?
<pie__> (yes i realize you can operate a diode in two directions)
<azonenberg_work> pie__: most of these parts have a snap-back function where it takes a high voltage to get them to start conducting
<azonenberg_work> but then they clamp to a pretty low voltage
<pie__> oh
<azonenberg_work> the V/R curve is very nonlinear
<azonenberg_work> and time dependent
<azonenberg_work> personally my favorite protection scheme is schottkies to vdd/vss
<azonenberg_work> (not zener based)
<pie__> man, how do i learn this esd stuff? i dont want to have to annoy someone all the time
<pie__> right now im just going at it like an elephant in a porcelain shop
<pie__> and all the resources seem to say mostly the same things, so either im really thick, or they suck
<pie__> well, i guess theres a third option of missing the basics
<pie__> azonenberg_work, ill look into schottkys
<azonenberg_work> But it depends on how fast the data is
<azonenberg_work> capacitance is an issue at higher speeds
<pie__> thats no problem for me
<pie__> very low speeds
<pie__> so im stuck on the easy case :P
<tnt> series resistors and esd diodes ... even if the TVS clamps a bit above 5.5v, the rest will be absorbed by the internal MCU diodes.
<tnt> and then ... test your design. Build one up, zap it ...
<pie__> how do i calculate/rule of thumb the necessary resistor size?
<pie__> is it really the same "lots of amps" current?
<pie__> like 10 amps, etc? (well conservation of charge would mean yes it should be but >_>)
<sorear> how much more logic does a 28Gsps ADC need versus the 112 Gb/s SerDes that are becoming a thing now?
<tnt> what ... ESD is not 10A !
<pie__> or 1 amp, idk
<pie__> :P
* pie__ didnt quite remember the numbers
<azonenberg_work> tnt: it actually can be more than that briefly
<daveshah> Instantaneous current might be I guess
<pie__> ^
<azonenberg_work> for nanoseconds, but yes
<daveshah> The thing is, it's such a short time period that no resistor would care
<daveshah> Ultimately the failure mode of the resistor is thermal
<pie__> daveshah, ok good to know
<azonenberg_work> some of these little sot23 or something esd diodes i recall being rated for kW power levels
<azonenberg_work> ... for a few ns
<pie__> that was one of my questions but the other was would i really get the appropriate I*R voltage drop?
<pie__> because yeah then resistor + some diodes sounds pretty fine i guess
<daveshah> The resistor just provides a bit of current limiting
<tnt> azonenberg_work: right ... my bad ... but it's nearly irrelevant that it's not going to heat up a resistor.
<pie__> s/appropriate/expected/
<azonenberg_work> tnt: it *will* heat, and in fact this is one of the things that limits how much esd you can handle
<daveshah> Current might need to be considered if you also want the resistor to protect against lower voltage DC overvoltages
<azonenberg_work> diode resistance limits the peak *voltage* if you want to clamp the fault current without letting the protected device see an unsafe voltage
<azonenberg_work> but total fault energy is thermally limited
<sorear> the point of the exercise is to heat up the resistor and not some random bit of (much smaller, much lower heat capacity) gate oxide
<azonenberg_work> sorear: not exactly
<azonenberg_work> gate oxide doesnt fail thermally
<azonenberg_work> you get arcing through it
<pie__> daveshah, well the premise is that the clamp voltage is above the "ok" voltage
<azonenberg_work> even very low current is enough if the voltage is high enough
<azonenberg_work> the point of the protection diode is to never let the voltage get that high
<azonenberg_work> even instantaneously
<sorear> "very low current" can be accomodated by tunneling?
<pie__> well the real question is how much matter migration some charge migration can get you right?
<tnt> azonenberg_work: 30 kV 100 pf through 1.5kohm ? That's like 0.1 J ...
<pie__> and if the answer is "enough" then stuff breaks? if you have enough voltage to arc in a semiconductor then with ever decreasing feature size it doesnt take much to break /something/?
<tnt> pie__: in either case you should design your system to avoid discharge through the semiconductors in the first place ...
<pie__> tnt, well yeah