[發明專利]一種基于數據鏈路層的通訊方法有效
| 申請號: | 201711326024.6 | 申請日: | 2017-12-13 |
| 公開(公告)號: | CN108055323B | 公開(公告)日: | 2020-11-20 |
| 發明(設計)人: | 王召;郭歐杰;許元元;馮勛亮;王冬 | 申請(專利權)人: | 中核控制系統工程有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L1/18 |
| 代理公司: | 核工業專利中心 11007 | 代理人: | 張雅丁 |
| 地址: | 100176 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 數據鏈 通訊 方法 | ||
本發明屬于控制系統技術領域,具體涉及一種基于數據鏈路層的通訊協議。通過本通訊協議實現安全功能的網絡訪問,調用硬件的收、發驅動,為上層提供應用級的收發接口、完整的發送和接收服務、有效的接收信息,從而使得通訊簡單、可靠、安全以及使協議更好適用于控制領域通信。
技術領域
本發明屬于控制系統技術領域,具體涉及一種基于數據鏈路層的通訊協議。
背景技術
在工業控制系統中(例如DCS),尤其在以安全為主導的控制系統中,底層設備的通訊協議安全顯得極為重要。傳統的網絡通訊協議是以TCP/IP為核心的通信協議,在應用層可以使用相關協議及加密算法保證數據通信的安全。在以 FPGA為基礎的控制系統中,通用網絡通訊協議已不再適用。由于FPGA并不像CPU那樣,基于操作系統的編程降低了設計與編寫代碼的難度。在某些特定的情形下,還要完成某些特定功能,標準網絡通信協議不容易實現其實修改和定制。因此亟需在FPGA編程的基礎下,設計一種基于數據鏈路層的通訊協議。
發明內容
本發明要解決的技術問題是提供一種基于數據鏈路層的通訊協議,從而重新定義以數據鏈路層為基礎的通訊協議,便于優化,改進通訊效率。
為了實現這一目的,本發明采取的技術方案是:
一種基于數據鏈路層的通訊協議,通過本軟件設計方法實現安全功能的網絡訪問,調用硬件的收、發驅動,為上層提供應用級的收發接口、完整的發送和接收服務、有效的接收信息;具體包括以下兩方面的設計:
①確定發送函數流程
發送函數不僅發送數據,內部還接收數據,由參數recvpkt返回接收到的數據包;連續發送同一數據包15次,并啟動計時器,超過一定時間未收到數據,就重新發送該數據包15次,重復該發送步驟,1秒內仍未收到數據,則返回接收數據超時錯誤;
如果收到數據,則將收到的數據包的幀序號與剛發送的數據包的幀序號進行比較,若相等,則將數據經recvpkt參數傳遞給上層函數,若不相等則重復發送步驟,1秒內仍未接收到正確數據,則返回未收到正確數據的錯誤;發送成功一個數據包就將幀序號加1,其步驟如下:
第1.1步,上層程序調用通訊接口開始;
第1.2步,為傳來的數據包頭部添加mac地址,并進入下一步;
第1.3步,判斷發送次數是否超限,如果沒有超過發送次數,則進入第1.4 步,否則,返回錯誤信息,發送結束;
第1.4步,連續發送數據并等待接收,并進入下一步;
第1.5步,如果接收數據超時,則進入第1.6步,否則進行第1.7步;
第1.6步,等待設定的時間,并將發送次數加1,進入第1.3步;
第1.7步,比較發送和接收的幀序號,并進入下一步;
第1.8步,判斷幀序號是否相等,如果幀序號相等,進入第1.9步,否則進入第1.6步;
第1.9步,返回接收到的數據,發送數據成功,發送結束;
(2)確定接收函數流程
當上層應用程序被動接收數據時調用該函數,在此之前首先調用查詢函數查詢控制器工作模式,確定是運行模式時,調用接收函數;
接收函數創建一個接收線程,等待接收控制器發來的數據;該線程一直掃描網卡上的緩沖區,如果是控制器發來的數據就取出該部分數據放入到一塊共享數據區;
上層函數每間隔設定時間讀一次該共享數據區,接收線程每間隔設定時間寫一次該共享數據區;
接收數據線程的步驟如下:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中核控制系統工程有限公司,未經中核控制系統工程有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711326024.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種神經剪
- 下一篇:動態播放電視節目的方法、智能電視及存儲介質





