I2C Controller IP- Master / Slave, Parameterized FIFO, AHB Bus

Overview

The DB-I2C-MS-AHB Controller IP Core interfaces a microprocessor via the AMBA AHB Bus to an I2C Bus in Standard-Mode (100 Kbit/s) / Fast-Mode (400 Kbit/s) / Fast-Mode Plus (1 Mbit/s) / Hs-Mode (3.4+ Mb/s) / Ultra Fast-Mode (5 mbit/s).

The I2C is a two-wire bidirectional interface standard (SCL is Clock, SDA is Data) for transfer of bytes of information between two or more compliant I2C devices, typically with a microprocessor behind the master controller and one or more slave devices.

The DB-I2C-MS-AHB is a Master / Slave I2C Controller that in Master Mode controls the Transmit or Receive of data to or from slave I2C devices while in Slave Mode allows an external I2C Master device to control the Transmit or Receive of data.

In an ASIC / ASSP / FPGA integrated circuit, typically, the microprocessor is an ARM processor, but can be any embedded processor. Figure 1 depicts the system view of the DB-I2C-MS-AHB Controller IP Core embedded within an integrated circuit device with its Microprocessor Configuration.

The DB-I2C-MS-AHB Controller IP Core targets embedded processor applications with higher performance algorithm requirements or I2C transfer requirements to a set of Registers or Memory. While most I2C controllers require high processor interaction involvement, the DB-I2C-MS-AHB contains a parameterized FIFO and Finite State Machine Control for the processor to off-load the I2C transfer to the DB-I2C-MS-AHB Controller. Thus, while the DB-I2C-MS-AHB in Master Mode is busy, independently controlling the I2C Transmit or Receive transaction of data, or in Slave Mode, allowing the external I2C Master device to control the Transmit or Receive of data, the processor can complete other tasks. All Master & Slave Mode Transmit / Receive transfers are with respect to the internal FIFO, thus fully isolating the processor from the I2C transfer of a block of data.

Key Features

  • Master / Slave I2C Controller Modes:
    • Master – Transmitter
    • Master – Receiver
    • Slave – Transmitter
    • Slave – Receiver
  • Supports four I2C bus speeds:
    • Hs-Mode (3.4+ Mb/s)
    • Ultra Fast-Mode (5 mbit/s)
    • Fast Mode Plus (1 Mbit/s)
    • Fast Mode (400 Kb/s)
    • Standard Mode (100 Kb/s)
  • I2C compliant features:
    • Clock Synchronization, Arbitration, SCL held low by Slave, Repeated Start, 7/10-bit addressing, & General Call
  • Parameterized FIFO memory for off-loading the I2C transfers from the processor:
    • Targets embedded processors with higher performance algorithm requirements, by the I2C Controller independently controlling theTransmit or Receive of bytes of information buffered to and from a FIFO.
  • System-level features & integration capabilities:
    • CPU Interface via parameterized FIFO with support for APB / AHB / AXI / AXI-lite / Avalon SoC Interconnect fabrics
    • Enhanced SCL / SDA spike filtering capabilities
    • Enhanced Repeated Start capabilities
  • Optional system-level features & integration capabilities:
    • DMA transfer between the I2C Bus & Memory (SDRAM / SRAM / FLASH)
    • Direct interface to user Registers within ASIC / ASSP / FPGA device, for Master/Slave transfer across the I2C Bus
    • Remote Configuration of a Digital Blocks’ I2C Slave by an I2C Master
    • SMBus Support:  SMBCLK Clock Low Timeout SMBDAT minimum data hold time
  • 13 sources of internal interrupts with masking control
  • Compliance with AMBA and I2C specifications:
    • Compliance with AMBA Specification 2.0 – AHB
    • Philips/NXP – The I2C-Bus Specification, Version 2.1, January 2000 and UM10204 Rev 7 – 1 Oct 2021
  • Fully-synchronous, synthesizable Verilog RTL core, with rising-edge clocking, no gated clocks, and no internal tri-states, for easy integration into FPGA or ASICdesign flows.

Benefits

  • The DB-I2C-MS-AHB Controller IP Core targets embedded processor applications with high performance algorithm requirements. While most I2C controllers require high processor interaction involvement, the DB-I2C-MS-AHB contains a parameterized FIFO and Finite State Machine Control for the processor to off-load the I2C transfer to the DB-I2C-MS-AHB Controller. Thus, while the DB-I2C-MS-AHB is busy, independently controlling the I2C Transmit or Receive transaction of data, the processor can go off and complete other tasks.

Block Diagram

I2C Controller IP- Master / Slave, Parameterized FIFO, AHB Bus Block Diagram

Deliverables

  • The DB-I2C-MS-AHB is available in synthesizable RTL Verilog or VHDL or a technology-specific netlist for FPGAs, along with Synopsys Design Constraints, a simulation test bench with expected results, datasheet, and user manual.
  • The DB-I2C-MS-AHB comes along with example C code software for controlling Transmit and Receive Transactions in an Eclipse-based ARM Integrated Development Environment (IDE).

Technical Specifications

GLOBALFOUNDRIES
Pre-Silicon: 28nm HPP , 32nm , 55nm
Silicon Proven: 28nm HPP
LFoundry
Pre-Silicon: 150nm
Renesas
Pre-Silicon: 40nm , 90nm
SMIC
Pre-Silicon: 40nm LL
Silicon Proven: 55nm G
Silterra
Pre-Silicon: 90nm
Silicon Proven: 130nm
TSMC
In Production: 45nm LP
Pre-Silicon: 28nm LP , 40nm G , 45nm LP , 55nm LP , 65nm GP , 90nm GOD
Silicon Proven: 40nm G , 55nm GP , 65nm LP
Tower
Pre-Silicon: 130nm
Silicon Proven: 180nm
UMC
In Production: 55nm
Pre-Silicon: 40nm LP
Silicon Proven: 40nm LP
×
Semiconductor IP