首 页 | EDA | IP核 | 测试仪器| 新闻资讯 | 合作伙伴 | 招贤纳士 | 联系我们 | ENGLISH  
解决方案

 

 

 

 

 

 

 

 

 

HomeSolutionsIPBus Interfaces & Networking

I2C Philips Serial Bus Interface Core

I2C Bus Controller logic provides a serial interface that meets the Philips I2C bus specification and supports all transfer modes from and to the I2C bus.

The 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.

The I2C is a microcode-free design developed for reuse in ASIC and FPGA implementations. The design is strictly synchronous with positive-edge clocking, no internal tri-states and a synchronous reset; therefore scan insertion is straightforward.

Features

The I2C bus uses two wires to transfer information between devices connected to the bus: SCL (serial clock line) and SDA (serial data line).

  • Master Transmitter Mode — Serial data output through SDA while SCL outputs the serial clock.
  • Master Receiver Mode — Serial data is received via SDA while SCL outputs the serial clock.
  • Slave Receiver Mode — Serial data and the serial clock are received through SDA and SCL.
  • Slave Transmitter Mode — Serial data is transmitted via SDA while the serial clock is input through SCL.
  • Data transfers up to 100 Kbps in standard mode and up to 400 Kbps in fast-mode.
  • Bi-directional data transfer.
  • Own address and General Call address detection.
  • 7-bit addressing format.
  • Fixed data width of 8 bits.
  • Data transfer in multiples of bytes.
  • One-byte write and read buffer.

Applications

The I2C can be utilized for a variety of bus applications including:

  • Embedded microcontroller systems
  • Communication systems

Symbol Diagram

Block Diagram

Functional Description

The I2C core is partitioned into modules as shown in figure 1 and described below.

Arbitration and synchronization logic

In the master mode, the arbitration logic checks that every transmitted logic 1 actually appears as a logic 1 on the I2C bus. If another device on the bus overrules a logic 1 and pulls the SDA line low, arbitration is lost and the I2C immediately changes from master transmitter to slave receiver. The synchronization logic will synchronize the serial clock generator with the clock pulses on the SCL line from another device.

Serial clock generator

This programmable clock pulse generator provides the SCL clock pulses when the I2C is in the master mode. The clock generator is switched off when the I2C is in a slave mode.

Control logic

The control logic generates the control signals for serial byte handling.

Input filter

Input signals are synchronized with the internal clock (clk), and spikes shorter than three oscillator periods are filtered out.

Address comparator

The comparator compares the received 7-bit slave address with its own slave address. It also compares the first received 8-bit byte with the general call address (00H). If equality is found, the appropriate status bits are set and an interrupt is requested.

Implementation Results

The I2C is designed to run at frequencies of up to 160 MHz on a typical 0.5-micron process, and it uses less than 1,500 gates depending on the technology. The I2C is a technology-independent design that can be implemented in a variety of process technologies.

Support

The core as delivered is warranted against defects for three years from purchase. Thirty days of phone and email technical support are included, starting with the first interaction. Additional maintenance and support options are available.

Verification

The I2C core’s functionality was verified by means of a proprietary hardware modeler. The same stimulus was applied to a hardware model that contained the original Philips 80C552 chip, and the results compared with the core’s simulation outputs.

Deliverables

The core is available in ASIC (synthesizable HDL) and FPGA (netlist) forms, and includes everything required for successful implementation:

  • HDL RTL source code (ASICs) or post-synthesis EDIF netlist (FPGAs)
  • Sophisticated HDL Testbench including external FIFOs, buffers, models of interfaces, and the core
  • Simulation script, vectors, expected results, and comparison utility
  • Synthesis script (ASICs) or place and route script (FPGAs)
  • Comprehensive user documentation, including detailed specifications and a system integration guide

版权所有 上海冠讯科技有限公司 | 管理进入 |
Copyright © 2005-2006 www.acro-da.com All rights reserved