485通信協(xié)議有哪些應用方案設計?
一、什么是485隔離電路?
RS-485是一種常用的數據通信協(xié)議,廣泛應用于工業(yè)控制系統(tǒng)、樓宇自動化、安防系統(tǒng)等領域。在某些應用中,為了防止電氣噪聲干擾或電氣沖擊,需要對RS-485接口進行隔離。以下情況需要485隔離:
1.RS485外部接口連接高電壓時,容易損壞后端電路,甚至在使用端產生觸電。
2.RS485的通信節(jié)點距離太遠時,每個節(jié)點的參考地都接于本地的大地,當兩端大地之間存在較大的壓差時,地電勢會以共模電壓的方式疊加在信號線上,可能超出端口可承受的共模電壓范圍,影響正常通信,甚至會損壞后端電路。
3.距離較遠的485通信節(jié)點之間的地平面利用線纜進行連接時,地線會和大地形成地環(huán)路,耦合外部共模噪聲,產生地環(huán)路電流,可能會導致整個電路系統(tǒng)失效。
示例圖(僅供參考)
二、有哪些方法可以實現485隔離?
想要做到485電路上的隔離需要采用隔離器件,如光耦隔離器、磁隔離器、隔離芯片等。光耦器是最常用的隔離器件,且成本較低。光耦的速率要滿足波特率的要求,一般選擇高速光耦做485隔離。隔離芯片相對于光耦,PCB面積更小,但成本也更高。常使用的隔離芯片方案一般有專用數字隔離芯片、集成式485隔離芯片和帶電源的隔離芯片。
具體實現步驟如下:
1.使用隔離器:首先,需要選擇一款適合的隔離器。常見的RS-485隔離器有ADI的ADM2483、TI的ISO3082等。這些隔離器通常集成了RS-485收發(fā)器和隔離電源,可以提供高達2500V的隔離電壓。
2.電源設計:隔離器需要兩個獨立的電源,一個用于隔離前的電路(如MCU),一個用于隔離后的電路(如RS-485總線)。隔離電源可以使用隔離型DC-DC轉換器來實現。
3.接口設計:RS-485接口通常需要一個120歐姆的終端電阻,用于抑制信號反射。此外,還可以添加TVS二極管和磁珠,用于防止靜電放電和濾除高頻噪聲。
4.布線設計:為了減少電磁干擾,RS-485的A、B線應該盡可能地走在一起,且盡量遠離高速或高電流的信號線。
5.軟件設計:在軟件中,需要正確設置RS-485收發(fā)器的工作模式(如半雙工或全雙工),并根據需要設置數據速率、數據位、停止位和校驗位。
我們需要注意的是,具體的設計可能還需要根據實際的應用需求和環(huán)境條件進行調整。同時還需要注意隔離器件的選型和質量,確保隔離電路的穩(wěn)定性和可靠性。
三、485隔離電路的作用
提高通信的可靠性和穩(wěn)定性:隔離電路可以防止電氣噪聲和電氣沖擊對系統(tǒng)造成干擾,從而提高系統(tǒng)的可靠性和穩(wěn)定性。
保護設備安全:防止高電壓沖擊對設備造成損壞,從而保護設備的安全。
提高信號質量:隔離電路可以減少信號傳輸過程中的干擾,從而提高信號的質量。
擴展系統(tǒng)距離:RS-485接口可以支持長距離的數據傳輸,而隔離電路可以進一步擴展這個距離。
提高系統(tǒng)靈活性:使得系統(tǒng)在設計和布局上更加靈活,可以根據需要將設備放置在不同的位置。
兼容性好:RS-485隔離電路方案可以與各種設備和系統(tǒng)兼容,方便系統(tǒng)的集成和擴展。
在電參數儀的設計中,數據采集由單片機AT89C52負責,上位PC機主要負責通信(包括與單片機之間的串行通信和數據的遠程通信),以及數據處理等工作。在工作中,單片機需要定時向上位PC機傳送大批量的采樣數據。通常,主控PC機和由單片機構成的現場數據采集系統(tǒng)相距較遠,近則幾十米,遠則上百米,并且數據傳輸通道環(huán)境比較惡劣,經常有大容量的電器(如電動機,電焊機等)啟動或切斷。為了保證下位機的數據能高速及時、安全地傳送至上位PC機,單片機和PC機之間采用RS485協(xié)議的串行通信方式較為合理。
實際應用中,由于大多數普通PC機只有常用的RS232串行通信口,而不具備RS485通信接口。因此,為了實現RS485協(xié)議的串行通信,必須在PC機側配置RS485/RS232轉換器,或者購買適合PC機的RS485卡。這些附加設備的價格一般較貴,尤其是一些RS485卡具有自己獨特的驅動程序,上位PC機的通信一般不能直接采用WINDOW95/98環(huán)境下有關串口的WIN32通信API函數,程序員還必須熟悉RS485卡的應用函數。為了避開采用RS485通信協(xié)議的上述問題,我們決定自制RS485/RS232轉換器來實現單片機和PC機之間的通信。
單片機和PC機之間的RS485通信硬件接口電路的框圖,如下圖1所示。
從圖1可看出,單片機的通信信號首先通過光隔,然后經過RS485接口芯片,將電平信號轉換成電流環(huán)信號。經過長距離傳輸后,再通過另一個RS485接口芯片,將電流環(huán)信號轉換成電平信號。
圖1單片機與PC機之間的RS485通信硬件接口電路的框圖(略)
該電平信號再經過光電隔離,最后由SR232接口芯片,將該電平信號轉換成與PC機RS232端口相兼容的RS232電平。由于整個傳輸通道的兩端均有光電隔離,故無論是PC機還是單片機都不會因數據傳輸線上可能遭受到的高壓靜電等的干擾而出現“死機”現象。
2接口電路的具體設計
2-1單片機側RS485接口電路的設計
單片機側RS485接口電路如圖2所示。
AT89C52單片機的串行通信口P30(RXD)和P31(TXD)的電平符合TTL/CMOS標準(邏輯“0”的電平范圍為0V~0.8V,邏輯“1”的電平為24V~VCC),它們首先通過光電隔離器件6N137隔離,以保護單片機不受傳輸通道的干擾影響,其中T01和?T02是為了增加光隔輸入端的驅動能力。光隔6N137的左側電源與單片機相同,右側必須采用另一組獨立的+5V電源,且兩組電源不能供電。
RS485協(xié)議的串行通信電路的設計與應用介紹
圖2單片機側RS485接口電路
RS485協(xié)議的串行通信電路的設計與應用介紹
圖3MAX490的內部結構
MAX490[4]是MAXIM公司的RS485接口芯片,其內部結構如圖3所示。MAX490支持單電源+5V工作,傳輸速率最高可達25MBPS,可實現全雙工通信。其RO、DI端的邏輯“0”的電平在-0.5V~0.8V之間,邏輯“1”的電平在20V~VCC之間。輸出電流環(huán)的電流在150μA~500μA之間。其工作狀態(tài)為:當A端電壓比B端電壓高200mV以上,RO輸出邏輯“1”,當A端電壓比B端電壓低200mV,RO輸出邏輯“0”;當DI為邏輯“0”,輸出Y低、Z高,當DI為邏輯“1”,輸出Y高、Z低。圖2中的電阻器RRS為MAX490的終端匹配電阻器。
2-2PC機側RS485/RS232轉換器的設計
RC機側RS485/RS232轉換器的電路如圖4所示。
該電路首先通過MAX490芯片將單片機側經遠距離傳輸的電流環(huán)信號轉換成TTL/CMOS標準
圖4PC機側RS485/RS232轉換器的實際電路(略)
RS485協(xié)議的串行通信電路的設計與應用介紹
圖5MAX232A的內部結構
的電平信號,然后通過光隔6N137隔離,得到兩個同樣是與TTL/CMOS電平相兼容的電平信號;最后,經RS232芯片轉換成RS232電平:其中RS232電平的邏輯“0”的電平范圍為-5V~-15V,邏輯“1”的電平范圍為+5V~+15V。這里RS232電平轉換芯片選 用MAXIM公司的MAX232A[4],該芯片采用單電源(+5V)供電,RS232電平由內部電荷泵產生,其內部結構如圖5所示。
在RS485/RS232轉換器的設計過程中需要特別注意的是電源的設計。單片機側和PC機側的RS485芯片理論上可共用一個電源。實際上,如果穩(wěn)壓電路安裝在單片機側,同時又將此電源直接拉至PC側的RS485/RS232轉換器中,由于電源線可能長達上百米,電源線的線徑又不可能選得很粗。如此遠距離的傳輸將會導致電源電壓在PC機側有一個很大的落差,這樣,有可能造成PC機側的MAX490或光隔IC702工作不正常。一個比較好的解決辦法是首先直接將單片機側變壓器輸出的交流信號經長距離傳輸至RS485/RS232轉換器,然后經整流和穩(wěn)壓,作為PC機側MAX490和光隔IC702的供電電源。此外,RS232和光隔左側的供電電源PCVCC可以利用PC機內部開關電源的+5V輸出,或者由外部穩(wěn)壓電源提供。