亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

設計封裝串口數據通信論文

時間:2024-07-22 02:26:17 通信工程畢業論文 我要投稿
  • 相關推薦

設計封裝串口數據通信論文

  1協議的設計

設計封裝串口數據通信論文

  1.1數據報格式

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

  1.2.1數據分割

  協議從應用程序接口獲取應用程序提供的數據并以流式數據寫入發送方數據緩沖區;然后以事先設定的數據分割長度取數據,長度不足的部分則全部取出,取數據指針移動相應距離。

  1.2.2報文組裝

  報文的組裝過程如下:

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

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

  (3)計算報文序號GH;

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

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

  1.2.3報文拆分

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

  (1)從報文緩沖區按報文長度獲取報文數據;

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

  1.2.4數據拼接

  將從報文取出的數據填入接收方數據緩沖區,寫數據指針移動相應距離;接收完最后一個數據后,協議將數據緩沖區中的數據提供給上層應用程序,寫數據指針恢復初始值。

  1.3數據報傳輸過程

  數據報傳輸情況分為考慮定時器超時和不考慮定時器超時兩種,定時器超時處理應屬于中斷調用。

  1.3.1傳輸過程數據報傳輸過程如下:

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

  (2)開始發送時,串口按已經設定的工作方式和波特率工作,從報文緩沖區獲取報文數據并發送。

  (3)發送方發送完畢一個數據報后,停止發送,啟動定時器計時,準備接收響應。

  (4)接收方串口接收數據并填入報文緩沖區。

  (5)接收方從報文緩沖區獲取報文數據,進行校驗:

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

  ②若接收方校驗結果為錯誤,則丟棄數據報,發送數據部為空、ACK=0x1110的報文,通知發送方重發。

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

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

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

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

  1.3.2定時器超時處理

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

  2結論

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

【設計封裝串口數據通信論文】相關文章:

微電子封裝業和微電子封裝設備論文09-06

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

數據通信及應用前景論文09-02

用FPGA實現異步串口與同步串口的轉換08-27

USB數據通信系統探析論文09-08

基于AMF的Android數據通信論文10-29

數據通信的應用前景研究論文10-09

紅外無線數據通信探析論文10-01

構建鐵路數據通信論文05-14

地鐵信號系統數據通信論文10-11

主站蜘蛛池模板: 在线观看日本亚洲一区| 国内精品久久久久久影院8f| 欧美牲交a欧美牲交aⅴ免费真| 新乡市| 不卡国产视频第一页| 国产精品无码一区二区三区电影| 少妇被粗大的猛烈进出免费视频 | 波多野结衣在线精品视频| 国产成人综合在线观看| 777午夜福利理伦电影网| 一本加勒比hezyo中文无码| 国产麻豆精品福利在线| 丁香五月麻豆| 熟妇无码熟妇毛片| 澳门| 亚洲欧美一区二区三区麻豆| 毛片内射-百度| 石棉县| 亚洲精品久久久久久久观看| 久久不见久久见www免费视频| 高跟肉丝少妇A片在线| 无码一区二区波多野结衣播放搜索 | 亚洲人成网站在线播放大全| 精品久久久久久中文字幕大豆网| 国产成人拍精品视频午夜网站| 久久99热这里只有精品国产| 久久久成人毛片无码| 藁城市| 久久精品国产亚洲AV成人毛片| 久久婷婷五月综合中文字幕| 成人国产精品一区二区网站 | 无码精品a∨在线观看十八禁| 国产精品va尤物在线观看蜜芽| 国产96在线 | 欧美| 亚洲视频欧美不卡| 97久久久精品综合88久久| 国产激情久久久久影院小草| 乱色熟女综合一区二区| 亚洲天天做日日做天天谢日日欢| 丁香色婷婷国产精品视频| 无码中文字幕日韩专区|