RS232,RS485波形分析

2021-07-11 11:29:25 字數 1748 閱讀 3857

經常遇到初學者,對微控制器序列通訊出了問題不知道如何辦的情況。其實最有效的除錯方法是用示波器觀察收發資料的波形。通過觀察波形可以確定以下情況: 

是否有資料接收或傳送; 

資料是否正確; 

波特率是否正確; 

一、序列資料的格式

非同步序列資料的一般格式是:起始位+資料位+停止位,其中起始位1 位,資料位可以是5、6、7、8位,停止位可以是1、1.5、2位。

起始位是乙個值為0的位,所以對於正邏輯的ttl電平,起始位是一位時間的低電平;停止位是值為1的位,所以對於正邏輯的ttl電平,停止位是高電平。線路路空閒或者資料傳輸結束,對於正邏輯的ttl電平,線路總是1。對於負邏輯(如rs-232電平)則相反。

例如,對於16進製制資料55aah,當採用8位資料位、1位停止位傳輸時,它在訊號線上的波形如圖1(ttl電平)和圖2(rs-232電平)所示。 (先傳第乙個位元組55,再傳第二個位元組aa,每個位元組都是從低位向高位逐位傳輸)

圖1 ttl電平的序列資料幀格式(55aah)

圖2 rs-232電平的序列資料幀格式(55aah)

二、根據波形圖計算波特率

如圖3是圖1在示波器中的顯示示意,其中灰色線是示波器的時間分度線,此時假設是200us/格。

圖3 波特率計算示意圖

可以看了,第乙個位元組的10位(1位起始位,8位資料位和1位停止位)共佔約1.05ms,這樣可計算出其波特率約為:

10bit / 1.05ms x 1000 ≈ 9600 bit/s

如果上圖中的時間軸是100us/格,同樣可以計算出波特率應是19200bit/s。

當通訊不正常,又能觀察到波形時,就可根據上述方法,從波形圖計算一下波特率是否正確。

三、根據波形圖判斷rs-485收發資料的正確與否

rs-485是一種半雙工的序列通訊方式(rs-422為全雙工),485電平晶元所以要正確接收和傳送資料,必需保證控制訊號和資料的同步,否則要麼傳送資料丟失,要麼接收資料可能丟失。

rs-485傳送資料時的正確時序如圖4所示。

圖4 rs-485的正確傳送資料時序

在圖4中,傳送控制訊號的寬度基本與資料訊號的寬度一致,所以能保證傳送資料的正確和傳送後及時轉為接收。

圖5 和圖6 分別是控制訊號太短和控制訊號太長的情況。

圖5 rs-485控制訊號太短時的時序

圖6 rs-485控制訊號太短時的時序

在圖5中,由於控制訊號關閉過早,則第二個位元組的後兩位將傳送錯誤;在圖6中,由於控制訊號關閉過遲,使485晶元在傳送資料後,不能及時轉到接收狀態,此時匯流排若有資料過來,則本單元將不能正確接收。

總結:只要掌握上述波形分析方法,任何非同步序列資料的接收和傳送問題,基本都可以得到解決。

RS232,RS485波形分析

經常遇到初學者,對微控制器序列通訊出了問題不知道如何辦的情況。其實最有效的除錯方法是用示波器觀察收發資料的波形。通過觀察波形可以確定以下情況 是否有資料接收或傳送 資料是否正確 波特率是否正確 一 序列資料的格式 非同步序列資料的一般格式是 起始位 資料位 停止位,其中起始位1 位,資料位可以是5 ...

電腦的RS232 RS485的介面

rs232介面就是串列埠,電腦機箱後方的9芯插座,旁邊一般有 o o 樣標識。一般機箱有兩個,新機箱有可能只有乙個。膝上型電腦有可能沒有。有很多任務業儀器將它作為標準通訊埠。通訊的內容與格式一般附在儀器的使用者說明書中。計算機與計算機或計算機與終端之間的資料傳送可以採用序列通訊和並行通訊二種方式。由...

RS232 RS485及RS422有什麼區別

1 rs 232 c rs 232 c是美國電子工業協會eia electronic industry association 制定的一種序列物理介面標準。rs是英文 推薦標準 的縮寫,232為標識號,c表示修改次數。它的全名是 資料終端裝置 dte 和資料通訊裝置 dce 之間序列二進位制資料交換...