999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

RS485通信最優波特率研究

2020-04-09 04:42:13彭韜劉根利楊寶軍翟淵
無線互聯科技 2020年3期

彭韜 劉根利 楊寶軍 翟淵

摘? ?要:在RS485總線中,主機和從機通常使用固定的波特率進行通信;而在實際應用中,波特率的大小和傳輸的距離是成反比的,波特率越高傳輸的距離越短,誤碼率增加越大。為避免波特率過高通信不可靠的問題,根據硬件波特率自適應的機制,文章采用從機數量來計算最優的波特率的方式進行主從機通信。經過實驗驗證,可提高RS485通信系統的穩定性。

關鍵詞:RS485總線;自適應;波特率

在RS485總線型中,主機和從機的通信是構成整個系統的生命線,通信波特率大小的選擇是一個困擾開發者的問題[1]。設計者都是憑著自身的經驗進行設定,在能夠滿足通信的情況下,采用固定大小的波特率進行通信。但是在實際情況中,條件是會變化的,當波特率不變的情況下,RS485總線越長,連接的從機數量越多,數據的傳輸效率就會越慢,從機設備的動態增加變得極其困難,在實際應用中具有一定的局限性[2]。因此,根據從機數量的多少,計算出最優波特率進行通信傳輸變得尤為重要。本方案為解決主從機之間通信波特率的選擇提供了最優解,面對不同的從機數量,主機采用不同的波特率進行通信,經過幾個月應用在智能抄表的實驗來看,采用本方案不僅通信穩定,而且從機設備可動態增加。

1? ? 系統硬件設計

RS485總線型采用了半雙工通信方式,每臺從機和主機呈并聯結構建立連接,主從機默認為接收狀態,主機對從機進行輪詢,主機發送信息給從機后,馬上轉為接收狀態,從機接收到信息再回復給主機,如圖1所示。主機和所有從機輪詢一遍稱為一個通信周期,理論上從機接收到主機命令再執行的時間范圍小于一個時間周期。當主機接到指令要求對應從機執行命令時,主機剛好輪詢到該目標從機,則從機立即執行,此時時間最短。若主機剛好輪詢過該目標從機,則只有在下一個周期的輪詢中主機才能夠和從機通信,此時主機發送命令到從機執行的理論時間為輪詢一個周期的時間。

2? ? 實現依據

目前,主流的ARM內核的單片機比如STM32芯片中,自動波特率檢測(Auto Baud Rate,ABR)使接收設備能夠接收來自各種以不同速率工作的發送設備數據,無需事先設定數據速率。ABR可在事先不知道系統的通信速度或者系統正在使用精確度相對較低的時鐘源且該機制允許在不測量時鐘偏差的情況下,獲得正確的波特率。

硬件自動波特率檢測是基礎,為實現主機根據不同的從機數量和總線長度進行對應的波特率通信,提供了硬件依據。

波特率表示每秒鐘傳送的碼元符號的個數,是衡量數據傳送速率的指標,用單位時間內載波調制狀態改變的次數來表示。波特率的大小直接影響了通信速率的快慢,波特率越高,單位時間內傳輸的數據就越多,傳輸的距離越短,即波特率大小和傳輸距離成反比。在本方案中,輪詢一個周期的時間為T,排除從機本身的計算響應等時間,從機自主機發送命令到響應的時間為0~T。所以根據設定,假設一個輪詢固定周期時間T,傳輸的數據量一定,則主機和一個從機的通信時間就一定,當從機的數量變化時,波特率也隨著變化,在輪詢周期固定的情況下,波特率和從機數量成正比,從機數量越多波特率就越高。

3? ? ABR檢測模式

STM32產品上的自動波特率檢測功能內置了4種檢測模式。

模式0:在模式0下,接收端接收的字符以字符‘1開頭,接收端會通過測量起始位也即下降沿到上升沿的持續時間來計算出發送端的波特率。

模式1:在模式1下,發送端會發送以10XX模式開頭的任意字符,接收端會測量起始位和第一個數據位的持續時間,相對于模式0,此時接收端測量的是波形下降沿到下降沿的持續時間,因此,在信號斜率較小的情況下仍能獲得較高的精度。

模式2:在模式2下,發送端發送固定字符0X7F,在此模式下,接收端首先在起始位結束處計算起始位持續時間然后更新波特率,然后在第6位結束時計算6個高位持續的時間再次更新波特率。

模式3:在模式3下,發送端發送固定字符0X55,接收端首先在起始位結束處計算起始位持續時間然后更新波特率,然后在位0結束處再次更新波特率,最后在位6的結束處同樣更新波特率。同時接收端還會對接收線路的每個中間轉換執行其他檢查。

在以上4種工作模式下,STM32都會在同步數據接收期間多次檢測波特率,并將每一次的檢測值與上一次的檢測值進行比較,從而確保發送端與接收端波特率的一致性,進而提高通信可靠性。

4? ? ABR通信誤差

