USB Cable shield continuity

I have been having seemingly random noise problems where my PIC-based USB device will go into a USBSuspendControl state, and it requires the cable to be removed and replaced to reestablish communication. The problem usually occurs in the field where there is switching of high current and high voltage, but I was able to duplicate it to some extent by running the USB cable along an AC power line to a current source which I switched on and off.

Recently I suspected that the USB cable itself might be at fault, because I had bought a batch of 100 pieces for $0.69 each (but now about $1.50) from

formatting link
and several of these were sent to a customer who reported problems, while a previous customer with an older cable did not seem to experience this very much, and another customer replaced his cable with a longer one, and he said his unit was working OK.

So, I dissected one of the new cables by removing the PVC jacket in the middle, and I found a substantial tinned copper braid shield, and an aluminized Mylar wrap under that. When I removed the shield I could see that the four USB conductors were twisted together, which is generally good for noise induced by strong magnetic fields. So far, so good.

But when I measured continuity from the connector shells to the exposed shield, I got intermittent readings of about 3 to 30 ohms and sometimes an open circuit. Then I measured the continuity from shell to shell on a couple other USB cables I had been using, and I found that one showed an open circuit and the others showed intermittent. This was the case for two new cables from different sources. Yet I measured the shells of a USB cable for my Nikon digital camera (with a mini-USB on the camera end), and I got a solid connection of less than 1 ohm.

I still need to do more testing and I may also purchase a high grade cable with gold plated connectors and better shielding. They are about $20. I will also have my customer check the continuity and try a better cable. Perhaps a USB 3.0 cable will work better.

I removed the PVC molded cover for the male type "A" connector, and there is a metal shell that extends back and tapers to a smaller "neck" where the cable is clinched or crimped. By bending the ears on the crimp I was able to separate part of the metal housing to reveal where the shield has been folded back and exposed so that the inner surface of the housing presses against it. But it seems that the jacket of the cable is a continuous molding that fills the shell of the connector, and the crimp mechanism can only apply light force to the exposed part of the shield. So the actual connection may degrade with time as a non-conductive film may form on the metal surfaces, and mechanical flexing may further degrade the connection.

Here are pictures of the cable after dissection and exposure of the crimped shield connection:

formatting link
formatting link
formatting link
formatting link
formatting link
formatting link

I think this is a design defect and I should be able to get a refund or credit for the unused cables. It may not be the reason for the problem but I should be able to determine that if my customers replace the cables with high performance versions and their problems are greatly reduced.

Anyone else have experience with this? One member of the Microchip forums reported that he found the following with some new cables he had on hand:

Poundland 1.8 m A-A(F) yellow 8 ohms Signalex 1.5 m A-A(F) white OPEN CIRCUIT! Signalex 1.5 m A-B white OPEN CIRCUIT! CPC 1.8 m A-B translucent yellow 18.5 ohms IXIOS 3 m A-A(F) translucent/silver grey gold plated connectors

Reply to
Paul E. Schoen
Loading thread data ...

Paul E. Schoen Inscribed thus:

Hi Paul,

The figures above don't cause any surprise at all !

Part of the problem with USB cables is that the shield is not needed for the cable to work but is vital to prevent interference effecting the signals on the cable and by the same token preventing the cable radiating and causing interference to other things.

I built a test rig that checks continuity of all four wires and the screen. I used a 100ma test current from a 12 volt source. I found that most of the cables tested showed 10 ohms or more between the ends of the shells and I found a number with varying resistance on the individual conductors of a similar order.

I also found that some receptacles showed varying degrees of contact resistance with increasing usage. The type "A" being the most affected, type "B" being more robust.

--
Best Regards:
                Baron.
Reply to
baron

The overall resistance of the four conductors should be much more consistent if they are formed with a proper metal-to-metal crimp. Solder or tack weld would be even better but would be very costly. Here is the USB spec:

Universal Serial Bus Specification

6.6.3 Electrical Characteristics ... The DC resistance from plug shell to plug shell (or end of integrated cable) must be less than 0.6 ohms.

formatting link

The cables may work, but they do not meet specification. Your test at 100 mA is better than a simple ohmmeter check, but lower voltage might show poor connections better.

I'm wondering if I could charge up a large capacitor and then discharge it through the cable shield so that a spot weld might occur at the junction of shield and shell. But it probably would not be very reliable long-term under normal use.

Another "fix" might be to expose the shield near the connector and add a jumper to the shell, but that is ugly, time-intensive, and just plain wrong except to test if shield ground integrity improves the noise problem.

I found some good deals on gold plated USB cables at

formatting link
and
formatting link
Even if the same crimp was used, the gold plating might reduce the chance for oxides or other coatings to form at the junction. But the shield braid would also need plating.

The manufacturer might be able to apply a drop of conductive paste at the junction point that would provide a decent connection and also exclude moisture and other contaminents. But there may be no reliable way to fix these cables as they are.

Paul

Reply to
Paul E. Schoen

If the braid is pigtailed and crimped into the housing separately from the overall strain relief crimp there would be no problem. Unfortunately that would require an extra step on the assembly line.

Sturgeon's Law applies . . . .

--
Ian Malcolm.   London, ENGLAND.  (NEWSGROUP REPLY PREFERRED)
ianm[at]the[dash]malcolms[dot]freeserve[dot]co[dot]uk
[at]=@, [dash]=- & [dot]=. *Warning* HTML & >32K emails --> NUL:
Reply to
IanM

