485通信自動收發數據實現

       485通信是工業控制中很常用的一種通信方式,但是編寫通信程序的時候需要在代碼中手動控制接收和發送,如果接收和發送邏輯沒處理好往往會造成通信故障,實現起來比較麻煩。那能不能讓485通信是接收和發送數據可以自動切換,不用程序去控制。就像使用串口一樣,直接讀數據或者寫數據就行,不用關心當前總線的狀態。

       網上查找資料後發現485的自動收發硬件電路有很多,通過外部搭建的模擬電路就可以實現接收和發送數據的自動切換,這種電路的器件參數和穩定性可靠性都要根據使用環境去測試,使用起來比較麻煩。查找資料後發現MAX13487E這個芯片自帶了接收和發送自動切換功能。現在看一下這個芯片的使用方法。

    先看看芯片介紹

內部結構如下

下來看看各個引腳的功能

通過引腳功能可以看到,2腳爲低電平時爲接收功能,2腳爲高電平時爲自動方向控制功能。3腳爲高電平時爲正常操作模式,3腳爲低電平時爲關斷模式。將2腳和3腳都接高電平時,就能實現自動收發數據自動切換了。

應用電路如下

將2、3腳都接VCC,這樣485通信時就可以像操作串口那樣,直接去讀數據或者寫數據了,代碼中就不用關心接收和發送引腳的電平了。

如果通信需要隔離的話,可以參考官方推薦的光耦隔離電路:

RXD和TXD直接接單片機串口的接收和發送端就行了。

這個芯片實現485通信時收發數據自動切換電路最簡單,不用增加額外的器件,通信的穩定性和可靠性都有保證。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章