[發(fā)明專利]一種CAN設(shè)備開(kāi)發(fā)系統(tǒng)及其方法有效
| 申請(qǐng)?zhí)枺?/td> | 201911043123.2 | 申請(qǐng)日: | 2019-10-30 |
| 公開(kāi)(公告)號(hào): | CN110806855B | 公開(kāi)(公告)日: | 2021-06-08 |
| 發(fā)明(設(shè)計(jì))人: | 楊騰;陳龍 | 申請(qǐng)(專利權(quán))人: | 中山大學(xué) |
| 主分類號(hào): | G06F8/20 | 分類號(hào): | G06F8/20 |
| 代理公司: | 廣州粵高專利商標(biāo)代理有限公司 44102 | 代理人: | 王曉玲 |
| 地址: | 510275 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 can 設(shè)備 開(kāi)發(fā) 系統(tǒng) 及其 方法 | ||
本發(fā)明提供一種CAN設(shè)備開(kāi)發(fā)系統(tǒng),包括:代碼生成模塊:根據(jù)本系統(tǒng)約定的特有格式,解析CAN數(shù)據(jù)協(xié)議文件,產(chǎn)生與CAN管理模塊配合的代碼框架,實(shí)現(xiàn)CAN報(bào)文的數(shù)據(jù)解析;CAN管理模塊:動(dòng)態(tài)配置CAN接口,動(dòng)態(tài)加載由本框架產(chǎn)生的CAN設(shè)備業(yè)務(wù)功能組件,從多個(gè)CAN硬件并行地讀取報(bào)文,并根據(jù)CAN數(shù)據(jù)協(xié)議的約定,為每個(gè)業(yè)務(wù)功能組件分發(fā)報(bào)文,同時(shí)接受各個(gè)業(yè)務(wù)功能組件的報(bào)文發(fā)送請(qǐng)求,向CAN硬件發(fā)送報(bào)文;CAN?SDK:與開(kāi)發(fā)階段與運(yùn)行時(shí)階段,鏈接CAN管理模塊和由本框架產(chǎn)生的業(yè)務(wù)功能組件的調(diào)用接口。本系統(tǒng)實(shí)現(xiàn)了對(duì)CAN數(shù)據(jù)協(xié)議解析的自動(dòng)化,使得協(xié)議解析與業(yè)務(wù)邏輯功能的實(shí)現(xiàn)得以分開(kāi),大大降低了開(kāi)發(fā)人員的代碼工作量與有關(guān)協(xié)議解析的出錯(cuò)率。
技術(shù)領(lǐng)域
本發(fā)明屬于CAN設(shè)備開(kāi)發(fā)技術(shù)領(lǐng)域,更具體地,涉及一種CAN設(shè)備開(kāi)發(fā)系統(tǒng)及其方法。
背景技術(shù)
CAN(控制器局域網(wǎng)絡(luò),Controller Area Network的簡(jiǎn)稱)作為一種實(shí)時(shí)性好、可靠性高、靈活性強(qiáng)、結(jié)構(gòu)簡(jiǎn)單的通信總線,廣泛地用于工業(yè)自動(dòng)化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等嵌入式計(jì)算機(jī)控制系統(tǒng)中。而隨著無(wú)人系統(tǒng)研究的逐漸火熱,CAN設(shè)備的業(yè)務(wù)功能開(kāi)發(fā)需求也逐漸增多,傳統(tǒng)開(kāi)發(fā)手段已經(jīng)難以應(yīng)付易變而多樣的CAN設(shè)備應(yīng)用程序開(kāi)發(fā)。
發(fā)明內(nèi)容
本發(fā)明為克服上述現(xiàn)有技術(shù)中的缺陷,提供一種CAN設(shè)備開(kāi)發(fā)系統(tǒng)及其方法,。
為解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案是:一種CAN設(shè)備開(kāi)發(fā)系統(tǒng),包括:
代碼生成模塊,用于根據(jù)本系統(tǒng)約定的特有格式,解析CAN數(shù)據(jù)協(xié)議文件,產(chǎn)生與CAN管理模塊配合的C++代碼框架,實(shí)現(xiàn)CAN報(bào)文的數(shù)據(jù)解析,并為CAN設(shè)備開(kāi)發(fā)者提供接口進(jìn)行二次開(kāi)發(fā);該代碼框架兼容了ros框架下的package格式,以方便開(kāi)發(fā)人員接入基于ros框架的其他系統(tǒng)模塊。框架代碼實(shí)現(xiàn)了CAN報(bào)文的數(shù)據(jù)解析(包括反解析),使用泛化的方法,為CAN設(shè)備開(kāi)發(fā)者提供繼承接口以處理數(shù)據(jù)接收事件,同時(shí)提供調(diào)用接口,往CAN管理模塊發(fā)送CAN數(shù)據(jù)。另外,生成的框架代碼中也隱含了提供給CAN管理模塊調(diào)用的初始化入口,以及往CAN管理模塊注冊(cè)回調(diào)事件的流程。開(kāi)發(fā)人員在框架上補(bǔ)充業(yè)務(wù)邏輯功能后,即可編譯為由CAN管理模塊動(dòng)態(tài)加載的CAN業(yè)務(wù)功能組件(以操作系統(tǒng)動(dòng)態(tài)庫(kù)的形式存在)。
CAN管理模塊,用于首先根據(jù)CAN-SDK的接口,執(zhí)行各個(gè)CAN設(shè)備業(yè)務(wù)功能組件的初始化流程,實(shí)現(xiàn)CAN管理模塊對(duì)CAN數(shù)據(jù)事件的注冊(cè),同時(shí)異步啟動(dòng)各個(gè)CAN設(shè)備業(yè)務(wù)功能組件的主循環(huán);然后CAN管理模塊進(jìn)入多CAN接口并行監(jiān)聽(tīng)的處理流程,同時(shí)響應(yīng)各個(gè)CAN設(shè)備業(yè)務(wù)功能組件的報(bào)文發(fā)送請(qǐng)求;當(dāng)CAN管理模塊從某個(gè)CAN接口接收到新的報(bào)文時(shí),其會(huì)根據(jù)該CAN報(bào)文的ID,調(diào)用相應(yīng)的回調(diào)處理函數(shù);
CAN-SDK,用于作為操作系統(tǒng)動(dòng)態(tài)庫(kù)及相關(guān)C++頭文件,為CAN管理模塊以及產(chǎn)生的CAN設(shè)備業(yè)務(wù)邏輯組件的公共依賴,封裝CAN硬件讀寫(xiě)、CAN報(bào)文數(shù)據(jù)解析、動(dòng)態(tài)庫(kù)加載等系統(tǒng)功能;同時(shí)提供CAN設(shè)備業(yè)務(wù)邏輯組件的初始化接口、CAN管理模塊回調(diào)事件注冊(cè)接口、CAN管理模塊數(shù)據(jù)發(fā)送接口,連接CAN管理模塊與CAN設(shè)備業(yè)務(wù)邏輯組件,實(shí)現(xiàn)軟硬件解耦的系統(tǒng)特性。
在本發(fā)明中,通過(guò)解析本框架特有格式的CAN數(shù)據(jù)協(xié)議文件,使用代碼生成的方式,為開(kāi)發(fā)人員產(chǎn)生可二次開(kāi)發(fā)的解析CAN報(bào)文數(shù)據(jù)的代碼框架,實(shí)現(xiàn)報(bào)文解析與業(yè)務(wù)功能分離;開(kāi)發(fā)人員在框架留下的接口中補(bǔ)充業(yè)務(wù)邏輯功能的實(shí)現(xiàn)后,即可編譯為CAN業(yè)務(wù)功能組件,由CAN管理模塊在運(yùn)行時(shí)動(dòng)態(tài)加載;同時(shí)CAN管理模塊還可配置多個(gè)CAN接口,并根據(jù)業(yè)務(wù)功能組件的協(xié)議要求自動(dòng)分發(fā)報(bào)文,實(shí)現(xiàn)軟硬件解耦。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中山大學(xué),未經(jīng)中山大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911043123.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種混合動(dòng)力汽車CAN網(wǎng)絡(luò)系統(tǒng)
- 控制器局域網(wǎng)CAN總線測(cè)試裝置
- CAN總線終端電阻的接入結(jié)構(gòu)
- 控制器局域網(wǎng)CAN總線測(cè)試裝置
- CAN報(bào)文異常檢測(cè)方法及系統(tǒng)
- 一種CAN報(bào)文修改設(shè)備
- CAN報(bào)文修改設(shè)備
- 新能源汽車整車CAN總線拓?fù)浣Y(jié)構(gòu)
- 一種基于星形拓?fù)浣Y(jié)構(gòu)的光纖CAN2.0B總線路由系統(tǒng)
- 一種基于傳統(tǒng)CAN與CAN FD的車載兼容網(wǎng)絡(luò)及智能汽車
- 傳感設(shè)備、檢索設(shè)備和中繼設(shè)備
- 簽名設(shè)備、檢驗(yàn)設(shè)備、驗(yàn)證設(shè)備、加密設(shè)備及解密設(shè)備
- 色彩調(diào)整設(shè)備、顯示設(shè)備、打印設(shè)備、圖像處理設(shè)備
- 驅(qū)動(dòng)設(shè)備、定影設(shè)備和成像設(shè)備
- 發(fā)送設(shè)備、中繼設(shè)備和接收設(shè)備
- 定點(diǎn)設(shè)備、接口設(shè)備和顯示設(shè)備
- 傳輸設(shè)備、DP源設(shè)備、接收設(shè)備以及DP接受設(shè)備
- 設(shè)備綁定方法、設(shè)備、終端設(shè)備以及網(wǎng)絡(luò)側(cè)設(shè)備
- 設(shè)備、主設(shè)備及從設(shè)備
- 設(shè)備向設(shè)備轉(zhuǎn)發(fā)
- 商品開(kāi)發(fā)方法、商品開(kāi)發(fā)系統(tǒng)、商品開(kāi)發(fā)程序以及存儲(chǔ)商品開(kāi)發(fā)程序的存儲(chǔ)介質(zhì)
- 開(kāi)發(fā)支援裝置和開(kāi)發(fā)支援程序
- 用于web開(kāi)發(fā)系統(tǒng)的開(kāi)發(fā)方法和web開(kāi)發(fā)系統(tǒng)
- 控制裝置、開(kāi)發(fā)裝置、以及開(kāi)發(fā)程序
- 系統(tǒng)開(kāi)發(fā)裝置、程序開(kāi)發(fā)方法及開(kāi)發(fā)程序
- 軟件開(kāi)發(fā)平臺(tái)及其開(kāi)發(fā)方法
- 菜譜開(kāi)發(fā)方法和菜譜開(kāi)發(fā)系統(tǒng)
- EasyApp移動(dòng)開(kāi)發(fā)平臺(tái)和開(kāi)發(fā)方法
- 開(kāi)發(fā)支援裝置、開(kāi)發(fā)支援方法以及存儲(chǔ)介質(zhì)
- 開(kāi)發(fā)輔助裝置、開(kāi)發(fā)輔助系統(tǒng)和開(kāi)發(fā)輔助方法





