Index of /dsl-cdrom/unsw/projects/i2c

Icon  Name                    Last modified      Size  Description
[DIR] Parent Directory - [DIR] i2c_update/ 30-Mar-2005 06:10 - [DIR] i2cprotocol_lib/ 08-Feb-2005 16:00 - [DIR] poster/ 08-Feb-2005 16:00 - [DIR] project/ 08-Feb-2005 16:00 - [DIR] resources/ 08-Feb-2005 16:00 - [DIR] resources_tv_tuner/ 07-May-2006 18:53 - [DIR] xilinx/ 08-Feb-2005 16:00 -
` Companion CD-ROM eCos Directory

Companion CD-ROM: /unsw/projects/i2c directory

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.

Thesis Title

I2C Bus Controller Implementation

Thesis Abstract

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.

Directory Contents

[Root] CD-ROM Root Directory
[Dir] unsw: Information specific to the Digital Systems Laboratory
[Dir] projects: Information on student projects implemented on DSLMU board
[Dir] i2c: I2C Bus Controller Implementation   This is the current directory
[Dir] i2cprotocol_lib: I2C project library, including source file and test benches, can be open using HDL Designer
[Dir] i2c_update: Updated (untested) I2C project library, including source file and test benches, can be open using HDL Designer
[Dir] project: Project Documenation
[Dir] poster: A technical poster presentation of the project
[Dir] resources: Programming Resources including C source files for programming the I2C controller
[Dir] resources on TV tuner: Sample C source files for software version I2C controller on ARM processor on DSLMU for interface to TV Tuner
[Dir] xilinx: Xilinx Project Navigator, Classic Version
[File] README.txt: Detailed desciption of the all the project direcoties and files
[File] README.html: The file you are currently reading