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