下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、RS232 實(shí)際就是把單片機(jī)或者ARM 等的 UART轉(zhuǎn)成 RS232 ,從而可以與PC 通訊,MAX232 就是實(shí)現(xiàn)這個(gè)功能。RS485 實(shí)際就是把單片機(jī)或者ARM 等的 UART轉(zhuǎn)成 RS485 ,從而實(shí)現(xiàn)差分信號(hào)的長(zhǎng)距離傳輸。 MAX487就是實(shí)現(xiàn)這個(gè)功能。S-232 與 RS-485都是 EIA (電子工業(yè)協(xié)會(huì))定義的串行通信標(biāo)準(zhǔn),目的在于保證不同廠家之間的產(chǎn)品相兼容。EIA 總共定義了三種串行通信標(biāo)準(zhǔn)RS-232 、RS-422與 RS-485 ,后者是前者的升級(jí),彌補(bǔ)前者某方面的不足。RS-232 存在通信距離短,速率低的問(wèn)題,RS-422 和 RS-485通過(guò)采用非平衡傳輸將最大
2、傳輸距離提高的4000 英尺(約1219 米),最大傳輸速率提高到10Mbps 。RS-232 、RS-422與 RS-485 只定義了串行數(shù)據(jù)的傳輸接口,并未涉及插件、 電纜和協(xié)議,用戶(hù)可以在高層建立自己的通信協(xié)議。下表對(duì)比三大標(biāo)準(zhǔn)并列出了各自的電氣特性:標(biāo)準(zhǔn)RS-232RS-422RS-485傳輸方式單端差分差分節(jié)點(diǎn)數(shù)1 發(fā) 1收1發(fā)10收1發(fā)32收最大傳輸距離50 英尺(約 15M )4000 英尺(約1219M )4000 英尺(約 1219M )最大波特率20kbps10Mbps10Mbps輸出差分電壓±5V- ±15V±2V- ±6V
3、7;2V- ±6V輸入差分電壓±3V- ±12V±200mV-± 6V±200mV-± 6V觸發(fā)電壓±3V±200mV±200mV輸出共模電壓-3V- +3V -1V- +3V輸入共模電壓-7V- +7V -7V- +12VRS232 是把 TTL 電平轉(zhuǎn)成 RS232 電平,故采用MAX232 ,可以讓單片機(jī)等的 UART接口與 PC 的 RS232 ,進(jìn)行通訊。RS485 是 TTL 電平轉(zhuǎn)成 RS485 電平,從而實(shí)現(xiàn)差分信號(hào)的長(zhǎng)距離傳輸。MAX487 就是實(shí)現(xiàn)這個(gè)功能232用3條線(xiàn),一個(gè)
4、發(fā)送一個(gè)接收。485用2條線(xiàn),根據(jù)兩條線(xiàn)的電壓差作0 或 1一個(gè)差分方式,一個(gè)電平方式電平方式容易受線(xiàn)纜上的電阻影響較大,所以通信距離有限差分方式較小,通信距離較遠(yuǎn)MAX487的功能是在輸入時(shí)分別把兩條總線(xiàn)RA 和 RB 上面的來(lái)的差動(dòng)信號(hào)轉(zhuǎn)變成單片機(jī)可以接收的單向0到 5V 的信號(hào)。當(dāng) A 比 B 高時(shí),變成5V 高電平, A 比 B 低時(shí)變成0V 低電平。在 CPU 向總線(xiàn)輸出時(shí),是把輸出高電平“ 1轉(zhuǎn)”為 RA 比 RB 高,是 RA 和 RB差動(dòng)輸出, 把輸出低電平 “0”轉(zhuǎn)成 A 比 B 低的差動(dòng)信號(hào)。 A 和 B 的電壓在 0 到 5V 范圍內(nèi)變化。用差動(dòng)信號(hào)傳數(shù)據(jù)的好處是抗共模干
5、擾性能強(qiáng),因此可以傳送的距離大。另外由于485是半雙工傳輸,處于接受狀態(tài)時(shí)RA 和 RB 差動(dòng)輸出口處于 “高阻 ”狀態(tài),使自己的信號(hào)不輸出,避免發(fā)生信號(hào)傳輸沖突。這樣就需要控制方向 (要么發(fā)送要么接收) 。MAX487 上面有兩個(gè)腳是用來(lái)控制自身的傳送方向的,把這兩個(gè)腳短路之后用0 或 1信號(hào)來(lái)控制它的方向。這個(gè)方向控制信號(hào)由單片機(jī)P1 口中的某一位P1_X 輸出 0或者 1來(lái)進(jìn)行控制。它的接口電路比較簡(jiǎn)單,和單片機(jī)有3 個(gè)接口, 分別是單片機(jī)的TXD (發(fā)送) ,RXD (接收)和 P1_X (方向控制) 。以下來(lái)自郭天祥電子網(wǎng)RS-485 總線(xiàn)通信系統(tǒng)的可靠性措施來(lái)源:網(wǎng)絡(luò)更新時(shí)間: 2
6、008-11-13 9:21:36瀏覽次數(shù): 51161 問(wèn)題的提出在工業(yè)控制及測(cè)量領(lǐng)域較為常用的網(wǎng)絡(luò)之一就是物理層采用RS-485 通信接口所組成的工控設(shè)備網(wǎng)絡(luò)。這種通信接口可以十分方便地將許多設(shè)備組成一個(gè)控制網(wǎng)絡(luò)。從目前解決單片機(jī)之間中長(zhǎng)距離通信的諸多方案分析來(lái)看,RS-485 總線(xiàn)通信模式由于具有結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉、通信距離和數(shù)據(jù)傳輸速率適當(dāng)?shù)忍攸c(diǎn)而被廣泛應(yīng)用于儀器儀表、智能化傳感器集散控制、樓宇控制、監(jiān)控報(bào)警等領(lǐng)域。但RS485總線(xiàn)存在自適應(yīng)、自保護(hù)功能脆弱等缺點(diǎn),如不注意一些細(xì)節(jié)的處理,常出現(xiàn)通信失敗甚至系統(tǒng)癱瘓等故障,因此提高 RS-485 總線(xiàn)的運(yùn)行可靠性至關(guān)重要。2 硬件電路設(shè)
7、計(jì)中需注意的問(wèn)題2.1 電路基本原理某節(jié)點(diǎn)的硬件電路設(shè)計(jì)如圖1 所示,在該電路中,使用了一種RS-485 接口芯片SN75LBC184,它采用單一電源Vcc,電壓在 3 5.5 V 范圍內(nèi)都能正常工作。與普通的 RS-485 芯片相比,它不但能抗雷電的沖擊而且能承受高達(dá)8 kV 的靜電放電沖擊,片內(nèi)集成 4 個(gè)瞬時(shí)過(guò)壓保護(hù)管,可承受高達(dá)400 V 的瞬態(tài)脈沖電壓。因此,它能顯著提高防止雷電損壞器件的可靠性。對(duì)一些環(huán)境比較惡劣的現(xiàn)場(chǎng),可直接與傳輸線(xiàn)相接而不需要任何外加保護(hù)元件。該芯片還有一個(gè)獨(dú)特的設(shè)計(jì),當(dāng)輸入端開(kāi)路時(shí),其輸出為高電平,這樣可保證接收器輸入端電纜有開(kāi)路故障時(shí),不影響系統(tǒng)的正常工作。
8、另外,它的輸入阻抗為 RS485標(biāo)準(zhǔn)輸入阻抗的2 倍( 24 k ),故可以在總線(xiàn)上連接64 個(gè)收發(fā)器。芯片內(nèi)部設(shè)計(jì)了限斜率驅(qū)動(dòng),使輸出信號(hào)邊沿不會(huì)過(guò)陡,使傳輸線(xiàn)上不會(huì)產(chǎn)生過(guò)多的高頻分量,從而有效扼制電磁干擾。在圖1 中,四位一體的光電耦合器TLP521 讓單片機(jī)與 SN75LBC184之間完全沒(méi)有了電的聯(lián)系, 提高了工作的可靠性。 基本原理為:當(dāng)單片機(jī) P1.6=0 時(shí),光電耦合器的發(fā)光二極管發(fā)光,光敏三極管導(dǎo)通,輸出高電壓( 5 V ),選中RS485接口芯片的DE端,允許發(fā)送。當(dāng)單片機(jī)P1.6=1 時(shí),光電耦合器的發(fā)光二極管不發(fā)光,光敏三極管不導(dǎo)通,輸出低電壓(0 V ),選中RS485
9、接口芯片的RE端,允許接收。SN75LBC184的 R端(接收端)和D 端(發(fā)送端)的原理與上述類(lèi)似。2.2 RS-485的 DE控制端設(shè)計(jì)在 RS-485 總線(xiàn)構(gòu)筑的半雙工通信系統(tǒng)中,在整個(gè)網(wǎng)絡(luò)中任一時(shí)刻只能有一個(gè)節(jié)點(diǎn)處于發(fā)送狀態(tài)并向總線(xiàn)發(fā)送數(shù)據(jù),其他所有節(jié)點(diǎn)都必須處于接收狀態(tài)。如果有2 個(gè)節(jié)點(diǎn)或 2 個(gè)以上節(jié)點(diǎn)同時(shí)向總線(xiàn)發(fā)送數(shù)據(jù),將會(huì)導(dǎo)致所有發(fā)送方的數(shù)據(jù)發(fā)送失敗。因此,在系統(tǒng)各個(gè)節(jié)點(diǎn)的硬件設(shè)計(jì)中,應(yīng)首先力求避免因異常情況而引起本節(jié)點(diǎn)向總線(xiàn)發(fā)送數(shù)據(jù)而導(dǎo)致總線(xiàn)數(shù)據(jù)沖突。以MCS51系列的單片機(jī)為例,因其在系統(tǒng)復(fù)位時(shí),I/O 口都輸出高電平, 如果把 I/O 口直接與 RS-485 接口芯片的驅(qū)
10、動(dòng)器使能端DE相連,會(huì)在 CPU復(fù)位期間使 DE為高,從而使本節(jié)點(diǎn)處于發(fā)送狀態(tài)。如果此時(shí)總線(xiàn)上有其他節(jié)點(diǎn)正在發(fā)送數(shù)據(jù),則此次數(shù)據(jù)傳輸將被打斷而告失敗,甚至引起整個(gè)總線(xiàn)因某一節(jié)點(diǎn)的故障而通信阻塞,繼而影響整個(gè)系統(tǒng)的正常運(yùn)行??紤]到通信的穩(wěn)定性和可靠性,在每個(gè)節(jié)點(diǎn)的設(shè)計(jì)中應(yīng)將控制 RS485總線(xiàn)接口芯片的發(fā)送引腳設(shè)計(jì)成DE端的反邏輯,即控制引腳為邏輯“ 1”時(shí), DE端為“ 0”;控制引腳為邏輯“0”時(shí), DE端為“ 1”。在圖 1 中 ,將 CPU的引腳 P1.6 通過(guò)光電耦合器驅(qū)動(dòng) DE端,這樣就可以使控制引腳為高或者異常復(fù)位時(shí)使 SN75LBC184始終處于接收狀態(tài),從而從硬件上有效避免節(jié)點(diǎn)
11、因異常情況而對(duì)整個(gè)系統(tǒng)造成的影響。這就為整個(gè)系統(tǒng)的通信可靠奠定了基礎(chǔ)。此外,電路中還有1 片看門(mén)狗MAX813L,能在節(jié)點(diǎn)發(fā)生死循環(huán)或其他故障時(shí),自動(dòng)復(fù)位程序,交出RS-485 總線(xiàn)控制權(quán)。這樣就保證整個(gè)系統(tǒng)不會(huì)因某一節(jié)點(diǎn)發(fā)生故障而獨(dú)占總線(xiàn),導(dǎo)致整個(gè)系統(tǒng)癱瘓。2.3避免總線(xiàn)沖突的設(shè)計(jì)當(dāng)一個(gè)節(jié)點(diǎn)需要使用總線(xiàn)時(shí),為了實(shí)現(xiàn)總線(xiàn)通信可靠,在有數(shù)據(jù)需要發(fā)送的情況下先偵聽(tīng)總線(xiàn)。 在硬件接口上, 首先將 RS-485 接口芯片的數(shù)據(jù)接收引腳反相后接至CPU的中斷引腳INT0。在圖 1 中, INT0 是連至光電耦合器的輸出端。當(dāng)總線(xiàn)上有數(shù)據(jù)正在傳輸時(shí), SN75LBC184的數(shù)據(jù)接收端(R 端)表現(xiàn)為變化的
12、高低電平,利用其產(chǎn)生的CPU下降沿中斷(也可采用查詢(xún)方式),能得知此時(shí)總線(xiàn)是否正“忙”,即總線(xiàn)上是否有節(jié)點(diǎn)正在通信。如果“空閑”,則可以得到對(duì)總線(xiàn)的使用權(quán)限,這樣就較好地解決了總線(xiàn)沖突的問(wèn)題。在此基礎(chǔ)上,還可以定義各種消息的優(yōu)先級(jí),使高優(yōu)先級(jí)的消息得以?xún)?yōu)先發(fā)送,從而進(jìn)一步提高系統(tǒng)的實(shí)時(shí)性。采用這種工作方式后,系統(tǒng)中已經(jīng)沒(méi)有主、從節(jié)點(diǎn)之分,各個(gè)節(jié)點(diǎn)對(duì)總線(xiàn)的使用權(quán)限是平等的,從而有效避免了個(gè)別節(jié)點(diǎn)通信負(fù)擔(dān)較重的情況。總線(xiàn)的利用率和系統(tǒng)的通信效率都得以大大提高,從而也使系統(tǒng)響應(yīng)的實(shí)時(shí)性得到改善,而且即使系統(tǒng)中個(gè)別節(jié)點(diǎn)發(fā)生故障,也不會(huì)影響其他節(jié)點(diǎn)的正常通信和正常工作。這樣使得系統(tǒng)的“危險(xiǎn)”分散了,從某
13、種程度上來(lái)說(shuō)增強(qiáng)了系統(tǒng)的工作可靠性和穩(wěn)定性。2.4 RS-485輸出電路部分的設(shè)計(jì)在圖 1 中, VD1 VD4為信號(hào)限幅二極管 , 其穩(wěn)壓值應(yīng)保證符合 RS-485 標(biāo)準(zhǔn), VD1 和 VD3取 12 V,VD2 和 VD4取 7 V, 以保證將信號(hào)幅度限定在 -7 +12 V 之間,進(jìn)一步提高抗過(guò)壓的能力。考慮到線(xiàn)路的特殊情況(如某一節(jié)點(diǎn)的 RS-485 芯片被擊穿短路),為防止總線(xiàn)中其他分機(jī)的通信受到影響, 在 SN75LBC184的信號(hào)輸出端串聯(lián)了 2 個(gè) 20 的電阻 R1和 R2,這樣本機(jī)的硬件故障就不會(huì)使整個(gè)總線(xiàn)的通信受到影響。 在應(yīng)用系統(tǒng)工程的現(xiàn)場(chǎng)施工中,由于通信載體是雙絞線(xiàn),
14、它的特性阻抗為 120 左右,所以線(xiàn)路設(shè)計(jì)時(shí),在 RS485網(wǎng)絡(luò)傳輸線(xiàn)的始端和末端應(yīng)各接 1 個(gè) 120 的匹配電阻(如圖 1 中的 R3),以減少線(xiàn)路上傳輸信號(hào)的反射。2.5 系統(tǒng)的電源選擇對(duì)于由單片機(jī)結(jié)合RS-485 組建的測(cè)控網(wǎng)絡(luò),應(yīng)優(yōu)先采用各節(jié)點(diǎn)獨(dú)立供電的方案,同時(shí)電源線(xiàn)不能與 RS-485 信號(hào)線(xiàn)共用同一股多芯電纜。 RS-485 信號(hào)線(xiàn)宜選用截面積 0.75 mm2 以上的雙絞線(xiàn)而不是平直線(xiàn) , 并且選用線(xiàn)性電源 TL750L05 比選用開(kāi)關(guān)電源更合適。 TL750L05 必須有輸出電容,若沒(méi)有輸出電容,則其輸出端的電壓為鋸齒波形狀,鋸齒波的上升沿隨輸入電壓變化而變化,加輸出電容后
15、,可以抑制該現(xiàn)象。3 軟件的編程SN75LBC184在接收方式時(shí),A、B 為輸入, R 為輸出;在發(fā)送方式時(shí),D為輸入, A、B 為輸出。當(dāng)傳送方向改變一次后,如果輸入未變化,則此時(shí)輸出為隨機(jī)狀態(tài),直至輸入狀態(tài)變化一次,輸出狀態(tài)才確定。顯然,在由發(fā)送方式轉(zhuǎn)入接收方式后,如果A、 B狀態(tài)變化前,R 為低電平,在第一個(gè)數(shù)據(jù)起始位時(shí),R 仍為低電平, CPU認(rèn)為此時(shí)無(wú)起始位,直到出現(xiàn)第一個(gè)下降沿,CPU才開(kāi)始接收第一個(gè)數(shù)據(jù),這將導(dǎo)致接收錯(cuò)誤。由接收方式轉(zhuǎn)入發(fā)送方式后,D變化前, 若 A 與 B 之間為低電壓, 發(fā)送第一個(gè)數(shù)據(jù)起始位時(shí),A 與 B 之間仍為低電壓,A、B 引腳無(wú)起始位,同樣會(huì)導(dǎo)致發(fā)送錯(cuò)
16、誤??朔@種后果的方案是:主機(jī)連續(xù)發(fā)送兩個(gè)同步字,同步字要包含多次邊沿變化( 如 55H , 0AAH),并發(fā)送兩次 ( 第一次可能接收錯(cuò)誤而忽略),接收端收到同步字后,就可以傳送數(shù)據(jù)了,從而保證正確通信。為了更可靠地工作,在RS485總線(xiàn)狀態(tài)切換時(shí)需要適當(dāng)延時(shí),再進(jìn)行數(shù)據(jù)的收發(fā)。具體的做法是在數(shù)據(jù)發(fā)送狀態(tài)下,先將控制端置“1”,延時(shí) 0.5 ms 左右的時(shí)間,再發(fā)送有效數(shù)據(jù),數(shù)據(jù)發(fā)送結(jié)束后,再延時(shí)0.5 ms,將控制端置“0”。這樣的處理會(huì)使總線(xiàn)在狀態(tài)切換時(shí),有一個(gè)穩(wěn)定的工作過(guò)程。數(shù)據(jù)通信程序基本流程圖如圖2 所示。單片機(jī)通信節(jié)點(diǎn)的程序基本上可以分為6 個(gè)主要部分,分別為預(yù)定義部分、初始化部
17、分、主程序部分、設(shè)備狀態(tài)檢測(cè)部分、幀接收部分和幀發(fā)送部分。預(yù)定義部分主要定義了通信中使用的握手信號(hào),用于保存設(shè)備信息的緩沖區(qū)和保存本節(jié)點(diǎn)設(shè)備號(hào)的變量。設(shè)備狀態(tài)檢測(cè)部分應(yīng)能在程序初始化后,當(dāng)硬件發(fā)生故障時(shí),作出相應(yīng)的反應(yīng)。主程序部分應(yīng)能接收命令幀,并根據(jù)命令內(nèi)容作出相應(yīng)的回應(yīng)。為縮短篇幅,這里僅給出主程序部分的代碼。如下所示:/*主程序流程*/while(1) / 主循環(huán)if(recv_cmd(&type)=0) /發(fā)生幀錯(cuò)誤或幀地址與本機(jī)/ 地址不符,丟棄當(dāng)前幀后返回continue;switch(type) case _ACTIVE_:/ 主機(jī)詢(xún)問(wèn)從機(jī)是否存在send_data(_OK_, 0,dbuf);/發(fā)送應(yīng)答信息break;case _GETDATA_:len = strlen(dbuf);send_data(_STATUS_, len,dbuf);/發(fā)送狀態(tài)信息break;default:break;/ 命令類(lèi)型錯(cuò)誤,丟棄當(dāng)前幀后返回4 結(jié)論RS-485 由于使用了差分電平傳輸信號(hào),傳輸距
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省綿陽(yáng)市北川羌族自治縣2024-2025學(xué)年九年級(jí)上學(xué)期1月期末考試歷史試卷(含答案)
- 湖南省永州市道縣2024-2025學(xué)年八年級(jí)上學(xué)期期末考試物理試卷(含答案)
- 廣東省茂名市高州市2024-2025學(xué)年九年級(jí)上學(xué)期期末質(zhì)量監(jiān)測(cè)道德與法治試題(含答案)
- 2025年度倉(cāng)儲(chǔ)租賃及倉(cāng)儲(chǔ)信息化系統(tǒng)建設(shè)協(xié)議3篇
- 2024前臺(tái)工作計(jì)劃范本(30篇)
- 音頻通信知識(shí)培訓(xùn)課件
- 2025年度年度財(cái)務(wù)審計(jì)與合規(guī)審查合同3篇
- 2025年度廠房改造裝修與節(jié)能照明系統(tǒng)合同3篇
- 2024藥房員工特殊工種勞動(dòng)保護(hù)及職業(yè)健康合同3篇
- 2024物業(yè)管理承包經(jīng)營(yíng)合同書(shū)
- 中美歐規(guī)范樁基承載力計(jì)算設(shè)計(jì)對(duì)比
- 外科洗手操作考核評(píng)分表
- 復(fù)旦大學(xué)外國(guó)留學(xué)生入學(xué)申請(qǐng)表
- 長(zhǎng)安汽車(chē)發(fā)動(dòng)機(jī)水溫高故障案例分析處置
- 瞬時(shí)單位線(xiàn)法計(jì)算洪水
- 氣力輸灰安裝施工方案
- 抗精神疾病藥物與麻醉課件
- 2022工業(yè)網(wǎng)關(guān)技術(shù)標(biāo)準(zhǔn) 第1部分:通用技術(shù)要求
- 經(jīng)典紅歌歌譜100首-
- Linux操作系統(tǒng)應(yīng)用(麒麟系統(tǒng))PPT完整全套教學(xué)課件
- 初三物理寒假課程
評(píng)論
0/150
提交評(píng)論