[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)