Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: Design and simulation of I2C bus protocol
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Design and simulation of I2C bus protocol

[attachment=24020]


ABSTRACT

The I2C bus is a popular serial, two-wire interface used in many systems because of its low overhead. The two-wire interface minimizes interconnections so ICs have fewer pins, and the number of traces required on printed circuit boards is reduced. Capable of 100 KHz operation, each device connected to the bus is software addressable by a unique address with a simple Master/Slave protocol. The I2C Controller design contains an asynchronous microcontroller interface and provides I2C Master/Slave capability. It is intended to be used with a microcontroller or microprocessor



The FPGA Implementation of the I2C Controller supports the following features:
• Microcontroller interface
• Master or Slave operation
• Multi-master operation
• Software selectable acknowledge bit
• Arbitration lost interrupt with automatic mode switching from Master to Slave
• Calling address identification interrupt with automatic mode switching from Master to Slave
• START and STOP signal generation/detection
• Repeated START signal generation
• Acknowledge bit generation/detection
• Bus busy detection
• 100 KHz operation.

SOFTWARE: VHDL.
DEVELOPMENT TOOLS: XILINX ISE, MODELSIM, CHIPSCOPE.
TARGET DEVICE: SPARTAN-3E DEVICE FROM XILINX.
APPLICATIONS: The I2C can be utilized for a variety of serial interface applications, I²C is appropriate for peripherals where simplicity and low manufacturing cost are more important than speed.
ADVANTAGES: I2C logic handles bytes transfer autonomously. It also keeps track of serial transfers, and a status register (i2csta) reflects the status of I2C Bus Controller and the I2C bus.
I2C Bus provides communication between the system processor and peripheral devices. It is used to minimize hardware at the system level. Data transfer through the I2C bus will improve system performance, since digital data transmission is much less susceptible to interference from ambient noise sources.

The I2C bus is a bidirectional two-way serial bus that provides a simple and efficient method of short-distance data transmission between many devices. I2C provides good support for communication with several slow peripheral devices. The I2C bus is considered simple, with low bandwidth and is a short distance protocol.

Philips originally developed I2C for communication between devices within a television. Examples of simple I2C compliant devices found in embedded systems include EEPROMs, thermal sensors, and real-time clocks. I2C is also used as a control interface for signal processing devices that have application-specific data interfaces. For example, it is commonly used in multimedia applications, where typical devices include RF tuners, video decoders and encoders, and audio processors. In total, Philips and other manufacturers offer hundreds of I2C-compatible devices. I2C provides good support for communication with several slow on-board peripheral devices that are accessed intermittently, while being extremely modest in its hardware resource requirements. It is a simple protocol, low bandwidth and short distance. Most available I2C devices run at speeds up to 400Kbps, and some venture into the low megahertz range. I2C is easy to use to link multiple devices, as it has a built-in addressing scheme.