[發明專利]實時通信方法和系統有效
| 申請號: | 202010529980.X | 申請日: | 2020-06-11 |
| 公開(公告)號: | CN111679923B | 公開(公告)日: | 2023-08-08 |
| 發明(設計)人: | 張超 | 申請(專利權)人: | 北京經緯恒潤科技股份有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F13/30;G06F13/42 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 林哲生 |
| 地址: | 100020 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 實時 通信 方法 系統 | ||
1.一種實時通信方法,其特征在于,基于實時通信系統,包括微控制單元MCU、定位模塊和慣性測試單元IMU;所述MCU運行的操作系統為非實時操作系統;所述非實時操作系統包括內核空間和用戶空間;內核空間中部署有內核驅動kenel;
所述方法包括:
上電后,所述內核空間中的內核驅動kenel啟動定時器;所述定時器用于每隔預設周期觸發進入中斷;
每一次進入所述中斷后,所述kenel調用回調函數以記錄時間戳和觸發所述內核空間的實時讀取線程;所述實時讀取線程的優先級高于所述用戶空間的定位進程;
退出中斷后,被觸發的所述實時讀取線程進行如下操作:
讀取外設設備產生的定位相關數據;其中,所述外設設備至少包括所述慣性測試單元;所讀取的定位相關數據至少包括IMU數據;所述時間戳用于標記讀取的定位相關數據;
存儲標記時間戳后的定位相關數據;
通知所述定位進程對所述標記時間戳后的定位相關數據進行讀取。
2.如權利要求1所述的方法,其特征在于,所述存儲標記時間戳后的定位相關數據包括:
將所述標記時間戳后的定位相關數據存至內存映射mmap共享內存;所述mmap共享內存具有讀取指針變量read_index和寫入指針變量write_index;所述read_index用于指示上一次讀取的結束位置,由所述定位進程根據本次所讀取的標記時間戳后的定位相關數據的長度進行更新;所述write_index用于指示上一次寫入的結束位置;
根據所述標記時間戳后的定位相關數據的長度,更新所述mmap共享內存的write_index。
3.如權利要求2所述的方法,其特征在于,所述將所述標記時間戳后的定位相關數據存至mmap共享內存包括:
將當前的write_index和所述標記時間戳后的定位相關數據的長度相加,得到相加結果;
若所述相加結果小于等于所述mmap共享內存的最大值,從當前write_index所指示的位置處開始存儲所述標記時間戳后的定位相關數據;
若所述相加結果大于所述最大值,將所述相加結果減去所述最大值,得到差值;
判斷所述差值是否大于當前read_index;若是,丟棄所述標記時間戳后的定位相關數據;
否則,從當前write_index所指示的位置處開始存儲所述標記時間戳后的定位相關數據,并在到達所述mmap共享內存的尾部后,從所述mmap共享內存的頭部開始存儲所述標記時間戳后的定位相關數據中剩余的數據。
4.如權利要求3所述的方法,其特征在于,所述定位模塊和所述IMU之間分別通過集成電路I2C總線掛載在所述MCU之上;所述外設設備還包括所述定位模塊;所述定位相關數據還包括所述定位模塊產生的定位信息數據;
每次退出中斷后,所述實時讀取線程讀取的定位信息數據的長度不大于預設長度。
5.如權利要求4所述的方法,其特征在于,
所述讀取外設設備產生的定位相關數據包括:
準備讀取定位相關數據的臨時內存空間;
配置直接存儲器訪問DMA控制信息;
阻塞等待外設設備將定位相關數據通過DMA傳輸至所述臨時內存空間,直至傳輸完畢。
6.如權利要求5所述的方法,其特征在于,所述定位模塊還通過通用I/O端口向所述MCU輸出秒脈沖信號;
所述存儲標記時間戳后的定位相關數據還包括:
判斷是否有秒脈沖信號,若有,將秒脈沖信號按時間先后順序排序存至所述mmap共享內存;
所述定位相關數據還包括秒脈沖信號。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京經緯恒潤科技股份有限公司,未經北京經緯恒潤科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010529980.X/1.html,轉載請聲明來源鉆瓜專利網。





