Announcement

Collapse
No announcement yet.

USB 3.0 Loopback?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Finally some progress to talk about.

    As of 10 Aug 2012:
    We have a working hardware prototype.
    Basic firmware is done.
    Basic device driver is done.
    Basic application level test software is done.

    At the moment the hardware looks a bit of a mess. It is a mix of a hand build board and a couple of hardware development kits. Here it is,



    We are getting some proper integrated PCBs (printed circuit boards) made up and once that is done it will look much more like a real device rather than a mess of wires. Takes weeks to get PCBs made however. After that we need to get a plastic case done, get the final firmware done, do a lot more testing then order in all the component parts to build a few thousand units. All this will take time. Lead times on components can be a couple of months in some cases.

    Comment


    • #17
      It sounds like your timeline matches up with mine pretty well. I am looking for 1Q 2013 before I need them. Good work guys!! Please keep me posted if you need any beta testing.

      Comment


      • #18
        Took a bit longer than expected, but we have got the printed circuit board (PCB) design done. Here it is. The USB3 connector is at the top of the board, the white rectangle near the bottom is space for a small LCD screen.



        Next step is to get it manufactured in small quantities and then do some testing. Concurrently we'll be doing some more work on the firmware coding and the plastic case design.

        We have put around 8 months full time work into this now. Finger's crossed it actually works.

        Comment


        • #19
          We did some benchmark testing with various different USB3 host controllers.

          Here are the results,

          USB3 Host controller
          Manufacturer
          Read Transfer Rate
          (MBytes/sec)
          Write Transfer Rate
          (MBytes/sec)
          Asmedia 300 195
          Fresco 185 148
          Intel 283 337
          NEC 300 195
          VIA 215 290
          These are getting kind of close to the hypothetically speed of USB3 (also known as super speed). The advertised speed of USB3 is 4.8Gbits/sec, but because of 8b10b encoding 20% of the bandwidth is immediately lost (as 10 bits on the wire are needed to represent 8 bits in the CPU). More bandwidth is lost as a result of the protocol used & latencies in the devices. Also obvious, from the table above, is that the implementation of the host controller in silicon impacts on the performance. These measurements were taken on different high end machines, but on one motherboard we had both the Intel and the VIA chips on the same motherboard, meaning that it isn't the CPU speed or PCI bus that results in the difference in performance. (In fact the CPU utilization is actually fairly low, under 25% of a single core).

          Note that this benchmark measures the performance of the USB3 port directly. It doesn't have a disk or flash drive connected to the USB3 device, so there is no slow down related to the storage of the data on disk. (If you look around elsewhere on the net you'll find other USB3 benchmark reporting numbers like 100 - 150MB/sec, as they are really measuring the speed of the disk drive or flash memory and not the speed of the USB3 interface).

          Testing also revelled that we have a problem with the device keeping up with the write speed of the Intel host controller, as it crashed after 10 seconds or so at full speed. The USB loopback plug contains an ARM 926, 32bit RISC CPU, running at 200Mhz. In theory this is fast enough to record and clear the data buffers as they fill up with incoming data, so the cause of the crash will need some further investigation.

          There was also a couple of instances where the plug only initially enumerated at USB2 speeds. A reboot of the PC was required to get it to work, it isn't clear at the moment why a reboot was required the 1st time a USB3 device was used. Might be a problem in the drivers for the host controller.

          Comment


          • #20
            Sounds like you are making some progress. I am extremely interested in your progress and I am in need of these as soon as you can make some available. I had such good luck with the USB 2.0 loopbacks, I am really looking forward to getting my hands on the 3.0's.

            Comment


            • #21
              A render of the device. Should look better in real life.

              Comment


              • #22
                How much for USB 3.0 Loopback?
                Would you let me know price range for USB 3.0 loopback?
                Please advise.
                Thanks.

                Mark.

                Comment


                • #23
                  Price isn't fixed as yet. Some of the development costs are not yet known.

                  However the main USB3 chip is 3 times the price of the USB2 chip, the PCB is costing more due to higher pin counts, more layers and the need for it to work at 5Ghz. The USB3 device will also be more functional and have a higher component count (e.g. we are putting a small LCD screen on the device). Development effort was also higher.

                  So it is sure it will be more expensive than USB2. Maybe around the $90 - $130 mark initially. Then hopefully getting cheaper over time as USB3 completely replaces USB2.

                  Comment


                  • #24
                    Got a prototype plastic case back yesterday. This is still rough compared what the final version should look like.

                    The top and bottom halves fit together well. But we'll still need to make some final tweaks on the size of the recess for the LCD screen.

                    The writing on the case is missing as it turns out the detail was to fine for the prototyping process.

                    Also need to decide on colour and opacity, and check the mounted PCB fits correctly.



                    We were thinking that the prototype was going to be a 3D print, but in the end CNC machining was used.

                    Comment


                    • #25
                      So any idea on possible first articles? I'm still on track for needing a few of these in January.

                      Comment


                      • #26
                        We should have finished parts completed today from trial production of 5 units. I'll post a few photos once we get them.

                        We have started to order parts for an initial production run of 3000 units. For this qty of parts there is often a lead time. Longest lead time seems to be the LCD screens and cases ~5 - 6 weeks. There will be a minimum 2 week period after that for assembly & testing.

                        So 8 weeks at a minimum before volume production.

                        Comment


                        • #27
                          Got the first populated PCBs back from the factory today.



                          Already found 1 minor problem with the alignment of the USB3 connector with the hole in the case. Turns out we are also missing some markings on the board that would help with precise component placement. Both problems are easy to fix for the final device however.

                          Got to put it together now and see if it works.

                          Comment


                          • #28
                            Well it didn't work

                            There were initial problems of the code expecting there to be a RS232 interface on the board (as there was on the development kit board) and different I/O pins being used compared to the development board. But these were all solved during the first day.

                            After that, bits of it worked. The CPU would run code, the LCD and LEDs worked. The enumeration process with the host kind of starts, but then bus traces show garbage. At really low speeds (11Mbit/sec) we could some I/O working.

                            We spent the last 5 days trying different cables, different host controllers, switching to self powered instead of bus powered, placing extra capacitors on the multitude of power supply rails, changing code, doing bus traces, worrying about impedance on data tracks that might have been fractions of a millimetre to close to each other, etc..

                            Today we found what we think is the cause. Our supplier, Digikey, supplied the wrong part for the timing crystal. (the crystal is the small black chip front right in the above photo). So instead of the internal clock on the device running at 19.2Mhz, it was running at only 18.432Mhz. If you look closely you can see the 18432 marking on the chip. So it is also our fault for not checking this earlier. So fingers crossed we might have better news tomorrow once we source the correct part.

                            Comment


                            • #29
                              Success!!
                              Switching the crystal to the correct 19.2Mhz clock fixed the major problems.

                              Comment


                              • #30
                                A shot showing the USB3 loopback device measuring the voltage from the host controller.



                                We also did some over voltage and under voltage testing today (there is over voltage & reverse polarity protection on the board). The board correctly shuts down over 6 volts and under 3.3 volts. In theory it should take 30V on the +V line and not be damaged.

                                Comment

                                Working...
                                X