FT232 fails to enumerate with ferrite bead

Go To Last Post
24 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

All images in this post are avaiable in my Picasa album with full size.

I'm finishing up a PCB that uses a FT232, with power supplied by it's ous regulator. In the middle of debugging, I've realised that if it was supplied by the USB, it would be easier to debug, as the serial converter would be always connected and I wouldn't miss serial communication right after the start of the program while the USB was enumerating.

With that in mind, I've made some modifications to the PCB. These are shown below.

Actually, at first I wasn't using a ferrite bead and it was working ok and I was still using C16 as 100 nF. It was working ok, but as the datasheet recommended a ferrite bead and I had an old motherboard laying around with lots of ferrite beads in it, I've put it in the PCB. After doing that, my weekend ended and everything was put on hold until the next one.

In the next weekend, I connected the board to the USB and got a device unknown error message from Windows (Win7 64bits). Somehow I didn't correlate the new ferrite bead with the failure, so I tested several things:
Vcc = USB voltage

  • No shorts between Vcc, Gnd, USBDP and USBDM
  • Vcc is at 5V
  • Tested the current in Vcc by suppling it with a PS. It was ok at ~10 mA
  • Used a new USB cable (the same USB cable was used to transfer the images from my camera to the PC)
  • Used another USB port
  • Used another computer
  • Swaped the FT232 for a new one
  • Swaped the USB connector for a new one (twice!)
  • Swaped all capacitors
  • Changed C16 from 100nF to 4.7uF (ceramic, from that old motherboard)
  • Soldered the first FT232 to a new PCB, using the same circuitry. It is correctly enumerated and the serial port is created, fully functional. The first FT232 is working correctly.

Today I've remembered that everything was working without the ferrite bead, so I removed it. Bingo! It started working again. Then I tried another ferrite bead, again removed from that motherbord. No go.

Does anyone knows why the ferrite bead was screwing everything up in this PCB, when it is working correctly in the second? I just can't figure it out...

The first PCB that is giving me all this trouble is this one:

The new PCB with the first FT232 is below:

A bare PCB, without any modifications, is shown below, top side only. There is nothing but a ground plane in the bottom side.

Both PCBs, side by side:

PS: Sorry for the long post, but I tried to make the most complete description of everything.

Felipe Maimon

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Don't worry about the long post - that's actually a good thing. :)

The only thing I can see is that in the "new" version (with ferrite bead), you're no longer connecting the RESET pin to Vcc. If the device is stuck in reset state (i.e. internal pull-down on that pin), then I bet it wouldn't enumerate properly. Can you hook that pin up to Vcc again?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The reset pin is internally pulled up and can be left floating according to the data sheet.

Quote:
19
RESET#
Input
Can be used by an external device to reset the FT232R. If not required can be left unconnected, or pulled up to VCCIO.

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What is connected to RX and TX pins?

What happens when there is no USB connection and FT232RL is unpowered, but something like AVR tries to feed it through AVR TX -> FT RX pin?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JS, exactly. Reset doesn't need to be connected to anything. And as an active low, I did check if there was a short from it to ground, but there was none.

Jepael, It probably turns on. But The FT232 was not functioning with or without power in the main circuit. Another feature of my circuit is jumpers (JP2) between the AVR and the FT232, so you can connect another circuit directly to the m88 USART, controlling it without the need of USB. Without the jumpers there is an open circuit in the RX and TX of both FT232 and m88.

BTW, hijacking my own thread, how do you handle this situation?

Felipe Maimon

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If AVR power is off, then FT232 TX pin will try to power AVR via AVR RX pin, so maybe FT232 cannot handle that either.

By switching off AVR TX pin one way or another to make it high impedance or driving low, instead of driving high. But then there is no way for the FT232 to know if AVR has power or not. I don't know.

You could rig the USB 5V to AVR IO pin and periodically poll if 5V is there or not. If not, turn off UART pins, if there, turn on UART pins.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Are you positive that it's in fact just a ferrite bead and not some other sort of protection device? (TVS or something similar).

