Saturday, 8 February 2014

Custom USB Impedance question


I'm looking at making my own USB cable for a project. The primary issue I'm having is that I'm getting a lot of capacitance in my cable between D+ and D- (400ish pF) which is enough to throw off the signals being read by my pc. Is there an easy way to fix this? I understand this is an impedance matching issue, but I'm not sure where to begin with this one since the capacitance is between two input lines, not one line and ground which is what I remember from my electromagnetics course.




Answer



The impedance of the data line is determined by



  • capacitance between wires and

  • inductance of the pair of wires.


It's a simple formula and I've used it to make custom cables for high speed data links in circumstances where the wires and overall covering needed to be made from PTFE material to suit high temperature applications. The formula is


Zo = sqrt(L/C) - this is the impedance for a lossless line. Here is a good article.


This tells you that to make a higher impedance cable L needs to grow and/or C needs to reduce. One of the methods is to make the actual conductor a smaller diameter whilst keeping the spacing between conductors the same. Or you can make the spacing between conductors bigger. Below is a picture of an on-line calculator: -


enter image description here



Note that the formula given on the page above (Zo) is exactly the same as the one I gave earlier but it uses the more fundamental properties of wires to give L and C. In other words, permeability and permittivity are built into the equations but the 2nd formula explicity lists permittivity because that will be a variable due to the insulation type.


And here is the link to the webpage for the calculator. Please note that there are several calculators on-line so you can double check other ones.


From memory USB cable impedance is 90 ohms.


And if all this seems to much trouble, just make the wires thinner and space them apart a bit more and see what happens. If it is a Zo issue then things should begin to improve as you do this.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...