RS485多機通訊

2022-03-26 08:55:28 字數 1125 閱讀 7105

常用的rs-485匯流排驅動晶元有sn75174,sn75175,sn75176。sn75176晶元有乙個傳送器和乙個接收器,非常適合作為rs-485匯流排驅動晶元。

sn75176及其邏輯如圖1所示。

3 rs-485方式構成的多機通訊原理

在由微控制器構成的多機序列通訊系統中,一般採用主從式結構:從機不主動傳送命令或資料,一切都由主機控制。並且在乙個多機通訊系統中,只有一台單機作為主機,各台從機之間不能相互通訊,即使有資訊交換也必須通過主機**。採用rs-485構成的多機通訊原理框圖,如圖2所示。

圖2 採用rs-485構成的多機通訊原理框圖

圖3 序列口模式3時序圖

微控制器在序列口傳送資料時,只要將8位資料位傳送完畢,ti標誌即建立,但此時應傳送的第九位資料位(若傳送位址幀時)和停止位尚未發出。如果在這是關閉傳送控制,勢必造成傳送幀資料不完整。如果微控制器多機通訊採用較高的波特率,幾條操作指令的延時就可能超過2位(或1位)資料的傳送時間,問題或許不會出現。但是如果採用較低波特率,如9600,傳送一位資料需100μs左右,單靠幾條操作指令的延時遠遠不夠,問題就明顯地暴露出來。接收資料時也同樣如此,微控制器在接收完8個資料位後就建立起ri訊號,但此時還未接收到第九位資料位(若接收位址幀時)和停止位。所以,接收端必須延時大於2位資料位的時間(1位資料位時間=1/波特率),再作應答,否則會發生匯流排衝突。

3) 匯流排上所連線的各單機的傳送控制訊號在時序上完全隔開。

為了保證傳送和接收訊號的完整和正確,避免匯流排上訊號的碰撞,對匯流排的使用權必須進行分配才能避免競爭,連線到匯流排上的單機,其傳送控制訊號在時間上要完全隔離。

總之,傳送和接收控制訊號應該足夠寬,以保證完整地接收一幀資料,任意兩個單機的傳送控制訊號在時間上完全分開,避免匯流排爭端。

程式流程框圖,參見圖4。其中:a)為傳送流程圖;b)為接收流程圖。

圖4 程式流程圖

注:延時t秒的取值

(1) 傳送位址幀時,t>2x(1/波特率),可以選取t=2.5x(1/波特率)。

(2) 傳送資料幀時,t>1x(1/波特率),可以選取t=1.5x(1/波特率)。

作者單位:中國科學院成都計算機應用研究所 四川成都(610041)

隔離通訊 RS485(一)

最近在使用modbus通訊,了解到modbus比較多是基於rs485的物理層。之前也有使用過rs485,不過都是使用前人成熟的方案,個人沒有仔細研究推敲。趁這次使用modbus好好學習了下,以保證後續通訊設計的可靠。一 rs485特點 1.電氣特性 採用差分訊號負邏輯。邏輯 1 以兩線間壓差 2v ...

通訊匯流排 RS485(二)

rs485通訊匯流排究竟使用幾根線?這個問題之前沒有深究過。趁著使用modbus通訊的機會仔細研究了下。通訊時使用隔離電源已沒有疑問 如有疑問,可參考我 rs485 一 文章 現在有個新的問題,使用隔離電源後,是否要將節點的隔離電源地連線在一起。原因分析 rs485兩邊的gnd不連線,如果將gnd連...

rs485除錯助手 RS485通訊連線方式是怎樣的

電工之家 www.dgzj.com qq群 2179090 rs485是串列埠的一種,常見的還有rs232,rs422,都屬於串列埠,它們都只是定義了電氣特性的通訊結構,並沒有定義資料傳輸的協議。有的人很容易混淆它們之間的概念,比如人家問你是什麼通訊協議,你回答是rs485,那麼別人就悶了。所謂的通...