RS-485總線在多節(jié)點(diǎn)遠(yuǎn)距離通信系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
介紹RS-485接口SN65HVD3082E芯片的結(jié)構(gòu)、性能特點(diǎn),及以該芯片為主的通信系統(tǒng)的構(gòu)成,包括它們的硬件電路和軟件設(shè)計(jì)方法;說明了該系統(tǒng)的優(yōu)點(diǎn)及應(yīng)用領(lǐng)域。
SN65HVD3082E芯片是一款為RS-485數(shù)據(jù)總線網(wǎng)絡(luò)而設(shè)計(jì)的半雙工的收發(fā)器。它由+5V供電,與TIA/EIA-485A標(biāo)準(zhǔn)完全兼容。通過控制輸出轉(zhuǎn)換時(shí)序,它能夠在長距離雙絞線電纜上傳輸高達(dá)200kbps速率的信號(hào)。它的供電電流極低,一般小于0.6mA,當(dāng)處于不活動(dòng)的關(guān)閉模式時(shí),供電電流只有幾個(gè)nA,所以特別適合于低功耗方面的應(yīng)用。它具有寬的共模抑制范圍和高靜電放電保護(hù)能力,因此,適用于噪聲容限要求很高的場合。SN65HVD3082E與SN75176的工業(yè)標(biāo)準(zhǔn)封裝相匹配。它的上電復(fù)位電路能使輸出保持高阻狀態(tài)直至供電電壓穩(wěn)定,其熱關(guān)斷功能還可以保護(hù)芯片不因系統(tǒng)故障而損壞。它的管腳圖如圖1所示,內(nèi)部功能圖如圖2所示。其他特性還有:在一條總線上可以多達(dá)256個(gè)節(jié)點(diǎn);總線引腳上的防靜電保護(hù)超過16kV,接收器帶故障保護(hù)。
2.1系統(tǒng)總體設(shè)計(jì)
系統(tǒng)由一臺(tái)IBM-PC機(jī)和多個(gè)AT89C52單片機(jī)構(gòu)成,采用主從式結(jié)構(gòu),以AT89C52芯片為核心的從機(jī)既可以獨(dú)立地完成數(shù)據(jù)處理和控制任務(wù),又可以將數(shù)據(jù)傳給上位PC機(jī)。PC機(jī)將這些數(shù)據(jù)進(jìn)行處理、顯示、打印,同時(shí)將各種控制命令傳給各個(gè)從機(jī),以實(shí)現(xiàn)集中管理和最優(yōu)控制。它們之間的通信由SN65HVD3082E芯片完成。組成框圖如圖3所示。在接口之間接有匹配電阻,用于吸收總線上的反射信號(hào),保證正常傳播信號(hào)干凈、無毛刺(其取值與總線的特性阻抗相當(dāng))。當(dāng)總線上沒有信號(hào)傳輸時(shí),總線處于懸浮狀態(tài),容易受干擾信號(hào)的影響。在總線上,差分信號(hào)的正端和+5V電源間接一個(gè)10kΩ的電阻;正端和負(fù)端之間也接一個(gè)10kΩ的電阻;負(fù)端和地之間再接一個(gè)10kΩ的電阻,形成一個(gè)電阻網(wǎng)絡(luò)。當(dāng)總線上沒有信號(hào)傳輸時(shí),正端的電平大約為3.2V,負(fù)端的電平大約為1.6V,即使有干擾信號(hào),也很難產(chǎn)生串行通信的起始信號(hào)0,從而增加了總線抗干擾的能力。
2.2RS232/RS485的轉(zhuǎn)換部分
選用DAQ485A系列產(chǎn)品DAQ485A-6N作為RS-232/RS-485轉(zhuǎn)換器。其一端為DB9S插頭,可直接與PC機(jī)的RS-232口相連,而其另一端為四端子接線座,分別為A、B、GND、VCC。可由計(jì)算機(jī)RS-232口直接供電,亦可在VCC和GND間外接+5V直流電源;DQ485A轉(zhuǎn)換器內(nèi)部具有自動(dòng)處理功能,外部電源不影響內(nèi)部竊電,內(nèi)部竊電亦不影響外部電源,因此,兩者可分而供之,亦可同時(shí)供之。DAQ485A-6N系列使用了TI的E系列ESD保護(hù)器件,因此,適合于長線室外使用。圖4是RS-232/RS-485轉(zhuǎn)換器與RS-485的連線圖。
本系統(tǒng)軟件設(shè)計(jì)以Windows 98為平臺(tái),采用Delphi和C++語言設(shè)計(jì),下面僅介紹上下位機(jī)通信及界面的主要程序的設(shè)計(jì)思想和設(shè)計(jì)方法。通信軟件必須符合RS-485協(xié)議標(biāo)準(zhǔn)。因此上位機(jī)與下位機(jī)之間嚴(yán)格實(shí)行主從結(jié)構(gòu)形式的通信方式,上位機(jī)為主,下位機(jī)為從。一切都由主機(jī)控制,任一時(shí)刻主機(jī)只與一臺(tái)從機(jī)傳輸信息,從機(jī)之間不能直接通信,若要通信可通過主機(jī)實(shí)觀。數(shù)據(jù)通信波特率定為9600波特,每個(gè)從機(jī)都有唯一的地址號(hào),用來區(qū)分各從機(jī)。單片機(jī)的數(shù)據(jù)通信由串口完成,定時(shí)器T1為波特發(fā)生器,數(shù)據(jù)傳送格式為1位起始位,8位數(shù)據(jù)位,1位停止位,1位可編程位(TB8)。工作方式:定時(shí)器T1設(shè)置為方式2,串口設(shè)置為工作方式3。單片機(jī)通過中斷方式發(fā)送和接收數(shù)據(jù)。由于RS-485是一種半雙工通信方式,發(fā)送與接收共用同一物理信道。各任何時(shí)刻只允許一臺(tái)單機(jī)處于發(fā)送狀態(tài)。因此,要求應(yīng)答的單機(jī)必須在偵聽到總線上呼叫信號(hào)已經(jīng)發(fā)送完畢,且沒有其他單機(jī)發(fā)出應(yīng)答信號(hào)的情況下才能應(yīng)答。主從機(jī)的時(shí)序有嚴(yán)格的要求,若配合不好會(huì)發(fā)生總線沖突,使系統(tǒng)的通信癱瘓,無法正常。應(yīng)采取的措施:(1)復(fù)位時(shí),主從機(jī)均應(yīng)處于接收狀態(tài)。在軟件設(shè)計(jì)時(shí),應(yīng)使系統(tǒng)上電或正式通信前對串口做幾次空操作,清除端口的非法數(shù)據(jù)和命令;(2)控制端RE和DE信號(hào)的有效脈寬應(yīng)大于發(fā)送或接收一幀信號(hào)的寬度;(3)總線上所連接的各單機(jī)的發(fā)送控制信號(hào)在時(shí)序上應(yīng)完全隔開,避免總線沖突。主機(jī)程序流程圖如圖5所示,下位機(jī)通信框圖如圖6所示。
由于RS485總線傳輸距離長(1200米以上),而且其傳輸線通常暴露于戶外,因此極易因?yàn)槔讚舻仍蛟馐苓^電壓的沖擊。而RS-485收發(fā)器工作電壓較低(+5V左右),其本身耐壓也非常低(-7V~+12V),一旦遭受過電壓的沖擊,就會(huì)被擊穿損壞。在有強(qiáng)烈的浪涌電能出現(xiàn)時(shí),甚至?xí)故瞻l(fā)器爆裂,線路板燒焦。因此,除采用防護(hù)電路、選擇優(yōu)質(zhì)的防護(hù)器件、良好的PCB板設(shè)計(jì)之外,還采用可靠的接地技術(shù)(接地電阻不能超過10Ω)。
由RS-485總線構(gòu)成的多節(jié)點(diǎn)遠(yuǎn)距離通信系統(tǒng)可用于倉庫通信、電視監(jiān)控、機(jī)器人焊接、考勤機(jī)、水表集抄、高速公路收費(fèi)、脈沖功率裝置、數(shù)據(jù)采集、工業(yè)控制等諸多系統(tǒng)中。它具有傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)、價(jià)格低、穩(wěn)定性好、電路簡單等許多優(yōu)點(diǎn),應(yīng)用前景廣闊。