中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      設(shè)計封裝串口數(shù)據(jù)通信論文

      時間:2024-07-22 02:26:17 通信工程畢業(yè)論文 我要投稿
      • 相關(guān)推薦

      設(shè)計封裝串口數(shù)據(jù)通信論文

        1協(xié)議的設(shè)計

      設(shè)計封裝串口數(shù)據(jù)通信論文

        1.1數(shù)據(jù)報格式

        數(shù)據(jù)報分為報文頭部和數(shù)據(jù)部兩部分,其格式如圖2所示。報文頭部由6字節(jié)組成,第1、2字節(jié)AB表示報文長度,即報文頭部長度加上數(shù)據(jù)部長度;第3、4字節(jié)CD表示整個報文的校驗和;第5、6字節(jié)XX表示應(yīng)答ACK;第7、8字節(jié)GH表示報文序號。數(shù)據(jù)報長度AB范圍為0~65535,所以一個報文最大為8KB。數(shù)據(jù)部長度等于報文長度(AB)減去報文頭長度(8B)。2.2數(shù)據(jù)處理與報文處理數(shù)據(jù)處理包括分割上層應(yīng)用提供的數(shù)據(jù),以及從報文還原拼接數(shù)據(jù);報文處理包括格式化報文以提供給串口發(fā)送以及從串口讀取報文、校驗報文、提取數(shù)據(jù)。

        1.2.1數(shù)據(jù)分割

        協(xié)議從應(yīng)用程序接口獲取應(yīng)用程序提供的數(shù)據(jù)并以流式數(shù)據(jù)寫入發(fā)送方數(shù)據(jù)緩沖區(qū);然后以事先設(shè)定的數(shù)據(jù)分割長度取數(shù)據(jù),長度不足的部分則全部取出,取數(shù)據(jù)指針移動相應(yīng)距離。

        1.2.2報文組裝

        報文的組裝過程如下:

        (1)計算取出數(shù)據(jù)的長度,填入報文第1、2字節(jié);

        (2)報文第3~6字節(jié)全部置0;

        (3)計算報文序號GH;

        (4)計算校驗和,從第1字節(jié)開始,每兩個字節(jié)為一個單元進(jìn)行分割,末尾不足兩字節(jié)則在其后補(bǔ)0,再將這些單元進(jìn)行二進(jìn)制反碼求和,結(jié)果存在檢驗和字段中第3、4字節(jié);

        (5)將取出的數(shù)據(jù)接在報文頭部后面,將整個報文寫入報文緩沖區(qū)。

        1.2.3報文拆分

        報文拆分的具體步驟如下:

        (1)從報文緩沖區(qū)按報文長度獲取報文數(shù)據(jù);

        (2)計算校驗和,方法同報文組裝里的計算方法:如果校驗和不為0xFFFF,則傳輸過程中發(fā)生差錯,丟棄此報文;如果校驗和為0xFFFF,取出報文長度及報文序號,計算數(shù)據(jù)部長度,取出數(shù)據(jù)。

        1.2.4數(shù)據(jù)拼接

        將從報文取出的數(shù)據(jù)填入接收方數(shù)據(jù)緩沖區(qū),寫數(shù)據(jù)指針移動相應(yīng)距離;接收完最后一個數(shù)據(jù)后,協(xié)議將數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)提供給上層應(yīng)用程序,寫數(shù)據(jù)指針恢復(fù)初始值。

        1.3數(shù)據(jù)報傳輸過程

        數(shù)據(jù)報傳輸情況分為考慮定時器超時和不考慮定時器超時兩種,定時器超時處理應(yīng)屬于中斷調(diào)用。

        1.3.1傳輸過程數(shù)據(jù)報傳輸過程如下:

        (1)在進(jìn)行數(shù)據(jù)報傳輸前,發(fā)送方將數(shù)據(jù)分割并裝進(jìn)報文,ACK置為0x0000,計算報文序號,再將報文送入報文緩沖區(qū)。

        (2)開始發(fā)送時,串口按已經(jīng)設(shè)定的工作方式和波特率工作,從報文緩沖區(qū)獲取報文數(shù)據(jù)并發(fā)送。

        (3)發(fā)送方發(fā)送完畢一個數(shù)據(jù)報后,停止發(fā)送,啟動定時器計時,準(zhǔn)備接收響應(yīng)。

        (4)接收方串口接收數(shù)據(jù)并填入報文緩沖區(qū)。

        (5)接收方從報文緩沖區(qū)獲取報文數(shù)據(jù),進(jìn)行校驗:

        ①若接收方校驗結(jié)果為正確,則取出數(shù)據(jù);若接收的ACK=0x0011并且收到的序號等于前面一個報文的序號,則將數(shù)據(jù)覆蓋到前一塊數(shù)據(jù),否則將數(shù)據(jù)填入數(shù)據(jù)緩沖區(qū);記錄報文序號,發(fā)送數(shù)據(jù)部為空、ACK=0x1111的報文。

        ②若接收方校驗結(jié)果為錯誤,則丟棄數(shù)據(jù)報,發(fā)送數(shù)據(jù)部為空、ACK=0x1110的報文,通知發(fā)送方重發(fā)。

        (6)接收方每次處理完數(shù)據(jù)報均初始化并啟動定時器計時,剛收到數(shù)據(jù)報時關(guān)閉定時器。

        (7)發(fā)送方收到響應(yīng)報文,校驗通過則關(guān)閉定時器,獲取ACK,若ACK=0x1111,則發(fā)送下一個數(shù)據(jù)報;若ACK=0x1110,則重發(fā)當(dāng)前數(shù)據(jù)報(ACK置0x0011)。如果校驗不通過就丟棄此數(shù)據(jù)報,仍保持定時器計時。

        (8)雙方重復(fù)以上步驟直到最后一個報文發(fā)送完畢。

        (9)發(fā)送方發(fā)送最后一個報文完成后,發(fā)送數(shù)據(jù)部為空、ACK=0x0001的報文提示數(shù)據(jù)傳輸完畢,若此報文發(fā)送后收到重傳響應(yīng),則重發(fā)此數(shù)據(jù)報(ACK仍置0x0001)。

        1.3.2定時器超時處理

        若發(fā)送方定時器達(dá)到發(fā)送方超時等待時間仍未收到響應(yīng)報文,則重傳當(dāng)前數(shù)據(jù)報(ACK置0x0011),連續(xù)超時三次還沒收到應(yīng)答則停止發(fā)送數(shù)據(jù)報,清空報文緩沖區(qū)和數(shù)據(jù)緩沖區(qū),并向應(yīng)用程序返回通信失敗。若接收方定時器達(dá)到接收方超時等待時間仍未收到報文,清空報文緩沖區(qū)和數(shù)據(jù)緩沖區(qū),關(guān)閉定時器,并向上層應(yīng)用程序返回通信失敗。

        2結(jié)論

        本文所設(shè)計的協(xié)議封裝串口通信是為了更方便和安全地傳送數(shù)據(jù),從上文可以看到,在發(fā)送大數(shù)據(jù)報時,串口的速度其實不高,而本協(xié)議若需控制在毫秒級的處理,所發(fā)數(shù)據(jù)不能超過1192B。報文長度字節(jié)AB范圍為0~65535,故每個報文大小為8B~8KB,數(shù)據(jù)部大小為0~8184B,所以數(shù)據(jù)分割范圍為0~8184B。故本協(xié)議更適用于小數(shù)據(jù)量傳送,比如在信號采集后的數(shù)據(jù)傳送等,傳輸一個雙精度浮點數(shù)需要14ms左右。

      【設(shè)計封裝串口數(shù)據(jù)通信論文】相關(guān)文章:

      微電子封裝業(yè)和微電子封裝設(shè)備論文09-06

      射頻和微波微電子封裝論文08-01

      數(shù)據(jù)通信及應(yīng)用前景論文09-02

      用FPGA實現(xiàn)異步串口與同步串口的轉(zhuǎn)換08-27

      USB數(shù)據(jù)通信系統(tǒng)探析論文09-08

      基于AMF的Android數(shù)據(jù)通信論文10-29

      數(shù)據(jù)通信的應(yīng)用前景研究論文10-09

      紅外無線數(shù)據(jù)通信探析論文10-01

      構(gòu)建鐵路數(shù)據(jù)通信論文05-14

      地鐵信號系統(tǒng)數(shù)據(jù)通信論文10-11

      主站蜘蛛池模板: 高跟丝袜一区二区三区| 若羌县| 亚洲一区二区免费日韩| 亚洲AV永久无码精品一区二国| 在线观看亚洲你懂得| 成人永久福利在线观看不卡| 中文字幕人妻丝袜成熟乱| 国产亚洲美女精品久久久2020| 久久精品国产亚洲av热一区| 黄骅市| 沐川县| 免费va国产高清不卡大片| 无码专区亚洲avl| 国产精品视频一区二区三区观看 | 最新免费视频一区二区三区 | 精品国产v一区二区三区| 中文字幕日本熟妇少妇| 精品一区二区三区a蜜桃| 中文字幕一区二区三区97| 日韩av一区二区三区在线播放| 风韵丰满妇啪啪区老老熟女杏吧| 平乐县| 沙湾县| 日本在线免费精品视频| 美女福利一区二区三区在线观看| 国产成人一区二区三区高清| 日本高清视频在线一区二区三区 | 宁远县| 国产精品熟女孕妇一区二区| 亚洲欧美日韩在线中文一| 国产一区二区三区国产精品| 玩弄人妻奶水无码AV在线| 国产伦一区二区三区精品| 免费人成视频欧美| 国产精品国产三级国产无毒| 久久久99精品视频| 国产精品久久久亚洲第一牛牛| 亚洲AV无码成人精品区日韩密殿| 国产成人无精品久久久| 亚洲午夜久久久久中文字幕久| 开心五月婷婷伊人久久|