Today, at the low end of the communication protocols, we find I²C (for ‘Inter-Integrated Circuit’,
protocol) and SPI (for ‘Serial Peripheral Interface’). Both protocols are well-suited for
communications between integrated circuits, for slow communication with on-board peripherals.
At the roots of these two popular protocols we find two major companies – Philips for I²C and
Motorola for SPI – and two different histories about why, when and how the protocols were
created.
The I²C bus was developed in 1982; its original purpose was to provide an easy way to connect a
CPU to peripherals chips in a TV set. Peripheral devices in embedded systems are often
connected to the microcontroller as memory-mapped I/O devices. One common way to do this is
connecting the peripherals to the microcontroller parallel address and data busses. This results in
lots of wiring on the PCB (printed circuit board) and additional ‘glue logic’ to decode the address
bus on which all the peripherals are connected. In order to spare microcontroller pins, additional
logic and make the PCBs simpler – in order words, to lower the costs – Philips labs in Eindhoven
(The Netherlands) invented the ‘Inter-Integrated Circuit’, IIC or I²C protocol that only requires 2
wires for connecting all the peripheral to a microcontroller. The original specification defined a
bus speed of 100 kbps (kilo bits per second). The specification was reviewed several times,
notably introducing the 400 kbps speed in 1995 and – since 1998, 3.4 Mbps for even faster
peripherals.
It seems the Serial Peripheral Protocol (SPI) was first introduced with the first microcontroller
deriving from the same architecture as the popular Motorola 68000 microprocessor, announced
in 1979. SPI defined the external microcontroller bus, used to connect the microcontroller
peripherals with 4 wires. Unlike I²C, it is hard to find a formal separate ‘specification’ of the SPI
bus – for a detailed ‘official’ description, one has to read the microcontrollers data sheets and
associated application notes.
Today, at the low end of the communication protocols, we find I²C (for ‘Inter-Integrated Circuit’,protocol) and SPI (for ‘Serial Peripheral Interface’). Both protocols are well-suited forcommunications between integrated circuits, for slow communication with on-board peripherals.At the roots of these two popular protocols we find two major companies – Philips for I²C andMotorola for SPI – and two different histories about why, when and how the protocols werecreated.The I²C bus was developed in 1982; its original purpose was to provide an easy way to connect aCPU to peripherals chips in a TV set. Peripheral devices in embedded systems are oftenconnected to the microcontroller as memory-mapped I/O devices. One common way to do this isconnecting the peripherals to the microcontroller parallel address and data busses. This results inlots of wiring on the PCB (printed circuit board) and additional ‘glue logic’ to decode the addressbus on which all the peripherals are connected. In order to spare microcontroller pins, additionallogic and make the PCBs simpler – in order words, to lower the costs – Philips labs in Eindhoven(The Netherlands) invented the ‘Inter-Integrated Circuit’, IIC or I²C protocol that only requires 2wires for connecting all the peripheral to a microcontroller. The original specification defined abus speed of 100 kbps (kilo bits per second). The specification was reviewed several times,notably introducing the 400 kbps speed in 1995 and – since 1998, 3.4 Mbps for even fasterperipherals.It seems the Serial Peripheral Protocol (SPI) was first introduced with the first microcontrollerderiving from the same architecture as the popular Motorola 68000 microprocessor, announcedin 1979. SPI defined the external microcontroller bus, used to connect the microcontrollerperipherals with 4 wires. Unlike I²C, it is hard to find a formal separate ‘specification’ of the SPIbus – for a detailed ‘official’ description, one has to read the microcontrollers data sheets andassociated application notes.
การแปล กรุณารอสักครู่..
