Can總線報(bào)文的軟件濾波方法、系統(tǒng)及電子控制單元的制作方法
【專利摘要】本發(fā)明公開了一種CAN總線報(bào)文的軟件濾波方法及系統(tǒng),根據(jù)報(bào)文緩存裝置的編號(hào)確定ID信息子集,然后在確定的ID信息子集(即部分ID信息)中遍歷比較,從而減少了對(duì)一個(gè)CAN總線報(bào)文進(jìn)行篩選所需要的遍歷比較的次數(shù),而根據(jù)報(bào)文緩存裝置的編號(hào)確定ID信息子集的過程只需要執(zhí)行一條指令即可,其仍然小于所減少的遍歷比較的次數(shù)所需要執(zhí)行的指令條數(shù),因此,本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波方法,減少了對(duì)一個(gè)CAN總線報(bào)文進(jìn)行篩選所需要的遍歷比較的次數(shù),從而提高了電子控制單元傳遞報(bào)文數(shù)據(jù)信息的效率。本發(fā)明還公開一種電子控制單元。
【專利說明】CAN總線報(bào)文的軟件濾波方法、系統(tǒng)及電子控制單元
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及總線通信【技術(shù)領(lǐng)域】,特別是涉及一種CAN(Controller Area Network,控制器局域網(wǎng)絡(luò))總線報(bào)文的軟件濾波方法、系統(tǒng)及電子控制單元。
【背景技術(shù)】
[0002]隨著汽車行業(yè)的快速發(fā)展,汽車在功能型方面的設(shè)計(jì)要求不斷增加,越來越多的電子單元被應(yīng)用到汽車上。汽車上的各類電子控制單元全部鏈接到總線上,通過總線發(fā)送和接收需要交換的信號(hào)和數(shù)據(jù)。其中,較常用的車載總線類型是CAN總線。
[0003]汽車上的各類電子控制單元通過外部CAN收發(fā)器連接到CAN總線上,電子控制單元通過內(nèi)部的CAN控制器與CAN收發(fā)器協(xié)同工作,在CAN總線上進(jìn)行CAN總線報(bào)文的發(fā)送和接收。CAN總線技術(shù)對(duì)CAN總線報(bào)文的數(shù)據(jù)格式進(jìn)行了明確的規(guī)定,每條CAN總線報(bào)文中均包含ID信號(hào)和數(shù)據(jù)信息。電子控制單元通過CAN收發(fā)器在總線上接收到報(bào)文后,CAN控制器會(huì)對(duì)CAN總線報(bào)文的ID信息進(jìn)行識(shí)別,根據(jù)當(dāng)前電子控制單元所需CAN總線報(bào)文的ID信號(hào)對(duì)接收到的報(bào)文進(jìn)行篩選,通過篩選后的報(bào)文會(huì)被存儲(chǔ)至CAN控制器內(nèi)相應(yīng)的報(bào)文緩存裝置(Message Buffer,MB)中。一個(gè)電子控制單元的CAN控制器中可能包含一個(gè)或多個(gè)MB。上述報(bào)文篩選的過程稱之為報(bào)文的硬件濾波。但在CAN控制器的內(nèi)部濾波設(shè)計(jì)(SP硬件濾波)常常無法保證能夠完全濾除所有不需要的報(bào)文,這樣就需要在電子控制單元中進(jìn)行進(jìn)一步的軟件濾波。
[0004]目前在實(shí)現(xiàn)軟件濾波時(shí),電子控制單元中會(huì)記錄所有需要用到的報(bào)文ID信息和上層應(yīng)用模塊的對(duì)應(yīng)關(guān)系。一旦某條CAN總線報(bào)文通過CAN控制器的硬件濾波被存儲(chǔ)到MB中,電子控制單元將會(huì)根據(jù)這條CAN總線報(bào)文ID信息與該電子控制單元所需的所有報(bào)文ID信息進(jìn)行遍歷比較,直到找到一種報(bào)文的ID信息與所述CAN總線報(bào)文ID信息相同,然后尋找與這個(gè)ID信息相對(duì)應(yīng)的上層應(yīng)用模塊,并提取該報(bào)文中的數(shù)據(jù)信息傳遞給該上層應(yīng)用模塊;如果遍歷完所有ID信息都沒有找到一種報(bào)文的ID信息與所述CAN總線報(bào)文ID信息相同,電子控制單元將會(huì)丟棄這條CAN總線報(bào)文。
[0005]發(fā)明人在實(shí)現(xiàn)本方明的過程中發(fā)現(xiàn),目前的CAN總線報(bào)文的軟件濾波方法,逐一遍歷電子控制單元中記錄的所有需要用到的報(bào)文ID信息,從而確定CAN總線報(bào)文是否是電子控制單元所需要的報(bào)文,其篩選速度較慢,使得電子控制單元傳遞報(bào)文數(shù)據(jù)信息的效率較低。
【發(fā)明內(nèi)容】
[0006]為解決上述技術(shù)問題,本申請(qǐng)實(shí)施例提供一種CAN總線報(bào)文的軟件濾波方法及系統(tǒng),以提高電子控制單元傳遞報(bào)文數(shù)據(jù)信息的效率。
[0007]技術(shù)方案如下:
[0008]一種CAN總線報(bào)文的軟件濾波方法,應(yīng)用于電子控制單元,預(yù)先為所述電子控制單元中的各個(gè)報(bào)文緩存裝置分配編號(hào),并建立報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,其中,一個(gè)ID信息子集由一個(gè)報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息組成;所述方法包括:
[0009]當(dāng)待篩選的CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置后,依據(jù)所述報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集;
[0010]將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較;
[0011]當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文為所述電子控制單元所需要的CAN總線報(bào)文。
[0012]上述方法,優(yōu)選的,還包括:
[0013]當(dāng)未在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文不是所述電子控制單元所需要的CAN總線報(bào)文。
[0014]一種CAN總線報(bào)文的軟件濾波系統(tǒng),應(yīng)用于電子控制單元,包括:
[0015]預(yù)設(shè)模塊,用于預(yù)先為所述電子控制單元中的各個(gè)報(bào)文緩存裝置分配編號(hào),并建立報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,其中,一個(gè)ID信息子集由一個(gè)報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息組成;
[0016]ID信息子集確定模塊,用于當(dāng)待篩選的CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置后,依據(jù)所述報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集;
[0017]比較模塊,用于將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較;
[0018]篩選結(jié)果確定模塊,用于當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文為所述電子控制單元所需要的CAN總線報(bào)文。
[0019]上述系統(tǒng),優(yōu)選的,所述篩選結(jié)果確定模塊還用于,當(dāng)未在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文不是所述電子控制單元所需要的CAN總線報(bào)文。
[0020]一種電子控制單元,包括CAN控制器,所述CAN控制器中設(shè)置有若干個(gè)報(bào)文緩存裝置;還包括與所述若干個(gè)報(bào)文緩存裝置相連接的CAN總線報(bào)文的軟件濾波系統(tǒng),所述CAN總線報(bào)文的軟件濾波系統(tǒng)包括:
[0021]預(yù)設(shè)模塊,用于預(yù)先為各個(gè)報(bào)文緩存裝置分配編號(hào),并建立報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,其中,一個(gè)ID信息子集由一個(gè)報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息組成;
[0022]ID信息子集確定模塊,用于當(dāng)待篩選的CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置后,依據(jù)所述報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集;
[0023]比較模塊,用于將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較;
[0024]篩選結(jié)果確定模塊,用于當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文為所述電子控制單元所需要的CAN總線報(bào)文。
[0025]上述電子控制單元,優(yōu)選的,所述篩選結(jié)果確定模塊還用于,當(dāng)未在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文不是所述電子控制單元所需要的CAN總線報(bào)文。
[0026]由此可知,本申請(qǐng)實(shí)施例提供的一種CAN總線報(bào)文的軟件濾波方法,預(yù)先為各個(gè)報(bào)文緩存裝置分配編號(hào),并建立報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息與所述報(bào)文緩存裝置的編號(hào)的對(duì)應(yīng)關(guān)系,當(dāng)待篩選的CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置后,進(jìn)行軟件篩選時(shí),依據(jù)所述報(bào)文緩存裝置的編號(hào),以及所述報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息與所述報(bào)文緩存裝置的編號(hào)的對(duì)應(yīng)關(guān)系,確定ID信息子集,將待篩選的CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較;當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文為所述電子控制單元所需要的CAN總線報(bào)文。
[0027]可見,本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波方法,不是將待篩選CAN總線報(bào)文的ID信息在電子控制單元的所有ID信息中遍歷,而是先根據(jù)報(bào)文緩存裝置的編號(hào)確定ID信息子集,然后在確定的ID信息子集(即部分ID信息)中遍歷比較,從而減少了對(duì)一個(gè)CAN總線報(bào)文進(jìn)行篩選所需要的遍歷比較的次數(shù),而根據(jù)報(bào)文緩存裝置的編號(hào)確定ID信息子集的過程只需要執(zhí)行一條指令即可,其仍然小于所減少的遍歷比較的次數(shù)所需要執(zhí)行的指令條數(shù),因此,本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波方法,減少了對(duì)一個(gè)CAN總線報(bào)文進(jìn)行篩選所需要的遍歷比較的次數(shù),從而提高了電子控制單元傳遞報(bào)文數(shù)據(jù)信息的效率。
【專利附圖】
【附圖說明】
[0028]為了更清楚地說明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0029]圖1為本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波方法的一種實(shí)現(xiàn)流
[0030]程圖;
[0031]圖2為本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波方法的另一種實(shí)現(xiàn)
[0032]流程圖;
[0033]圖3為本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波系統(tǒng)的一種結(jié)構(gòu)示
[0034]意圖;
[0035]圖4為本申請(qǐng)實(shí)施例提供的電子控制單元的一種結(jié)構(gòu)示意圖。
[0036]為了圖示的簡(jiǎn)單和清楚,以上附圖示出了結(jié)構(gòu)的普通形式,并且為了避免不必要的模糊本發(fā)明,可以省略已知特征和技術(shù)的描述和細(xì)節(jié)。另外,附圖中的單元不必要按照比例繪制。例如,可以相對(duì)于其他單元放大圖中的一些單元的尺寸,從而幫助更好的理解本發(fā)明的實(shí)施例。不同附圖中的相同標(biāo)號(hào)表示相同的單元。
[0037]說明書和權(quán)利要求書及上述附圖中的術(shù)語(yǔ)“第一”、“第二”、“第三” “第四”等(如果存在)是用于區(qū)別類似的單元或過程,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例例如能夠以除了在這里圖示的或否則描述的那些以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,
[0038]意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于那些單元,而是可以包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它單元。
【具體實(shí)施方式】
[0039]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本申請(qǐng)方案。下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。
[0040]本申請(qǐng)?zhí)峁┑腃AN總線報(bào)文的軟件濾波方法,應(yīng)用于電子控制單元,預(yù)先為電子控制單元中(具體為電子控制單元內(nèi)的CAN控制器中)的各個(gè)報(bào)文緩存裝置分配一個(gè)編號(hào),并建立報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,其中,一個(gè)ID信息子集由一個(gè)報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息組成;
[0041]也就是說,將每一個(gè)報(bào)文緩存裝置中的所有CAN總線報(bào)文中的ID信息作為一個(gè)ID信息子集與該報(bào)文緩存裝置的編號(hào)相對(duì)應(yīng)。
[0042]所述報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系可以以表格的形式進(jìn)行存儲(chǔ)。在軟件實(shí)現(xiàn)時(shí),所述表格可以通過數(shù)組實(shí)現(xiàn),其中,所述報(bào)文緩存裝置的編號(hào)作為數(shù)組索引,數(shù)組中每一個(gè)元素都唯一對(duì)應(yīng)一個(gè)ID信息子集。
[0043]本申請(qǐng)?zhí)峁┑腃AN總線報(bào)文的軟件濾波方法的一種實(shí)現(xiàn)流程圖如圖1所示,可以包括:
[0044]步驟Sll:當(dāng)待篩選的CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置后,依據(jù)所述報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集;
[0045]待篩選的CAN總線報(bào)文是指存儲(chǔ)至報(bào)文緩存裝置中的需要進(jìn)行軟件篩選的CAN總線報(bào)文。
[0046]本申請(qǐng)實(shí)施例中,當(dāng)CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置中后,提取報(bào)文緩存裝置的編號(hào),并根據(jù)提取的報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集,所述ID信息子集就是對(duì)待篩選的CAN總線報(bào)文進(jìn)行軟件篩選所需要遍歷的ID彳目息。
[0047]步驟S12:將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較;
[0048]步驟S13:當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文為所述電子控制單元所需要的CAN總線報(bào)文。
[0049]當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),說明待篩選的CAN總線報(bào)文就是電子控制單元所需要的CAN總線報(bào)文,則停止遍歷ID信息子集中未進(jìn)行比較的ID信息。[0050]可見,本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波方法,不是將待篩選CAN總線報(bào)文的ID信息在電子控制單元的所有ID信息中遍歷,而是先根據(jù)報(bào)文緩存裝置的編號(hào)確定ID信息子集,然后在確定的ID信息子集(即部分ID信息)中遍歷比較,從而減少了對(duì)一個(gè)CAN總線報(bào)文進(jìn)行篩選所需要的遍歷比較的次數(shù),而根據(jù)報(bào)文緩存裝置的編號(hào)確定ID信息子集的過程只需要執(zhí)行一條指令即可,其仍然小于所減少的遍歷比較的次數(shù)所需要執(zhí)行的指令條數(shù),因此,本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波方法,減少了對(duì)一個(gè)CAN總線報(bào)文進(jìn)行篩選所需要的遍歷比較的次數(shù),從而提高了電子控制單元傳遞報(bào)文數(shù)據(jù)信息的效率。
[0051]另外,由于本申請(qǐng)是將需要緩存至同一個(gè)報(bào)文緩存裝置內(nèi)的CAN總線報(bào)文中的ID信息作為一個(gè)ID信息子集,也就是說,本申請(qǐng)是將電子控制單元內(nèi)所需要存儲(chǔ)的所有CAN總線報(bào)文中的ID信息按照不同的報(bào)文緩存裝置劃分為不同的ID信息子集,其實(shí)現(xiàn)簡(jiǎn)單,易于實(shí)現(xiàn)。
[0052]在圖1所示實(shí)施例的基礎(chǔ)上,本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波方法的另一種實(shí)現(xiàn)流程圖如圖2所示,還可以包括:
[0053]步驟S21:當(dāng)未在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文不是所述電子控制單元所需要的CAN總線報(bào)文。
[0054]將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較后,如果遍歷完ID信息子集中的所有ID信息后,都沒有查找到與所述待篩選的CAN總線中的ID信息相同的ID信息,則說明待篩選的CAN總線報(bào)文不是電子控制單元所需要的CAN總線報(bào)文,這時(shí),電子控制單元可以丟棄這條CAN總線報(bào)文,不再執(zhí)行提取該待篩選CAN總線報(bào)文中的數(shù)據(jù)信息的步驟。
[0055]與方法實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供一種CAN總線報(bào)文的軟件濾波系統(tǒng),應(yīng)用于電子控制單元,本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波系統(tǒng)的一種結(jié)構(gòu)示意圖如圖3所示,可以包括:
[0056]預(yù)設(shè)模塊31,ID信息子集確定模塊32,比較模塊33和篩選結(jié)果確定模塊34 ;其中,
[0057]預(yù)設(shè)模塊31用于預(yù)先為所述電子控制單元中的各個(gè)報(bào)文緩存裝置分配編號(hào),并建立報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,其中,一個(gè)ID信息子集由一個(gè)報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息組成;
[0058]也就是說,將每一個(gè)報(bào)文緩存裝置中的所有CAN總線報(bào)文中的ID信息作為一個(gè)ID信息子集與該報(bào)文緩存裝置的編號(hào)相對(duì)應(yīng)。
[0059]所述報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系可以以表格的形式進(jìn)行存儲(chǔ)。在軟件實(shí)現(xiàn)時(shí),所述表格可以通過一個(gè)數(shù)組實(shí)現(xiàn),其中,所述報(bào)文緩存裝置的編號(hào)作為數(shù)組索引,數(shù)組每一個(gè)元素都唯一對(duì)應(yīng)一個(gè)ID信息子集。
[0060]ID信息子集確定模塊32用于當(dāng)待篩選的CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置后,依據(jù)所述報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集;
[0061 ] 待篩選的CAN總線報(bào)文是指存儲(chǔ)至報(bào)文緩存裝置中的需要進(jìn)行軟件篩選的CAN總線報(bào)文。
[0062]本申請(qǐng)實(shí)施例中,當(dāng)CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置中后,提取報(bào)文緩存裝置的編號(hào),并根據(jù)提取的報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集,所述ID信息子集就是對(duì)待篩選的CAN總線報(bào)文進(jìn)行軟件篩選所需要遍歷的ID彳目息。
[0063]比較模塊33分別與所述預(yù)設(shè)模塊31和所述ID信息子集確定模塊31相連接,用于將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較;
[0064]篩選結(jié)果確定模塊34與所述比較模塊33相連接,用于當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文為所述電子控制單元所需要的CAN總線報(bào)文。
[0065]當(dāng)根據(jù)所述比較模塊33的比較結(jié)果在ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),說明待篩選的CAN總線報(bào)文就是電子控制單元所需要的CAN總線報(bào)文,則停止遍歷ID信息子集中未進(jìn)行比較的ID信息。
[0066]可見,本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波系統(tǒng),不是將待篩選CAN總線報(bào)文的ID信息在電子控制單元的所有ID信息中遍歷,而是先根據(jù)報(bào)文緩存裝置的編號(hào)確定ID信息子集,然后在確定的ID信息子集(即部分ID信息)中遍歷比較,從而減少了對(duì)一個(gè)CAN總線報(bào)文進(jìn)行篩選所需要的遍歷比較的次數(shù),而根據(jù)報(bào)文緩存裝置的編號(hào)確定ID信息子集的過程只需要執(zhí)行一條指令即可,其仍然小于所減少的遍歷比較的次數(shù)所需要執(zhí)行的指令條數(shù),因此,本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波方法,減少了對(duì)一個(gè)CAN總線報(bào)文進(jìn)行篩選所需要的遍歷比較的次數(shù),從而提高了電子控制單元傳遞報(bào)文數(shù)據(jù)信息的效率。
[0067]另外,由于本申請(qǐng)是將需要緩存至同一個(gè)報(bào)文緩存裝置內(nèi)的CAN總線報(bào)文中的ID信息作為一個(gè)ID信息子集,也就是說,本申請(qǐng)是將電子控制單元內(nèi)所需要存儲(chǔ)的所有CAN總線報(bào)文中的ID信息按照不同的報(bào)文緩存裝置劃分為不同的ID信息子集,其實(shí)現(xiàn)簡(jiǎn)單,易于實(shí)現(xiàn)。
[0068]上述實(shí)施例,優(yōu)選的,所述篩選結(jié)果確定模塊34還用于,當(dāng)未在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文不是所述電子控制單元所需要的CAN總線報(bào)文。
[0069]將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較后,如果遍歷完ID信息子集中的所有ID信息后,都沒有查找到與所述待篩選的CAN總線中的ID信息相同的ID信息,則說明待篩選的CAN總線報(bào)文不是電子控制單元所需要的CAN總線報(bào)文,這時(shí),電子控制單元可以丟棄這條CAN總線報(bào)文,不再執(zhí)行提取該待篩選CAN總線報(bào)文中的數(shù)據(jù)信息的步驟。
[0070]本申請(qǐng)實(shí)施例還提供一種電子控制單元,其包括如上所述的CAN總線報(bào)文的軟件濾波系統(tǒng)。
[0071]本申請(qǐng)實(shí)施例提供的電子控制單元的一種結(jié)構(gòu)示意圖如圖4所示,可以包括:CAN控制器41,所述CAN控制器中設(shè)置有若干個(gè)報(bào)文緩存裝置,還包括:
[0072]與所述若干個(gè)報(bào)文緩存裝置相連接的CAN總線報(bào)文的軟件濾波系統(tǒng)42,所述CAN總線報(bào)文的軟件濾波系統(tǒng)42包括:[0073]預(yù)設(shè)模塊421,用于預(yù)先為各個(gè)報(bào)文緩存裝置分配編號(hào),并建立報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,其中,一個(gè)ID信息子集由一個(gè)報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息組成;
[0074]ID信息子集確定模塊422,用于當(dāng)待篩選的CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置后,依據(jù)所述報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集;
[0075]比較模塊423,用于將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較;
[0076]篩選結(jié)果確定模塊424,用于當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文為所述電子控制單元所需要的CAN總線報(bào)文。
[0077]本申請(qǐng)實(shí)施例提供的電子控制單元,包括CAN總線報(bào)文軟件濾波系統(tǒng),該CAN總線報(bào)文軟件濾波系統(tǒng)不是將待篩選CAN總線報(bào)文的ID信息在電子控制單元的所有ID信息中遍歷,而是先根據(jù)報(bào)文緩存裝置的編號(hào)確定ID信息子集,然后在確定的ID信息子集(即部分ID信息)中遍歷比較,從而減少了對(duì)一個(gè)CAN總線報(bào)文進(jìn)行篩選所需要的遍歷比較的次數(shù),而根據(jù)報(bào)文緩存裝置的編號(hào)確定ID信息子集的過程只需要執(zhí)行一條指令即可,其仍然小于所減少的遍歷比較的次數(shù)所需要執(zhí)行的指令條數(shù),因此,本申請(qǐng)實(shí)施例提供的CAN總線報(bào)文的軟件濾波方法,減少了對(duì)一個(gè)CAN總線報(bào)文進(jìn)行篩選所需要的遍歷比較的次數(shù),從而提高了電子控制單元傳遞報(bào)文數(shù)據(jù)信息的效率。
[0078]上述實(shí)施例,優(yōu)選的,篩選結(jié)果確定模塊424還用于,當(dāng)未在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文不是所述電子控制單元所需要的CAN總線報(bào)文。
[0079]下面舉例對(duì)本方案及現(xiàn)有技術(shù)進(jìn)行說明,以更好的突出本發(fā)明的有益效果。
[0080]假設(shè)某個(gè)電子控制單元在工作時(shí)需要接收10種不同ID信息的CAN總線報(bào)文,那么,電子控制單元中會(huì)存在10種不同的ID信息與上層應(yīng)用模塊之間的對(duì)應(yīng)關(guān)系。本例中,假定各個(gè)報(bào)文在CAN總線上出現(xiàn)的幾率相等。
[0081]現(xiàn)有技術(shù)中,當(dāng)一個(gè)CAN總線報(bào)文通過硬件篩選存儲(chǔ)至報(bào)文緩存裝置后,電子控制單元會(huì)將該CAN總線報(bào)文的ID信息與上述10個(gè)ID信息逐一進(jìn)行比較,直到找到其中一種ID信息與該CAN總線報(bào)文的ID信息相同,然后,從該CAN總線報(bào)文中提取數(shù)據(jù)信息,根據(jù)ID信息與上層應(yīng)用模塊的對(duì)應(yīng)關(guān)系,將提取的數(shù)據(jù)信息傳遞給相應(yīng)的上層應(yīng)用模塊??梢?,現(xiàn)有技術(shù)中,電子控制單元在進(jìn)行報(bào)文ID遍歷時(shí),最少需要完成一次ID信息的比較,最多需要完成10次ID信息的比較,那么,現(xiàn)有技術(shù)中,在CAN控制器在報(bào)文緩存裝置中存儲(chǔ)一條通過硬件濾波后的CAN總線報(bào)文后,平均完成一次CAN總線報(bào)文的軟件篩選,需要進(jìn)行比較的次數(shù)為:
[0082]
I次χ丄+ 2次X丄+......+ 10次X丄=5.5次
10 10 10
[0083] 而遍歷ID信息的過程是一個(gè)循環(huán)執(zhí)行ID信息比較指令的過程,因此,現(xiàn)有技術(shù)中,平均完成一次CAN總線報(bào)文篩選,需要執(zhí)行的指令數(shù)為5.5,其中,t為執(zhí)行一次ID信息比較指令所需要的時(shí)間;
[0084]而本申請(qǐng)實(shí)施例中,假設(shè)CAN控制器中設(shè)置有5個(gè)報(bào)文緩存裝置,各個(gè)報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系如表1所示;
[0085]表1
[0086]
【權(quán)利要求】
1.一種CAN總線報(bào)文的軟件濾波方法,應(yīng)用于電子控制單元,其特征在于,預(yù)先為所述電子控制單元中的各個(gè)報(bào)文緩存裝置分配編號(hào),并建立報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,其中,一個(gè)ID信息子集由一個(gè)報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息組成;所述方法包括: 當(dāng)待篩選的CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置后,依據(jù)所述報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集; 將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較; 當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文為所述電子控制單元所需要的CAN總線報(bào)文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 當(dāng)未在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文不是所述電子控制單元所需要的CAN總線報(bào)文。
3.—種CAN總線報(bào)文的軟件濾波系統(tǒng),應(yīng)用于電子控制單元,其特征在于,包括: 預(yù)設(shè)模塊,用于預(yù)先為所述電子控制單元中的各個(gè)報(bào)文緩存裝置分配編號(hào),并建立報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,其中,一個(gè)ID信息子集由一個(gè)報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息組成; ID信息子集確定模塊,用于當(dāng)待篩選的CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置后,依據(jù)所述報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集;` 比較模塊,用于將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較; 篩選結(jié)果確定模塊,用于當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文為所述電子控制單元所需要的CAN總線報(bào)文。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述篩選結(jié)果確定模塊還用于,當(dāng)未在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文不是所述電子控制單元所需要的CAN總線報(bào)文。
5.一種電子控制單元,包括CAN控制器,所述CAN控制器中設(shè)置有若干個(gè)報(bào)文緩存裝置,其特征在于,還包括與所述若干個(gè)報(bào)文緩存裝置相連接的CAN總線報(bào)文的軟件濾波系統(tǒng),所述CAN總線報(bào)文的軟件濾波系統(tǒng)包括: 預(yù)設(shè)模塊,用于預(yù)先為各個(gè)報(bào)文緩存裝置分配編號(hào),并建立報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,其中,一個(gè)ID信息子集由一個(gè)報(bào)文緩存裝置中所需要緩存的所有CAN總線報(bào)文中的ID信息組成; ID信息子集確定模塊,用于當(dāng)待篩選的CAN總線報(bào)文存儲(chǔ)至報(bào)文緩存裝置后,依據(jù)所述報(bào)文緩存裝置的編號(hào),以及報(bào)文緩存裝置的編號(hào)與ID信息子集的對(duì)應(yīng)關(guān)系,確定ID信息子集; 比較模塊,用于將所述待篩選CAN總線報(bào)文中的ID信息逐一與所述ID信息子集中ID信息進(jìn)行比較; 篩選結(jié)果確定模塊,用于當(dāng)在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總線報(bào)文為所述電子控制單元所需要的CAN總線報(bào)文。
6.根據(jù)權(quán)利要求5所述的電子控制單元,其特征在于,所述篩選結(jié)果確定模塊還用于,當(dāng)未在所述ID信息子集中找到與所述待篩選CAN總線報(bào)文中的ID信息相同的ID信息時(shí),確定所述待篩選CAN總 線報(bào)文不是所述電子控制單元所需要的CAN總線報(bào)文。
【文檔編號(hào)】H04L12/861GK103780508SQ201410058072
【公開日】2014年5月7日 申請(qǐng)日期:2014年2月20日 優(yōu)先權(quán)日:2014年2月20日
【發(fā)明者】張陽(yáng), 何楊, 王載瓊, 劉博
申請(qǐng)人:北京經(jīng)緯恒潤(rùn)科技有限公司