新四季網

多路CAN報文實時接收的軟體實現方法與流程

2023-05-28 13:47:01 1


本發明屬於汽車電子技術領域,具體涉及一種多路can報文實時接收的軟體實現方法。



背景技術:

can總線上有多個信號幀,不同的信號幀代表不同的物理含義,每個信號幀有唯一的id。工程師在進行can總線發送接收時,需要根據can信號的不同id對其進行分類以便更好的進行can消息的解析提取工作。現有can進行接收時往往需要等待全部信息發送完成再對數據進行更新,這就造成了信息更新不及時。同時接收完全部信息後根據各個id進行分類,若是接收的信息較大又會導致處理複雜而且需要消耗大量的時間。

因此現在需要一種新的can接收方法,以便能夠快速及時的接收can消息並對其進行分類處理。



技術實現要素:

1、要解決的技術問題

為解決現有技術存在的上述缺陷,本發明提供一種can接收方法,能夠簡單快速實時地對多路的can消息進行接收並分類。

2、技術方案

為了實現上述的目的,本發明提供了以下技術手段:

一種can接收方法,包括以下步驟:

s101:創建存儲can信號的緩存區,同時創建一個全局變量作為標識位;

s102:利用can信號採集設備採集can信號;

s103:獲取每個can信號id,所述can信號為擴展幀,每個can信號id為29位;

s104:獲取id的優先級,依據優先級判斷該id對應的信號幀應存儲的緩存區;

s105:根據公式i=(sa-1)*pf_max+pf,判斷該緩存區中應當進行更新的信息,

其中,i為數組下標,sa為對應id的源地址,pf為pdu格式,pf_max為該id下的pf個數;

s106:進行數據更新,同時標識位置1。

進一步的,在所述s101中,創建3個緩存區,並依據優先級對緩存區進行分類。

進一步的,每個緩存區的大小根據實際的物理量來設計,同一個優先級的canid中的pf值按照順序排列,並在計算緩存區的大小時考慮需預留的pf。

進一步的,在所述s102中,採用中斷的方式進行can信號的接收採集。

進一步的,在所述s106中,採用輪詢的方式解析can信號,通過標識位是否置1來判斷是否有can通訊,判斷完成後將標識位清零。

3、有益效果:

與現有技術相比,本發明的一種can接收方法的有益效果在於:

本發明提供了一種can接收方法,採用接收完一幀can報文就及時對存儲can消息的緩存進行更新,以便能夠快速及時的接收can消息,同時在接收的過程中根據通訊協議對接收到的信號進行分類處理使得數據結構更加清晰,報文解析起來也更加有條理。

附圖說明

圖1為本發明實施例公開的can接收方法的流程圖;

圖2為本發明實施例公開的數據存儲結構圖;

圖3為本發明採用的協議數據單元圖。

具體實施方式

下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整的描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護範圍。

一種can接收方法,使用can擴展幀的29為標識符,根據canid的優先級分別創建多個接收緩存,用於接收不同優先級的報文,緩存的大小由實際應用中需要使用到的物理量來決定,每一個緩存數組的下標都與該優先級下的canid一一對應,通過以下公式實現:

i=(sa-1)*pf_max+pf

其中:i為數組下標,sa為對應id的源地址,pf為pdu格式,pf_max為該id下的pf個數;

can設置為接收中斷,每接收一幀報文,利用canid的優先級和對應關係的公式對緩存的數據進行更新。

以下是本發明提供的一種具體的實施例,本實施例中以接收三個不同優先級的can信號幀為例進行說明,如圖3所示,本發明採用中斷的方法進行can信息的接收,包括以下步驟:

步驟s101:創建存儲can消息的緩存,同時創建一個全局變量作為標識位。創建的數據結構具體參考圖2,共有3個緩衝區,依據優先級的不同進行分類。每個緩存的大小需要根據實際的物理量來進行設計,需要注意的是同一個優先級的canid中的pf值應該按照順序排列下來,如有需預留的pf,在計算緩存的大小時應該將其也計算在內。

步驟s102:利用can信號採集設備採集can信號。這裡採用中斷的方式進行can信號的接收採集。

步驟s103:獲取每個can信號id。這裡的can消息為擴展幀,id共有29位。

步驟s104:獲取id的優先級,依據優先級判斷該信號幀應存儲的緩存。id的優先級由前最高的3位來表示,報文優先級可從最高0(000b)設置到最低7(111b),本實施例中取三個優先級。

步驟s105:根據公式i=(sa-1)*pf_max+pf,判斷該緩存中應當進行更新的信息。sa為源地址由8個2進位位組成,當can線上存在多個不同的設備時可以使用不同的源地址用於區分。pf則可以用來區分同一個設備中不同的物理量,取值範圍(0-239)。計算公式也是由sa和pf來進行標識。

步驟s106:數據更新同時標識位置1。更新緩存的同時也需要將標識置1以便確定是否有can報文進行更新,解析can消息的時候推薦採用輪詢的方式進行解析。如需判斷是否有can通訊則需區判斷標識是否置1,判斷完成後需將標識重新清零,以便下次的判斷。



技術特徵:

技術總結
一種CAN接收方法,使用CAN擴展幀的29為標識符,根據CAN ID的優先級分別創建多個接收緩存,用於接收不同優先級的報文,緩存的大小由實際應用中需要使用到的物理量來決定,每一個緩存數組的下標都與該優先級下的CAN ID一一對應,CAN設置為接收中斷,每接收一幀報文,利用CAN ID的優先級和對應關係的公式對緩存的數據進行更新。本發明的技術方案採用接收完一幀CAN報文就及時對存儲CAN消息的緩存進行更新,以便能夠快速及時的接收CAN消息,同時在接收的過程中根據通訊協議對接收到信號的進行分類處理使得數據結構更加清晰,報文解析起來也更加有條理。

技術研發人員:陳淑娟;陳寶龍;符小軍;陳少棠
受保護的技術使用者:龍海特爾福汽車電子研究所有限公司
技術研發日:2017.06.16
技術公布日:2017.10.10
同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