2016年9月7日 星期三

Published 下午4:25 by with 0 comment

[實驗] RS-485 初步探討

本次實驗的主角是RS-485。

這是個MAX485晶片所組成的RS-485模組,方便我們使用。

RS485是一種優秀的通訊機制,可以進行長距離傳送、穩定可靠,
據說波音飛機上就使用這種機制當作控制用的通訊。

根據 MAX485 的 datasheet,可以看到基本的點對點通訊是這樣連接的。
其中的控制接腳 RE 與 DE 分別代表 接收 與 發送 的信號方向切換。
我們在實際操作的時候,會將 RE 與 DE 相連在一起由一個 IO 信號去切換通訊。
也就是像這樣連接:
旁邊那顆 limit switch 是用來手動切換電位的。


如果多機通訊,可以有這樣的連接方式

如圖所示可以做成多機通訊模式。
為了簡化系統,我們設定某一台為主機,其他為從機。
主機的  RE 與 DE 預設電位為 High ,發完訊號後切為 Low 等待從機回應。
從機的  RE 與 DE 預設電位為 Low
收到信號後與機碼核對是不是給自己的訊息,確認後切為 High 後發送。

根據這樣的方式,將模組和線路布置在麵包板上

然後每一個 MAX485 的模組都接上 CP2102 來讀取訊號或發送。

通訊實驗的結果如下:
主機發送了 "Host" 這個字串,三隻從機都有收到。

把主機按鈕壓下,使得RE和DE電位成為Low,成為接收模式。
同時從機第一號按鈕也壓著,使得RE和DE電位成為High,成為發送模式。
從機一號發送字串 " Slave1" 使得所有通訊端都能收到。



同理,控制主機和從機的發送與接受切換,就可以像這樣自由的互相通訊。
之後正式的多機通訊,則必須使用單晶片做通訊切換。


      edit

0 意見:

張貼留言