FT232 is a USB to TTL Serial converter IC used in applications where USART devices need to communicate to external devices through USB. This IC is compatible with USB 2.0 speed and standards. In fact this Chip was used in earlier versions of Arduino such as NG, Diecimila and Duemilanove to provide communication from Controller to PC through USB. This article will explain about the features and basic functionality of FT232RL IC and was focused to beginners.
BLOCK DIAGRAM:
FT232 is a powerful chip with entire USB protocol packed on a single chip with no firmware or external hardware required. Also this chip has a buried microcontroller which is capable of performing basic Input/Output operations. The above given diagram shows the various blocks present in FT232 chip. We will a look at some of the important blocks in brief manner.
SIE (Serial Interface Engine): The SIE block serves as the front end from the USB connector. This block handles most of the protocol used for USB communication. Typical functions of SIE includes signal detection, clock/data separation, serial-parallel conversion and Packet ID generation and lots more.
USB Protocol Engine: It is the USB 2.0 communication core that helps in development and production of USB based devices. This protocol engine performs CRC checks, handshake evaluation and response, address recognition, Send and receive data packet.
FIFO Tx-Rx Buffer & UART FIFO controller: 128 and 256 bytes for receiving and transmitting buffer for high data rate transmission. And FIFO controller to control the data flow from the USB to UART device and vice versa.
UART Controller: This controller block converts the data format so that it can be sent over the UART data lines RX and TX. This controller is programmable in FT232 IC to make the CBUS and DBUS pins ( TXD,RXD,RTS,CTS, DTR,DSR,DCD,RI) pins to function as normal GPIO pins. By factory default this pins will function as control pins for USB to UART communication.
INTERFACING FT232 TO MICROCONTROLLER:
Now to interface this chip with your microcontroller you need to use only some pins from the FT232 chip. The above diagram shows the interfacing of a microcontroller with FT232 Chip. The Rxd and Txd pins of FT232 chip are the ones which transmit the data to the microcontroller. However flow control pins are also provided in the chip for efficient communication.
Dedicated CTS (Clear to send) and RTS (Request to send) pins of FT232 are used to control the flow of data whereas you can use any IO pins of your microcontroller to perform function of CTS and RTS. These pins should be cross connected that is CTS from FT232 goes to RTS in Microcontroller and vice versa.
These pins are active low so when MCU needs to send a data it checks its own CTS pin , if it is low the MCU will send the data to FT232 and it transmits the data to USB. If the USB device needs to respond in return FT232 will check its CTS pin status , if its low it will send the incoming data from USB device to the microcontroller.
The other pins can be left unconnected since it doesn’t serve any purpose in basic USB to UART communication. That’s it your Microcontroller is now ready to communicate PC or any other USB devices. For more info about this chip refer FT232 Datasheet. Hope you this tutorial will be helpful to you all.
Why can’t I get my Waveshare FT232 USB dongle to work with Curtis 1314 programming software, it fails to connect with the software? I’ve checked the drivers etc…etc… nothing seems to work!