[HN Gopher] How does USB device discovery work? [video]
___________________________________________________________________
How does USB device discovery work? [video]
Author : throw0101a
Score : 53 points
Date : 2021-07-11 12:17 UTC (10 hours ago)
(HTM) web link (www.youtube.com)
(TXT) w3m dump (www.youtube.com)
| internet2000 wrote:
| Is there a text version of the explanation?
| crazygringo wrote:
| There's an auto-generated transcript you can open on the page,
| same as on most YouTube videos.
| amelius wrote:
| 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.
| snakke wrote:
| 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 not like the silicon is that
| much more expensive or yields that differ so much that they're
| 500% more expensive? And the consumer chips don't even support
| all the features that their Xeon's do!"
|
| And you're right, it's a digital signal, and in the normal
| world you would just use a logical analyzer and do it like you
| said. But this is for educational purposes and seeing the same
| tool and the actual edges is a great and clear example. That's
| not to say that oscilloscopes aren't useful for debugging
| digital signals. After all, seeing the exact glitch might help
| in some cases.
|
| So yeah, basically it's a combination of product
| differentiation and not the entirely right tool for the job.
| _trampeltier wrote:
| As you have seen, he could record the entire protocol with
| segmented memory. There is also a type of instruments called
| "logic analyzer" or mixed oscilloscope, where you just watch a
| digital signal, one or zero. The analog scope signal does say
| so much more than just one or zero. Of course he didn't needed
| really the analog signal, but it looks nice.
| gruez wrote:
| >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 than only in best case scenarios.
|
| >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.
|
| Depending on the signal characteristics this can actually be
| worse. eg. if it switches very rapidly you'd probably be better
| off storing the reading as PCM or something, because the
| timestamps (which are presumably nanosecond level) would take
| more space to record than the raw sample reading (a few bits at
| most).
| amelius wrote:
| > It's probably more of a bandwidth issue than a memory
| issue.
|
| Yeah, but you can use multiple banks and write in a round-
| robin fashion.
|
| > Depending on the signal characteristics this can actually
| be worse.
|
| Of course, that was only an example. You should probably do
| something like runlength encoding.
|
| In any case, the USB protocol is much slower than modern
| hardware can handle, so certainly doable.
| megous wrote:
| That's some fancy oscilloscope, but you can also get that info
| via usbmon, for example, directly to wireshark.
| metaphor wrote:
| 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...
| megous wrote:
| 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 orderable from aliexpress, that have this chip which are
| not limited to input only.
|
| Muuuch simpler than STM32, and much faster interface. While some
| STM32 chips have high speed USB, most cheap boards don't include
| the high-speed PHY, so it's useless.
|
| Can't wait for the dev boards to arrive.
| rtrunck wrote:
| 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...
___________________________________________________________________
(page generated 2021-07-11 23:01 UTC)