[發明專利]一種CAN總線數據傳輸方法有效
| 申請號: | 200910242900.6 | 申請日: | 2009-12-18 |
| 公開(公告)號: | CN101764730A | 公開(公告)日: | 2010-06-30 |
| 發明(設計)人: | 李國軍;謝松;霍德聰 | 申請(專利權)人: | 航天東方紅衛星有限公司 |
| 主分類號: | H04L12/40 | 分類號: | H04L12/40;H04L1/00;H04L29/08 |
| 代理公司: | 中國航天科技專利中心 11009 | 代理人: | 楊虹 |
| 地址: | 100094*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 can 總線 數據傳輸 方法 | ||
技術領域
本發明涉及一種CAN現場總線數據傳輸方法,特別是采用動態改變優先 級、幀順序控制、多幀應答機制等多項技術提高CAN總線多幀數據傳輸可靠 性的方法,屬于數據傳輸技術領域。
背景技術
由于CAN總線標準只規定了物理層和數據鏈路層,應用層部分需要自行 開發。目前小衛星常用作法是將大塊數據分割成較小的數據塊,小塊數據單獨 發送,接收端將數據全部接收后按照先后順序拼接成原始數據。該種處理方式 簡單實用,適用于數據量較小、通信場合穩定可靠的情況。在數據塊變大,且 通信環境惡劣時,可能會產生誤碼。目前對于誤碼的處理方式為重新發送。而 大數據塊全部重新發送需要占用總線帶寬及通信時間,不利于星載測控數據的 可靠傳輸。
許杭等于2007年12月發表在《計算機工程》的《CAN總線上層協議的 設計》一文重點闡述了基于CAN擴展幀格式的應用層協議設計,而本發明基 于CAN標準幀格式,格式定義不同,現場應用的方向不同。
發明內容
本發明的技術解決問題是:克服現有技術的不足,提供一種高可靠的CAN 總線大數據塊傳輸方法,大幅提高了CAN總線大數據塊收發的可靠性,并具 有一定的糾檢錯功能,擴大了CAN總線的應用層次,提高了網絡系統的健壯 性。
本發明的技術解決方案是:一種CAN總線數據傳輸方法,通過以下步驟實 現:
第一步,數據發送方將要傳輸的大數據塊按照特定的幀格式分成若干個數 據幀的多幀形式,每一幀數據包括仲裁場、控制場和有效數據場,其中仲裁場 的ID10、ID9位為幀優先級、ID8~ID3位為幀順序控制域,用來填寫幀序號, 將若干個數據幀的第一幀即頭幀和最后一幀即尾幀的幀優先級定為0,其他數 據幀的優先級定為1,頭幀的幀序號為0,其余數據幀的幀序號按1、2、3...N 的順序編號,N為大數據塊分成的數據幀的幀總數,頭幀的有效數據場第一位 數據字節T為幀標識,第二個數據字節L為幀總數,即N的數值,尾幀的有效 數據場的最后一個字節SUM為校驗字,頭幀、尾幀剩余有效數據場及其余的 數據幀的有效數據場的字節為要傳輸的有效數據;
第二步,數據發送方將頭幀發送到數據接收方;
第三步,數據接收方接到頭幀后,向數據發送方返回頭幀應答數據幀,頭 幀應答數據幀格式為有效數據場第一字節T為應答幀的幀標識,第二字節為頭 幀接收狀態,第三個字節SUM為本幀的校驗字,若數據接收方向數據發送方 返回的頭幀應答數據幀有效數據場第二字節為0表示頭幀正確接收,進入第四 步,若頭幀應答數據幀有效數據場第二字節為1表示頭幀未正確接收,需要重 新發送,則返回第二步,若數據發送方在10ms內未收到頭幀應答數據幀,則 返回第二步;
第四步,數據發送方繼續向數據接收方發送其余的數據幀,直到尾幀;
第五步,數據接收方接收完所有的數據幀,根據檢查所有數據幀的結果向 數據發送方返回尾幀應答數據幀,若數據發送方10ms未接到數據接收方返回 的尾幀應答數據幀,則回到第二步;
(1)數據接收方檢查所有數據幀的幀順序控制域,若數據幀的順序號連續 完整,進入步驟(2),若數據幀的順序號不是連續完整的,則進入步驟(3);
(2)利用尾幀的校驗字對接收到所有數據幀進行校驗,若校驗正確,則進 入步驟(4),若校驗不正確則進入步驟(5);
(3)數據接收方向數據接收方返回部分重發的尾幀應答數據幀,數據幀的 格式為有效數據場的第一字節T為應答幀的幀標識,中間的字節為需重新發送 的數據幀的幀序號,第后一個字節SUM為本幀的校驗字,進入步驟(6);
(4)數據接收方向數據接收方返回全部正確的尾幀應答數據幀,數據幀的 格式為有效數據場的第一字節T為應答幀的幀標識,第二個字節SUM為本幀 的校驗字,進入第七步;
(5)數據接收方向數據接收方返回全部重發的尾幀應答數據幀,數據幀的 格式為有效數據場的第一字節T為應答幀的幀標識,中間的字節為全部的數據 幀的幀序號,第后一個字節SUM為本幀的校驗字,進入步驟(6);
(6)數據接收方根據數據接收方返回的尾幀應答數據幀,向數據接收方發 送所需重新發送的數據幀,回到步驟(1);
第六步,在數據接收方接受多幀數據時,接受到多幀數據以外的數據幀, 根據數據幀仲裁場的幀優先級確定接收的順序,優先級高的先接收;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于航天東方紅衛星有限公司,未經航天東方紅衛星有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910242900.6/2.html,轉載請聲明來源鉆瓜專利網。





