|
|
View previous topic :: View next topic |
Author |
Message |
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
Does USB 2.0 require termination resistors? |
Posted: Mon Sep 01, 2014 12:13 am |
|
|
Folks,
Does USB 2.0 (and PIC18F4550 in particular) require termination resistors? Here's what I've found so far.
- PICDEM FS USB demo board connects the USB jack directly to the PIC pins.
- USB 1.1 does require terminating resistors (like the 27R in this schematic).
Any suggestion, insight or reference is really appreciated!
Cheers,
- Nick _________________ Read the label, before opening a can of worms. |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19504
|
|
Posted: Mon Sep 01, 2014 1:29 am |
|
|
They are impedance matching series resistors.
If you read the USB documentation, the need for these, depends on the impedance of the drivers in the USB device, and the exact impedance of the lines between the USB socket and the device. There was an engineering change notification from the USB people, about these, when USB2 launched.
They can be internal to the chip.
If you look at the data sheet for the 46J50 for example, you have as a note under table 30-7:
"The D+ and D- signal lines have built-in impedance matching resistors. No external resistors, capacitors or magnetic components are necessary on the D+/D- signal paths between the PIC18F46J50 family device and a USB cable."
However this same note is not present on the older 4550.
If you look at Fairchild's AN-5052, which re-prints part of the the USB data, the internal drivers on the 4550, match exactly the drivers being referred to here, and the resistors are needed. A lot of PIC designs run without them, and if you test the eye pattern produced, it is out of spec..
This is one reason I like the 46J50.
This is also one of the reasons for people having problems with PIC USB.... |
|
|
drolleman
Joined: 03 Feb 2011 Posts: 116
|
|
Posted: Sun Sep 07, 2014 8:41 pm |
|
|
the 4550 has internal pull up resistors but you can supply your own. |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19504
|
|
Posted: Mon Sep 08, 2014 1:31 am |
|
|
We are _not_ talking about the pull-up resistors.
We are talking about the series resistors needed to match the impedance of the drivers to the USB bus. The drivers have an impedance of between 28 and 44ohms, and the bus about 90ohms. Result 'mismatch'.....
There are actually a surprising number of resistors involved in USB.
The pull-up's, are just a simple binary signal when initial connection is made, to tell the 'host' what the speed capabilities of the device are. For high speed, they ran out of patterns on these, so the device wakes up as 'full speed', and then puts a current pulse on the D- line (called the K-chirp). If the hub recognises this HS negotiation begins.
Then on USB2, the drivers are meant to give a close match to 90R. Which using the standard drivers, requires series resistors (typically about 22R) in the lines. The requirement for these was a revision to USB2. This is what is being talked about here.
Then on HS USB, there have to be 45R resistors on the lines to ground, that only connect 'after' the negotiation. Since these have to be switched in/out, they are normally part of the chipset.
Not having the series resistors, will often work, but is an almost certain way of ensuring the device will not work with a USB3 host, and of giving increasing problems as line lengths increase. |
|
|
drolleman
Joined: 03 Feb 2011 Posts: 116
|
|
Posted: Sat Sep 13, 2014 7:49 pm |
|
|
wow good to know, I didn't read on the series resistors requirement. I took an old 2550 board and tested it on usb3 and it worked on a new asus mb. but took a 10 ft usb cable and it failed on usb 3. I have over 10k units out there and haven't had a problem yet. |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19504
|
|
Posted: Sun Sep 14, 2014 5:59 am |
|
|
I remember several years ago, another guy designing a 4550 based unit, who found he was getting intermittent problems, when the cables got long. Spoke to Microchip, than they recommended series resistor. Added them and the units worked fine. Since then I've always added locations for them... |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|