STM32的通信速率范圍由USART時鐘源也即FCK決定,為提高通信魯棒性,接收器可以采用過采樣技術,通過過采樣技術可區分有效輸入數據和噪聲,從而可以在最大通信速率與抗噪聲及時鐘不準確性之間實現平衡。STM32支持16倍過采樣及8倍過采樣,可通過編程USARTx_CR1寄存器中的OVER8位來選擇過哪種過采樣模式。16倍過采樣時,波特率介于FCK/65535與FCK/16之間,8倍過采樣時,波特率介于FCK/65535與FCK/8之間。

波特率誤差取決于USART時鐘源、過采樣方法和ABR模式。當時鐘頻率為72 MHz,預期波特率為115 200時,通過官方測試數據可知:ABR模式2和3的精確度高于模式0和1,它們的波特率誤差值更低。不過,由于預期波特率與實際波特率之間的誤差小于1%,因此所有模式均可正常工作。

5? ? 最優波特率計算

設主機輪詢所有從機的周期時間為T,輪詢一個從機的時間為t,主機輪詢幀長度為L1,從機回復的數據幀長度為L2,從機數量為n,波特率為BR(baud rate)。假設只有一個從機的情況下,一個輪詢傳輸單元包含的數據字節位數為Q,則Q= L1+L2。

6? ? 實驗結果

對RS485總線下的智能抄表系統進行實驗研究,數據通信格式為8位數據位,1位起始位,1位停止位,無奇偶校驗位。主機發送一幀數據為3個字節,分別為地址碼、功能碼和CRC校驗碼。從機回復一幀數據為6個字節,分別為地址碼、數據碼和CRC校驗碼。其中,數據碼占用4個字節,輪詢一個從機總的字節數9個字節,每個字節有8個bit,則輪詢一個從機的信息量為72 bit。測試中從機首先接入5個,輪詢所有從機的周期T定為1 s,經實際測試波特率為360,理論計算結果為BR=72/1×5=360,實際測試與理論相符,從機增加到10個,波特率經測試為720,也與理論計算相符合,由于波特率較低,單片機收發切換帶來的誤差可忽略不計。系統運行幾個月未出現波特率變化或通信錯誤問題,系統運行效果良好。

7? ? 結語

實際RS485通信應用中,從機的數量會出現動態增加,通過采用自適應波特率進行主從機之間的通信,在可滿足通信要求的情況下降低系統通信的波特率,進而減小誤碼率小并可提高傳輸距離,提升通信穩定性。本方案在主控器支持自適應波特率的場合均可以使用,具有良好的擴展性。

主站蜘蛛池模板: 欧美三級片黃色三級片黃色1| 国产丝袜啪啪| 思思热精品在线8| 一级看片免费视频| 国产精品久线在线观看| 女人18毛片一级毛片在线 | 国产99在线| 91色在线观看| 2024av在线无码中文最新| 国产第一页第二页| 亚洲伦理一区二区| 欧美精品二区| 成·人免费午夜无码视频在线观看| 国产sm重味一区二区三区| 国产精品无码AV片在线观看播放| 99手机在线视频| 日日噜噜夜夜狠狠视频| 超碰91免费人妻| 国产白浆视频| 婷婷久久综合九色综合88| 国产电话自拍伊人| 91无码人妻精品一区二区蜜桃| 国产精品xxx| 无遮挡国产高潮视频免费观看 | 国产一区亚洲一区| 人妻丝袜无码视频| 一级一级一片免费| 51国产偷自视频区视频手机观看| 国产毛片片精品天天看视频| 久久精品波多野结衣| lhav亚洲精品| 亚洲欧美日韩色图| 亚洲欧美综合在线观看| 欧美日韩亚洲综合在线观看| 亚洲国产精品美女| 亚洲三级网站| 欧美激情,国产精品| 国产欧美日韩va| 丁香婷婷久久| 丰满人妻中出白浆| 久久视精品| 91久久青青草原精品国产| 日韩欧美一区在线观看| 91无码人妻精品一区二区蜜桃| 伊人中文网| 国产精品福利尤物youwu| 免费在线成人网| 国产成人精品2021欧美日韩| 尤物特级无码毛片免费| 亚洲中文字幕av无码区| 在线观看亚洲天堂| 农村乱人伦一区二区| 99尹人香蕉国产免费天天拍| 国产色爱av资源综合区| 丰满人妻久久中文字幕| 欧美亚洲一二三区| 狼友视频国产精品首页| 欧美成人综合在线| 欧美一级大片在线观看| 这里只有精品在线播放| 国产另类视频| 日韩精品久久久久久久电影蜜臀| 亚洲日韩国产精品综合在线观看| 99久久国产综合精品2020| 国产亚洲精久久久久久无码AV | 亚洲中文字幕久久无码精品A| 国产网站免费| 99成人在线观看| 亚洲日韩高清无码| 国产人成网线在线播放va| 日本高清成本人视频一区| 2022国产无码在线| 99久久精品免费看国产电影| 国产乱肥老妇精品视频| 久久青青草原亚洲av无码| 日本久久免费| 伊人久久大香线蕉综合影视| 国产精品香蕉在线| 国产福利一区视频| 亚洲精品桃花岛av在线| 伊人色婷婷| 四虎免费视频网站|