亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

Can總線接收信息過(guò)濾器的數(shù)據(jù)配置方法

文檔序號(hào):7753956閱讀:934來(lái)源:國(guó)知局
專利名稱:Can總線接收信息過(guò)濾器的數(shù)據(jù)配置方法
技術(shù)領(lǐng)域
本發(fā)明涉及CAN總線技術(shù),尤其涉及一種CAN總線接收信息過(guò)濾器的數(shù)據(jù)配置方法。
背景技術(shù)
Robert Bosch公司于1986年在SAE大會(huì)上提出了 CAN總線。由于CAN總線具有 高速率、抗電磁干擾和容錯(cuò)性等優(yōu)點(diǎn),近十多年來(lái)CAN總線取得了巨大的成功,在工業(yè)中得 到了廣泛應(yīng)用。CAN總線采用基于信息內(nèi)容的尋址方式進(jìn)行信息傳輸,采用標(biāo)識(shí)符ID描述 信息的內(nèi)容和優(yōu)先級(jí),每個(gè)節(jié)點(diǎn)發(fā)出的信號(hào)都有其各自的標(biāo)識(shí)符ID,對(duì)CAN2. OB來(lái)說(shuō),CAN 標(biāo)識(shí)符ID有29位。CAN總線上每個(gè)節(jié)點(diǎn)的地位是相同的,每個(gè)節(jié)點(diǎn)都可以傳送信號(hào)給任何 其他的節(jié)點(diǎn)。在信息傳輸時(shí),為減少系統(tǒng)軟件運(yùn)行時(shí)的負(fù)擔(dān),總線上的CAN節(jié)點(diǎn)通過(guò)接收信 息過(guò)濾器對(duì)接收到的信息進(jìn)行過(guò)濾處理,接收與自已相關(guān)的信號(hào),并忽略不相關(guān)的信號(hào)。因 此,為保證每個(gè)節(jié)點(diǎn)能夠接收到其需要接收的信息,有必要根據(jù)接收信息的標(biāo)識(shí)符ID,配置 每個(gè)節(jié)點(diǎn)的接收信息過(guò)濾器。CAN控制器一般有2個(gè)或2個(gè)以上接收信息過(guò)濾器,每個(gè)接收信息過(guò)濾器由兩組 寄存器組成,一組為接收碼寄存器(ACR,Acceptance Code Register),另一組為接收屏蔽 寄存器(AMR,Acceptance Mask Register) 0兩組寄存器相互配合工作,實(shí)現(xiàn)接收信息的過(guò)
濾ο接收屏蔽寄存器定義接收碼寄存器的相應(yīng)位對(duì)接收信息過(guò)濾器是“相關(guān)的”或“無(wú) 影響”的,即表明接收到信息的標(biāo)識(shí)符ID是否需要與接收寄存器中的該位進(jìn)行比較。當(dāng)接 收屏蔽寄存器中的某一位無(wú)效(值為0)時(shí),必須比較CAN信息的標(biāo)識(shí)符ID和接收碼寄存 器中與之相對(duì)應(yīng)的位,兩者相同時(shí),該信息才能通過(guò)接收信息過(guò)濾器,被提交給上層軟件處 理。當(dāng)接收屏蔽寄存器中的某一位有效(值為1)時(shí),不再比較CAN信息標(biāo)識(shí)符ID和接收碼 寄存器中與之相對(duì)應(yīng)位,無(wú)論CAN信息標(biāo)識(shí)符ID中的對(duì)應(yīng)位是0,還是1,該信息都可以通 過(guò)接收信息過(guò)濾器。如果屏蔽有效的位較多,會(huì)導(dǎo)致CAN控制器接收到不需要的信息。例 如,假設(shè)接收碼寄存器中存儲(chǔ)的接收碼位為AC. 7 AC. 0,標(biāo)識(shí)符ID的最高8位是ID. 10 ID. 3,接收屏蔽寄存器中存儲(chǔ)的接收屏蔽位是AM. 7 AM. 0,若滿足下列等式時(shí),該標(biāo)識(shí)符 ID對(duì)應(yīng)的CAN信息被接收信息過(guò)濾器接收[(ID. 10 ID. 3) = (AC. 7 AC. 0) ] OR (AM. 7 AM. 0) = 11111111B接收信息過(guò)濾器配置的目標(biāo)是保證需要接收的信息能夠通過(guò)接收信息過(guò)濾器,并 使不需要接收的信息無(wú)法通過(guò)接收信息過(guò)濾器,避免微處理器接收無(wú)用信息,以提高系統(tǒng) 的實(shí)時(shí)性。在目前應(yīng)用的CAN總線系統(tǒng)中,一般由軟件工程師根據(jù)CAN總線上的每個(gè)節(jié)點(diǎn)需 要接收的CAN信息標(biāo)識(shí)符ID手工計(jì)算節(jié)點(diǎn)的接收信息過(guò)濾器的配置數(shù)據(jù)。在許多工業(yè)應(yīng) 用中,如汽車工業(yè)和分布式測(cè)控系統(tǒng),由于CAN節(jié)點(diǎn)數(shù)目較多,每個(gè)節(jié)點(diǎn)需要接收的信息較 多,標(biāo)識(shí)符ID數(shù)據(jù)眾多,計(jì)算工作量大,易于出錯(cuò),并且增加了軟件調(diào)試的工作量,配置錯(cuò)誤會(huì)導(dǎo)致CAN控制器接收到不需要的信息,增加了上層系統(tǒng)軟件的工作量,降低了工作效率。

