Live data from Hacker News

How does USB device discovery work? [video]

youtube.com

11–20 of 30 posts

Re: How does USB device discovery work? [video]

#13
post #6
post #3

Kind of disappointing that his probably very expensive digital oscilloscope can't record the entire protocol. I mean, what is the price of ram these days? And note that (since it's a digital signal) you don't have to sample evenly; you can also record the timepoints of the edges.

You're not wrong that the price of ram isn't that much these days. However, this is not simply a case of adding more ram and be done with it. There is a significant amount of extra engineering to be done. It would in the grand scheme of things be rather easy to "just add ram" but that's not how the product lines work for oscilloscopes. It's a bit like asking "Why does Intel price their high-end chips so high? It's no…

I have designed and commercially released an open source (USB) oscilloscope.

There is absolutely no reason you can't just add more RAM (and a memory controller), or even add user upgradeable memory. If the big players don't do it, a newcomer will and they'll fall further behind the curve.

Re: How does USB device discovery work? [video]

#14
post #3

Kind of disappointing that his probably very expensive digital oscilloscope can't record the entire protocol. I mean, what is the price of ram these days? And note that (since it's a digital signal) you don't have to sample evenly; you can also record the timepoints of the edges.

AFAIK Keysight MegaZoom uses ASICs with on-chip sample memory, so that's why it's relatively limited. You can get oscilloscopes with more conventional architecture with FPGA connected to boatloads of external DRAM, but it comes with other tradeoffs. (usually much lower wfm/s)

Re: How does USB device discovery work? [video]

#15
post #4
post #3

Kind of disappointing that his probably very expensive digital oscilloscope can't record the entire protocol. I mean, what is the price of ram these days? And note that (since it's a digital signal) you don't have to sample evenly; you can also record the timepoints of the edges.

>I mean, what is the price of ram these days? It's probably more of a bandwidth issue than a memory issue. USB 2.0 runs at 480 Mbit/s, so if the oscilloscope can decode that, it would have to be able to output/store at least that much in terms of bandwidth. A USB keyboard would never hit that type of bandwidth, but presumably a buyer of such expensive oscilloscope would expect the feature to work every time, rather t…

Consumer grade DDR4 modules have a bandwidth of 25.6 GB/s. Even at 10 samples per bit you're laughing.

Re: How does USB device discovery work? [video]

#16
post #8

That's some fancy oscilloscope, but you can also get that info via usbmon, for example, directly to wireshark.

It's a DSO first and foremost which just happens to be equipped with a certain $809 option[1] supporting a very specific application. If you cared about digital decode only, and had confidence in both the SI of your interface and tooling, sure. Great when things "just work"...entirely unhelpful when they don't at the lower layers of hardware domain. [1] https://www.keysight.com/us/en/product/D4000USBA/usb-2-0-tri...

Yes, but if you ask question "How does USB device discovery work?" (enumeration, I guess) you don't need any fancy equipment to answer that.

It's nice and instructive to "see" the signals using a DSO, but not necessary.

Re: How does USB device discovery work? [video]

#17
post #3

Kind of disappointing that his probably very expensive digital oscilloscope can't record the entire protocol. I mean, what is the price of ram these days? And note that (since it's a digital signal) you don't have to sample evenly; you can also record the timepoints of the edges.

Because it is not the right tool for the job.

A cheap logic analyzer, like DSLogic, would probably work much better for the specific use case.

Re: How does USB device discovery work? [video]

#18
post #9

I've recently been playing with CY7C68013A. Very approachable small USB (high speed!) microcontroller. With tiny amount of code, you can do quite a bit! It doesn't have flash and code is only loaded to SRAM over USB when you connect the controller to the host, so that's pretty flexible. So far I've been practicing on my saleae logic analyzer clone, which is based on this controller too, but there are cheap dev boards…

Glasgow [0, 1] uses one of these too.

[0] https://www.crowdsupply.com/1bitsquared/glasgow [1] https://github.com/GlasgowEmbedded/glasgow

Re: How does USB device discovery work? [video]

#19
post #2

Ben Eater (Author of this Video) is fantastic. Learned so much on electronics and computers through this series https://www.youtube.com/watch?v=HyznrdDSSGM&list=PLowKtXNTBy...

Piggy-backing this comment to add some context for the OP video: This "USB device discovery" video is actually the latest in a series of videos where Ben Eater is building a simple 8-bit computer on breadboards. He hooked up a PS/2 keyboard as an input device, and then got sucked into a tangent of investigating and explaining keyboard protocols.

- He investigates the PS/2 keyboard protocol: https://www.youtube.com/watch?v=7aXbh9VUB3U

- Somebody on Patreon asked about USB keyboards having higher latency than PS/2, so he made a video about the basic USB protocol: https://www.youtube.com/watch?v=wdgULBpRoXk

- He made the OP video about USB keyboards being limited to holding six keys at once.

Re: How does USB device discovery work? [video]

#20
post #8

That's some fancy oscilloscope, but you can also get that info via usbmon, for example, directly to wireshark.

This video is a follow-up to a mini-series that started with examining the PS/2 keyboard protocol. The oscilloscope is there because the audience is already familiar with it, not because it's the best tool for this particular job.
Post reply on HN