Each specific IO device can be connected to others using specific interfaces, for instance, an IO device connects and is interfaced to an LCD controller, keyboard controller, or print controller using specific interface. Bus communication simplifies the number of connections and provides a common protocol for interconnecting different or same type of IO devices.
Any device that is compatible with a system’s IO device can be added to the system, provided that a suitable device driver program is available, and a device that is compatible with a particular IO bus can be integrated into any system that uses that type of bus. This makes the systems that use IO buses very flexible, in contrast to direct interconnections between the processor and each IO device, also, it allows system support to many different IO devices (depending on the needs of its users), and allows users to change the IO devices that are attached to the system as their requirements change.
The main shortcoming of an IO bus (and any other bus in general) is that each bus has a fixed bandwidth that must be shared by all the devices, which connect to the bus. Additionally, electrical constraints i.e. wire length and transmission line effects cause buses to have less bandwidth than using the same number of wires to connect just two devices.
IO devices communicate with the processor through an IO bus, which is separate from the memory bus that the processor uses to communicate with the memory system. Embedded systems connected internally on the same IC or systems at very short and long distances can be networked using the following types of IO buses, each operating according to specific protocols.
You may also read:
The world of electronics is constantly evolving, allowing designers and manufacturers to push the boundaries…
PIC microcontrollers are fabricated by Microchip Technology. PIC16C84 and PIC16F84 are the two microcontrollers in…
The ADD instruction tells the microcontroller’s CPU to add the source byte to register A…
8-bit microprocessors are limited in their speed (the number of instructions that can be executed…
The 68HC11 (also abbreviated as 6811 or HC11) is an 8-bit microcontroller that was introduced…
Mutual exclusion typically imposes some conditions on access to a given resource by two or…