發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提供一種CAN總線接收信息過(guò)濾器的數(shù) 據(jù)配置方法,不再需要人工計(jì)算接收信息過(guò)濾器的配置數(shù)據(jù),工作量小、效率高,且避免了 不需要接收的信息通過(guò)接收信息過(guò)濾器,提高了 CAN節(jié)點(diǎn)的實(shí)時(shí)工作性能,避免了上層系 統(tǒng)接收到無(wú)用的信息,浪費(fèi)系統(tǒng)資源和處理時(shí)間。本發(fā)明的技術(shù)方案是將每個(gè)節(jié)點(diǎn)需要接收的CAN信息標(biāo)識(shí)符ID組成一個(gè)數(shù)組, 然后利用CAN信息標(biāo)識(shí)符ID的最小漢明(Hamming)距離準(zhǔn)則對(duì)其進(jìn)行聚類分析,將CAN信 息標(biāo)識(shí)符ID分類到不同的類,類的數(shù)目與節(jié)點(diǎn)的接收信息過(guò)濾器數(shù)目相同,若某個(gè)接收節(jié) 點(diǎn)有η個(gè)接收信息過(guò)濾器,則分成η類。聚類分析后,每個(gè)類中的CAN信息標(biāo)識(shí)符ID具有 高度的相似性,接收信息過(guò)濾器的屏蔽寄存器中需要屏蔽的位最少,可避免不需要接收的 信息通過(guò)信息過(guò)濾器。再以每個(gè)類為一個(gè)單位,分別計(jì)算出接收碼寄存器和接收屏蔽寄存 器的配置數(shù)據(jù),然后分別寫(xiě)入接收碼寄存器和接收屏蔽寄存器,完成CAN總線接收信息過(guò) 濾器的數(shù)據(jù)配置。本發(fā)明的優(yōu)點(diǎn)是1.本方法能夠根據(jù)CAN總線上每個(gè)節(jié)點(diǎn)需要接收的CAN信息標(biāo)識(shí)符ID和CAN控 制器中接收信息過(guò)濾器的數(shù)目,生成每個(gè)接收信息過(guò)濾器配置數(shù)據(jù),避免了手工計(jì)算方法 存在的計(jì)算工作量大,易于出錯(cuò),軟件調(diào)試的工作量大的缺點(diǎn);2.本方法生成的接收信息過(guò)濾器的接收屏蔽寄存器中需要屏蔽的位最少,避免了 不需要接收的信息通過(guò)接收信息過(guò)濾器,提高了 CAN節(jié)點(diǎn)的實(shí)時(shí)性能。


