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

串口數據通信協議的問題分析

2013-08-20 01:01:16
科技視界 2013年23期
關鍵詞:信號服務

田 賽

(寶雞職業技術學院 電子信息工程系,陜西 寶雞721000)

0 前言

串口通信協議用于完成雙機互聯程序的文件傳輸功能, 簡稱SPCP。 設計思想基于幀傳輸方式,即在向串口發送數據時是一幀一幀地發送。 為了保證可靠傳輸,通過握手建立連接,在每一幀的傳輸中,采用發送/應答/重連/失敗方式。所謂通信協議是指通信雙方的一種約定。約定包括對數據格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題做出統一規定,通信雙方必須共同遵守。 它屬于OSI 七層參考模型中的數據鏈路層。 由于RS-232 標準只是一個接門標準,它規定了連接電纜、機械、電氣特性、信號功能及傳送過程等,因此,在OSI 七層(包括 應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層)參考模型中只代表了物理層(Physical Layer)和數據鏈路層(Data Link Layer),如果想實現數據的雙向訪問,使通信雙方能夠按規定的格式從串口發送數據,同時也能從接收到的數據中將需要的信息提取出來,就需要設計用戶通信協議,以進行數據處理。而用戶層協議則是面向使用者的,這種用戶層通信協議簡單地講就是對數據格式、同步方式、傳送速度、傳送步驟、數據校驗、檢糾錯方式等問題做出統一規定,通信雙方必須共同遵守。

1 數據成幀

在通信過程中的幀,按其功能的不同,分為數據幀、控制幀和短語幀三種。數據幀用于傳遞用戶所需傳遞的信息(文件),數據幀中的數據最終會被程序解讀并重組;而控制幀則用于實現在通信過程中的控制信息的交換,以順利實現數據幀的傳輸;短語幀用于文本消息的發送。每一幀分為幀頭和負載兩個部分,其中幀頭占6 個字節,前2 個字節用于區分三種幀,后4 個字節對于不同幀的意義各不相同,負載長度不定。

表1 三種幀結構

1.1 數據幀

數據幀包括幀頭、 負載數據和校驗和。 幀頭長8 個字節, 其中,Source 表示發出本幀的機器的編號;Destination 表示本幀欲發送到的目的機的編號;Count 表示負載數據的長度(字節計數),Count 則是程序運行中根據輸出緩沖區大小而定的, 最多不超過輸出緩沖區的一半;Checksum 表示將前面從Byte0 到Byte5 所有的數據進行校驗和計算后得到的結果。

1.2 控制幀

控制幀與控制信號合作完成通信同步與控制任務, 只有幀頭,沒有負載數據,幀頭長8 個字節,其中nPack 表示本次傳輸共發送的幀數,以便讓接收端控制進度。 當nPack=Checksum=0 時,表示本次傳輸結束,當接收端收到該幀時,不管是否已收到應接收的幀數,都將結束此次傳輸(記該幀為ABORT 幀)。 在沒有發生傳輸錯誤的情況下,一次傳輸只會出現兩次控制幀,第一次在傳輸開始時(記為控制首幀),第二次則在傳輸結束時出現。

1.3 短語幀

短語幀的組成與數據幀十分相似, 前兩字節分別為0x01 和0x00,其后的字節則用于承載所要發送的文本數據,短語幀的最后兩個字節仍然為對本幀前面所有字節的校驗和計算后的值。

應用程序發送來的數據作為一個流按協議進行分幀,切割后為每幀加上幀頭和校驗和進行發送;在接收端,分幀的數據去掉幀頭后存入文件緩沖區,接收完成后寫入磁盤。

2 數據傳輸方式

在數據傳輸時,主要有三種方案可供選擇,即有確認的面向連接的服務;有確認的無連接的服務;無確認的無連接服務。 有確認的面向連接服務在源機器與目的機器在傳遞任何數據之前,都先建立一條連接。 在這條連接上所發送的每一幀都被編上號,數據鏈路層保證所發送的每一幀都確實已收到。與此同時,它保證每幀只收到一次,且所有的幀都是按正確的順序收到的,但是這種連接方式系統開銷較大。 大多數廣域網的通信子網的數據鏈路層采用面向連接確認服務。無確認的無連接服務是源機器向目的機器發送獨立的幀,而目的機器對收到的幀不作確認。事先沒有建立連接,事后也不存在釋放。如果由于線路上的原因造成某一幀的數據丟失,則數據鏈路層并不會檢測到這樣的丟失幀,也不會恢復這些幀。 錯誤率較高。 當然在錯誤率很低,或者對數據的完整性要求不高的情況下(如話音數據),這樣的服務還是非常有用的,因為這樣簡單的錯誤可以交給OSI 上面的各層來恢復。 如大多數局域網在數據鏈路層所采用的服務也是無確認的無連接服務。有確認的無連接服務是對無確認的無連接服務的一種改進。當提供這種服務時,仍然不建立連接,但是所發送的每一幀都進行單獨確認。以這種方式,發送方就會知道幀是否安全地到達,如果在某個確定的時間間隔內,幀沒有到達,就必須重新發送此幀。這類服務主要用于不可靠信道,如無線通信系統。

