[發明專利]串口數據讀寫方法、裝置、計算機設備和存儲介質有效
| 申請號: | 201810063577.5 | 申請日: | 2018-01-23 |
| 公開(公告)號: | CN108470008B | 公開(公告)日: | 2020-08-14 |
| 發明(設計)人: | 陳校;陳偉;李成鋼;周谷 | 申請(專利權)人: | 廣州市中海達測繪儀器有限公司 |
| 主分類號: | G06F13/16 | 分類號: | G06F13/16;G06F13/42 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 黃曉慶 |
| 地址: | 511400 廣東省廣州市番禺區東環*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 串口 數據 讀寫 方法 裝置 計算機 設備 存儲 介質 | ||
本發明涉及一種串口數據讀寫方法、裝置、計算機設備和存儲介質,包括:配置直接內存訪問資源;遍歷直接內存訪問節點名并與預設的節點名進行對比;當直接內存訪問節點名與預設的節點名一致時,解析直接內存訪問資源并配置直接內存訪問的傳輸模式;構造雙環形緩沖區內存;創建設備文件描述符并對設備文件描述符進行監聽;當監聽到動態時,在雙環形緩沖區進行讀寫操作。通過直接內存訪問傳輸模塊,實現數據的快速傳輸,通過構造雙環形緩沖區來存儲、管理數據,有效解決了數據緩沖存儲問題,通過epoll機制監聽串口設備數據,節省了系統資源開銷,提高了數據實時收發效率,從而進一步解決了串口數據傳輸存在少量溢出、丟失、篡位問題。
技術領域
本發明涉及嵌入式系統技術領域,特別是涉及一種串口數據讀寫方法、裝置、計算機設備和存儲介質。
背景技術
GNSS(全球導航衛星系統)定位模塊可以配置成1Hz、5Hz、10Hz的速率更新輸出GNSS原始數據到串口,用戶應用在不斷讀取串口設備數據的同時還需要寫數據給串口,也就是說,串口與用戶應用需雙方數據交互通信。
傳統技術方案是,在LINUX系統內核層中,串口通信采用PIO模式(ProgrammingInput/Output Model),通過CPU響應中斷,執行IO端口指令進行數據讀寫來實現數據通信,在用戶層的串口通信應用中,采用Select機制監聽串口數據。
硬件設備(如串口、網口)與用戶應用兩者間有大量數據交互,這兩者既是數據生產者也是數據消費者。針對這種生產者與消費者模式,傳統技術缺乏一種很好的數據管理模式來有效實現數據交互,特別是在存儲空間的分配/釋放非常頻繁時,采用隊列緩沖區會增加系統開銷;傳統的PIO模式數據傳輸采用中斷方式通知CPU執行I/O端口指令來按照字節或更大的數據單位處理,CPU資源占用大,并且傳輸數據速度慢;Select監聽機制雖可以監聽多個設備文件描述符,但是每次調用select,都需要把設備文件描述符集合從用戶態拷貝到內核態,系統開銷大;每次調用select,都需要在內核里遍歷傳遞進來的所有文件描述符,增加系統開銷;Select監聽機制支持的文件描述符數量小,并且數據從硬件到用戶應用的整個過程缺乏一個行之有效的數據鏈路管理流程。因此隨著GNSS定位模塊向串口輸出數據的速率提高,串口在長時間、高波特率、大數據量通信時,會存在少量溢出、丟失、篡位。
發明內容
基于此,有必要針對串口數據存在少量溢出、丟失、篡位問題,提供一種串口數據讀寫方法。
一種串口數據讀寫方法,包括:
配置設備樹中串口設備的直接內存訪問資源;
遍歷所述直接內存訪問資源中的直接內存訪問節點名并與串口驅動預設的直接內存訪問節點名進行對比;
當設備樹中的直接內存訪問節點名與所述串口驅動預設的直接內存訪問節點名一致時,解析所述直接內存訪問資源、申請直接內存訪問通道資源并配置直接內存訪問的傳輸模式;
構造第一環形緩沖區內存和第二環形緩沖區內存;
創建設備文件描述符并對所述設備文件描述符進行監聽;
當監聽到所述設備文件描述符的動態時,在所述第一環形緩沖區內存進行讀操作,在所述第二環形緩沖區內存進行寫操作。
在一個實施例中,當設備樹中的直接內存訪問節點名與所述串口驅動預設的直接內存訪問節點名不一致時,配置PIO傳輸模式。
在一個實施例中,所述配置設備樹中串口設備的直接內存訪問資源的步驟,包括:
根據芯片數據表獲取直接內存訪問控制器和直接內存訪問發送/接收通道號;
在系統設備樹文件中,添加串口設備對應的所述直接內存訪問控制器、所述直接內存訪問發送/接收通道號和直接內存訪問節點名。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州市中海達測繪儀器有限公司,未經廣州市中海達測繪儀器有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810063577.5/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





