I2C & SMBus Controller
The I2C-SMBUS core implements a serial interface controller for the Inter-Integrated Circuit (I2C) bus and the System Management …
Overview
The I2C-SMBUS core implements a serial interface controller for the Inter-Integrated Circuit (I2C) bus and the System Management Bus (SMBus). The core is also suitable for implementing controllers for the Power Management Bus (PMBUS).
The core can be programmed to operate either as a bus master or a slave, and it is easy to program and integrate. An arbitration mechanism allows operation in a multiple master bus and the SMBus provisioned clock synchronization mechanism allows fast-master/slow-slave communication. Furthermore, the core detects timeout and errors to prevent bus deadlocks, and can filter out glitches on the serial line. The control, status, and data registers of the I2C-SMBUS core are accessible via an AMBA APB or a generic memory mapped interface.
The I2C-SMBUS is a microcode-free design developed for reuse in ASIC and FPGA implementations. The design uses rising-edge-triggered flip-flops only with the reset type (i.e. asynchronous and/or synchronous) being configurable at synthesis time. Furthermore, the core does not use tri-states; therefore scan insertion is straightforward.
Key features
- Standards Compliance
- Phillips I2C
- SMBus Version 2.0 & 3.0
- PMBus Version 1.2 or earlier
- Operation Modes
- Master Transmitter Mode
- Master Receiver Mode
- Slave Receiver Mode
- Slave Transmitter Mode
- Functionality
- Seven-bit Addressing
- Byte-wide Transfers
- Bus Arbitration
- Clock signal (SCL) generation (in master mode) and data synchronization
- START/STOP Timing detection and generation
- Timeout/Bus error detection
- Clock-Low Extension to allow fast-master slow-slave communication
- Configurable glitches filter for clock and data serial lines
- Bus status reporting
- Interfaces
- I2C–SMBUS
- A pair of unidirectional signals for SCL and SDA
- Control for the serial line buffers/drivers
- Host
- 32-bit APB or 8-bit generic (8051-like) for register access
- Interrupt line
- Clocks
- Core operates on the host-interface clock
- Reference clock signals used to generate the serial clock (SCL)
- I2C–SMBUS
Block Diagram
What’s Included?
- RTL source code or targeted FPGA netlist
- Testbench
- Sample simulation and synthesis script
- Extensive documentation
- Sample SMBus software driver
Specifications
Identity
Files
Note: some files may require an NDA depending on provider policy.
Provider
Learn more about I2C / I3C IP core
Maximizing the Usability of Your Chip Development: Design with Flexibility for the Future
MIPI I3C v1.1 - A Conversation with Ken Foust
How to Connect Sensors with I3C
MIPI CCI over I3C: Faster Camera Control for SoC Architects
Arasan I3C PHY - Ternary vs. Non-Ternary
Frequently asked questions about I2C / I3C IP cores
What is I2C & SMBus Controller?
I2C & SMBus Controller is a I2C / I3C IP core from CAST listed on Semi IP Hub.
How should engineers evaluate this I2C / I3C?
Engineers should review the overview, key features, supported foundries and nodes, maturity, deliverables, and provider information before shortlisting this I2C / I3C IP.
Can this semiconductor IP be compared with similar products?
Yes. Buyers can compare this product with similar semiconductor IP cores or IP families based on category, provider, process options, and structured technical specifications.