在發送數據前,發送方將數據進行分幀包裝,然后按發送請求、數據傳輸、發送完成的步驟進行通信。接收端收到請求信號后,向用戶詢問是否接收。用戶確認接收后,接收端發出“請求發送文件”信號。發送端收到“請求發送文件”信號后,開始發送數據。 首先由發送端發出第一幀數據,然后等待反饋。接收端收到一幀數據后,若幀長度校驗和錯誤則發出“請求重新發送幀數據”信號,如果正確,則發出“請求發送下一幀數據”信號。若發送端收到“請求重新發送幀數據”信號,則重新發送先前發送的幀數據。 若發送端收到“請求發送下一幀數據”信號,則首先檢查已經發出的一幀數據是否是最后一幀,如果是則發出“發送完畢”信號,否則,發送下一幀數據。 重復整個過程。 當發送方發出“發送完畢”信號后,關閉文件,并提示用戶“發送完畢”。接收端受到“發送完畢”信號后,則把文件緩沖區中存儲的數據寫入磁盤,然后關閉文件,并向用戶提示“接收完畢”。

3 結束語

從上面的分析可以看出,基于有確認的無連接服務的串口通信幀同步方法是本文中提出的三種幀方法中最優的,結構清晰且系統資源利用率高。串口數據傳輸時在每一幀都采用了發送/應答/重連/失敗的方式進行。 克服了數據幀傳輸在RS-232 接口中低速率、無線信道不可靠性以及整個通信系統的開銷等制約因素。 需要指出的是本協議仍有一些不完善的地方,比如安全性沒有考慮等,這些不足都有待于以后進一步的優化。

[1]陳啟美,李嘉.現代數據通信教程[M].南京:南京大學出版社,2000,3.

[2]王達.網絡工程師必讀:網絡工程基礎[M].北京:電子工業出版社,2006,7.

猜你喜歡
信號服務
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
孩子停止長個的信號
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 2021无码专区人妻系列日韩| 日韩欧美国产成人| 国产一区免费在线观看| 3p叠罗汉国产精品久久| 在线观看无码av五月花| 久久综合国产乱子免费| 亚洲无码高清一区| 久久这里只有精品2| 欧美视频在线播放观看免费福利资源 | 91精品国产91欠久久久久| 美女国产在线| 少妇精品久久久一区二区三区| 在线观看国产一区二区三区99| 99精品国产电影| 久久成人免费| 日韩毛片基地| 亚洲国产日韩欧美在线| 福利片91| 中文字幕在线播放不卡| 美臀人妻中出中文字幕在线| a毛片基地免费大全| 波多野结衣中文字幕一区二区| 在线观看91香蕉国产免费| 一级毛片免费播放视频| 久久视精品| 男女男精品视频| 国产天天色| 久久久久免费看成人影片| 国产精品主播| 国产免费观看av大片的网站| 国产尤物jk自慰制服喷水| 91网红精品在线观看| 超碰免费91| 任我操在线视频| aa级毛片毛片免费观看久| 国产18在线播放| 国产精品九九视频| 在线观看国产精品第一区免费| a毛片在线| 国产午夜福利片在线观看| 国产69囗曝护士吞精在线视频| 在线无码九区| 欧美亚洲综合免费精品高清在线观看| 成人精品亚洲| 欧美日韩亚洲综合在线观看| 日本免费a视频| 97精品伊人久久大香线蕉| 久精品色妇丰满人妻| 中文字幕1区2区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 午夜小视频在线| 无码福利日韩神码福利片| 视频二区亚洲精品| 亚洲成人黄色网址| 国产精品白浆在线播放| 91精品伊人久久大香线蕉| 国产亚洲精| 国产亚洲精品91| 亚洲无码A视频在线| 国产1区2区在线观看| 亚洲黄网在线| 国产成人精品男人的天堂| 91国内视频在线观看| AV不卡在线永久免费观看| 在线观看国产小视频| 日本在线免费网站| 91偷拍一区| h视频在线播放| 久久99精品久久久久久不卡| 无码日韩视频| 欧洲精品视频在线观看| 日韩精品一区二区三区视频免费看| 亚洲Aⅴ无码专区在线观看q| 久久久受www免费人成| 亚洲青涩在线| 人妻中文久热无码丝袜| 一级毛片免费观看不卡视频| 99re在线免费视频| 久久精品嫩草研究院| 欧美亚洲国产一区| 亚洲国产精品无码AV| 久久亚洲日本不卡一区二区|