I've used a bunch of FT232s on custom PCBs, usually hooked up very much like your second schematic and always with a ferrite bead. I don't have problems unless I've shorted the chip or lifted a pad.

-carl

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What happens if you short out the ferrite bead ???

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Good point, have you measured the supposed ferrite with a DMM, like ohmmeter, continuity or diode tests?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jepael wrote:
If AVR power is off, then FT232 TX pin will try to power AVR via AVR RX pin, so maybe FT232 cannot handle that either.

That might a the problem when the jumpers (JP2) are connected. Without them the FT232 is disconnected from the rest of the circuit and still wasn't functioning properly.

H. Carl Ott wrote:
Are you positive that it's in fact just a ferrite bead and not some other sort of protection device? (TVS or something similar).

There are no other protection device around the FT232.

rberger wrote:
What happens if you short out the ferrite bead ???
Jepael wrote:
Good point, have you measured the supposed ferrite with a DMM, like ohmmeter, continuity or diode tests?

I havn't tried to short out the ferrite bead, but tested both of them with the continuity test of my multimeter and they were ok (less than 1 ohm, if I recall correctly). When I get home, I'll measure their resistance.

Felipe Maimon

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

fmaimon wrote:

H. Carl Ott wrote:
Are you positive that it's in fact just a ferrite bead and not some other sort of protection device? (TVS or something similar).

There are no other protection device around the FT232.

I was kind of implying that the part you scrounged from the motherboard was not a simple ferrite bead. Perhaps a TVS diode, a higher inductance coil, or some sort of LC filter. If the DC resistance is <1ohm I'd expect it to work, but who knows. The suggestion to short out the part to isolate the problem is a good one.

-carl

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just got home and measured the resistance of the ferrite bead. Both my multimeters (an old Fluke 8840A and an UT-71D) are measuring about 0.02 ohms (20 mR).

Felipe Maimon

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What happens if you cut the reset pin track so it is free near the R8 and R9 junction?

I know it can be connected to VCCIO/VCC but one never knows.

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@js - The reset pin track is cut right below R8. Check out this picture. You may be able to see the cut between the FT232 and R8 pad in this picture.

Felipe Maimon

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just for fun have you measured that reset is in fact high?

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Actually no. I'll have to resolder the ferrite bead to test this... I'll do it tonight.

Felipe Maimon

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've measured the voltage on the reset pin is high before resoldering the ferrite bead. It was at about 4.5 V. Then I've put it back in and the reset pin stayed at the same voltage and the FT232 was detected correctly... Mistery...

I think it's time to go on as everything is working.

Thank you all for your suggestions...

Felipe Maimon

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@Jepael. The FT232 does, indeed, supply power to the AVR, but it's not much. The m88 Vcc pin was at about 2V, so I just need to set the BOD to reset at ~4.3V.

Felipe Maimon

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

fmaimon wrote:
@Jepael. The FT232 does, indeed, supply power to the AVR, but it's not much. The m88 Vcc pin was at about 2V, so I just need to set the BOD to reset at ~4.3V.

Yes, but what amount of current that translates to? Is it within safe limits?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jepael wrote:
Yes, but what amount of current that translates to? Is it within safe limits?

It looks like it is. The absolute maximum rating from the FT232 states 24 mA. My circuit consumes around 10 mA @ 5V and the output voltage from a FT232 pin is 4.1V (typical) at only 2 mA, so it will be much lower for 10 mA...

Felipe Maimon

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What's the voltage across the ferrite bead whilst enumeration is happening ?

I can't help thinking that the ferrite bead is really something else.

Robin

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It's a ferrite bead:

Quote:
Just got home and measured the resistance of the ferrite bead. Both my multimeters (an old Fluke 8840A and an UT-71D) are measuring about 0.02 ohms (20 mR).

Quote:
I've measured the voltage on the reset pin is high before resoldering the ferrite bead. It was at about 4.5 V. Then I've put it back in and the reset pin stayed at the same voltage and the FT232 was detected correctly...

Felipe Maimon

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Datasheet says "Test Pin must be tied to GND for normal operations, otherwise the device will appear to fail". :)

firatdk33

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

8 years late ...

 

frown

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...