<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機RS-485多機通訊的實(shí)現

單片機RS-485多機通訊的實(shí)現

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

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

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

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

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

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

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>