亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種降低串口通信重幀的措施

        2018-10-10 11:11:16葛勇姚金華王軍
        關(guān)鍵詞:誤碼率串口嵌入式

        葛勇 姚金華 王軍

        摘要:串口設(shè)備是嵌入式系統(tǒng)經(jīng)常用到的設(shè)備之一,其本身具有很高的數(shù)據(jù)傳送精度,但是如果使用方法不當(dāng),也會(huì)造成數(shù)據(jù)接收的誤碼率顯著增大。本文以某控制系統(tǒng)為例說明正確的使用方法可以顯著提高串口接收的可靠性。

        關(guān)鍵詞:串口;嵌入式;誤碼率

        中圖分類號(hào):TP368.11 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2018)07-0115-02

        1 概述

        隨著計(jì)算機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能越來越顯得重要。通信既包括計(jì)算機(jī)與外部設(shè)備之間的信息交換,也包括計(jì)算機(jī)和計(jì)算機(jī)之間的信息交換。由于串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少,并且可以借助現(xiàn)成的電話網(wǎng)進(jìn)行信息傳送,因此,特別適合于遠(yuǎn)距離傳輸。對于那些與計(jì)算機(jī)相距不遠(yuǎn)的人-機(jī)交換設(shè)備和串行存儲(chǔ)的外部設(shè)備如終端、打印機(jī)、邏輯分析儀、磁盤等,采用串行方式交換數(shù)據(jù)也很普遍。在實(shí)時(shí)控制和管理方面,采用多臺(tái)微機(jī)處理機(jī)組成分級分布控制系統(tǒng)中,各CPU之間的通信一般都是串行方式,所以串行接口是微機(jī)應(yīng)用系統(tǒng)常用的接口[1-3]。

        2 控制系統(tǒng)簡介

        某控制系統(tǒng)共有三個(gè)組合組成:管理機(jī)柜組合、控制機(jī)柜組合和控制單元組合組成。管理機(jī)柜組合通過網(wǎng)絡(luò)與上級系統(tǒng)進(jìn)行信息交換,通過上級系統(tǒng)的命令來形成相應(yīng)的內(nèi)部命令。管理機(jī)柜通過串口將內(nèi)部命令發(fā)送給控制機(jī)柜組合形成相應(yīng)的硬件命令??刂茩C(jī)柜軟件通過DI/O與控制單元完成命名交換并通過串口與被控制體進(jìn)行數(shù)據(jù)交換以獲取被控制體的當(dāng)前狀態(tài)和向被控制體發(fā)送命令。在綜合判斷被控制體和控制單元返回的狀態(tài)后,控制機(jī)柜通過串口將狀態(tài)返回給管理機(jī)柜。

        3 串口通信的問題

        從系統(tǒng)工作流程可以看出,串口通訊在控制系統(tǒng)的工作過程中起到了非常重要的作用:它在系統(tǒng)中起到了承上啟下的作用,管理機(jī)柜接收上級系統(tǒng)的命令和被控制體所需的參數(shù),控制機(jī)柜串口接收并傳送給被控制體。這種工作方式要求整個(gè)傳送過程有非常低的誤碼率,不能連續(xù)出現(xiàn)兩次以上的誤碼率。在進(jìn)行某次調(diào)試時(shí)發(fā)現(xiàn)控制機(jī)柜發(fā)送給被控制體的報(bào)文中出現(xiàn)了不同程度的重幀。在被控制體硬盤中查看control2.dat報(bào)文數(shù)據(jù),可以看到某流水號(hào)重復(fù)了3次,見圖1所示。

        技術(shù)人員首先查看了硬件和軟件,未發(fā)現(xiàn)任何有疑問的地方。隨后搭建了一套測試系統(tǒng)來對控制機(jī)柜進(jìn)行測試。測試的方法采用了與真實(shí)系統(tǒng)類似的方式:用PC104系統(tǒng)和串口板組合模擬管理機(jī)柜系統(tǒng),以同樣速率、頻率向控制機(jī)柜發(fā)送相同的報(bào)文。測試驗(yàn)證系統(tǒng)為:模擬管理機(jī)柜→控制機(jī)柜→被控制體,通過串口通訊傳輸。

        經(jīng)過長時(shí)間的測試驗(yàn)證,技術(shù)人員發(fā)現(xiàn)控制機(jī)柜發(fā)送給被控制體的通訊報(bào)文非常正常,未出現(xiàn)真實(shí)設(shè)備中出現(xiàn)的重幀現(xiàn)象,此種現(xiàn)象表明控制機(jī)柜的軟硬件配置能夠適應(yīng)這種使用情況,未模擬出真實(shí)使用情況下的故障狀態(tài)。隨后技術(shù)人員在查看管理機(jī)柜軟件記錄下來的WINDVIEW的波形時(shí)(WINDRIVER公司的tornado操作系統(tǒng)提供一種叫WINDVIEW的功能,用圖形方式實(shí)時(shí)查看系統(tǒng)中各個(gè)任務(wù)的運(yùn)行情況),發(fā)現(xiàn)管理機(jī)柜發(fā)送串口數(shù)據(jù)的任務(wù)(ComSendTask)會(huì)被一個(gè)系統(tǒng)級的網(wǎng)絡(luò)任務(wù)(jetCardSpy)打斷,此時(shí)就會(huì)出現(xiàn)控制機(jī)柜發(fā)送給被控制體的數(shù)據(jù)重幀現(xiàn)象,而在管理機(jī)柜串口發(fā)送任務(wù)沒有被打斷的情況下,控制機(jī)柜發(fā)送給被控制體的數(shù)據(jù)都是正常的[4]。管理機(jī)柜記錄下來的波形圖顯示有重幀,局部放大圖如圖2所示。

        根據(jù)以上情況分析,技術(shù)人員發(fā)現(xiàn)由于控制機(jī)柜使用理想狀態(tài)下的串口數(shù)據(jù)接收方法導(dǎo)致了這種重幀現(xiàn)象的發(fā)生。串口接收數(shù)據(jù)采用UART的16個(gè)字節(jié)的緩存功能,也就是串口在接收到16個(gè)字節(jié)后發(fā)送一個(gè)中斷給CPU,通知運(yùn)用程序開始接收數(shù)據(jù)。管理機(jī)柜在發(fā)送16個(gè)字節(jié)過程中不出現(xiàn)間斷的情況下,控制機(jī)柜能正確的接收到串口數(shù)據(jù)。如果管理機(jī)柜在發(fā)送的時(shí)候被其他的任務(wù)打斷,即某個(gè)字節(jié)發(fā)送完后(不滿16個(gè))要等一段時(shí)間才能發(fā)送出后續(xù)的字節(jié),由于UART在接收到一定數(shù)量的數(shù)據(jù)后超時(shí)等待接收同樣也會(huì)觸發(fā)一次系統(tǒng)中斷,此時(shí)控制機(jī)柜也會(huì)去接收串口中的數(shù)據(jù),而且也會(huì)一次性接收16個(gè)字節(jié)。由于此時(shí)串口并沒有完整的16個(gè)字節(jié),所以未發(fā)送完的數(shù)據(jù)將會(huì)被填充為0,從而造成了控制機(jī)柜接收的數(shù)據(jù)后半段都是0,導(dǎo)致后續(xù)的校驗(yàn)和判斷出錯(cuò)。在判斷出錯(cuò)后,控制機(jī)柜會(huì)將上次接收到的完整數(shù)據(jù)發(fā)送給被控制體,這樣就造成了被控制體接收到了相同的數(shù)據(jù)(重幀)。

        4 提高串口通信可靠性的措施

        針對上述分析出來的重幀原因,采取以下四種措施,可以提高串口通信的可靠性。(1)通過WINDVIEW波形圖可以看到,正常串口接收情況下,發(fā)送給CPU的中斷間隔時(shí)間在2ms~3ms。本措施是在軟件中增加一個(gè)全局變量Counter記錄每個(gè)串口中斷到來的時(shí)刻,如果下一次串口中斷到來時(shí)與上一次記錄下來的時(shí)刻相減結(jié)果大于5ms,則認(rèn)為此中斷為無效中斷,將此次接收的數(shù)據(jù)清空,重新開始搜尋報(bào)文的報(bào)頭以接收下一幀。(2)每次從頭開始接收串口數(shù)據(jù)時(shí),控制機(jī)柜軟件必須搜尋本次報(bào)文的報(bào)頭,之前接收的數(shù)據(jù)無效。這種措施能夠大大的消除由于線路上的干擾造成的串口接收端的亂碼。(3)在原有一個(gè)全局的接收緩存外,再增加一個(gè)全局的接收緩存。兩個(gè)緩存相互不干擾,第一個(gè)緩存用來接收串口的數(shù)據(jù),其他任務(wù)利用第二個(gè)緩存中的數(shù)據(jù)判斷設(shè)備當(dāng)前的狀態(tài)。(4)若管理機(jī)柜串口數(shù)據(jù)在發(fā)送第一幀時(shí),發(fā)送任務(wù)被中斷,導(dǎo)致控制機(jī)柜的串口中斷由超時(shí)觸發(fā),則接收數(shù)據(jù)可能為全0。本措施是在控制軟件讀取串口數(shù)據(jù)前,增加一個(gè)對接收緩存器是否為空的檢測,若接收緩存器為空,則不要接收此幀數(shù)據(jù),重新開始接收下一幀數(shù)據(jù),確??刂茩C(jī)柜能正確讀取接收緩存器中的數(shù)據(jù)。

        5 效果

        采取以上四種措施后,運(yùn)行程序,從被控制體硬盤中再次調(diào)取control2.dat報(bào)文數(shù)據(jù),查看數(shù)據(jù)結(jié)果,沒有重幀,在后續(xù)的工作中,軟件運(yùn)行正常,均取得合格的結(jié)果。

        6 結(jié)語

        雖然串口設(shè)備是現(xiàn)在比較常用的通訊設(shè)備,技術(shù)也相當(dāng)成熟,但是如果沒有正確的使用方法也不能達(dá)到串口乃至程序所需的精確度和誤碼率。本文對控制系統(tǒng)中發(fā)生的串口通信“重幀”問題采取了四項(xiàng)改進(jìn)措施,有效地消除了“重幀”現(xiàn)象,提高了數(shù)據(jù)的可靠性。

        參考文獻(xiàn)

        [1]潘方.RS232串口通信在PC機(jī)與單片機(jī)通信中的應(yīng)用[J].現(xiàn)代電子技術(shù),2012,(13):69-71.

        [2]彭紅.VxWorks實(shí)時(shí)操作系統(tǒng)的串口通信設(shè)計(jì)[J].中國科技信息,2011,(5):90-91.

        [3]陳智育,溫彥軍,陳琪.VxWorks程序開發(fā)實(shí)踐[M].人民郵電出版社,2004.

        [4]李洪亮,等.VxWorks下實(shí)時(shí)多任務(wù)程序的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008,(20):90-91.

        猜你喜歡
        誤碼率串口嵌入式
        面向通信系統(tǒng)的誤碼率計(jì)算方法
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        泰克推出BERTScope誤碼率測試儀
        Altera加入嵌入式視覺聯(lián)盟
        基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
        倍福 CX8091嵌入式控制器
        久久99国产精品尤物| 日韩亚洲av无码一区二区不卡| 亚洲丁香婷婷久久一区二区| 久久久亚洲欧洲日产国码二区| 国产欧美亚洲精品第一页| 永久黄网站免费视频性色| 国产熟妇人妻精品一区二区动漫| 成人性生交大片免费看r| 99国产超薄丝袜足j在线观看| 中文字幕乱偷乱码亚洲| 青青草针对华人超碰在线| 亚洲一区二区三区av无| 国产专区国产精品国产三级| av高清在线不卡直播| 777精品出轨人妻国产| 精品亚洲成在人线av无码| 一本大道东京热无码| 精品国产高清一区二区广区| 久久亚洲av成人无码软件| 二区三区视频在线观看| 无码国内精品人妻少妇蜜桃视频| 夜夜添夜夜添夜夜摸夜夜摸| 国产精品日韩高清在线蜜芽| 久热爱精品视频在线观看久爱| 亚洲日本国产乱码va在线观看| 蜜桃av噜噜噜一区二区三区| 国产激情在线观看免费视频| 中文有码无码人妻在线| 国产suv精品一区二人妻| 色窝窝免费播放视频在线| 国产丝袜精品不卡| 国产又粗又猛又黄色呦呦| 日本一级二级三级不卡| 人妻哺乳奶头奶水| 亚洲精品国偷拍自产在线观看蜜臀 | 伊人久久婷婷综合五月97色 | 偷拍一区二区三区四区| 亚洲香蕉成人av网站在线观看| 国产高颜值大学生情侣酒店| 久久国产偷| 精品人妻免费看一区二区三区|