Need advice: External consultant necessary for USB 2.0 high speed interface des? - Page 1
Forum section: electronics / general

author: yamanoorsai
author_rank: Contributor
timestamp: June 08, 2015, 08:47:13 pm
content: I am designing a PCB that is based on theArduino Yun. The design is the same except for the microcontroller. The Yun comes with an AR9331 chipset that runs a flavor of Linux. The Yun's design makes use of a high speed USB interface to interface external storage.I want to interface a micro-SD card to the Linux chipset via aUSB media controller. The Yun's design makes use of USB 2.0 interface. I have some PCB design experience and the designs mostly involved a microcontroller talking to something like SPI, I2C interfaces etc and the design did not involve specific trace impedance requirements (they probably did but I somehow managed to get it working without following the prescribed rules).According to the USB 2.0 spec, I will have to maintain 45 ohm characteristic impedance and 90 ohm differential impedance for the USB D+ and USB D- traces. I also read about a couple of other rules like the signal being in a single layer (preferably on the ground layer etc). I haven't completed my research on designing USB 2.0 interfaces and I stumbled up on interestingstackexchangeresponses. I am not familiar with maintaining trace impedances in my PCB design but I plan to learn it with this design.My concern is that I am under some time crunch (the design requirements changed at the last minute) and I can go through one iteration before moving on to making a number of devices for final use.I am a bit nervous about USB 2.0 speed and I don't want to put my academic interests first and make things difficult for my employer.My questions are:1) Do people usually hire design consultants for high speed interfaces like USB 2.0? I would like to rope someone in early if designing such high speed interfaces requires a lot of experience. I am not able to point out potential issues that may arise down the road.2) I am also trying to find out if I am going to go through several iterations in perfecting the design.3) Any good resources that you have used as a guideline for designing high speed interfaces?

author: f5r5e5d
author_rank: Frequent Contributor
timestamp: June 08, 2015, 08:58:33 pm
content: ??Quote

author: yamanoorsai
author_rank: Contributor
timestamp: June 08, 2015, 09:02:08 pm
content: QuoteI am afraid I did not understand your question

author: f5r5e5d
author_rank: Frequent Contributor
timestamp: June 08, 2015, 10:07:33 pm
content: if the purpose is plugging in a SD card to a device with a SD slot - why USB, why 2.0, what distance, what speed?

author: yamanoorsai
author_rank: Contributor
timestamp: June 08, 2015, 10:17:00 pm
content: In the Arduino Yun design, the SD card is connected to the AR9331 chipset via a USB 2.0 Hub controller. It is connected as follows: SD card --> USB media hub controller (interfaces SD cards, USB bus) --> AR9331 chipset.I decided to adopt the same design, hence the USB 2.0 interface. I plan to keep the distance as short as possible. I am planning to use a 2 layer design.

author: marshallh
author_rank: Unknown
timestamp: June 08, 2015, 10:43:11 pm
content: Don't sweat it. For USB 2.0 just don't make stupid routing errors and it will work.Route as a diff pair, impedance is not necessary to worry about. Since you are on 2layer, try to make the traces as thick as feasible (maybe 12mil) and make sure the ground filll on the opposite layer is well-connected and is not interrupted or sliced underneath the DM/DP lines. As long as the lengths are roughly equal, it's fine.The bottom line is that there are working USB3 hubs with 10mil diff pairs on 2 layer chock full of ground slots and they still work.I can show you a crap pcb I made 10 years ago fully autorouted with USB 2.0... And it worked.

author: Ian.M
author_rank: Super Contributor
timestamp: June 08, 2015, 10:50:21 pm
content: Also, don't split the +D -D pair round any component lead or via.

author: John_ITIC
author_rank: Frequent Contributor
timestamp: June 09, 2015, 12:22:03 am
content: Quote from: Ian.M on June 08, 2015, 10:50:21 pmActually, there are different opinions on this topic. Per below, tightly coupled signals are actually not needed to maintain proper differential signaling on a PCB. Going around vias and such does not cause trouble in my 5 gbps designs when simulating SI. For escape routing of today's BGAs it is quite hard to route without routing the individual signals in a pair separately for up to an inch or more.Source; Lee Ritchie, Speeding Edge.http://www.pcbcarolina.com/images/presentation_-_hartley_-_diff_pairs.pdfOf course, if possible, just keep the signals together. At least this increases the chance that cross-talk from other traces couples equally into the differential pair traces so they are ignored by the diff receiver.

author: nctnico
author_rank: Super Contributor
timestamp: June 09, 2015, 01:15:55 am
content: USB high speed is 480Mbit so you have to take some care about the routing but it is not rockets science. Google a differential pair calculator and follow the recipy for the trace width and seperation. I'd add a common mode choke and TVS diodes to the design to make it rugged and pass EMC testing.

author: yamanoorsai
author_rank: Contributor
timestamp: June 09, 2015, 01:55:43 am
content: Thanks for all the responses.Quote from: marshallh on June 08, 2015, 10:43:11 pmBy differential pair, I am assuming something like shown in the attached picture:Need I talk to my manufacturer about impedance control in the board or is it not necessary as long as I adopt differential routing and follow the standard practice?

author: John_ITIC
author_rank: Frequent Contributor
timestamp: June 09, 2015, 02:23:23 am
content: Quote from: yamanoorsai on June 09, 2015, 01:55:43 amYou would at least need to know the stackup your board will be manufactured with so your impedance gets in the right ball-park range. The more the impedance (90 ohm diff.) is off, the more reflections you will get, which will degrade the signal integrity on the link. The end-result of such bad signal integrity might be that USB cables with a certain length happen to work but another length will fail. You'll end up with a generally flakey USB communication.Once you know the stack-up your board house will use (in case you can't specified it yourself) then you can calculate the trace width and separation for your USB pair per one of the many impedance calculators on the internet. You should then have a high likeliness of a working solution.The best solution is to simulate your final PCB layout with a simulator such as Hyperlynx. That will allow you to get a close estimate on how much trouble your actual board design will give you.

author: ivan747
author_rank: Super Contributor
timestamp: June 09, 2015, 02:34:45 am
content: Quote from: yamanoorsai on June 09, 2015, 01:55:43 amNo need for controlled impedance if you're keeping thing short. I bet you the real Arduino doesn't use impedance controlled boards.

author: yamanoorsai
author_rank: Contributor
timestamp: June 09, 2015, 02:38:00 am
content: Quote from: John_ITIC on June 09, 2015, 02:23:23 amThanks. I was not familiar with Hyperlynx. I am not designing for external USB storage/USB device access but to interface a microSD card to a Linux chipset (AR9331) via a USB hub controller chip.

author: yamanoorsai
author_rank: Contributor
timestamp: June 09, 2015, 02:48:07 am
content: No need for controlled impedance if you're keeping thing short. I bet you the real Arduino doesn't use impedance controlled boards.This is a snapshot from the Arduino Yun schematic. The person who created the schematic has made some recommendations but I don't know if they indeed implemented it