新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機RS-485多機通訊的實現(xiàn)

單片機RS-485多機通訊的實現(xiàn)

作者: 時間:2012-07-19 來源:網(wǎng)絡(luò) 收藏

1 簡介
  RS-485串行總線接口標(biāo)準(zhǔn)以差分平衡方式傳輸信號,具有很強的抗共模干擾的能力,允許一對雙絞線上一個發(fā)送器驅(qū)動多個負(fù)載設(shè)備。工業(yè)現(xiàn)場控制系統(tǒng)中一般都采用該總線標(biāo)準(zhǔn)進行數(shù)據(jù)傳輸,而且一般采用RS-485串行總線接口標(biāo)準(zhǔn)的系統(tǒng)都使用8044芯片作為通信控制器或各分機的CPU。8044芯片內(nèi)部集成了SDLC,HDLC等通信協(xié)議,并且集成了相應(yīng)的硬件電路,通過硬件電路和標(biāo)準(zhǔn)協(xié)議的配合,使系統(tǒng)的通訊準(zhǔn)確、可靠、快速。8044在市場上日漸稀少,雖然有8344可替代,但幾百元的價位與普通單片機幾元至幾十元的價位相差甚遠(yuǎn),用戶在開發(fā)一般的單片機應(yīng)用系統(tǒng)時,都希望能用簡單的電路和簡單的通信協(xié)議完成數(shù)據(jù)交換。譬如:利用單片機本身所提供的簡單串行接口,加上總線驅(qū)動器如SN75176等組合成簡單的RS-485通訊網(wǎng)絡(luò)。本文所述的方法已成功地應(yīng)用于工程項目,一臺主機與60臺從機通訊,通訊波特率達(dá)64KBPS。
2 總線驅(qū)動器芯片SN75176
  常用的RS-485總線驅(qū)動芯片有SN75174,SN75175,SN75176。SN75176芯片有一個發(fā)送器和一個接收器,非常適合作為RS-485總線驅(qū)動芯片。
  SN75176及其邏輯如圖1所示。

點擊在新窗口中瀏覽產(chǎn)品

圖1 SN75176芯片及其邏輯關(guān)系

3 RS-485方式構(gòu)成的多機通信原理
  在由單片機構(gòu)成的多機系統(tǒng)中,一般采用主從式結(jié)構(gòu):從機不主動發(fā)送命令或數(shù)據(jù),一切都由主機控制。并且在一個多機通信系統(tǒng)中,只有一臺單機作為主機,各臺從機之間不能相互通訊,即使有信息交換也必須通過主機轉(zhuǎn)發(fā)。采用RS-485構(gòu)成的多機通訊原理框圖,如圖2所示。

點擊在新窗口中瀏覽產(chǎn)品
圖2 采用RS-485構(gòu)成的多機通訊原理框圖

  在總線末端接一個匹配電阻,吸收總線上的反射信號,保證正常傳輸信號干凈、無毛刺。匹配電阻的取值應(yīng)該與總線的特性阻抗相當(dāng)。
  當(dāng)總線上沒有信號傳輸時,總線處于懸浮狀態(tài),容易受干擾信號的影響。將總線上差分信號的正端A+和+5電源間接一個10K的電阻;正端A+和負(fù)端B-間接一個10K的電阻;負(fù)端B-和地間接一個10K的電阻,形成一個電阻網(wǎng)絡(luò)。當(dāng)總線上沒有信號傳輸時,正端A+的電平大約為3.2V,負(fù)端B-的電平大約為1.6V,即使有干擾信號,卻很難產(chǎn)生的起始信號0,從而增加了總線抗干擾的能力。
4 通信規(guī)則
  由于RS-485通訊是一種半雙工通訊,發(fā)送和接收共用同一物理信道。在任意時刻只允許一臺單機處于發(fā)送狀態(tài)。因此要求應(yīng)答的單機必須在偵聽到總線上呼叫信號已經(jīng)發(fā)送完畢,并且沒有其它單機發(fā)出應(yīng)答信號的情況下,才能應(yīng)答。半雙工通訊對主機和從機的發(fā)送和接收時序有嚴(yán)格的要求。如果在時序上配合不好,就會發(fā)生,使整個系統(tǒng)的通訊癱瘓,無法正常工作。要做到總線上的設(shè)備在時序上的嚴(yán)格配合,必須要遵從以下幾項原則:
  1) 復(fù)位時,主從機都應(yīng)該處于接收狀態(tài)。
  SN75176芯片的發(fā)送和接收功能轉(zhuǎn)換是由芯片的 RE* ,DE端控制的。RE*=1,DE=1時,SN75176發(fā)送狀態(tài);RE*=0,DE=0時,SN75176處于接收狀態(tài)。一般使用單片機的一根口線連接RE*,DE端。在上電復(fù)位時,由于硬件電路穩(wěn)定需要一定的時間,并且單片機各端口復(fù)位后處于高電平狀態(tài),這樣就會使總線上各個分機處于發(fā)送狀態(tài),加上上電時各電路的不穩(wěn)定,可能向總線發(fā)送信息。因此,如果用一根口線作發(fā)送和接收控制信號,應(yīng)該將口線反向后接入SN75176的控制端,使上電時SN75176處于接收狀態(tài)。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