总线 Driver 与设备 Driver 与设备控制器

Bus Driver vs Device Driver vs Device Controller

我在多篇有关嵌入式系统和协议的文章中遇到过上述术语。 如果您能帮助理解以下两者之间的区别,我将不胜感激:

我尝试通过比较为每一个找到简单的解释,但没有成功。 如果有人能举个例子/参考任何已知的实现,那可能会很有帮助。

这些术语的含义可能取决于您看到它们的上下文 - 以及作者所应用的解释。

A "device driver" 并不是嵌入式系统独有的 - 它是应用程序层和物理硬件之间的接口的任何软件。

设备控制器是接口连接器和处理器之间的硬件设备,它执行某些 I/O 操作,例如缓冲和定时,例如以太网 MAC、USB 或 CAN 控制器。

A "bus driver" 可能指的是硬件总线收发器设备(example RS-422 transceiver,或以太网 PHY)。

例如,假设 "device bus" 的 software/hardware 模型(作为总线拓扑中支持多个设备的通信接口)将如下所示: