Universal Serial Bus (USB) has become an increasingly popular computer communication interface due to its high data transfer rate, ease of use, and support for hot plugging. The FT245BM chip is a second-generation USB interface chip launched by FTDI (Future Technology Devices Intl. Ltd). Compared with other USB chips, the application of the FT245BM chip for USB peripheral development only requires familiarity with microcontroller (MCU) programming and simple VC or VB programming, without having to consider firmware design and driver programming, which can greatly shorten the development cycle of USB peripheral products. In addition, the FT245BM supports USB1.1 and USB2.0 specifications, and the data transmission speed can reach 1M byte/s. Therefore, the FT245BM is an excellent choice for the interface chip required for the development of USB peripherals.
Structure and function of FT245BM
The FT245BM chip is a 32-pin LQFP packaged chip with the following pin definitions:
D[0-7] (25, 24, 23, 22, 21, 20, 19, 18): bidirectional data signal line;
RD# (16): read signal;
WR (15): write signal;
TXE# (14): FIFO transmit buffer empty flag signal;
RXF# (12): FIFO receive buffer non-empty flag signal;
USBDP (7), USBDM (8): USB data signal positive terminal, USB data signal negative terminal;
EECS (32), EESK (1), EEDATA (2): EEPROM chip select line, clock line, data line;
PWREN (10): power enable signal;
SI/MU (11): Immediate send or wake-up signal;
RESET (4): reset signal;
RSTOUT (5): output signal of the internal reset generator; XTIN (27), XTOUT (28): clock input signal, output signal;
TEST (31): test signal;
3V3OUT (6): 3.3V output signal;
VCC (3, 26), VCCIO (13), AVCC (30): chip power, control pin power, internal analog power;
GND (9, 17), AGND (29): chip ground, internal analog ground.
The chip consists of a 3.3V regulator, USB transceiver, phase-locked loop, serial interface engine (SIE), FIFO controller, USB protocol engine, FIFO receive buffer, transmit buffer, 6M oscillator, 8x clock multiplier, etc.
The FT245BM chip can realize the bidirectional conversion of data between the USB interface and the parallel I/O interface. On the one hand, when the USB transceiver receives USB serial data from the host, the serial interface engine converts the data into parallel data and stores it in the FIFO receiving buffer. When the FIFO controller detects that the read signal RD is low, it sends the data in the receiving buffer to the parallel data lines D0-D7. On the other hand, when the FIFO controller detects that the write signal WR is high, it reads parallel data from the data lines D0-D7 and stores it in the FIFO sending buffer. The parallel data is converted into USB serial data by the serial interface engine and then transmitted to the host through the USB transceiver. It can be seen that the FT245BM chip itself can complete the data conversion without the designer considering the hardware design. Its internal structure and function are shown in Figure 1.
Figure 1 FT245BM chip functional block diagram |
Hardware interface design
The schematic diagram of the interface circuit is shown in Figure 2.
The design is powered by the USB bus. In Figure 2, the FT245BM is connected to an MCU. An 8-bit port of the MCU is used to transmit data, and the other port is used to control and generate the four handshake signal lines required by the FT245BM, namely RXF#, TXE#, RD#, and WR. When TXE# is low, it means that the current FIFO send buffer is empty. At this time, the WR pulse changes from high to low to write the data on the data lines D0-D7 into the FIFO send buffer; when TXE# changes to high, it means that the current FIFO send buffer is full or is storing the previous byte, and writing data to the send buffer is prohibited. RXF# is low, indicating that there is data in the current FIFO receive buffer. At this time, the RD# pulse changes from low to high, and data will be read from the FIFO receive buffer; when the read signal RD# is low, the data is read to the data lines D0...D7; when RXF# is high, reading data from the FIFO receive buffer is prohibited
Previous article:Design of McBSP Interface between CPLD and TMS320VC55x
Next article:Advantages and potential dangers of using USB for measurement applications
Recommended ReadingLatest update time:2024-11-16 17:42
- Popular Resources
- Popular amplifiers
- Virtualization Technology Practice Guide - High-efficiency and low-cost solutions for small and medium-sized enterprises (Wang Chunhai)
- usb_host_device_code
- Image acquisition and processing system for panoramic map applications
- Teach you to learn 51 single chip microcomputer-C language version (Second Edition) (Song Xuefeng)
- High signal-to-noise ratio MEMS microphone drives artificial intelligence interaction
- Advantages of using a differential-to-single-ended RF amplifier in a transmit signal chain design
- ON Semiconductor CEO Appears at Munich Electronica Show and Launches Treo Platform
- ON Semiconductor Launches Industry-Leading Analog and Mixed-Signal Platform
- Analog Devices ADAQ7767-1 μModule DAQ Solution for Rapid Development of Precision Data Acquisition Systems Now Available at Mouser
- Domestic high-precision, high-speed ADC chips are on the rise
- Microcontrollers that combine Hi-Fi, intelligence and USB multi-channel features – ushering in a new era of digital audio
- Using capacitive PGA, Naxin Micro launches high-precision multi-channel 24/16-bit Δ-Σ ADC
- Fully Differential Amplifier Provides High Voltage, Low Noise Signals for Precision Data Acquisition Signal Chain
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Specifications of several types of batteries
- [Lazy people take care of fish tank control system] Debug method in ON Semiconductor IDE environment
- W5500 UDP Issues
- Please tell me what does it mean to subscribe to OBJECT resources in the China Mobile IoT ONENET platform?
- Low power design technology overview.doc
- Can anyone recommend a DCDC module with an isolation strength of more than 6000VAC?
- Design a circuit for corridor voice-controlled lights that includes a single-chip microcomputer.
- Getting Started with the ST SensorTile.box Sensor Kit (2) Getting Started Mode Experience
- FAQ_How to implement low power mode and low power wake-up function in 24G private protocol applications
- Problem calling EPwm1Regs.TBCTR value