下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述圖1為實(shí)施例的CAN總線接收信息過(guò)濾器的數(shù)據(jù)配置方法的流程圖。
具體實(shí)施例方式實(shí)施例CAN總線節(jié)點(diǎn)接收信息過(guò)濾器的數(shù)據(jù)配置的具體實(shí)施方法如下步驟1 輸入CAN總線節(jié)點(diǎn)需要接收的所有CAN信息標(biāo)識(shí)符ID,組成一個(gè)標(biāo)識(shí)符數(shù) 組,若該節(jié)點(diǎn)共有η個(gè)CAN總線接收信息過(guò)濾器,則從標(biāo)識(shí)符數(shù)組中隨機(jī)選取η個(gè)CAN信息 標(biāo)識(shí)符ID作為η個(gè)初始的聚類中心。一般,CAN總線接收信息過(guò)濾器的個(gè)數(shù)不少于2個(gè)。 比如飛思卡爾公司的MSCAN控制器具有2組接收信息過(guò)濾器。步驟2 分別計(jì)算標(biāo)識(shí)符數(shù)組中除了聚類中心外的其它標(biāo)識(shí)符ID與這η個(gè)聚類中 心的漢明距離,并將這些其它標(biāo)識(shí)符ID分別分在與聚類中心的漢明距離最小的該聚類中 心的聚類中,然后執(zhí)行步驟3。在信息論中,兩個(gè)等長(zhǎng)字符串之間的漢明距離是兩個(gè)字符串對(duì)應(yīng)位置的不同字符 的個(gè)數(shù)。換句話說(shuō),它就是將一個(gè)字符串變換成另外一個(gè)字符串所需要替換的字符個(gè)數(shù)。例 如1011101與1001001之間的漢明距離是2,1000101和1111010的漢明距離為6。
步驟3 計(jì)算每個(gè)聚類中的所有CAN信息標(biāo)識(shí)符ID與該聚類的聚類中心的漢明距 離總和Su,其中,i代表第i個(gè)不同聚類,i = 1,2,. . .,n,j表示循環(huán)次數(shù),初始值為1,為 了方便循環(huán),假設(shè)Si,。= 0,然后執(zhí)行步驟4。步驟4 比較Si, j和Si, (Μ)的值,若對(duì)于所有i,i = 1,2,. . .,η都滿足Si,」=Sf, (H),則轉(zhuǎn)而執(zhí)行步驟6 ;若存在某個(gè)i使Suj Φ Si, (η),說(shuō)明第i個(gè)聚類還沒(méi)有得到最終的 漢明距離最小的聚類,則繼續(xù)執(zhí)行步驟5。步驟5 對(duì)每個(gè)聚類中的CAN信息標(biāo)識(shí)符ID與該聚類的聚類中心的漢明距離值進(jìn) 行排序,選擇漢明距離為中間值的CAN信息標(biāo)識(shí)符ID作為該聚類的新聚類中心,循環(huán)次數(shù) j增加1,并轉(zhuǎn)從步驟2開(kāi)始繼續(xù)執(zhí)行。步驟6 當(dāng)所有Si,J = S^1)時(shí),說(shuō)明已經(jīng)得到了漢明距離最小的最終的η個(gè)聚類, 這η個(gè)聚類中的CAN信息標(biāo)識(shí)符ID的相似性最好,將第i個(gè)聚類的聚類中心作為第i個(gè)接 收信息過(guò)濾器的接收碼寄存器的配置值,i = 1,2,.. .,n,將聚類中其他CAN信息標(biāo)識(shí)符ID 與該聚類中心按位進(jìn)行“異或”操作,然后將異或后的所有操作結(jié)果按位進(jìn)行“或”操作,得 到的操作結(jié)果作為第i個(gè)接收信息過(guò)濾器的接收屏蔽寄存器的配置值。比如,將100個(gè)CAN 信息標(biāo)識(shí)符ID最終分到2個(gè)聚類中,第一個(gè)聚類分得48個(gè)CAN信息標(biāo)識(shí)符ID,第二個(gè)聚 類分得52個(gè)CAN信息標(biāo)識(shí)符ID,在進(jìn)行異或操作后,第一聚類的47個(gè)異或結(jié)果進(jìn)行“或” 操作,得到的值作為第一個(gè)接收屏蔽寄存器的配置值,第二聚類的51個(gè)異或結(jié)果進(jìn)行或操 作,得到的值作為第二個(gè)接收屏蔽寄存器的配置值。由于經(jīng)過(guò)本方法后得到的聚類中的CAN 信息標(biāo)識(shí)符ID的相似性最好,因此在“異或”和“或”操作后,得到的接收屏蔽寄存器的配 置值中無(wú)效(值為0)的位數(shù)最多,則能最大程度的避免不需要接收的信息通過(guò)接收信息過(guò) 濾器。然后繼續(xù)執(zhí)行步驟7。步驟7 將配置值寫(xiě)入第i個(gè)接收信息過(guò)濾器的接收碼寄存器和接收屏蔽寄存器, 用以上步驟計(jì)算得到的第i個(gè)聚類的聚類中心作為第i個(gè)接收碼寄存器的配置值,用每個(gè) 聚類中的CAN信息標(biāo)識(shí)符ID進(jìn)行運(yùn)算后得到的值作為接收屏蔽寄存器的配置值,完成CAN 總線接收信息過(guò)濾器的數(shù)據(jù)配置。這樣配置后的CAN總線接收信息過(guò)濾器的接收屏蔽寄存 器屏蔽的位(值為1的位)最少,避免了不需要接收的信息通過(guò)接收信息過(guò)濾器,提高了接 收信息過(guò)濾器的工作性能。在數(shù)據(jù)配置完畢后,CAN總線接收信息過(guò)濾器即可正常工作。以上所述,僅為本發(fā)明的優(yōu)選實(shí)施例,并不能以此限定本發(fā)明實(shí)施的范圍,凡依本 發(fā)明權(quán)利要求及說(shuō)明書(shū)內(nèi)容所作的簡(jiǎn)單的變換,皆應(yīng)仍屬于本發(fā)明覆蓋的保護(hù)范圍。
權(quán)利要求
一種CAN總線接收信息過(guò)濾器的數(shù)據(jù)配置方法,其特征在于包括以下步驟步驟1輸入CAN總線上的某節(jié)點(diǎn)需要接收的所有CAN信息標(biāo)識(shí)符ID,組成一個(gè)標(biāo)識(shí)符數(shù)組,假設(shè)該節(jié)點(diǎn)共有n個(gè)CAN總線接收信息過(guò)濾器,其中n≥2,則從標(biāo)識(shí)符數(shù)組中隨機(jī)選取n個(gè)CAN信息標(biāo)識(shí)符ID作為n個(gè)初始的聚類中心;步驟2分別計(jì)算標(biāo)識(shí)符數(shù)組中除了n個(gè)聚類中心外的其它標(biāo)識(shí)符ID與這n個(gè)聚類中心的漢明距離,并將這些其它標(biāo)識(shí)符ID分別分在與聚類中心的漢明距離最小的該聚類中心的聚類中,繼續(xù)執(zhí)行步驟3;步驟3計(jì)算每個(gè)聚類中的所有CAN信息標(biāo)識(shí)符ID與該聚類的聚類中心的漢明距離的總和Si,j,其中,i代表第i個(gè)不同聚類,i=1,2,...,n,j表示循環(huán)次數(shù),初始值為1,并假設(shè)Si,0=0,繼續(xù)執(zhí)行步驟4;步驟4比較Si,j和Si,(j 1)的值,若對(duì)于所有i,i=1,2,...,n都滿足Si,j=Si,(j 1),則執(zhí)行步驟6;若存在某個(gè)i使Si,j≠Si,(j 1),則繼續(xù)執(zhí)行步驟5;步驟5對(duì)每個(gè)聚類中的CAN信息標(biāo)識(shí)符ID與該聚類的聚類中心的漢明距離值進(jìn)行排序,選擇漢明距離為中間值的CAN信息標(biāo)識(shí)符ID作為該聚類的新聚類中心,j增加1,然后轉(zhuǎn)從步驟2開(kāi)始執(zhí)行;步驟6將第i個(gè)聚類的聚類中心作為第i個(gè)接收信息過(guò)濾器的接收碼寄存器的配置值,將聚類中其他CAN信息標(biāo)識(shí)符ID與該聚類中心按位進(jìn)行異或操作,然后將異或后的所有操作結(jié)果按位進(jìn)行或操作,得到的操作結(jié)果作為第i個(gè)接收信息過(guò)濾器的接收屏蔽寄存器的配置值,然后執(zhí)行步驟7;步驟7將配置值寫(xiě)入第i個(gè)接收信息過(guò)濾器的接收碼寄存器和接收屏蔽寄存器,完成CAN總線接收信息過(guò)濾器的數(shù)據(jù)配置。
全文摘要
本發(fā)明公開(kāi)了一種CAN總線接收信息過(guò)濾器的數(shù)據(jù)配置方法,將每個(gè)節(jié)點(diǎn)需要接收的CAN信息標(biāo)識(shí)符ID組成一個(gè)數(shù)組,然后利用最小漢明距離準(zhǔn)則對(duì)其進(jìn)行聚類分析,將標(biāo)識(shí)符ID分類到不同的類,類的數(shù)目與節(jié)點(diǎn)的接收信息過(guò)濾器數(shù)目相同,聚類分析后,每個(gè)類中的CAN信息標(biāo)識(shí)符ID具有高度的相似性,接收信息過(guò)濾器的屏蔽寄存器中需要屏蔽的位最少,可避免不需要接收的信息通過(guò)信息過(guò)濾器。然后分別計(jì)算出每個(gè)接收信息過(guò)濾器的接收碼寄存器和接收屏蔽寄存器的配置數(shù)據(jù),分別寫(xiě)入接收信息過(guò)濾器接收碼寄存器和接收屏蔽寄存器,完成CAN總線接收信息過(guò)濾器的數(shù)據(jù)配置。本發(fā)明不再需要人工計(jì)算接收信息過(guò)濾器的配置數(shù)據(jù),工作量小、效率高。
文檔編號(hào)H04L12/40GK101931581SQ201010224060
公開(kāi)日2010年12月29日 申請(qǐng)日期2010年7月12日 優(yōu)先權(quán)日2010年7月12日
發(fā)明者嚴(yán)則進(jìn), 季愛(ài)明, 李春, 李江, 邢宗智, 邱峰 申請(qǐng)人:金龍聯(lián)合汽車工業(yè)(蘇州)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1