`Name Last modified Size Description
Parent Directory -
i2c_update/ 30-Mar-2005 06:10 -
i2cprotocol_lib/ 08-Feb-2005 16:00 -
poster/ 08-Feb-2005 16:00 -
project/ 08-Feb-2005 16:00 -
resources/ 08-Feb-2005 16:00 -
resources_tv_tuner/ 07-May-2006 18:53 -
xilinx/ 08-Feb-2005 16:00 -
| Current Directory: | |
|---|---|
| Quick Links: |
The /unsw/projects/i2c directory contains the full source of an I2C Bus Controller system.
This project was done as a Summer Research Scholarship project by Thanh Hai Le in 2003/4.
I2C is a popular bi-directional 2-wire bus protocol used in many electronics systems because of its low overhead. It is used for exchange of data between devices. The main applications of I2C protocol are in telecom and consumer like set-top boxes and digital TV, and telecommunication equipment. The simple 2-wire serial I2C bus minimises interconnections so ICs have fewer pins resulting in smaller and less expensive PCBs. Each device connected to the bus is software addressable by a unique address and simple master/slave relationships exist at all times; masters can operate as master-transmitters or master-receivers. It’s a true multi-master bus including collision detection and arbitration to prevent data corruption if two or more masters simultaneously initiate data transfer. The I2C bus protocol is capable of transferring data at the rate of 100 kbit/s.
The aim of this project is to implement an I2C bus protocol and to synthesise the design into the Xilinx Spartan-XL chip. The complete system will enable the Atmel AT91R40008 microcontroller to communicate with I2C complied devices.
Several software tools have been employed in the development of this project. HDL Designer was used for System modelling in VHDL, Leonardo Spectrum helped synthesise and optimise the system into Spartan-XL chip and Xilinx Project Navigator was used for placement and routing.