概述
單片機在當(dāng)今的儀表及工業(yè)測控設(shè)備上應(yīng)用非常廣泛。其功能強大、外圍接口電路簡單,在構(gòu)成分布式系統(tǒng)時,其優(yōu)越性更顯突出。在分布式系統(tǒng)中,分機常采用多機通信方式,由于RS-485(以下簡稱485)通信接口的傳輸距離遠,連線少,所以被認為是一種很好的通信模式。然而,在實際應(yīng)用過程中,若使用不當(dāng),485接口會出現(xiàn)很多問題:首先是器件經(jīng)常損壞,有時對電源進行幾次連續(xù)的開關(guān)機操作之后,通信電路就會失控;再有,在通信過程中,數(shù)據(jù)傳輸經(jīng)常出現(xiàn)誤碼,而且誤碼率很高。在系統(tǒng)調(diào)試過程中,有兩次記錄可以證明這一點,記錄如表1所列。
表1 調(diào)試記錄
一、 硬件分析
首先分析通信電路失控的原因。系統(tǒng)在上電復(fù)位階段,所有485芯片都處于輸出狀態(tài),而且只有其中某一臺分機發(fā)出數(shù)據(jù)。以這臺分機輸出口的狀態(tài)為例進行分析,如圖1所示。A、B為485接口的兩只引腳,圖1(a)中的A1“An為高電平,B1”Bn為低電平;而A為低電平,B為高電平,其中一個分支的等效電路如圖1(b)所示。由于每個出口電路的電阻取值相同,都取22Ω,則C點電位接近An點電位。分機數(shù)量越大,兩點電位就越接近。485芯片為差動輸出方式,同時有拉電流和灌電流存在,電流I=U/R。由于電流I的存在,使485的差動輸出端各有0.3V的電壓降。485芯片由輸出口造成的功率損耗為
P=2IU0=2(U/R)×0.3=0.6U/R。
U=5-0.3×2=4.4V
R=22Ω
I=U/R=4.4V/22Ω=0.2A
P=0.6×0.2=0.12W=120mW
圖1
由于功耗P與485芯片的耗散功率接近,所以485芯片經(jīng)常有損壞的現(xiàn)象。為了解決這個問題,只有降低485芯片的功率損耗。由功耗P的計算公式可知,由于電壓一定,只有增大R值,才能減小功耗P。又因為在正常狀態(tài)下,485芯片的接收端處于差動輸入狀態(tài),這時,起發(fā)送作用的485芯片的輸出端除了導(dǎo)線的分布電容,再無其它負載,而在485芯片輸出相位切換時刻,可將分布電容看作是AB線短路,則I=U/(2R)。從工程應(yīng)用的實踐經(jīng)驗中得出,20mA電流環(huán),可使通信數(shù)據(jù)穩(wěn)定。
由I=U/(2R)得
R=U/2I=4.4/(20×2)=0.11kΩ=110Ω
在實際應(yīng)用中,R選用100Ω電阻,經(jīng)過這樣處理之后, 485芯片再也沒有出現(xiàn)損壞的現(xiàn)象。
以上分析是針對主、分機采用同一電源的對于各自獨立電源供電的通信網(wǎng)絡(luò),485輸出口的狀態(tài)最后仍然等效成如圖1(b)所示電路。
在主機通信口由輸出轉(zhuǎn)為輸入狀態(tài)時,分機還沒有接管通信總線,這時通信線處于懸浮狀態(tài),極易拾取噪聲。分機與主機采用同組電源時,其噪聲幅度與信號幅度接近,如圖2(a)所示;當(dāng)分機采用各自獨立電源時,其噪聲幅度大于2倍信號幅度,如圖2(b)所示。
圖2
二、 通信協(xié)議的影響
在數(shù)據(jù)傳輸過程中,每組數(shù)據(jù)都包含著特殊的意義,這就是通信協(xié)議。主、分機之間必須要有協(xié)議,這個協(xié)議是以通信數(shù)據(jù)的正確性為前提的,而數(shù)據(jù)傳輸?shù)恼_與否又完全決定于傳輸途徑,即傳輸線。也就是說保證傳輸線狀態(tài)穩(wěn)定與通信協(xié)議有直接聯(lián)系。
在主從式通信系統(tǒng)中,把數(shù)據(jù)傳輸過程劃分成幾個階段來分析,如圖(3)所示。在圖3a中,t0“t1為主機向分機發(fā)送命令時間。在t1時刻,主機將差動輸出狀態(tài)轉(zhuǎn)換成輸入狀態(tài)。在圖3(b)中,t2之后的時間為分機向主機傳送數(shù)據(jù)階段,分機由輸入狀態(tài)變成輸出狀態(tài)。由于單片機多機通信大多采用異步串行方式,所以發(fā)送數(shù)據(jù)后的TI置位和接收機RI的置位時間有一段時間差,而且接收機在轉(zhuǎn)換到輸出狀態(tài)前要有一段圖3圖4數(shù)據(jù)處理時間,這兩段時間加起來不可忽視。在圖3(c)中,t1”t2即為這段時間,這時串行通信總線處于懸浮狀態(tài),極易拾取空間干擾信號,這時主機與另外的分機可能會同時得到一個無規(guī)則的數(shù)據(jù),對分機而言可能是錯誤指令,造成錯誤反應(yīng)。為此,在通信協(xié)議中加入延時階段,來解決此問題。如圖4所示:在圖4(a)中,t1“t3為延時階段;在圖4(b)中t2”t4為分機的延時階段;圖4(c)中,t1“t2為分機的反應(yīng)時間。延時時間T的大小可按分機接到主機命令后的最長反應(yīng)時間的2倍來計算。
延時階段的作用可用圖4(c)來分析。在圖4(c)中,主機控制數(shù)據(jù)總線的時間由t1延長到t3,分機的反應(yīng)時刻為t2,但分機有效數(shù)據(jù)從延時后的t4時刻開始,這樣在通信總線上有主機和某臺分機同時控制的一段時間即t2”t3的時間段。由于主機和分機對總線控制的方向相同,所以不會對這兩臺機器的硬件造成影響,而且在t1“t2階段,總線一直處于低阻狀態(tài),不會產(chǎn)生噪聲,所以總線的抗干擾能力也加強了,提高了通信的穩(wěn)定性。
三、 通信協(xié)議框圖
通信協(xié)議實現(xiàn)的流程圖如圖5所示。
圖5
結(jié)束語
多機通信系統(tǒng)通信穩(wěn)定性還與各個分機的狀態(tài)有關(guān)。無論是軟件還是硬件,一旦某臺分機出現(xiàn)問題,都可能造成整個系統(tǒng)混亂。故障出現(xiàn)時,有兩種可能現(xiàn)象發(fā)生:其一是故障分機的485口被固定為輸出狀態(tài),通信總線硬件電路被鉗位,信號無法傳輸;其二是故障分機的485口被固定為輸入狀態(tài),在主機呼叫該號分機時,通信線路仍然有懸浮狀態(tài),還會出現(xiàn)噪聲信號。所以,在系統(tǒng)使用過程中,注意對整個系統(tǒng)的維護,以保證系統(tǒng)的穩(wěn)定性。該方法已在錦州消防安全儀器總廠的產(chǎn)品JB-TGZ4L-2000型消防報警控制器中得到應(yīng)用。
責(zé)任編輯:gt
-
電源
+關(guān)注
關(guān)注
184文章
17484瀏覽量
249155 -
單片機
+關(guān)注
關(guān)注
6030文章
44489瀏覽量
631989 -
接口
+關(guān)注
關(guān)注
33文章
8447瀏覽量
150722
發(fā)布評論請先 登錄
相關(guān)推薦
評論