| |
|
||||
![]() |
![]() |
||||
|
I2C Philips Serial Bus Interface CoreOn this page: Description | Implementation Results | Features | Applications | Symbol Diagram | Block Diagram | Functional Description | Support | Verification | Deliverables 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. See representative implementation results (each in a new pop-up window): FeaturesThe I2C bus uses two wires to transfer information between devices connected to the bus: SCL (serial clock line) and SDA (serial data line).
ApplicationsThe I2C can be utilized for a variety of bus applications including:
Symbol Diagram
Block Diagram
Functional DescriptionThe I2C core is partitioned into modules as shown in figure 1 and described below. Arbitration and synchronization logicIn 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 generatorThis 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 logicThe control logic generates the control signals for serial byte handling. Input filterInput signals are synchronized with the internal clock (clk), and spikes shorter than three oscillator periods are filtered out. Address comparatorThe 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. SupportThe core as delivered is warranted against defects for ninety days from purchase. Thirty days of phone and email technical support are included, starting with the first interaction. Additional maintenance and support options are available. VerificationThe 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. DeliverablesThe core is available in ASIC (synthesizable HDL) and FPGA (netlist) forms, and includes everything required for successful implementation:
On this page: Description | Implementation Results | Features | Applications | Symbol Diagram | Block Diagram | Functional Description | Support | Verification | Deliverables Download PDF datasheets for more info: ASIC | Altera | Xilinx
|
|||||||||||||||||||||
|
top of page |
||||||||||||||||||||||