OBD-II
IEEE 1394 Firewire
multi-point bus
up to 63 devices
1394b = 786 Mbps (now up to 3.2 Gbps)
can supply power to peripheral devices
can use direct memory access (DMA)
used primarily for video cameras
SPI (Serial Peripheral Interface)
four wire interface (plus GND)
master device provides clock line
TTL or CMOS voltage levels and speeds (up to 70 Mbps)
SCK – serial clock (from master, shared by all chips)
MOSI – master output, slave input (shared by all chips)
MISO – master input, slave output (shared by all chips, slaves must have tri-state outputs)
CS – chip select (separate line to each slave from master)
typically data 8 bits with lsb first
can be longer and/or msb first based on slave chip
SPI send and receive subroutines in many programming languages
I2C
two wire interface (plus GND)
SCL – serial clock (bi-directional but typically provided by master)
SDA – serial data (bi-directional)
typically only master drives the clock
each chip has a pre-assigned unique address up to seven bits long
uses open-drain output drivers and pull-up resistors
TTL or CMOS voltage levels and speeds (up to 1 Mbps)
master issues a special start sequence and then sends the address of a specific chip
typically 8 data bits with msb first (depends on slave chip)
data is presented on SDA and then SCL is pulsed
lower throughput than SPI but fewer wires
does not require multiple CS lines from master like SPI
I2C send and receive subroutines in many programming languages
http://www.robot-electronics.co.uk/htm/using_the_i2c_bus.htm
Share with your friends: |