流控電路EN不太合理,是半驅動。節點數量少的時候,問題不大,節點數量大了就不行。
根據你的波特率并聯一個小電容在R9上才能形成全驅動。
按5V,3082收發芯片來計算的話,100k,0.1μ的電容,時間常數=10mS
High-level input voltage (D, DE, or RE inputs), VIH 2 VCC V
Low-level input voltage (D, DE, or RE inputs), VIL 0 0.8 V
從發送完到不再占用總線,也就是DE降到2V以下,需要9mS。
從發送完到開始接收總線上的數據,也就是RE降到0.8V以下,需要18mS。
所以,在波特率不低于1000bps的情況下,看起來不錯。就是怕叢機回數據太快,你的芯片還沒進入接收狀態導致丟數據。
例如一個極端數據0xff這樣的數據的情況。
這種數據,只有一個bit的起始位,數據位,停止位都是1,也就是后面連著9個bit的1,這9個bit的1所占時間不能長于9ms,剛好是1kbps。也就是低于1kbps就不正常了。不能得到完全的發送驅動。
所以波特率不改變,叢機回應時間確定的情況下,這個收發切換電路是不錯的。
|