|
單片機RS-485多機通訊的實現 尹 紅 唐 煜 摘 要 本文介紹一種能利用RS-485電氣特性和簡單的結構方式,采用自定義串行通信協議,實現單片機RS-485多機通訊的方法和技巧。 |
|
圖1 SN75176芯片及其邏輯關系
3 RS-485方式構成的多機通信原理 |
|
圖2 采用RS-485構成的多機通訊原理框圖 在總線末端接一個匹配電阻,吸收總線上的反射信號,保證正常傳輸信號干凈、無毛刺。匹配電阻的取值應該與總線的特性阻抗相當。 |
|
圖3 串行口模式3時序圖 單片機在串行口發送數據時,只要將8位數據位傳送完畢,TI標志即建立,但此時應發送的第九位數據位(若發送地址幀時)和停止位尚未發出。如果在這是關閉發送控制,勢必造成發送幀數據不完整。如果單片機多機通訊采用較高的波特率,幾條操作指令的延時就可能超過2位(或1位)數據的發送時間,問題或許不會出現。但是如果采用較低波特率,如9600,發送一位數據需100μs左右,單靠幾條操作指令的延時遠遠不夠,問題就明顯地暴露出來。接收數據時也同樣如此,單片機在接收完8個數據位后就建立起RI信號,但此時還未接收到第九位數據位(若接收地址幀時)和停止位。所以,接收端必須延時大于2位數據位的時間(1位數據位時間=1/波特率),再作應答,否則會發生總線沖突。 |
|
圖4 程序流程圖 注:延時T秒的取值 作者簡介:尹 紅 工程師。主要從事計算機應用和數控產品的研究和開發工作 作者單位:中國科學院成都計算機應用研究所 四川。成都(610041)
|