1
\$\begingroup\$

The issue that I am having is that the device won't communicate. I have traced the problem down to the RX line on the FTDI chip holding itself high and not letting signals through. I have spent a couple of hours looking for answers in the datasheet but the only hint that I got is that when the chip is resetting it will hold the RX line high. This is not a faulty chip as I have tried replacing it. I have also checked for shorting between the pins of the FTDI and found nothing. This is also an issue that is affecting multiple PCBs, so it is unlikely that it is a random fault. It is likely a problem with the design. here is a link to the datasheet: https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf

Also here is a diagram of my circuit.

Circuit layout

\$\endgroup\$
12
  • \$\begingroup\$ Did you try a simple loopback test? \$\endgroup\$
    – chamod
    Nov 27, 2019 at 22:19
  • \$\begingroup\$ as in send it something and see where it fails? Yes, I have sent test signals and they get through the ftdi to the micro. However, the micro can't respond back because the RX pin on the FTDI chip is holding the line high. \$\endgroup\$
    – Michael
    Nov 27, 2019 at 22:25
  • \$\begingroup\$ are you sure it is the FT232 and not something else? Do you see a small drop in the RXD signal when the micro is attempting to drive it? (I would expect at least hundreds of millivolts or even a a volt or two if there is contention). The adjacent pin (Pin 4) is VCCIO - is there a solder bridge? \$\endgroup\$ Nov 27, 2019 at 22:33
  • \$\begingroup\$ I disconnected the rx pin on the ftdi to check. the ftdi pin is what is holding it high \$\endgroup\$
    – Michael
    Nov 27, 2019 at 22:35
  • \$\begingroup\$ Desolder the chip and checkout the board. Note that RX is right next to VCCIO. Consider swapping parts with something known to work like a usb logic serial cable or an Arduino clone... good chance those are fakes but if they work it at least changes the variables and you can see if the issue follows the chip or the board. \$\endgroup\$ Nov 27, 2019 at 22:57

4 Answers 4

0
\$\begingroup\$

Generally it is good pratice to check each part seperately and verify its functionality in such a case. Basically it is similar to the "unit tests" in programming while the "putting together part" is analogous to the "integration tests".

As the device is recognized by the computer and the TX is working according to the comments I would suggest to pickup chamod loopback idea up again: did you try to disconnect the µC (or even make a board with only the FT+related components), connect FTs RX with TX directly and send a test message? If you receive it back it is not an problem with the FT. If you dont receive it it might be a pin out error.

\$\endgroup\$
3
\$\begingroup\$

It is with extreme embarrassment that I have come to inform you all that this problem was actually caused by an incorrect firmware being loaded onto the microprocessor that was communicating with the FTDI chip. I do not consider this a complete waste as I have learned some new troubleshooting steps from you all that I did not know before. I thank you all for your time and effort.

\$\endgroup\$
2
  • 2
    \$\begingroup\$ Congratulations, a solution is a solution. That the actual location of the problem isn't what one might first guess is not at all unusual. \$\endgroup\$ Nov 28, 2019 at 21:10
  • \$\begingroup\$ So why did you not mark this as the accepted anwer? \$\endgroup\$
    – Elmue
    Sep 13, 2021 at 19:19
0
\$\begingroup\$

I see on FT232R datasheet page 8 :

RESET# (pin 19)
Active low reset pin. This can be used by an external device to reset the FT232R. If not required can be left unconnected, or pulled up to VCC.

But try to put RESET# pin to high level Reset PIN for FT232RL Hope this help

\$\endgroup\$
9
  • \$\begingroup\$ The data sheet states Reset can be left open. \$\endgroup\$ Nov 27, 2019 at 22:30
  • \$\begingroup\$ @KevinWhite Yes but face to spurious reset, I will try to fix the pin status to known state to remove some problems \$\endgroup\$
    – rom1nux
    Nov 27, 2019 at 22:33
  • \$\begingroup\$ I agree, I like to pull those sort of signals to an appropriate direction, but they wouldn't cause a solid error. \$\endgroup\$ Nov 27, 2019 at 22:37
  • \$\begingroup\$ I will give this a try and let you know. \$\endgroup\$
    – Michael
    Nov 27, 2019 at 22:59
  • 1
    \$\begingroup\$ @rom1nux No its a place called Active Electronics Manufacturing. \$\endgroup\$
    – Michael
    Nov 28, 2019 at 0:18
0
\$\begingroup\$

The UART protocols often have an option for inverted logic levels to make it easier to convert into RS232 voltage levels. FTDI chip is no exception - both RXD and TXD signals can be independently inverted in configuration. Connect to the chip with configuration utility and check the settings.

Having said that, I don't understand how RXD can "hold the line high". RXD is an input and AFAIK it does not even have a pull-up. If you see steady voltage on it try pulling it to GND with 1k resistor. If this does not work your chip is probably busted.

Edit:

As @Justme pointed out, pins do have weak pull-ups when configured as inputs. So, try that 1k pull-down and see if it changes things. If not then something is wrong with your boards.

\$\endgroup\$
6
  • \$\begingroup\$ Just gave this a try and it was a no go. The line still held 3.3v either way. \$\endgroup\$
    – Michael
    Nov 27, 2019 at 22:36
  • \$\begingroup\$ I've updated an answer \$\endgroup\$
    – Maple
    Nov 27, 2019 at 22:40
  • \$\begingroup\$ I initially believed that it might be damaged as well. However, 4 out of 4 of these PCBs that I have are having this problem. \$\endgroup\$
    – Michael
    Nov 27, 2019 at 22:45
  • \$\begingroup\$ Is it possible you have the pins mapped wrong somehow? \$\endgroup\$ Nov 27, 2019 at 23:46
  • \$\begingroup\$ FTDI does have a weak pull-up so the part about it having no pull-up is false. \$\endgroup\$
    – Justme
    Nov 28, 2019 at 6:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.