Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bus Driver vs Device Driver vs Device Controller

I've come across the above terms in more than a few articles regarding embedded systems and protocols. I would appreciate you help in understanding what is the difference between:

  • Bus driver
  • Device driver
  • Device controller

I tried finding simple explanations for each with comparison without success. If any one could give an example / refer to any known implementations it would probably be very helpful.

like image 854
Yarden Avatar asked Dec 08 '25 08:12

Yarden


1 Answers

The meaning of these terms may be dependent on the context in which you have seen them - and the interpretation the author has applied.

A "device driver" is not unique to embedded systems - it is any software that interfaces between an application layer and the physical hardware.

A device controller is a hardware device between an interface connector and a processor that performs some I/O operations such as buffering and timing, such as and Ethernet MAC, USB or CAN controller.

A "bus driver" may refer to a hardware bus transceiver device (example RS-422 transceiver, or an Ethernet PHY).

For example the software/hardware model of a hypothetical "device bus" (being a communication interface that supports multiple devices in a bus topology) would look as follows:

enter image description here

like image 109
Clifford Avatar answered Dec 11 '25 18:12

Clifford



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!