有時(shí)候電路上需要實(shí)現(xiàn)一主多從時(shí),通常用到的通訊協(xié)議通常是SPI,IIC或者說(shuō)是RS485這種總線形式的。尤其是IIC,更是板內(nèi)通信最為簡(jiǎn)單便捷的,僅需兩根線即可實(shí)現(xiàn)總線。
但是有時(shí)候由于一些原因不得不也想到另一種設(shè)計(jì),即讓串口實(shí)現(xiàn)一主多從這種總線設(shè)計(jì)。比如板內(nèi)主MCU只有一個(gè)串口,但是想使用這一個(gè)串口與另外兩個(gè)MCU通訊。但是我們知道常規(guī)的串口只可以一對(duì)一發(fā)送,即主機(jī)RX連到從機(jī)TX,主機(jī)TX連到從機(jī)RX實(shí)現(xiàn)通訊。那么一主多從如何實(shí)現(xiàn)呢?
電路實(shí)現(xiàn):
主機(jī)的TX可以同時(shí)連接多個(gè)從機(jī)的RX,即主機(jī)發(fā)送類似廣播形式,每個(gè)從機(jī)都可以接收到主機(jī)發(fā)送的信息(發(fā)送的信息里要包含從機(jī)信息,這樣從機(jī)才知道主機(jī)是否是想和自己通訊)。
又因?yàn)榇诳臻e為高電平,低電平為數(shù)據(jù)/起始位,所以從機(jī)發(fā)送只需要通過(guò)使用二極管搭建與門,將兩個(gè)從機(jī)的TX進(jìn)行與邏輯運(yùn)算。這樣從機(jī)1發(fā)送的時(shí)候,由于從機(jī)2處于發(fā)送空閑狀態(tài)(輸出1),那么從機(jī)2不會(huì)干涉從機(jī)1的發(fā)送信息。
同理,也可以使用集成的邏輯門,例如SGM7SZ08這種雙輸入與門也是可以實(shí)現(xiàn)相同的效果。電路圖如下:
那么你覺(jué)得這個(gè)電路怎么樣呢?歡迎評(píng)論區(qū)留言分享。