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

        ?

        一種高可靠串行通信協(xié)議

        2016-03-23 12:21:39桂江華
        電子與封裝 2016年2期

        桂江華,邵 健,潘 邈

        (中國電子科技集團(tuán)公司第58研究所,江蘇 無錫 214035)

        ?

        一種高可靠串行通信協(xié)議

        桂江華,邵 健,潘 邈

        (中國電子科技集團(tuán)公司第58研究所,江蘇 無錫 214035)

        摘 要:隨著工作環(huán)境的日益復(fù)雜,現(xiàn)代通信對于可靠性的要求越來越高?,F(xiàn)在存在的一些串行通信協(xié)議比如RS-232和RS-485等內(nèi)容簡單,方便實(shí)現(xiàn),但是在傳輸規(guī)范方面沒有做很詳細(xì)的規(guī)定,因此傳輸?shù)目煽啃圆荒艿玫胶芎玫谋WC。為了提高串行通信的可靠性,在RS-232協(xié)議的基礎(chǔ)上提出了一種全新的串行通信協(xié)議,定義了完備的幀格式,引入CRC校驗(yàn)、超時(shí)重發(fā)等一系列查錯(cuò)容錯(cuò)機(jī)制,通過仿真驗(yàn)證,證明了該通信協(xié)議的可靠性。

        關(guān)鍵詞:循環(huán)校驗(yàn)碼;串行通信;幀格式;通信協(xié)議

        1 引言

        串行通信作為自動(dòng)化系統(tǒng)中智能設(shè)備之間數(shù)據(jù)交換的主要方式,在工業(yè)和自動(dòng)化控制領(lǐng)域有極其廣泛的應(yīng)用。為了方便工程中的實(shí)現(xiàn),現(xiàn)在存在的一些串行通信協(xié)議比如RS-232和RS-485等內(nèi)容簡單,方便實(shí)現(xiàn),但是在可靠性和傳輸規(guī)范方面沒有做很詳細(xì)的規(guī)定,因此設(shè)計(jì)中的缺陷可能引起傳輸錯(cuò)誤,這樣將給需要高可靠性傳輸?shù)南到y(tǒng)帶來不必要的麻煩。

        本文在RS-232等簡單的串行通信協(xié)議基礎(chǔ)上,提出了一種全新的高可靠性串行通信協(xié)議,利用CRC校驗(yàn)進(jìn)行檢錯(cuò),并擁有完備的超時(shí)重傳機(jī)制。使得應(yīng)用這個(gè)通信協(xié)議的串行通信在實(shí)際工程中的傳輸準(zhǔn)確率大大提高,增強(qiáng)了系統(tǒng)的可靠性。

        2 RS-232串口通信協(xié)議

        RS-232全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”,標(biāo)準(zhǔn)的RS-232-C協(xié)議具有25根信號線,其中有4根數(shù)據(jù)線、11根控制線、3根定時(shí)線和7根備用線。通常情況下,使用其中的9根線就可以實(shí)現(xiàn)RS-232串口通信。

        RS-232-C的串行總線在空閑的時(shí)候保持為邏輯“1”狀態(tài),即串行連接線上的電平為-3~15 V。當(dāng)需要傳送一個(gè)字符時(shí),首先會發(fā)送一個(gè)邏輯為“0”的起始位,表示開始發(fā)送數(shù)據(jù);之后就逐個(gè)發(fā)送數(shù)據(jù)位、奇偶校驗(yàn)位和停止位(邏輯“1”),每一次傳輸1個(gè)字符(可以設(shè)為5~8 bit)。由于任意兩個(gè)字符對應(yīng)瞬間的時(shí)間間隔是可變的,因此也被稱為異步格式。典型的傳輸時(shí)序如圖1所示。

        圖1 RS-232協(xié)議的傳輸時(shí)序

        在RS-232協(xié)議中,可以設(shè)置數(shù)據(jù)的傳輸速率。除此之外,字符的位寬、奇偶校驗(yàn)位、停止位都可以被設(shè)置。字符可以被設(shè)置成5~8 bit,奇偶校驗(yàn)位可以被除去;停止位可以設(shè)置成1位、2位甚至1.5位。每秒傳輸?shù)谋忍財(cái)?shù)也被稱為二進(jìn)制波特率,即位周期的倒數(shù),簡稱為比特率,用于衡量RS-232的傳輸速率。RS-232-C有一系列波特率標(biāo)準(zhǔn):110 b/s、300 b/s、600 b/s、1200 b/s、1800 b/s、2400 b/s、4800 b/s、9600 b/s、14.4 kb/s、19.2 kb/s、28.8 kb/s、33.6 kb/s和56 kb/s等。

        3 CRC校驗(yàn)碼

        循環(huán)校驗(yàn)碼(CRC)的檢驗(yàn)原理實(shí)際上就是在一個(gè)p位二進(jìn)制數(shù)據(jù)序列之后附加一個(gè)r位二進(jìn)制檢驗(yàn)碼,從而構(gòu)成一個(gè)總長為n=p+r位的二進(jìn)制序列,附加在數(shù)據(jù)之后的校驗(yàn)碼與數(shù)據(jù)內(nèi)容之間存在著某種特定的關(guān)系。

        假設(shè)p位的二進(jìn)制數(shù)據(jù)序列如式(1)所示:數(shù)據(jù)序列D是原始序列,為了r位生成校驗(yàn)碼,需要引入生成多項(xiàng)式的概念,生成多項(xiàng)式也就是發(fā)送方和接受方在通信之前約定的一個(gè)除數(shù),一般記為G(x),它對應(yīng)一個(gè)r+1位的二進(jìn)制序列,最高位和最低位必須為1,常用的生成多項(xiàng)式有CRC8、CRC12、CRC16和CRC32等。

        將原始數(shù)據(jù)D左移r位并在較低的r位補(bǔ)0形成n位序列Dr(x),CRC校驗(yàn)碼的生成過程如式(2)所示:

        其中,Re[]表示對括號內(nèi)的除法進(jìn)行取余運(yùn)算。R(x)就是根據(jù)數(shù)據(jù)D計(jì)算出來的CRC校驗(yàn)碼,與數(shù)據(jù)序列D組合在一起可以得到帶有校驗(yàn)碼的序列M,M的形式如式(3)所示:

        CRC校驗(yàn)碼的編碼過程如上所述,而校驗(yàn)過程則是對序列M進(jìn)行除法取余運(yùn)算,即:

        如果計(jì)算得到R(x)為0則表示接收到的數(shù)據(jù)正確無誤。

        在數(shù)據(jù)序列之后加上CRC校驗(yàn)碼使得傳輸?shù)目煽啃源蟠笤鰪?qiáng),任何數(shù)據(jù)位的改變都將使得最后接收到的校驗(yàn)碼發(fā)生改變,從而知道收到的數(shù)據(jù)發(fā)生了錯(cuò)誤,然后根據(jù)不同情況進(jìn)行后續(xù)處理。

        4 串行通信協(xié)議設(shè)計(jì)

        根據(jù)開放系統(tǒng)互聯(lián)(OSI)參考模型的思想,可以將串行通信的協(xié)議簡化為應(yīng)用層、數(shù)據(jù)鏈路層和物理層3層,本文主要介紹數(shù)據(jù)鏈路層,它是串行通信協(xié)議中的核心,主要完成幀格式的確定,傳輸中差錯(cuò)的處理以及通信超時(shí)控制等。

        4.1幀格式

        一幀數(shù)據(jù)包括幾個(gè)組成部分,由幀頭、數(shù)據(jù)類型、數(shù)據(jù)長度、數(shù)據(jù)、CRC校驗(yàn)和幀尾幾個(gè)部分組成,如圖2所示。

        圖2 幀格式示意圖

        (1)幀頭

        幀頭表示這個(gè)幀是串行通信的數(shù)據(jù),并以此作為是否通過串口接收此幀的標(biāo)志位,幀頭占一個(gè)字節(jié)。

        (2)數(shù)據(jù)類型

        通信中需要傳輸不同的幀類型,有控制命令幀、應(yīng)答幀、數(shù)據(jù)幀等,此幀傳輸?shù)氖鞘裁磧?nèi)容由數(shù)據(jù)類型給出,它在幀中占一個(gè)字節(jié)。

        (3)數(shù)據(jù)長度

        數(shù)據(jù)長度用來描述數(shù)據(jù)包含的字節(jié)數(shù),在發(fā)送方和接收方傳輸信息的時(shí)候這個(gè)標(biāo)志可以對發(fā)送或者接收到的數(shù)據(jù)個(gè)數(shù)進(jìn)行校對,以保證數(shù)據(jù)的準(zhǔn)確傳輸。數(shù)據(jù)長度占一個(gè)字節(jié)。

        (4)數(shù)據(jù)

        傳輸?shù)臄?shù)據(jù)內(nèi)容,長度為1~6個(gè)字節(jié)。

        (5)CRC校驗(yàn)碼

        這里采用的是CRC16校驗(yàn)碼,占一幀中的兩個(gè)字節(jié),可以對傳輸?shù)臄?shù)據(jù)進(jìn)行高質(zhì)量的檢錯(cuò),保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確率。

        (6)幀尾

        幀尾占一個(gè)字節(jié),表示一幀的結(jié)束標(biāo)志。

        4.2檢錯(cuò)容錯(cuò)機(jī)制

        由于外界復(fù)雜電磁環(huán)境以及噪聲干擾信號的存在,串行通信的可靠性受到極大威脅。為了向應(yīng)用層提供可靠的通信服務(wù),數(shù)據(jù)鏈路層必須能夠檢查出傳輸過程中數(shù)據(jù)幀存在的錯(cuò)誤,并在監(jiān)測出錯(cuò)誤之后進(jìn)行相應(yīng)的處理。

        如果幀頭、數(shù)據(jù)類型、數(shù)據(jù)長度和幀尾這些數(shù)據(jù)幀格式發(fā)生錯(cuò)誤,接收方將不給出應(yīng)答幀,直接放棄此幀等待下一幀;如果CRC檢測錯(cuò)誤,說明數(shù)據(jù)段發(fā)生了傳輸錯(cuò)誤,接收方發(fā)出錯(cuò)誤應(yīng)答,發(fā)送方接收到錯(cuò)誤應(yīng)答之后將立即重新發(fā)送一幀數(shù)據(jù)幀;如果接收到的數(shù)據(jù)不合法,等待1 ms的時(shí)間,不對該幀做任何處理,直接丟棄此幀。

        圖3 發(fā)送方通信流程

        圖4 接收方通信流程

        對于發(fā)送方來說,發(fā)送一個(gè)數(shù)據(jù)幀之后將等待接收方給出的應(yīng)答,如果是錯(cuò)誤應(yīng)答,發(fā)送方立即重發(fā)此幀數(shù)據(jù);如果是正確應(yīng)答,發(fā)送方不再發(fā)送數(shù)據(jù),此幀通信結(jié)束;如果發(fā)送方在限定時(shí)間內(nèi)沒有收到任何回應(yīng),發(fā)送方也將重發(fā)此幀,最多重發(fā)三次。

        圖3和圖4分別是發(fā)送方和接收方的通信流程,從流程中可以看出本文協(xié)議的檢錯(cuò)容錯(cuò)機(jī)制。

        5 通信協(xié)議的仿真驗(yàn)證

        協(xié)議的仿真驗(yàn)證分為發(fā)送端和接收端兩個(gè)部分,對發(fā)送方和接收方的不同行為分別進(jìn)行了驗(yàn)證。

        5.1發(fā)送端仿真驗(yàn)證

        發(fā)送端發(fā)送正確數(shù)據(jù)幀之后收到正確的應(yīng)答幀,如圖5所示。發(fā)送的數(shù)據(jù)幀為7e500534fb9af5,接收到的正確應(yīng)答幀為7e0b040350f5,應(yīng)答幀的形式有別于數(shù)據(jù)幀,在數(shù)據(jù)幀中,7e為幀頭,50是數(shù)據(jù)類型,05表示后面的數(shù)據(jù)占一個(gè)字節(jié),34是要傳輸?shù)臄?shù)據(jù),fb9a是CRC校驗(yàn)碼,f5是幀尾,這是在第四節(jié)中提出的標(biāo)準(zhǔn)數(shù)據(jù)幀格式,下面仿真中的數(shù)據(jù)幀也符合這樣的幀格式,不再一一贅述。

        圖5 發(fā)送方接收到正確應(yīng)答

        發(fā)送端發(fā)送一幀數(shù)據(jù)之后在一定時(shí)間之內(nèi)沒有收到接收方的應(yīng)答信號,發(fā)送端繼續(xù)發(fā)送此幀,重發(fā)次數(shù)最多不超過3次,如圖6所示。

        發(fā)送端發(fā)送一幀數(shù)據(jù)之后收到接收端發(fā)來的錯(cuò)誤應(yīng)答,這里錯(cuò)誤應(yīng)答幀的形式為7e0b040050f5。發(fā)送方立即重發(fā)一幀相同的數(shù)據(jù),如圖7所示,之后在一定時(shí)間內(nèi)沒有收到接收端發(fā)來的應(yīng)答信號,所以發(fā)送方又繼續(xù)發(fā)送了兩次相同的數(shù)據(jù)幀。

        圖6 發(fā)送方?jīng)]有收到應(yīng)答信息

        圖7 發(fā)送方收到錯(cuò)誤應(yīng)答

        5.2接收端仿真驗(yàn)證

        接收端接收到正確的數(shù)據(jù)幀之后給出正確應(yīng)答返回給發(fā)送方,如圖8所示,這里接收端接收了3個(gè)不同的數(shù)據(jù)幀,每次接收正確的數(shù)據(jù)幀之后都會返回1個(gè)正確應(yīng)答幀。

        接收方接收到的數(shù)據(jù)幀幀格式發(fā)生錯(cuò)誤,將不返回任何應(yīng)答,如圖9所示,接收的第一個(gè)數(shù)據(jù)幀數(shù)據(jù)最大長度發(fā)生錯(cuò)誤,最大長度為a,而此時(shí)數(shù)據(jù)長度為b,不符合要求;第二個(gè)數(shù)據(jù)幀頭不符合要求;第三個(gè)數(shù)據(jù)幀數(shù)據(jù)長度為6,數(shù)據(jù)本應(yīng)該為2個(gè)字節(jié),但是在這里只有1個(gè)字節(jié)的數(shù)據(jù),不符合要求;第四個(gè)數(shù)據(jù)幀幀尾不符合要求;最后一個(gè)數(shù)據(jù)幀為非法數(shù)據(jù)幀,如4.2節(jié)所述接受方在1 ms之內(nèi)沒有對其做任何處理,直接丟棄此幀等待下一幀的到來。

        接收方接收到的數(shù)據(jù)幀檢測到CRC錯(cuò)誤,立即返回錯(cuò)誤應(yīng)答幀給發(fā)送方,發(fā)送方收到錯(cuò)誤應(yīng)答之后重新發(fā)送數(shù)據(jù)幀,接收方接收到正確數(shù)據(jù)幀,返回正確應(yīng)答幀,通信結(jié)束,整個(gè)過程如圖10所示。

        圖8 接收方接收到正確數(shù)據(jù)幀

        圖9 接收到的數(shù)據(jù)幀格式發(fā)生錯(cuò)誤

        圖10 接收到的數(shù)據(jù)幀CRC檢測錯(cuò)誤

        6 結(jié)論

        本文提出了一種全新的串行通信協(xié)議,通過仿真驗(yàn)證證明了這一協(xié)議的高可靠性,此協(xié)議已經(jīng)在一款專用串口通信芯片中得到應(yīng)用,并且在各種工作環(huán)境下都取得了良好的通信效果。

        參考文獻(xiàn):

        [1] 張海林,楊勇. 自動(dòng)化系統(tǒng)中的串行通信協(xié)議的設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2003,31:159-160,218.

        [2] 劉進(jìn)海,劉志博,馬力. 基于RS-232異步串行通信接口通用通信協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),1998,07: 9-11.

        [3] 王忠,李延社,游智勝. CRC算法設(shè)計(jì)與程序?qū)崿F(xiàn)[J]. 電子測量技術(shù),2007,12: 26-28,36.

        [4] 張平安. 16位循環(huán)冗余校驗(yàn)碼(CRC)的原理和性能分析[J]. 山西科技,2005,05: 123-125.

        桂江華(1981—),男,安徽安慶人,工程師,主要研究方向?yàn)榇笠?guī)模數(shù)字集成電路設(shè)計(jì)。

        A Kind of Highly Reliable Serial Communication Protocol

        GUI Jianghua, SHAO Jian, PAN Miao
        (China Electronic Technology Group Corporation No.58 Research Institute, Wuxi 214035, China)

        Abstract:With the increasing complexity of the working environment, the reliability of modern communication needs higher and higher requirements.Some serial communication protocol such as RS-232 and RS-485 which have simple content are easy to realize,but transmission reliability can not get a good guarantee due to the simple transmission specification. In order to improve the reliability of serial communication, a new protocol with complete frame format, CRC, retransmission and a series of error tolerant mechanism,which is based on RS-232 protocol is proposed in this paper. The reliability of the protocol is verified by the simulation in this paper.

        Keywords:CRC; serial communication; frame format; communication protocol

        作者簡介:

        收稿日期:2015-12-4

        中圖分類號:TN918

        文獻(xiàn)標(biāo)識碼:A

        文章編號:1681-1070(2016)02-0040-04

        国产在线观看精品一区二区三区| 蜜臀av 国内精品久久久| 国产黄a三级三级三级av在线看| 免费人妻无码不卡中文字幕18禁| 国产乱沈阳女人高潮乱叫老 | 精品麻豆国产色欲色欲色欲www| 国产爆乳乱码女大生Av| 亚洲国产成人精品久久成人| 国产亚洲av看码精品永久| 亚洲日韩一区精品射精| 最新高清无码专区| 午夜a福利| 91久久国产露脸国语对白| 制服丝袜一区二区三区| 纯爱无遮挡h肉动漫在线播放 | 亚洲色www无码| 日本精品一区二区三区试看| 久久久中文久久久无码| 厨房玩丰满人妻hd完整版视频| 国产美女精品AⅤ在线老女人| 久久久精品亚洲人与狗| 久久www免费人成精品| av香港经典三级级 在线| 国产精品18久久久久网站| 亚洲中文字幕免费精品| av天堂午夜精品一区| 久久久久国产精品熟女影院| 偷拍区亚洲区一区二区| 国产成人精品中文字幕| 日韩乱码中文字幕在线| 亚洲中文字幕久久精品无码a| 69精品丰满人妻无码视频a片| 天堂av无码大芭蕉伊人av孕妇黑人| 免费看黄在线永久观看| 无码人妻丰满熟妇区免费| 欧美日韩国产一区二区三区不卡| 午夜免费福利一区二区无码AV| 丝袜美腿av免费在线观看| 日韩精品人妻久久久一二三| 97伦伦午夜电影理伦片| 大屁股少妇一区二区无码|