天天爽天天爽夜夜爽毛片 ,久久热这里只有精品视频,免费一区二区三区精品,国产呦精品一区二区三区,日韩精品一区二区三区视频,久久久久精品久久久久,无码毛片视频一区二区本码,海天翼精品一区二区三区

移動端

如何排查因波特率漂移導致的通訊異常問題

2018年12月19日 17:26$artinfo.Reprint點擊量:521

  示波器的協議解碼功能大家都不生疏,你是否有過波形看起來正常,協議參數、解碼設置都正確,卻無法正常解碼的經歷呢?本文以UART協議為例,分享由于波特率漂移導致通信異常的故障排查過程。
 
  什么是波特率漂移呢?可以理解為被測部件晶振有偏差,導致實際波特率和正常的波特率不一致。為什么波特率漂移會導致通信異常呢?本文從波形出發,帶你自檢解碼結果。
 
  一、波特率漂移導致通信異常的故障排查
 
  引出這樣一個真實的例子,PC端發送串口數據為“0xEE 0x61 0x32 0xFF 0xFC 0xFF 0xFF”,示波器解碼結果為“0xEE 0x98 0xF6 0xFC 0xFF”初步判定通信故障。但協議參數設置和解碼設置都正確,為什么會出現收發不一致的現象呢?下文將解碼時協議參數設置中的波特率都設置為9600 bps,實際為9600 bps,10126 bps的波形圖解碼結果對比(如圖1所示)分析為例,分享波特率漂移后導致波形有偏差,從而出現通信異常的原因排查過程。
 

  圖1 同一解碼波特率下的不同波形解碼結果圖
 
  首先講講UART的解碼原理。當示波器解碼UART信號時,將空閑電平之后的下降沿作為開始位,然后從波形中等間隔采樣,以等間隔時間段內的采樣點中的多數狀態作為該位的解碼數值。不同波特率的波形,小數據位寬不一致,時間T=1/采樣率,實際采樣率大的波形對應的時間就小,所以從圖1中可看出波特率為10126bps的波形像往左偏移了。當解碼時設置的波特率同為9600時,采樣點的位置是根據9600的波特率來確定的,當實際采樣率和9600bps有偏差時,誤差會逐漸累積,從而導致解碼有偏差。設置的數據位寬越大,越容易疊加誤差。
 
  二、自檢波特率方法
 
  從波形出發,根據波形小位寬估算波特率,此法適用于波特率偏差較大或不確定波特率該設置多少時。這是工程師們較習慣的自檢方法。估算波特率需要看波形中的小位寬,從來圖 2看,時基檔位為100us,小位寬剛好占一格,則小位寬為100us左右,換算之后等于10000bps。想要得到更的波特率數值,可以使用示波器的測量功能。打開示波器面板中的【measure】,選擇波特率測量項,觀察波特率測量結果對比,如下圖 2紅框內的測量結果。
 
  開頭中引出的例子,正是因為波特率產生了漂移,實際為10000 bps,而解碼時按照正常部件的9600bps來設置,這么一算,波特率誤差大于4%,因此會導致解碼結果不正確。換個晶振再解碼,通訊果然正常了。
 

  圖 2 從波形小位寬估算波特率圖
 
  總結
 
  在解碼中波特率雖然只是一個參數,但因其漂移產生的影響不容忽視,它可能就是導致通信故障的因素。解碼前注意檢驗波特率,這么一個小細節也許可以省去日后排查故障的時間。從波形出發,重新審視示波器價值,它用來觀察波形和分析數據就是為了檢測被測部件是否正常的。
版權與免責聲明: 凡本網注明“來源:智慧城市網”的所有作品,均為浙江興旺寶明通網絡有限公司-智慧城市網合法擁有版權或有權使用的作品,未經本網授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:智慧城市網www.mms47.com”。違反上述聲明者,本網將追究其相關法律責任。

本網轉載并注明自其它來源(非智慧城市網www.mms47.com)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。

編輯精選

更多

本站精選

更多

專題推薦

更多

名企推薦

更多

浙公網安備 33010602000006號

主站蜘蛛池模板: 越西县| 泾源县| 咸丰县| 宣威市| 枞阳县| 安西县| 开鲁县| 息烽县| 正定县| 济宁市| 濮阳县| 昆山市| 霍山县| 从江县| 蛟河市| 湟中县| 徐水县| 溧阳市| 邛崃市| 柳江县| 安龙县| 玛沁县| 溆浦县| 霍州市| 志丹县| 昔阳县| 钟山县| 瑞丽市| 南江县| 南雄市| 佳木斯市| 台前县| 登封市| 马公市| 尼玛县| 芮城县| 阜新市| 高陵县| 梅州市| 寻甸| 南江县|