ftdi2232_i2c
(last updated: 2005/09/01)
Purpose: Sample application to demonstrate using the FTDI FT2232 to interface with various I2C devices.
Overview
The FTDI FT2232 is a USB interface chip that can be used to create a PC-to-I2C bridge. FTDI gives you a sample Visual C++ application on their website that demonstrates how to communicate with a 24C64 eeprom. The ftdi2232_i2c project builds on that sample by demonstrating communications with a 24C16 eeprom, a National Semi. LM75 temperature sensor, and a Philips PCF8574 io expander.
Just like the FTDI sample, the application is a Windows console application. Ftdi2232_i2c includes a few menus so that you can select which test to run.
The ftdi2232_i2c application is not really useful except for as a learning guide. There is no additional information beyond the comments in the source code files.
Highlights:
- Demonstrates use of FTDI FT2232 as a I2C bridge (I2C master only)
- Windows console application
- 24C16 eeprom interface example
- National Semiconductor LM75 temperature sensor interface example
- Philips PCF8574(A) io expander interface example
- I2C 100KHz and 400KHz bus speed
- Visual C++ 2003 project.
- Based on FTDI’s Visual C++ sample for interfacing with the 24C64 eeprom.
- Uses the FTDI I2C dll.
- Uses the FTDI D2XX driver.
My Setup:
- PC running Visual C++ 2003 with ftdi2232_i2c project
- DLP Design DLP2232M
- Atmel 24C16 eeprom (DIP)
- National Semiconductor LM75 eval. Board
- Philips PCF8574 (DIP)
- Home-built 8 LED + 8 switch tester board
- Used FTDI's MPROG program to set the DLP2232M's eeprom so that the FT2232 would power up in FIFO mode.
Download (see Attachments)
ftdi2232_i2c - Source code + Visual C++ project files
ftdi2232_i2c_schematic - Schematic
ftdi_i2c_breadboard.jpg
ftdi2232_i2c.ept - ftdi's MPROG utility settings file
ftdi2232_i2c_mprog.jpg - screen capture of MPROG settings file
Copyright Steven R. Nickels, 2008. All rights reserved.