In hardware, people used to use parallel bus to communicate to other peripherals or devices on the same board. This is costly and more difficult to debug. Now we have these I2C and 1-WIRE protocols. The I2C stands for Inter-IC protocol which requires only 2 lines to connect to other devices (and it is shared line). These two lines (SDA and SCLK) carry data and clock in serial form, similar to SPI. Unlike SPI which in many cases need SC (select chip) pin, the SDA line can be shared with more than one device, because it is half-duplex. The rate spans from 100 kHz to 400 kHz.
1-WIRE is another protocol invented by Dallas Semiconductor. It is slower than I2C, but requires only one line (besides ground) to communicate. The line even can carry power too.
Another protocol is the popular USB. The newer is USB 2.0. It is standardized by IEEE with name IEEE 1284 This bus can also carry power and the speed is much higher than the two above. The speed can go upto 480 MBps (raw bits). The speed of USB 1.0 is 12 Mbps. From programming perspective, it is more diffcult to program than the other two. The protocol is mostly used in the PC world (including Apple Mac OS and Linux).
Firewire is also a good protocol, but seems is now not as popular as USB. Actually, Firewire (known also as I.LINK or IEEE 1394) was the first protocol that passed 100 Mbps rate.
Going down to internal microprocessor, there is HyperTransport from AMD and FrontSide Bus (FSB) from Intel. These protocols mostly used to communicate among modules in the same chip.
There are many other protocols, but seem they are not as popular as the above.
No comments:
Post a Comment