总线主设备

总线事务的发起者。它拥有主动使用权,可以发出读/写指令,不需要别人同意就能启动传输(只要总线上没有冲突)。

总线从设备

总线事务的响应者。它不能主动发起任何操作,只能挂在那里“听候差遣”。当主设备发出的地址正好落在它的地址范围内时,它必须做出响应(交出数据或写入数据)。

设备名称挂在什么总线上?总线角色(主/从)为什么这么分?
CPU高速总线(AHB)主设备它是大脑,必须高速主动取指令。
DMA高速总线(AHB)主设备它要搬运大量数据(如ADC波形),必须抢占总线高速搬运,不能等慢速总线。
内存(RAM/Flash)高速总线(AHB)从设备CPU和DMA都要高速读写它,它只能被动响应,但速度必须快,否则CPU会“饥饿”(等待)。
I2C / UART 控制器低速总线(APB)从设备CPU(主)通过低速总线写它们的发送寄存器,配置波特率。因为配置是一次性的,不追求高速。
外部I2C传感器(如MPU6050)外部物理线外部从设备这里要注意!芯片内部的I2C控制器(此时作为外部主设备),通过SCL/SDA线去读这个外部传感器(外部从设备)。此时内部低速总线(APB)上的“从设备(I2C控制器)”,在外部物理线上反转成了“主设备”——这就是双层主从的切换。