有时候电路上需要实现一主多从时,通常用到的通讯协议通常是SPI,IIC或者说是RS485这种总线形式的。尤其是IIC,更是板内通信最为简单便捷的,仅需两根线即可实现总线。
但是有时候由于一些原因不得不也想到另一种设计,即让串口实现一主多从这种总线设计。比如板内主MCU只有一个串口,但是想使用这一个串口与另外两个MCU通讯。但是我们知道常规的串口只可以一对一发送,即主机RX连到从机TX,主机TX连到从机RX实现通讯。那么一主多从如何实现呢?
有时候电路上需要实现一主多从时,通常用到的通讯协议通常是SPI,IIC或者说是RS485这种总线形式的。尤其是IIC,更是板内通信最为简单便捷的,仅需两根线即可实现总线。
但是有时候由于一些原因不得不也想到另一种设计,即让串口实现一主多从这种总线设计。比如板内主MCU只有一个串口,但是想使用这一个串口与另外两个MCU通讯。但是我们知道常规的串口只可以一对一发送,即主机RX连到从机TX,主机TX连到从机RX实现通讯。那么一主多从如何实现呢?
又因为串口空闲为高电平,低电平为数据/起始位,所以从机发送只需要通过使用二极管搭建与门,将两个从机的TX进行与逻辑运算。这样从机1发送的时候,由于从机2处于发送空闲状态(输出1),那么从机2不会干涉从机1的发送信息。
最好是使用逻辑门做,这个串口一主多从使用的比较少,算是一种比较邪修的方式我感觉。一般一主多从大家还是使用I2C或者说是SPI多一些,或者就是RS485等的通讯。