Paul E. Schoen Inscribed thus:

Grief ! I never saw one less than an ohm.

I measured the voltage drop across the cable. (1.5mt nominal length)

You might find that it just blows the bad joint open.

I agree, they can't be fixed. All the cables that I built the tester for were of doubtful far east origin. The distributer had a financial agreement with what ever supplier, because the cables that were rejected didn't go back to the east.

--
Best Regards:
                     Baron.
Reply to
Baron

Paul E. Schoen Inscribed thus:

I forgot to mention, a temporary fix was to give the bit of plastic, where the cable enters the plug, a tap with a hammer. It doesn't last long though, a few flexes and its as bad again.

--
Best Regards:
                     Baron.
Reply to
Baron

Interesting, I have the same problem with a PIC project. Right now I'm moving to the latest Mchip USB stack. I did find a well placed Ferrite bead suppressed the problem, but it still occurs once in a while. Eventually I plan on programmatically Detaching the device and re-enumerating, after a set period of inactivity.

This problem does not occur with other USB devices in the system.

Cheers

Reply to
Martin Riddle

I found that I had to put a jumper from an unused pin (24 = RB3) on the PIC18F2550 to the D+ line of the USB connector to effect a reliable detach and reattach. When the device is stuck in the USBSuspendContol state, I use a countdown which eventually disables interrupts, changes the pin from an input to an output and drives it low to force a disconnect. Then I do a SoftDetach(), run a delay loop for about 5 seconds, and then a program reset.

However, this causes a problem on a new installation where the driver must be installed. I found this from a customer. I already had the driver installed, so it enumerated before the timeout, but without the driver it went into a loop which prevented it from being installed. There may be a way to pre-install a driver, but that could be tricky.

I switched to the new stack (2.6) recently, and found several changes needed to be made. There also seems to be a bug in the code if you are using a PIC2450 as I have on one of my older boards.

I have two versions of PIC code, one for a CDC and another that uses the generic mchpusb.sys driver. There is supposedly a bug in the Microsoft supplied usbser.sys driver, but I have found that both work equally well (or not well), and the errors seem to be random. These are comm errors where the USB port seems to stop receiving data for a second or longer, or where characters are skipped. The SuspendControl lockup is a separate problem which seems noise related.

Paul

Reply to
Paul E. Schoen

I'm using the 4550, as a HID device. A hard reset is not an option for me. But the USBSuspendControl state is an annoyance. Have you tried a pull down resistor on D+ ? I could detach my device and reattach it, since I don't need a driver with the HID model and my application will happily ignore it.

I have a early USB stack, and the 2.7 seems to be really finicky. I just got it to enumerate, but that's all it does at the moment. Have yet to debug it, but I haven't seen any comm errors while using the HID.

Yes it is noise related, I can reproduce it by discharging a hand held Tesla coil to earth ground near by ;)

Cheers

Reply to
Martin Riddle

I tried some experiments with decoupling (2.2uf tant) the Vusb output pin. Some improvement which leads me to believe there is a noise related problem with the internal USB core. ( I don?t use the Vusb pin, and apparently the USB core runs on 3.3v ) Also I see that there is another lockup beside the SuspendControl, I haven't dug deeper since I was successful in detaching and Attaching to the USB bus. But this is a bandaid fix, and I'm sure most will find this not acceptable, but in my system its acceptable.

I was able to detach by setting UCON=0 and UIEF=0 ,waiting 1sec and reattaching by setting USBEN=1 and UPUEN=1 and initializing the stack. I left my version 2.1 stack in the code, since 2.7 required a little more work and we don't have any other problems with it. I added a com timeout to handle the unknown lockup, since it is not related to the SuspendControl lockup. Now everything happily recovers, without a hard reset, when that 120vac relay switches in the system.

Cheers

Reply to
Martin Riddle

That sounds like a foil shield instead of braid.

Reply to
JosephKK

JosephKK Inscribed thus:

I belive most of them probably are. The only ones that I saw that were braided had clear jackets.

--
Best Regards:
                     Baron.
Reply to
Baron

The cables I had bought for $0.69 each from

formatting link
had an inner foil shield and a substantial outer shield of tinned copper braid. Most other cables at least appeared to have a braided shield. I don't think it would be possible to meet the USB spec of 0.6 ohms with just a foil shield. I am returning 80 pieces of the 100 I had bought that are still unopened and unused.

I also contacted

formatting link
because they have very good prices, and some with gold plating, but my technical questions have remained unanswered even though several people have responded. I asked for a free sample (list price is only about $1), but nothing yet, although they all say they will issue a refund if not satisfied. But I'd have to take the time to place an order, pay maybe $5 S$H, then test it, and then pack it up and spend a couple dollars more to ship it back to get my $1 refund.

I found

formatting link
and they say that their cables are custom made to their specs. They have some that have ferrite filters built into the cable, so I ordered an assortment of six cables with and without (6ft and

10ft, black, white, clear) for a total of about $25 including shipping. I should get the shipment in a couple days and I'll report back with findings.

It seems that the USB3.0 cables have a larger type B connector so I can't use them.

Paul

Paul

Reply to
Paul E. Schoen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.