[發明專利]一種VxWorks系統下CAN設備管理方法在審
| 申請號: | 202011104035.1 | 申請日: | 2020-10-15 |
| 公開(公告)號: | CN112231003A | 公開(公告)日: | 2021-01-15 |
| 發明(設計)人: | 王雨龍 | 申請(專利權)人: | 天津津航計算技術研究所 |
| 主分類號: | G06F9/4401 | 分類號: | G06F9/4401;G06F13/10 |
| 代理公司: | 中國兵器工業集團公司專利中心 11011 | 代理人: | 劉二格 |
| 地址: | 300308 天津*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 vxworks 系統 can 設備管理 方法 | ||
1.一種VxWorks系統下CAN設備管理方法,其特征在于,包括以下步驟:
STEP1:定義CAN總線控制器SJA1000驅動的結構體;定義一個13個字節的總線數據結構體ELEMENT,使用標準動態內存申請方法malloc分配內存空間,所需要分配空間的大小為sizeof(ELEMENT)*MSG_RECV_BUF_SIZE,其中,sizeof(ELEMENT)的值為13,MSG_RECV_BUF_SIZE的值為128;使用VxWorks操作系統底層提供的中斷掛接方法intConnect方法將中斷服務函數CanISR掛接到中斷號int_vec上;使用驅動裝載方法isoDrvInstall將CanOpen方法、CanClose方法、CanRead方法、CanWrite方法裝載到CAN驅動上,映射到VxWorks操作系統標準函數open打開函數,close關閉函數,read讀函數,write寫函數,使用CAN設備創建方法canDevCreate()對CAN設備進行創建;
STEP2:實現CanDevCreate()方法;
STEP3:實現CanOpen()方法;
STEP4:實現CanClose()方法;
STEP5:實現CanWrite()方法;
STEP6:實現CANRead()方法。
2.如權利要求1所述的VxWorks系統下CAN設備管理方法,其特征在于,所述步驟STEP1中,定義的CAN總線控制器SJA1000驅動的結構體包括波特率BaudRate、過濾器掩碼值MaskSet、過濾器屏蔽碼值FilterSet、CAN驅動二值信號量BinSem、CAN驅動中斷標號int_vec、以及CAN設備是否已創建標志created。
3.如權利要求2所述的VxWorks系統下CAN設備管理方法,其特征在于,所述步驟STEP2中,實現CanDevCreate()方法的過程為:
根據SJA1000芯片硬件連接地址獲取CAN驅動設備的指針,判斷created標志是否為1,如果為1則表示該設備已經被創建,不需要再次創建,返回ERROR;created標志為0,使用CanArgumentLoad()方法初始化通道硬件,將驅動設備指針中created的標志再次置為1,使用sprintf方法將CAN設備名稱打印到驅動設備名稱CANname變量中,使用IO系統設備添加方法iosDevAdd將驅動設備名稱CANName以及CAN設備索引號SJA1000DrvNum添加到系統中。
4.如權利要求3所述的VxWorks系統下CAN設備管理方法,其特征在于,所述步驟STEP3中,實現CanOpen()方法的過程為:
傳入字符設備驅動結構DEV_HDR類型設備硬件指針SJA1000DevHdr,選項option、標志位flags;將設備硬件指針SJA1000DevHdr強制轉化為SJA1000類型設備指針pSJA1000Dev,輪詢各個CAN設備,使用內存打印方法sprintf將CAN設備名稱打印到系統設備名稱dev_name中,使用字符串比較方法strcmp判斷系統設備名稱dev_name和設備指針pSJA1000Dev中name變量是否一致,如果一致,將打開的設備數量進行加一,并將CAN總線控制器指針pSJA1000中opened參數標記為1,將準備好寫入標志readytoWrite標記為1。
5.如權利要求4所述的VxWorks系統下CAN設備管理方法,其特征在于,所述步驟STEP4中,實現CanClose()方法的過程為:
傳入CAN設備標識ID SJA1000DevId,將SJA1000DevId直接強制轉化為SJA1000類型設備指針pSJA1000Dev,輪詢各個CAN設備,使用內存打印方法sprintf將CAN設備名稱打印到設備名稱dev_name中,使用字符串比較方法strcmp對dev_name和設備硬件指針中name變量是否一致,如果一致,將關閉的設備數量進行減1,判斷減1后打開的設備數量變為0,將pSJA1000中closed參數標記為0,將CAN設備中斷禁止。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津津航計算技術研究所,未經天津津航計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011104035.1/1.html,轉載請聲明來源鉆瓜專利網。





