利用以太網(wǎng)的控制器局域網(wǎng)通信的制作方法
【專(zhuān)利摘要】本發(fā)明涉及利用以太網(wǎng)的控制器局域網(wǎng)通信,具體地,提供了一種用于在CAN節(jié)點(diǎn)之間使用以太網(wǎng)實(shí)施控制器局域網(wǎng)(CAN)通信的系統(tǒng)和方法。以太網(wǎng)交換機(jī)包括端口,每個(gè)端口被配置為從CAN節(jié)點(diǎn)接收以太網(wǎng)數(shù)據(jù)包(EDP)。每個(gè)EDP都包含CAN消息,其包含相應(yīng)于CAN節(jié)點(diǎn)的標(biāo)識(shí)(ID)。第一端口被配置為接收第一EDP,且第二端口被配置為接收第二EDP。所述以太網(wǎng)交換機(jī)也包括控制器模塊,其被配置為檢測(cè)在所述第一EDP和所述第二EDP之間的CAN沖突。所述控制器模塊被配置為響應(yīng)所述CAN沖突的檢測(cè),基于對(duì)應(yīng)于所述第一EDP的ID和對(duì)應(yīng)于所述第二EDP的ID來(lái)選擇所述第一EDP或者所述第二EDP。所述控制器模塊被配置為將所選擇的EDP路由至目的地。
【專(zhuān)利說(shuō)明】利用以太網(wǎng)的控制器局域網(wǎng)通信
[0001]交叉參考相關(guān)申請(qǐng)
[0002]本申請(qǐng)要求在2012年7月23日提交的標(biāo)題為“Ethernet Adaptation LayerFunction for CAN Controller”的美國(guó)臨時(shí)專(zhuān)利申請(qǐng)第61/674,828以及在2012年12月17日提交的美國(guó)專(zhuān)利申請(qǐng)第13/716,521的權(quán)利,通用引用將其全部?jī)?nèi)容并入本文。
【技術(shù)領(lǐng)域】
[0003]本技術(shù)主要涉及網(wǎng)絡(luò)通信,具體地,涉及使用以太網(wǎng)實(shí)施控制器局域網(wǎng)(CAN)通f目。
【背景技術(shù)】
[0004]CAN總線使用車(chē)輛總線標(biāo)準(zhǔn),該標(biāo)準(zhǔn)被設(shè)計(jì)為允許微控制器和裝置在車(chē)輛內(nèi)部彼此通信或與其他控制系統(tǒng)通信。所述CAN總線可以使用基于消息的協(xié)議,其設(shè)計(jì)用于汽車(chē)應(yīng)用并且對(duì)于它們的功能區(qū)域是特定的,但也可用于其他領(lǐng)域,比如工業(yè)自動(dòng)化和醫(yī)療設(shè)備。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的一個(gè)方面涉及一種用于在多個(gè)控制器局域網(wǎng)(CAN)節(jié)點(diǎn)之間實(shí)施CAN通信的以太網(wǎng)交換機(jī),所述以太網(wǎng)交換機(jī)包括:多個(gè)端口,每個(gè)端口被配置為從各自的CAN節(jié)點(diǎn)接收以太網(wǎng)數(shù)據(jù)包,每個(gè)以太網(wǎng)數(shù)據(jù)包包括CAN消息,每個(gè)CAN消息包括相應(yīng)CAN節(jié)點(diǎn)的標(biāo)識(shí)(ID);以及控制器模塊,被配置為檢測(cè)在所述多個(gè)端口中的第一端口接收的第一以太網(wǎng)數(shù)據(jù)包和在所述多個(gè)端口中的第二端口接收的第二以太網(wǎng)數(shù)據(jù)包之間的CAN沖突;其中,所述控制器模塊被配置為響應(yīng)所述CAN沖突的檢測(cè),基于對(duì)應(yīng)于所述第一以太網(wǎng)數(shù)據(jù)包的ID和對(duì)應(yīng)于所述第二以太網(wǎng)數(shù)據(jù)的ID來(lái)選擇所述第一以太網(wǎng)數(shù)據(jù)包或所述第二以太網(wǎng)數(shù)據(jù)包,以及其中,所述控制器模塊被進(jìn)一步配置為將所選擇的以太網(wǎng)數(shù)據(jù)包路由至目的地。
[0006]上述以太網(wǎng)交換機(jī)中,優(yōu)選所述多個(gè)CAN節(jié)點(diǎn)中的每一個(gè)包括CAN控制器和以太網(wǎng)適配模塊。
[0007]上述以太網(wǎng)交換機(jī)中,優(yōu)選所述CAN沖突包括同時(shí)接收所述第一以太網(wǎng)數(shù)據(jù)包和所述第二以太網(wǎng)數(shù)據(jù)包。
[0008]上述以太網(wǎng)交換機(jī)中,優(yōu)選所選擇的以太網(wǎng)數(shù)據(jù)包是所述第一以太網(wǎng)數(shù)據(jù)包,并且其中,對(duì)應(yīng)于所述第一以太網(wǎng)數(shù)據(jù)包的ID小于對(duì)應(yīng)于所述第二以太網(wǎng)數(shù)據(jù)包的ID。
[0009]上述以太網(wǎng)交換機(jī)中,優(yōu)選所述控制器模塊被進(jìn)一步配置為在路由所述第一以太網(wǎng)數(shù)據(jù)包之后的傳輸周期路由所述第二以太網(wǎng)數(shù)據(jù)包。
[0010]上述以太網(wǎng)交換機(jī)中,優(yōu)選所述控制器模塊被進(jìn)一步配置為確定所選擇的以太網(wǎng)數(shù)據(jù)包的所述目的地。
[0011]上述以太網(wǎng)交換機(jī)中,優(yōu)選所述目的地包括:a)除了與接收了所選擇的以太網(wǎng)數(shù)據(jù)包的端口相對(duì)應(yīng)的CAN節(jié)點(diǎn)之外的所述多個(gè)CAN節(jié)點(diǎn)的單個(gè)CAN節(jié)點(diǎn),b)除了與接收了所選擇的以太網(wǎng)數(shù)據(jù)包的端口相對(duì)應(yīng)的CAN節(jié)點(diǎn)之外的所述多個(gè)CAN節(jié)點(diǎn)的兩個(gè)或更多個(gè)CAN節(jié)點(diǎn),或c)除了與接收了所選擇的以太網(wǎng)數(shù)據(jù)包的端口相對(duì)應(yīng)的CAN節(jié)點(diǎn)之外的全部所述多個(gè)CAN節(jié)點(diǎn)。
[0012]上述以太網(wǎng)交換機(jī)中,優(yōu)選進(jìn)一步包括耦接至所述控制器模塊的時(shí)鐘模塊,其中,所述時(shí)鐘模塊被配置為生成傳輸時(shí)鐘,并且其中,所述控制器模塊被配置為基于所述傳輸時(shí)鐘路由所選擇的以太網(wǎng)數(shù)據(jù)包。
[0013]上述以太網(wǎng)交換機(jī)中,優(yōu)選所述時(shí)鐘模塊被配置為接收主基準(zhǔn)時(shí)鐘并且基于所述主基準(zhǔn)時(shí)鐘生成所述傳輸時(shí)鐘。
[0014]上述以太網(wǎng)交換機(jī)中,優(yōu)選所述控制器模塊被配置為以所述目的地支持的帶寬將所選擇的以太網(wǎng)數(shù)據(jù)包路由至所述目的地。
[0015]上述以太網(wǎng)交換機(jī)中,優(yōu)選所述控制器模塊被配置為檢測(cè)CAN消息錯(cuò)誤并且基于所述CAN消息錯(cuò)誤的檢測(cè)將以太網(wǎng)故障消息傳輸至所述多個(gè)CAN節(jié)點(diǎn)的一個(gè)或多個(gè)。
[0016]本發(fā)明的另一方面涉及一種用于利用以太網(wǎng)實(shí)施控制器局域網(wǎng)(CAN)通信的CAN節(jié)點(diǎn),所述CAN節(jié)點(diǎn)包括:CAN模塊,被配置為生成第一 CAN消息,所述第一 CAN消息包括所述CAN節(jié)點(diǎn)的第一標(biāo)識(shí)(ID);以太網(wǎng)適配模塊,被配置為基于所述第一 CAN消息生成第一以太網(wǎng)數(shù)據(jù)包,并向收發(fā)器提供所述第一以太網(wǎng)數(shù)據(jù)包以通過(guò)以太網(wǎng)鏈路將所述第一以太網(wǎng)數(shù)據(jù)包傳輸至目的地;其中,所述以太網(wǎng)適配模塊被進(jìn)一步配置為從所述收發(fā)器接收第二以太網(wǎng)數(shù)據(jù)包,所述第二以太網(wǎng)數(shù)據(jù)包由所述收發(fā)器在所述以太網(wǎng)鏈路上檢測(cè),所述第二以太網(wǎng)數(shù)據(jù)包包括第二 CAN消息,所述第二 CAN消息包括第二 ID,并且其中,所述以太網(wǎng)適配模塊被進(jìn)一步配置為從所述第二以太網(wǎng)數(shù)據(jù)包提取所述第二 CAN消息;以及驗(yàn)證模塊,被配置為將所述第一 ID與所述第二 ID比較,并且基于所述第一 ID與所述第二 ID的比較來(lái)確定所述第一以太網(wǎng)數(shù)據(jù)包的傳輸是否成功。
[0017]上述CAN節(jié)點(diǎn)中,優(yōu)選所述以太網(wǎng)適配模塊被配置為將所述第一 CAN消息封裝為所述第一以太網(wǎng)數(shù)據(jù)包。
[0018]上述CAN節(jié)點(diǎn)中,優(yōu)選進(jìn)一步包括所述收發(fā)器,其中,所述收發(fā)器被配置為將所述第一以太網(wǎng)數(shù)據(jù)包傳輸至所述目的地,其中,所述第一 CAN消息包括用于傳輸所述第一 CAN消息的傳輸時(shí)間信息,并且其中,所述收發(fā)器被配置為根據(jù)所述傳輸時(shí)間信息傳輸所述第一以太網(wǎng)數(shù)據(jù)包。
[0019]上述CAN節(jié)點(diǎn)中,優(yōu)選所述以太網(wǎng)適配模塊被配置為檢測(cè)以太網(wǎng)故障消息并且基于所述以太網(wǎng)故障消息的檢測(cè)向所述CAN模塊提供CAN消息錯(cuò)誤。
[0020]上述CAN節(jié)點(diǎn)中,優(yōu)選所述以太網(wǎng)鏈路包括共享的以太網(wǎng)總線。
[0021]本發(fā)明的又一方面涉及一種用于利用以太網(wǎng)在多個(gè)控制器局域網(wǎng)(CAN)節(jié)點(diǎn)之間實(shí)施CAN通信的方法,所述方法包括:從所述多個(gè)CAN節(jié)點(diǎn)中的第一 CAN節(jié)點(diǎn)接收第一以太網(wǎng)數(shù)據(jù)包,所述第一以太網(wǎng)數(shù)據(jù)包包括第一 CAN消息,所述第一 CAN消息包括所述第一 CAN節(jié)點(diǎn)的第一標(biāo)識(shí)(ID);從所述多個(gè)CAN節(jié)點(diǎn)中的第二 CAN節(jié)點(diǎn)接收第二以太網(wǎng)數(shù)據(jù)包,所述第二以太網(wǎng)數(shù)據(jù)包包括第二 CAN消息,所述第二 CAN消息包括所述第二 CAN節(jié)點(diǎn)的第二 ID ;檢測(cè)在所述第一以太網(wǎng)數(shù)據(jù)包和所述第二以太網(wǎng)數(shù)據(jù)包之間的CAN沖突;響應(yīng)于所述CAN沖突的檢測(cè),基于所述第一 ID和所述第二 ID來(lái)選擇所述第一以太網(wǎng)數(shù)據(jù)包或所述第二以太網(wǎng)數(shù)據(jù)包;確定所選擇的以太網(wǎng)數(shù)據(jù)包的目的地;以及將所選擇的以太網(wǎng)數(shù)據(jù)包路由至所述目的地。
[0022]上述方法中,優(yōu)選所選擇的以太網(wǎng)數(shù)據(jù)包是所述第一以太網(wǎng)數(shù)據(jù)包,其中,所述目的地是包括所述多個(gè)CAN節(jié)點(diǎn)中的一組的第一目標(biāo)位置,并且其中,所述方法進(jìn)一步包括確定所述第二以太網(wǎng)數(shù)據(jù)包的第二目標(biāo)位置,所述第二目標(biāo)位置包括除了所述多個(gè)CAN節(jié)點(diǎn)中的所述一組之外的所述多個(gè)CAN節(jié)點(diǎn)中的至少一個(gè)。
[0023]上述方法中,優(yōu)選進(jìn)一步包括同時(shí)將所述第一以太網(wǎng)數(shù)據(jù)包路由至所述第一目標(biāo)位置并將所述第二以太網(wǎng)數(shù)據(jù)包路由至所述第二目標(biāo)位置。
[0024]上述方法中,優(yōu)選所選擇的以太網(wǎng)數(shù)據(jù)包通過(guò)以太網(wǎng)鏈路路由至所述目的地,所述以太網(wǎng)鏈路包括共享的以太網(wǎng)總線。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0025]為了提供對(duì)本技術(shù)的進(jìn)一步理解,包括附圖,其并入本說(shuō)明書(shū)并構(gòu)成本說(shuō)明書(shū)的一部分,所述附圖示出了本技術(shù)的多個(gè)方面并與文字描述一起用來(lái)說(shuō)明本技術(shù)的原理。
[0026]圖1示出根據(jù)本技術(shù)的不同方面的包含以太網(wǎng)交換機(jī)的車(chē)輛的示例,該以太網(wǎng)交換機(jī)用于在CAN節(jié)點(diǎn)之間經(jīng)由以太網(wǎng)鏈路實(shí)施CAN通信。
[0027]圖2示出根據(jù)本技術(shù)的不同方面的以太網(wǎng)交換機(jī)102和CAN節(jié)點(diǎn)的組件的框圖。
[0028]圖3示出根據(jù)本技術(shù)的不同方面的用于在CAN節(jié)點(diǎn)之間經(jīng)由以太網(wǎng)鏈路實(shí)施CAN通信的方法的示例。
[0029]圖4示出根據(jù)本技術(shù)的不同方面的控制器的組件的框圖。
【具體實(shí)施方式】
[0030]在以下具體的描述中闡述了大量特定的細(xì)節(jié),以便提供對(duì)本技術(shù)的全面的理解。然而,應(yīng)當(dāng)明白的是本技術(shù)可以在沒(méi)有一些這些特定細(xì)節(jié)的情況下實(shí)行。在其他情況下,結(jié)構(gòu)和技術(shù)沒(méi)有具體地示出以避免模糊本技術(shù)。
[0031]車(chē)輛可具有用于不同子系統(tǒng)的若干個(gè)至多達(dá)150個(gè)或更多的電子控制單元(ECU)0 一個(gè)ECU是發(fā)動(dòng)機(jī)控制單元(也是汽車(chē)中的發(fā)動(dòng)機(jī)控制模塊(ECM)或動(dòng)力系控制模塊(PCM))。其他ECU可用于傳動(dòng)裝置、安全氣囊、防抱死制動(dòng)系統(tǒng)、巡航控制、電動(dòng)轉(zhuǎn)向系統(tǒng)、音頻系統(tǒng)、車(chē)窗、車(chē)門(mén)、后視鏡調(diào)節(jié)、混合動(dòng)力/電動(dòng)汽車(chē)的電池和充電系統(tǒng)等。這些ECU中一些可形成獨(dú)立的子系統(tǒng),但通信尤其重要。子系統(tǒng)可能需要控制致動(dòng)器或從傳感器接收反饋。
[0032]所述CAN標(biāo)準(zhǔn)是用于連接不同CAN節(jié)點(diǎn)比如E⑶的多主廣播串行總線標(biāo)準(zhǔn)。所述節(jié)點(diǎn)可以連接至所述CAN總線(例如通過(guò)主處理機(jī)和CAN控制器)。每個(gè)節(jié)點(diǎn)能夠發(fā)送和接收消息。消息包含數(shù)據(jù)(例如達(dá)到八個(gè)數(shù)據(jù)字節(jié)或更多)和相應(yīng)節(jié)點(diǎn)的標(biāo)識(shí)符(ID),其能夠用來(lái)代表所述消息的優(yōu)先級(jí)。消息能夠在所述CAN總線上串行地傳輸。所傳輸?shù)男盘?hào)模式可以根據(jù)非歸零(NRZ)線路代碼來(lái)編碼,并且可被全部節(jié)點(diǎn)檢測(cè)到。
[0033]如果所述總線是空閑的,那么任一節(jié)點(diǎn)可以開(kāi)始傳輸。如果兩個(gè)或更多節(jié)點(diǎn)在同一時(shí)間開(kāi)始發(fā)送消息,那么具有更占優(yōu)勢(shì)的ID的消息(例如它具有更占優(yōu)勢(shì)的比特,即零)可以?xún)?yōu)先于其他節(jié)點(diǎn)的不占優(yōu)勢(shì)的ID,以致最終僅帶有最占優(yōu)勢(shì)的ID的消息剩余下來(lái)并被全部節(jié)點(diǎn)所接收。確定要發(fā)送哪個(gè)消息的這種機(jī)制可能被稱(chēng)為仲裁(例如基于優(yōu)先級(jí)的總線仲裁)。例如,帶有較低數(shù)值的ID的消息具有較高的優(yōu)先級(jí),并因此可能會(huì)贏得所述仲裁并首先傳輸。
[0034]根據(jù)本技術(shù)的不同方面,包含所述仲裁處理的CAN通信可以利用以太網(wǎng)來(lái)實(shí)施。以太網(wǎng)是由許多網(wǎng)絡(luò)計(jì)算裝置所使用的常見(jiàn)標(biāo)準(zhǔn),并且尤其提供較高的帶寬、與其他網(wǎng)絡(luò)協(xié)議會(huì)聚、交換操作以及用于診斷和解決通信中的錯(cuò)誤的一組定義明確的故障錯(cuò)誤。因此,兼容通信的CAN協(xié)議可以利用以太網(wǎng)以更快且更有效的方式實(shí)施。
[0035]圖1示出根據(jù)本技術(shù)的不同方面的包含以太網(wǎng)交換機(jī)102的車(chē)輛100的示例,以太網(wǎng)交換機(jī)102用于在CAN節(jié)點(diǎn)104a、104b、104c以及104d之間經(jīng)由以太網(wǎng)鏈路106a、106b、106c以及106d實(shí)施CAN通信。在一些方面,CAN節(jié)點(diǎn)104a、104b、104c以及104d可以是用于發(fā)動(dòng)機(jī)控制、傳動(dòng)控制、安全氣囊、防抱死制動(dòng)系統(tǒng)、巡航控制、電動(dòng)轉(zhuǎn)向系統(tǒng)、音頻系統(tǒng)、車(chē)窗、車(chē)門(mén)、后視鏡調(diào)節(jié)、混合動(dòng)力/電動(dòng)汽車(chē)的電池和充電系統(tǒng)、照明、電動(dòng)門(mén)鎖和/或其他功能的ECU。雖然圖1中僅示出四個(gè)CAN節(jié)點(diǎn),應(yīng)當(dāng)明白的是對(duì)于任意數(shù)量CAN節(jié)點(diǎn)可以利用以太網(wǎng)來(lái)實(shí)施CAN通信。還應(yīng)當(dāng)明白的是可以利用相同的以太網(wǎng)總線來(lái)實(shí)施多個(gè)CAN總線。還應(yīng)當(dāng)明白的是可以實(shí)施多個(gè)以太網(wǎng)總線,其每個(gè)支持一個(gè)或多個(gè)CAN通信。根據(jù)某些方面,具有要傳輸?shù)腃AN消息的CAN節(jié)點(diǎn)(例如CAN節(jié)點(diǎn)104a)可以包括將所述CAN消息轉(zhuǎn)換成以太網(wǎng)數(shù)據(jù)包的以太網(wǎng)適配模塊。這種以太網(wǎng)數(shù)據(jù)包可以由以太網(wǎng)交換機(jī)102經(jīng)由以太網(wǎng)鏈路(例如以太網(wǎng)鏈路106a)接收,以太網(wǎng)交換機(jī)102可以接著經(jīng)由一個(gè)或更多以太網(wǎng)鏈路(例如以太網(wǎng)鏈路106b、106c和106d)將所述以太網(wǎng)數(shù)據(jù)包傳輸至一個(gè)或更多接收CAN節(jié)點(diǎn)(例如CAN節(jié)點(diǎn)104b、104c和104d)。一個(gè)或多個(gè)接收CAN節(jié)點(diǎn)可以每個(gè)都包括將以太網(wǎng)數(shù)據(jù)包轉(zhuǎn)換為原CAN消息的以太網(wǎng)適配模塊。根據(jù)某些方面,以太網(wǎng)交換機(jī)102可以實(shí)施CAN仲裁處理,以便對(duì)要路由至所述一個(gè)或多個(gè)接收CAN節(jié)點(diǎn)的以太網(wǎng)數(shù)據(jù)包設(shè)置優(yōu)先級(jí)。
[0036]圖2示出根據(jù)本技術(shù)的不同方面的以太網(wǎng)交換機(jī)102和CAN節(jié)點(diǎn)104a、104b、104c以及104d的組件的框圖。以太網(wǎng)交換機(jī)102包括端口 206a、206b、206c以及206d、交換機(jī)控制器模塊202以及時(shí)鐘模塊204,它們彼此通信。CAN節(jié)點(diǎn)104a包括以太網(wǎng)適配模塊208a、CAN模塊210a、驗(yàn)證模塊212a以及物理層(PHY)模塊214a,它們彼此通信。類(lèi)似地,CAN節(jié)點(diǎn)104b包括以太網(wǎng)適配模塊208b、CAN模塊210b、驗(yàn)證模塊212b以及PHY模塊214b。CAN節(jié)點(diǎn)104c包括以太網(wǎng)適配模塊208c、CAN模塊210c、驗(yàn)證模塊212c以及PHY模塊214c。CAN節(jié)點(diǎn)104d包括以太網(wǎng)適配模塊208d、CAN模塊210d、驗(yàn)證模塊212d以及PHY模塊214d。在一些方面,所述模塊可以以軟件實(shí)施(例如子例行程序和代碼)。在一些方面,一些或全部所述模塊可以以硬件中施(例如專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、可編程邏輯器件(PLD)、控制器、狀態(tài)機(jī)、門(mén)控邏輯、離散的硬件組件或任一其他適當(dāng)?shù)钠骷?和/或兩者的結(jié)合。在本公開(kāi)中進(jìn)一步描述了根據(jù)本技術(shù)的各個(gè)方面的這些模塊的其他特征和功能。
[0037]根據(jù)某些方面,CAN模塊(例如CAN模塊210a、210b、210c或210d)包括用于生成CAN消息的邏輯、電路和/或代碼。在一個(gè)或多個(gè)實(shí)施方案中,所述CAN模塊包括CAN控制器。每個(gè)CAN消息包括數(shù)據(jù)和相應(yīng)的CAN節(jié)點(diǎn)的標(biāo)識(shí)(ID)。例如,CAN模塊210a可以生成包括數(shù)據(jù)和CAN節(jié)點(diǎn)104a的ID的CAN消息。以太網(wǎng)適配模塊(例如以太網(wǎng)適配模塊208a、208b,208c或208d)包括邏輯、電路和/或代碼,用于基于從相應(yīng)的CAN模塊接收的CAN消息生成以太網(wǎng)數(shù)據(jù)包。根據(jù)某些方面,以太網(wǎng)適配模塊可以將CAN消息封裝為以太網(wǎng)數(shù)據(jù)包,從而允許所述CAN消息經(jīng)由以太網(wǎng)鏈路傳輸。PHY模塊(例如PHY模塊214a、214b、214c或214d)包括用于支持與其他網(wǎng)絡(luò)設(shè)備通信的邏輯、電路、接口和/或代碼。根據(jù)某些方面,PHY模塊可以包括用于支持與其他網(wǎng)絡(luò)設(shè)備通信的收發(fā)器(例如接收器和發(fā)射器)、擾頻器、解擾器、一個(gè)或多個(gè)數(shù)字信號(hào)處理塊和/或其他組件。所述PHY模塊可以從所述以太網(wǎng)適配模塊接收所述以太網(wǎng)數(shù)據(jù)包,并經(jīng)由以太網(wǎng)鏈路(例如以太網(wǎng)鏈路106a、106b、106c以及106d)將所述以太網(wǎng)數(shù)據(jù)包提供至以太網(wǎng)交換機(jī)102。
[0038]根據(jù)本技術(shù)的不同方面,以太網(wǎng)交換機(jī)102包括端口 206a、206b、206c以及206d,其每個(gè)都被配置為從各自的CAN節(jié)點(diǎn)接收以太網(wǎng)數(shù)據(jù)包(例如端口 206a從CAN節(jié)點(diǎn)104a的PHY模塊214a經(jīng)由以太網(wǎng)鏈路106a接收以太網(wǎng)數(shù)據(jù)包,端口 206b從CAN節(jié)點(diǎn)104b的PHY模塊214b經(jīng)由以太網(wǎng)鏈路106b接收以太網(wǎng)數(shù)據(jù)包,端口 206c從CAN節(jié)點(diǎn)104c的PHY模塊214c經(jīng)由以太網(wǎng)鏈路106c接收以太網(wǎng)數(shù)據(jù)包,以及端口 206d從CAN節(jié)點(diǎn)104d的PHY模塊214d經(jīng)由以太網(wǎng)鏈路106d接收以太網(wǎng)數(shù)據(jù)包)。端口(例如端口 206a、206b、206c或206d)可以將已接收的以太網(wǎng)數(shù)據(jù)包提供至交換機(jī)控制器模塊202,它包括用于支持與其他網(wǎng)絡(luò)設(shè)備通信的邏輯、電路和/或代碼。根據(jù)某些方面,交換機(jī)控制器模塊202和/或端口(例如端口 206a、206b、206c或206d)可以包括用于支持與其他網(wǎng)絡(luò)設(shè)備通信的收發(fā)器(例如接收器和發(fā)射器)、擾頻器、解擾器、一個(gè)或多個(gè)數(shù)字信號(hào)處理塊和/或其他組件。在一些方面,交換機(jī)控制器模塊202被配置為經(jīng)由相應(yīng)的端口將以太網(wǎng)數(shù)據(jù)包路由(route,發(fā)送)至目的地。
[0039]根據(jù)某些方面,時(shí)鐘模塊204包括用于使交換機(jī)控制器模塊202能夠根據(jù)定時(shí)循環(huán)傳輸和接收數(shù)據(jù)包的邏輯、電路和/或代碼。CAN消息可以包括與要傳輸CAN消息的期望時(shí)間和/或在CAN消息被認(rèn)為是錯(cuò)誤之前能夠?qū)AN消息傳遞至它的預(yù)期目的地的時(shí)間相關(guān)的信息。在這點(diǎn)上,交換機(jī)控制器模塊202可以提取此定時(shí)信息,并且時(shí)鐘模塊204可以確定將以太網(wǎng)數(shù)據(jù)包傳輸至它的預(yù)期目的地的可接受的時(shí)間(例如傳輸時(shí)鐘)。時(shí)鐘模塊204可以利用主基準(zhǔn)時(shí)鐘確定所述傳輸時(shí)鐘,主基準(zhǔn)時(shí)鐘可以由例如自由運(yùn)行的晶體振蕩器生成,或者從另一網(wǎng)絡(luò)組件(例如另一交換機(jī))接收。交換機(jī)控制器模塊202可以根據(jù)由時(shí)鐘模塊204生成的相應(yīng)的傳輸時(shí)鐘傳輸以太網(wǎng)數(shù)據(jù)包。根據(jù)某些方面,交換機(jī)控制器模塊202和/或時(shí)鐘模塊 204可以利用 Institute of Electrical and Electronics Engineers(IEEE)802.1AS標(biāo)準(zhǔn)、IEEE1588標(biāo)準(zhǔn)和/或其他標(biāo)準(zhǔn)從以太網(wǎng)網(wǎng)絡(luò)時(shí)鐘生成CAN參考時(shí)鐘,該以太網(wǎng)網(wǎng)絡(luò)時(shí)鐘源自CAN節(jié)點(diǎn)和/或其他交換機(jī)之間的定時(shí)和/或與CAN節(jié)點(diǎn)和/或其他交換機(jī)之間的定時(shí)同步。
[0040]PHY模塊(例如PHY模塊214a、214b、214c或214d)也可以從以太網(wǎng)交換機(jī)102接收以太網(wǎng)數(shù)據(jù)包。以太網(wǎng)適配模塊(例如以太網(wǎng)適配模塊208a、208b、208c或208d)可以從所述以太網(wǎng)數(shù)據(jù)包提取CAN消息并將CAN消息提供至CAN模塊(例如CAN模塊210a、210b、210c 或 210d)。
[0041]根據(jù)某些方面,CAN節(jié)點(diǎn)(例如CAN節(jié)點(diǎn)104a、104b、104c或104d)可以參加CAN仲裁處理,比如確定以太網(wǎng)數(shù)據(jù)包是傳輸成功(因此不需要重新傳輸)還是未傳輸成功(因此需要重新傳輸,比如在替代傳輸了具有更占優(yōu)勢(shì)ID的另一以太網(wǎng)數(shù)據(jù)包的情況下)。CAN節(jié)點(diǎn)可以傳輸原始以太網(wǎng)數(shù)據(jù)包(包括具有傳輸CAN節(jié)點(diǎn)的特定ID的CAN消息)。CAN節(jié)點(diǎn)可以利用驗(yàn)證模塊(例如驗(yàn)證模塊212a、212b、212c或212d)來(lái)確定這種傳輸是否成功。根據(jù)某些方面,經(jīng)由以太網(wǎng)鏈路傳輸原始以太網(wǎng)數(shù)據(jù)包的相應(yīng)的PHY模塊可以檢測(cè)在以太網(wǎng)鏈路上觀測(cè)到的以太網(wǎng)數(shù)據(jù)包。相應(yīng)的以太網(wǎng)適配模塊可以從觀測(cè)到的以太網(wǎng)數(shù)據(jù)包提取CAN消息。驗(yàn)證模塊可以將來(lái)自此CAN消息的ID與正傳輸?shù)腃AN節(jié)點(diǎn)的特定ID相比較。如果這些ID相匹配,那么所述驗(yàn)證模塊確定原始以太網(wǎng)數(shù)據(jù)包的傳輸是成功的。否則,驗(yàn)證模塊確定原始以太網(wǎng)數(shù)據(jù)包的傳輸是不成功的(例如,因?yàn)橛^測(cè)到的以太網(wǎng)數(shù)據(jù)包具有更占優(yōu)勢(shì)的ID,并且經(jīng)由所述以太網(wǎng)鏈路傳輸)。
[0042]圖3示出根據(jù)本技術(shù)的不同方面的用于在CAN節(jié)點(diǎn)104a、104b、104c以及104d之間經(jīng)由以太網(wǎng)鏈路106a、106b、106c以及106d實(shí)施CAN通信的方法300的示例。例如,以太網(wǎng)交換機(jī)102可以用來(lái)實(shí)施方法300。然而,方法300也可以通過(guò)具有其他配置的系統(tǒng)實(shí)施。雖然本發(fā)明參考圖1、2和4的示例描述了方法300,但是方法300并不局限于這些示例。而且,方法300不一定必須按照示出的順序執(zhí)行?;谠O(shè)計(jì)偏好,應(yīng)當(dāng)明白的是方法300的順序可以重新安排。
[0043]為了示出的目的,假設(shè)CAN節(jié)點(diǎn)104a要將第一以太網(wǎng)數(shù)據(jù)包(包括第一 CAN消息,第一 CAN消息包括CAN節(jié)點(diǎn)104a的第一 ID)傳輸至CAN節(jié)點(diǎn)104b。而且,假設(shè)CAN節(jié)點(diǎn)104c要將第二以太網(wǎng)數(shù)據(jù)包(包括第二 CAN消息,第二 CAN消息包括CAN節(jié)點(diǎn)104c的第二ID)傳輸至CAN節(jié)點(diǎn)104d。CAN節(jié)點(diǎn)104a和104c可以將第一以太網(wǎng)數(shù)據(jù)包和第二以太網(wǎng)數(shù)據(jù)包分別傳輸至以太網(wǎng)交換機(jī)102,其經(jīng)由端口 206a和206c分別接收這些數(shù)據(jù)包(S302 )。
[0044]根據(jù)某些方面,交換機(jī)控制器模塊202被配置為檢測(cè)在第一以太網(wǎng)之間數(shù)據(jù)包和第二以太網(wǎng)數(shù)據(jù)包之間的CAN沖突(S304)。也就是說(shuō),交換機(jī)控制器模塊202能夠檢測(cè)在以太網(wǎng)交換機(jī)102是否存在著不止一個(gè)的要傳輸?shù)囊蕴W(wǎng)數(shù)據(jù)包(例如在同一時(shí)間接收所述第一以太網(wǎng)數(shù)據(jù)包和所述第二以太網(wǎng)數(shù)據(jù)包)。如果交換機(jī)控制器模塊202沒(méi)有檢測(cè)到CAN沖突(例如在以太網(wǎng)交換機(jī)102僅有單個(gè)以太網(wǎng)數(shù)據(jù)包可用于傳輸),那么交換機(jī)控制器模塊202可以繼續(xù)進(jìn)行確定所接收的單個(gè)以太網(wǎng)數(shù)據(jù)包的目的地的步驟(S308)。然而,如果交換機(jī)控制器模塊202檢測(cè)到CAN沖突(例如接收到不止一個(gè)的以太網(wǎng)數(shù)據(jù)包),那么以太網(wǎng)交換機(jī)102可以實(shí)施仲裁處理,以便為所接收的以太網(wǎng)數(shù)據(jù)包的傳輸順序設(shè)置優(yōu)先級(jí)。例如,交換機(jī)控制器模塊202基于第一 ID和第二 ID選擇第一以太網(wǎng)數(shù)據(jù)包或第二以太網(wǎng)數(shù)據(jù)包用于傳輸(S306)。交換機(jī)控制器模塊202可以通過(guò)將與較低ID相關(guān)聯(lián)的以太網(wǎng)數(shù)據(jù)包設(shè)為優(yōu)先的(例如“0000000”的ID可以具有最高的優(yōu)先級(jí),而“1111111”的ID可以具有最低的優(yōu)先級(jí))來(lái)模仿CAN仲裁處理。為了示例說(shuō)明的目的,假設(shè)CAN節(jié)點(diǎn)104a的ID小于CAN節(jié)點(diǎn)104c的ID。因此,交換機(jī)控制器模塊202可以選擇第一以太網(wǎng)數(shù)據(jù)包(從CAN節(jié)點(diǎn)104a)進(jìn)行傳輸。在這點(diǎn)上,第二以太網(wǎng)數(shù)據(jù)包可以在下一個(gè)傳輸周期傳輸。
[0045]根據(jù)某些方面,交換機(jī)控制器模塊202確定所選擇的以太網(wǎng)數(shù)據(jù)包的目的地(例如如果檢測(cè)到CAN沖突),或者在以太網(wǎng)交換機(jī)102存在的用于傳輸?shù)膯蝹€(gè)以太網(wǎng)數(shù)據(jù)包的目的地(例如如果沒(méi)有檢測(cè)到CAN沖突)(S308)。為了示例說(shuō)明的目的,假設(shè)第一以太網(wǎng)數(shù)據(jù)包是用于傳輸?shù)乃x擇的以太網(wǎng)數(shù)據(jù)包。根據(jù)某些方面,來(lái)自所述第一以太網(wǎng)數(shù)據(jù)包的第一 CAN消息可以包括關(guān)于它的預(yù)期目的地的信息。在這種情況下,交換機(jī)控制器模塊202可以通過(guò)從所述第一 CAN消息提取該預(yù)期目的地信息來(lái)確定第一以太網(wǎng)數(shù)據(jù)包的目的地。在一些方面,所述目的地可以被預(yù)先確定。例如,一個(gè)或多個(gè)節(jié)點(diǎn)(例如CAN節(jié)點(diǎn)104b、104c和/或104d)可以被預(yù)先確定來(lái)接收源自CAN節(jié)點(diǎn)104a的全部數(shù)據(jù)包。此預(yù)先確定的目的地可以提供至以太網(wǎng)交換機(jī)102和/或儲(chǔ)存在以太網(wǎng)交換機(jī)102中。在這點(diǎn)上,交換機(jī)控制器模塊202可以通過(guò)查找預(yù)先確定的目的地來(lái)確定第一以太網(wǎng)數(shù)據(jù)包的目的地。
[0046]根據(jù)某些方面,交換機(jī)控制器模塊202將以太網(wǎng)數(shù)據(jù)包(例如如果檢測(cè)到CAN沖突時(shí)所選擇的以太網(wǎng)數(shù)據(jù)包,或者如果沒(méi)有檢測(cè)到CAN沖突時(shí)在以太網(wǎng)交換機(jī)102可用于傳輸?shù)膯蝹€(gè)以太網(wǎng)數(shù)據(jù)包)經(jīng)由一個(gè)或多個(gè)相應(yīng)端口路由至所確定的目的地(S310)。假設(shè)第一以太網(wǎng)數(shù)據(jù)包是所選擇的以太網(wǎng)數(shù)據(jù)包,并且目的地被確定為CAN節(jié)點(diǎn)104b,則交換機(jī)控制器模塊202可將第一以太網(wǎng)數(shù)據(jù)包經(jīng)由端口 206b路由至CAN節(jié)點(diǎn)104b。
[0047]根據(jù)某些方面,以太網(wǎng)通信的帶寬可以大于由CAN節(jié)點(diǎn)典型支持的帶寬。因此,可以提供每個(gè)傳輸CAN節(jié)點(diǎn)的最大帶寬,從而使得使用以太網(wǎng)的CAN通信比沒(méi)有使用以太網(wǎng)的CAN通信更加有效。在一個(gè)或多個(gè)實(shí)施方案中,如果CAN節(jié)點(diǎn)(例如CAN節(jié)點(diǎn)104a、104b、104c或104d)以125千比特/秒(kbps)傳輸,并且以太網(wǎng)交換機(jī)102以全雙工在10兆比特/秒(mbps)的帶寬操作,那么多達(dá)40個(gè)CAN節(jié)點(diǎn)能夠在沒(méi)有仲裁損耗的情況下傳輸(例如以太網(wǎng)數(shù)據(jù)包不必等待帶有更占優(yōu)勢(shì)的ID的另一以太網(wǎng)數(shù)據(jù)包傳輸完成)。因此,假設(shè)以太網(wǎng)數(shù)據(jù)包不具有同一目的地,那么多個(gè)CAN節(jié)點(diǎn)能夠在沒(méi)有仲裁損耗的情況下傳輸以太網(wǎng)數(shù)據(jù)包。如上所述,第一以太網(wǎng)數(shù)據(jù)包的預(yù)期目的地是CAN節(jié)點(diǎn)104b,而第二以太網(wǎng)數(shù)據(jù)包的預(yù)期目的地是CAN節(jié)點(diǎn)104d。根據(jù)某些方面,交換機(jī)控制器模塊202可以在同一時(shí)間在沒(méi)有仲裁損耗的情況下將第一以太網(wǎng)數(shù)據(jù)包路由至CAN節(jié)點(diǎn)104b并將第二以太網(wǎng)數(shù)據(jù)包路由至CAN節(jié)點(diǎn)104d。
[0048]在一些方面,以太網(wǎng)交換機(jī)102可以以設(shè)定帶寬實(shí)施CAN通信。在一個(gè)或多個(gè)實(shí)施方案中,如果CAN節(jié)點(diǎn)的網(wǎng)絡(luò)需要在125kbps操作,以太網(wǎng)交換機(jī)102可以在設(shè)定帶寬(例如125kbps)而不是在它的最大帶寬(例如IOmbps)將所選擇的以太網(wǎng)數(shù)據(jù)包路由至目的地。在一些方面,交換機(jī)控制器模塊202被配置為以目的地所支持的帶寬將以太網(wǎng)數(shù)據(jù)包路由至它的目的地。雖然以太網(wǎng)交換機(jī)102被描述為在可IOmbps的帶寬操作,但是以太網(wǎng)交換機(jī)102可以在任一以太網(wǎng)帶寬(例如IOOmbps、250mbps、IOOOmbps、2500mbps等)操作。雖然每個(gè)傳輸CAN節(jié)點(diǎn)都被描述為可在125kbps的帶寬操作,但是每個(gè)傳輸CAN節(jié)點(diǎn)都可以在任一帶寬操作(例如小于以太網(wǎng)帶寬)。
[0049]根據(jù)本技術(shù)的不同方面,CAN總線狀態(tài)信號(hào)(比如CAN錯(cuò)誤消息可)以利用以太網(wǎng)來(lái)傳播。交換機(jī)控制器模塊202可以檢測(cè)CAN消息錯(cuò)誤(例如過(guò)度循環(huán)冗余檢驗(yàn)錯(cuò)誤、局部CAN地址不可到達(dá)和/或未監(jiān)聽(tīng)錯(cuò)誤(not-listened-to error)),并基于所檢測(cè)出的CAN消息錯(cuò)誤生成相應(yīng)的以太網(wǎng)故障消息。交換機(jī)控制器模塊202可以將所生成的以太網(wǎng)故障消息路由至所述錯(cuò)誤適用的CAN節(jié)點(diǎn)。此CAN節(jié)點(diǎn)的以太網(wǎng)適配模塊可以接收以太網(wǎng)故障消息(經(jīng)由相應(yīng)的PHY模塊),基于所接收的以太網(wǎng)故障消息生成相應(yīng)的CAN消息錯(cuò)誤,并將所述CAN消息錯(cuò)誤提供至所述相應(yīng)的CAN模塊。在某些方面,以太網(wǎng)適配模塊也可以向CAN模塊報(bào)告電纜故障(例如短路、開(kāi)路、不適當(dāng)?shù)膫鬏斁€路等)。
[0050]雖然上述CAN通信被描述為利用以太網(wǎng)交換機(jī)102實(shí)施,但是CAN通信也可以利用共享的以太網(wǎng)總線操作實(shí)施(例如CAN節(jié)點(diǎn)104a、104b、104c以及104d可以經(jīng)由共享的以太網(wǎng)鏈路直接傳輸)。共享的以太網(wǎng)總線操作可以包括IEEE802.3Carrier-Sense, MultipleAccess/Collision Detection (CSMA/CD)法、主從時(shí)隙訪問(wèn) IEEE802.3 以太網(wǎng) PON 法、或其變體。在共享的以太網(wǎng)總線操作中,除了以太網(wǎng)數(shù)據(jù)包的傳輸和接收經(jīng)由單個(gè)以太網(wǎng)鏈路以外,每個(gè)CAN節(jié)點(diǎn)可以如上所述地傳輸和接收以太網(wǎng)數(shù)據(jù)包。因此,全部CAN節(jié)點(diǎn)都可以監(jiān)聽(tīng)經(jīng)由所述以太網(wǎng)鏈路發(fā)生的傳輸。而且,每個(gè)CAN節(jié)點(diǎn)的以太網(wǎng)適配模塊可以實(shí)施上述仲裁處理,以確定以太網(wǎng)數(shù)據(jù)包經(jīng)由所述以太網(wǎng)鏈路的傳輸是成功的還是不成功的。
[0051]圖4示出根據(jù)本技術(shù)的不同方面的控制器400的組件的框圖??刂破?00包括處理器模塊404、存儲(chǔ)模塊410、輸入/輸出(I/O)模塊408、內(nèi)存模塊406以及總線402??偩€402可以是用于傳遞信息的任一適當(dāng)?shù)耐ㄐ艡C(jī)構(gòu)。處理器模塊404、存儲(chǔ)模塊410、I/O模塊408以及內(nèi)存模塊406與總線402耦接,用于在控制器400的任一模塊之間傳遞信息和/或在控制器400的任一模塊和至控制器400的外部裝置之間傳遞信息。例如,在控制器400的任一模塊之間傳遞的信息可以包括指令和/或數(shù)據(jù)。在一些方面,總線402可以是通用串行總線。在一些方面,總線402可以提供以太網(wǎng)連接性。
[0052]在一些方面,處理器模塊404可包含一個(gè)或多個(gè)處理器,其中每個(gè)處理器可實(shí)施不同功能或執(zhí)行不同指令和/或處理。例如,一個(gè)或多個(gè)處理器可利用以太網(wǎng)執(zhí)行用于執(zhí)行CAN通信的指令,且一個(gè)或多個(gè)處理器可執(zhí)行用于輸入/輸出功能的指令。
[0053]內(nèi)存模塊406可以是隨機(jī)存取內(nèi)存(“RAM”)或用于存儲(chǔ)處理器模塊404所執(zhí)行信息和指令的其他動(dòng)態(tài)存儲(chǔ)設(shè)備。內(nèi)存模塊406還可用于在處理器404的指令執(zhí)行期間存儲(chǔ)臨時(shí)變量或其他的中間信息。在一些方面,內(nèi)存模塊406可包含電池組供電的靜態(tài)RAM,其存儲(chǔ)信息而不需要電力來(lái)維持所存儲(chǔ)的信息。存儲(chǔ)器模塊410可以是磁盤(pán)或光盤(pán)并且也可存儲(chǔ)信息和指令。在一些方面,存儲(chǔ)器模塊410可包含硬盤(pán)存儲(chǔ)器或電子內(nèi)存存儲(chǔ)器(快閃式存儲(chǔ)器)。在一些方面,內(nèi)存模塊406和存儲(chǔ)器模塊410均為機(jī)器可讀介質(zhì)。
[0054]可通過(guò)I/O模塊408將控制器400連接至系統(tǒng)控制和管理系統(tǒng)(例如,車(chē)輛中央網(wǎng)關(guān))、和/或可允許用戶(hù)將信息和選擇命令通信至控制器400以及從控制器400接收信息的用戶(hù)接口。例如,車(chē)輛中央網(wǎng)關(guān)可提供帶寬、日志故障診斷、重置和恢復(fù)動(dòng)作、以及日志統(tǒng)計(jì)。用戶(hù)接口可以是向用戶(hù)顯示信息的監(jiān)視器(例如,液晶顯示器(IXD)、發(fā)光二極管(LED)顯示器、有機(jī)發(fā)光二極管(0LED)、柔性顯示器、平板顯示器、固態(tài)顯示器)。用戶(hù)接口還可包括,例如鍵盤(pán)、鼠標(biāo)或任何通過(guò)I/O模塊408被連接至控制器400用于將信息和命令選擇通信至處理器模塊404的具有感官反饋、視覺(jué)反饋、聽(tīng)覺(jué)反饋、和/或觸覺(jué)反饋的設(shè)備。
[0055]根據(jù)本技術(shù)的各個(gè)方面,可通過(guò)控制器400執(zhí)行此處所描述的方法。在一個(gè)或多個(gè)實(shí)施中,處理器模塊404執(zhí)行一個(gè)或多個(gè)包含在內(nèi)存模塊406和/或存儲(chǔ)器模塊410中的指令序列。在一些方面,指令可從另一個(gè)機(jī)器可讀介質(zhì)例如存儲(chǔ)器模塊410讀取至內(nèi)存模塊406。在一些方面,指令可例如從用戶(hù)通過(guò)用戶(hù)接口從I/O模塊408直接讀取至內(nèi)存模塊406。包含在內(nèi)存模塊406和/或存儲(chǔ)器模塊410中的指令序列的執(zhí)行可導(dǎo)致處理器模塊404實(shí)施利用以太網(wǎng)執(zhí)行CAN通信的方法。在一個(gè)或多個(gè)實(shí)施中,利用以太網(wǎng)執(zhí)行CAN通信的計(jì)算算法可作為一個(gè)或多個(gè)指令序列存儲(chǔ)在內(nèi)存模塊406和/或存儲(chǔ)器模塊410中??赏ㄟ^(guò)總線402從處理器模塊404將信息例如以太網(wǎng)數(shù)據(jù)包、CAN消息、以太網(wǎng)數(shù)據(jù)包的選擇、目的地、定時(shí)信息、CAN消息錯(cuò)誤、以太網(wǎng)故障信息和/或其他信息通信至內(nèi)存模塊406和/或存儲(chǔ)器模塊410,以用于存儲(chǔ)。在一些方面,可通過(guò)總線402將所述信息從處理器模塊404、內(nèi)存模塊406和/或存儲(chǔ)器模塊410通信至I/O模塊408。然后通過(guò)用戶(hù)接口將所述信息從I/o模塊408通信至用戶(hù)。
[0056]以多處理排列的一個(gè)或多個(gè)處理器還可用于執(zhí)行包含在內(nèi)存模塊406和/或存儲(chǔ)器模塊410中的指令序列。在一些方面,可利用硬接線電路代替軟件指令或者與軟件指令結(jié)合來(lái)執(zhí)行本技術(shù)的各個(gè)方面。因此,本技術(shù)的方面不局限于硬件電路和軟件的任何特定組合。
[0057]本文所用的術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”或“計(jì)算機(jī)可讀介質(zhì)”指的是任何參與將指令提供至處理器模塊404用于執(zhí)行的介質(zhì)。該介質(zhì)可采用許多形式,包括,但不局限于,非易失性介質(zhì)和易失性介質(zhì)。非易失性介質(zhì)包括,例如,光盤(pán)或磁盤(pán),例如存儲(chǔ)器模塊410。易失性介質(zhì)包括動(dòng)態(tài)內(nèi)存,例如內(nèi)存模塊406。機(jī)器可讀介質(zhì)或計(jì)算機(jī)可讀介質(zhì)的公共形式包括,例如,軟盤(pán)、軟磁盤(pán)、硬盤(pán)、磁帶、任何其他的磁性介質(zhì)、CD-ROM、DVD、任何其他的光學(xué)介質(zhì)、穿孔卡、紙帶、任何其他的具有孔圖案的物理介質(zhì)、RAM、PROM、EPROM、FLASH EPROM、任何其他的內(nèi)存芯片或盒式磁帶、或任何其他的處理器可從其讀取的介質(zhì)。
[0058]本領(lǐng)域內(nèi)的那些技術(shù)人員應(yīng)該意識(shí)到此處描述的說(shuō)明性方框、模塊、組件、組件、方法、以及算法可被實(shí)施為電子硬件、計(jì)算機(jī)軟件、或兩者組合。為了說(shuō)明該硬件和軟件的可互換性,在上文中就其功能概括地描述了各種說(shuō)明性方框、模塊、元件、組件、方法以及算法。該功能是否被實(shí)施為硬件或軟件取決于特定應(yīng)用和對(duì)整個(gè)系統(tǒng)所施加的設(shè)計(jì)約束。技術(shù)人員可針對(duì)各自的特定應(yīng)用以不同方式執(zhí)行所述功能??稍诓黄x本技術(shù)的保護(hù)范圍下對(duì)各種組件和方框進(jìn)行不同的排列(例如以不同順序排列,或以不同方式劃分)。
[0059]應(yīng)該理解所公開(kāi)的處理中的方框的任何特定順序或?qū)蛹?jí)是說(shuō)明示例性方法。根據(jù)設(shè)計(jì)偏好,應(yīng)該理解,可重新排列處理中的方框的任何特定順序或?qū)蛹?jí),或者可執(zhí)行全部的說(shuō)明性方框。可同時(shí)執(zhí)行任何方框。在一個(gè)或多個(gè)實(shí)施方案中,多任務(wù)和并行處理可能是有利的。而且,上述實(shí)施方式中的各種系統(tǒng)組件的分隔不應(yīng)該被理解為在全部的實(shí)施例中都要求這樣的分隔,且應(yīng)該理解所描述的程序組件和系統(tǒng)通??烧显趩蝹€(gè)軟件產(chǎn)品中或被封裝成多個(gè)軟件產(chǎn)品。
[0060]在本申請(qǐng)的此說(shuō)明書(shū)和任何權(quán)利要求中所使用的術(shù)語(yǔ)“接收器”、“計(jì)算機(jī)”、“服務(wù)器”、“處理器”和“內(nèi)存”全部指電子或其他的技術(shù)設(shè)備。這些術(shù)語(yǔ)排除了人或人群。為了具體說(shuō)明,術(shù)語(yǔ)“顯示”或“進(jìn)行顯示”意味著在電子設(shè)備上進(jìn)行顯示。
[0061]如本文所使用的,在一系列項(xiàng)目之前(或之后)的短語(yǔ)“至少一個(gè)”(借助術(shù)語(yǔ)“和”或“或”分隔任何項(xiàng)目)是作為一個(gè)整體修改列表,而不是列表的各個(gè)構(gòu)件(即,每個(gè)項(xiàng)目)。短語(yǔ)“至少一個(gè)”并不要求選擇至少一個(gè)的每個(gè)所列項(xiàng)目;相反地,該短語(yǔ)意味著包含所述項(xiàng)目中的至少一個(gè)的任一項(xiàng)目,和/或至少一個(gè)的所述術(shù)語(yǔ)的任何組合,和/或至少一個(gè)的每個(gè)項(xiàng)目。例如,短語(yǔ)“A、B和C中的至少一個(gè)”或“K、B或C中的至少一個(gè)”各自指僅A、僅B、或僅C 'K、B和C的任何組合;和/或A、B和C各自至少一個(gè)。
[0062]謂語(yǔ)單詞“被配置為”、“可操作用于”以及“可編程用于”不是暗示主題的任何特定的有形或無(wú)形的變化,相反,是可互換使用的。在一個(gè)或多個(gè)實(shí)施方案中,被配置分析和控制操作或組件的處理器也指被編程以分析和控制操作的處理器或可操作用于分析和控制操作的處理器。同樣地,被配置執(zhí)行代碼的處理器可被解釋為被編程用于執(zhí)行代碼或可操作用于執(zhí)行代碼的處理器。
[0063]短語(yǔ)例如“方面”不是暗示該方面對(duì)本技術(shù)是必不可少的或者該方面應(yīng)用至本技術(shù)的所有配置。與方面相關(guān)的公開(kāi)可應(yīng)用于所有配置,或一個(gè)或多個(gè)配置。方面可提供本公開(kāi)的一個(gè)或多個(gè)示例。例如“方面”的短語(yǔ)可指一個(gè)或多個(gè)方面,反之亦然。例如“實(shí)施方式”的短語(yǔ)不是暗示該實(shí)施方式對(duì)本技術(shù)是必不可少的或者該實(shí)施方式應(yīng)用至本技術(shù)的所有配置。與實(shí)施方式相關(guān)的公開(kāi)可適用于全部實(shí)施方式,或一個(gè)或多個(gè)實(shí)施方式。實(shí)施方式可提供本公開(kāi)的一個(gè)或多個(gè)示例。例如“實(shí)施方式”的短語(yǔ)可指一個(gè)或多個(gè)實(shí)施方式,反之亦然。短語(yǔ)例如“配置”不是暗示該配置對(duì)本技術(shù)是必不可少的或者該配置應(yīng)用至本技術(shù)的所有配置。與配置有關(guān)的公開(kāi)可適用于所有配置,或一個(gè)或多個(gè)配置。配置可提供本公開(kāi)的一個(gè)或多個(gè)示例。例如“配置”的短語(yǔ)可指一個(gè)或多個(gè)配置,反之亦然。
[0064]此處所用的詞“示例性”意味著“用作示例、實(shí)例或說(shuō)明”。此處作為“示例性”或作為“示例”描述的任何實(shí)施方式不一定被解釋為比其他實(shí)施方式優(yōu)選或有利。此外,就本說(shuō)明書(shū)或權(quán)利要求中使用的術(shù)語(yǔ)“包括(include)”^具有”等而言,這樣的術(shù)語(yǔ)與當(dāng)“包括(comprise)”在權(quán)利要求中被用作過(guò)渡詞所解釋的術(shù)語(yǔ)“包括(comprise)”的方式類(lèi)似地包含。[0065]將本領(lǐng)域技術(shù)人員所已知的或之后將知道的與貫穿本公開(kāi)描述的各個(gè)方面的組件等價(jià)的所有結(jié)構(gòu)和功能通過(guò)引用明確地并入本文且被涵蓋在權(quán)利要求中。而且,本文所公開(kāi)的內(nèi)容均不貢獻(xiàn)給公眾,而不管該公開(kāi)是否被明確地記載在權(quán)利要求中。除非明確地使用短語(yǔ)“用于…的手段”來(lái)記載要素,或者在方法權(quán)利要求的情況下,使用短語(yǔ)“用于…的步驟”,否則權(quán)利要求的要素均不按照35U.S.C.§ 112,第六段的規(guī)定來(lái)解釋。
[0066]提供前面的說(shuō)明是為了使本領(lǐng)域內(nèi)的任何技術(shù)人員能實(shí)踐本文所述各個(gè)方面。對(duì)這些方面的各種修改對(duì)本領(lǐng)域內(nèi)的那些技術(shù)人員是顯而易見(jiàn)的,并且可將此處所定義的一般原則應(yīng)用于其他方面。因此,權(quán)利要求并不受本文所示出的各個(gè)方面的限制,而是與語(yǔ)言表達(dá)的權(quán)利要求一致的全部保護(hù)范圍,其中除非有特別說(shuō)明,否則采用單數(shù)形式提及組件并不意味著“一個(gè)并且僅一個(gè)”,而是“一個(gè)或多個(gè)”。除非另有特別說(shuō)明,否則術(shù)語(yǔ)“一些”指的是一個(gè)或多個(gè)。男性代詞(例如,他的)包括女性和中性(例如,她的和它的),反之亦然。如果存在任何標(biāo)題和副標(biāo)題,其僅是為了方便說(shuō)明而不是限制本公開(kāi)。
【權(quán)利要求】
1.一種用于在多個(gè)控制器局域網(wǎng)(CAN)節(jié)點(diǎn)之間實(shí)施CAN通信的以太網(wǎng)交換機(jī),所述以太網(wǎng)交換機(jī)包括: 多個(gè)端口,每個(gè)端口被配置為從各自的CAN節(jié)點(diǎn)接收以太網(wǎng)數(shù)據(jù)包,每個(gè)以太網(wǎng)數(shù)據(jù)包包括CAN消息,每個(gè)CAN消息包括相應(yīng)CAN節(jié)點(diǎn)的標(biāo)識(shí)(ID);以及 控制器模塊,被配置為檢測(cè)在所述多個(gè)端口中的第一端口接收的第一以太網(wǎng)數(shù)據(jù)包和在所述多個(gè)端口中的第二端口接收的第二以太網(wǎng)數(shù)據(jù)包之間的CAN沖突, 其中,所述控制器模塊被配置為響應(yīng)所述CAN沖突的檢測(cè),基于對(duì)應(yīng)于所述第一以太網(wǎng)數(shù)據(jù)包的ID和對(duì)應(yīng)于所述第二以太網(wǎng)數(shù)據(jù)的ID來(lái)選擇所述第一以太網(wǎng)數(shù)據(jù)包或所述第二以太網(wǎng)數(shù)據(jù)包,以及 其中,所述控制器模塊被進(jìn)一步配置為將所選擇的以太網(wǎng)數(shù)據(jù)包路由至目的地。
2.根據(jù)權(quán)利要求1所述的以太網(wǎng)交換機(jī),其中,所述多個(gè)CAN節(jié)點(diǎn)中的每一個(gè)包括CAN控制器和以太網(wǎng)適配模塊。
3.根據(jù)權(quán)利要求1所述的以太網(wǎng)交換機(jī),其中,所述CAN沖突包括同時(shí)接收所述第一以太網(wǎng)數(shù)據(jù)包和所述第二以太網(wǎng)數(shù)據(jù)包。
4.根據(jù)權(quán)利要求1所述的以太網(wǎng)交換機(jī),其中,所選擇的以太網(wǎng)數(shù)據(jù)包是所述第一以太網(wǎng)數(shù)據(jù)包,并且其中,對(duì)應(yīng)于所述第一以太網(wǎng)數(shù)據(jù)包的ID小于對(duì)應(yīng)于所述第二以太網(wǎng)數(shù)據(jù)包的ID。
5.根據(jù)權(quán)利要求4所述的以太網(wǎng)交換機(jī),其中,所述控制器模塊被進(jìn)一步配置為在路由所述第一以太網(wǎng)數(shù)據(jù)包之后的傳輸周期路由所述第二以太網(wǎng)數(shù)據(jù)包。
6.根據(jù)權(quán)利要求1所述 的以太網(wǎng)交換機(jī),其中,所述控制器模塊被進(jìn)一步配置為確定所選擇的以太網(wǎng)數(shù)據(jù)包的所述目的地。
7.根據(jù)權(quán)利要求6所述的以太網(wǎng)交換機(jī),其中,所述目的地包括:a)除了與接收了所選擇的以太網(wǎng)數(shù)據(jù)包的端口相對(duì)應(yīng)的CAN節(jié)點(diǎn)之外的所述多個(gè)CAN節(jié)點(diǎn)中的單個(gè)CAN節(jié)點(diǎn),b)除了與接收了所選擇的以太網(wǎng)數(shù)據(jù)包的端口相對(duì)應(yīng)的CAN節(jié)點(diǎn)之外的所述多個(gè)CAN節(jié)點(diǎn)中的兩個(gè)或更多個(gè)CAN節(jié)點(diǎn),或c)除了與接收了所選擇的以太網(wǎng)數(shù)據(jù)包的端口相對(duì)應(yīng)的CAN節(jié)點(diǎn)之外的全部所述多個(gè)CAN節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求1所述的以太網(wǎng)交換機(jī),進(jìn)一步包括耦接至所述控制器模塊的時(shí)鐘模塊,其中,所述時(shí)鐘模塊被配置為生成傳輸時(shí)鐘,并且其中,所述控制器模塊被配置為基于所述傳輸時(shí)鐘路由所選擇的以太網(wǎng)數(shù)據(jù)包。
9.一種用于利用以太網(wǎng)實(shí)施控制器局域網(wǎng)(CAN)通信的CAN節(jié)點(diǎn),所述CAN節(jié)點(diǎn)包括: CAN模塊,被配置為生成第一 CAN消息,所述第一 CAN消息包括所述CAN節(jié)點(diǎn)的第一標(biāo)識(shí)(ID); 以太網(wǎng)適配模塊,被配置為基于所述第一 CAN消息生成第一以太網(wǎng)數(shù)據(jù)包,并向收發(fā)器提供所述第一以太網(wǎng)數(shù)據(jù)包以通過(guò)以太網(wǎng)鏈路將所述第一以太網(wǎng)數(shù)據(jù)包傳輸至目的地, 其中,所述以太網(wǎng)適配模塊被進(jìn)一步配置為從所述收發(fā)器接收第二以太網(wǎng)數(shù)據(jù)包,所述第二以太網(wǎng)數(shù)據(jù)包由所述收發(fā)器在所述以太網(wǎng)鏈路上檢測(cè),所述第二以太網(wǎng)數(shù)據(jù)包包括第二 CAN消息,所述第二 CAN消息包括第二 ID,并且 其中,所述以太網(wǎng)適配模塊被進(jìn)一步配置為從所述第二以太網(wǎng)數(shù)據(jù)包提取所述第二CAN消息;以及驗(yàn)證模塊,被配置為將所述第一 ID與所述第二 ID比較,并且基于所述第一 ID與所述第二 ID的比較來(lái)確定所述第一以太網(wǎng)數(shù)據(jù)包的傳輸是否成功。
10.一種用于利用以太網(wǎng)在多個(gè)控制器局域網(wǎng)(CAN)節(jié)點(diǎn)之間實(shí)施CAN通信的方法,所述方法包括: 從所述多個(gè)CAN節(jié)點(diǎn)中的第一 CAN節(jié)點(diǎn)接收第一以太網(wǎng)數(shù)據(jù)包,所述第一以太網(wǎng)數(shù)據(jù)包包括第一 CAN消息,所述第一 CAN消息包括所述第一 CAN節(jié)點(diǎn)的第一標(biāo)識(shí)(ID); 從所述多個(gè)CAN節(jié)點(diǎn)中的第二 CAN節(jié)點(diǎn)接收第二以太網(wǎng)數(shù)據(jù)包,所述第二以太網(wǎng)數(shù)據(jù)包包括第二 CAN消息,所述第二 CAN消息包括所述第二 CAN節(jié)點(diǎn)的第二 ID ; 檢測(cè)在所述第一以太網(wǎng)數(shù)據(jù)包和所述第二以太網(wǎng)數(shù)據(jù)包之間的CAN沖突; 響應(yīng)于所述CAN沖突的檢測(cè),基于所述第一 ID和所述第二 ID來(lái)選擇所述第一以太網(wǎng)數(shù)據(jù)包或所述第二以太網(wǎng)數(shù)據(jù)包; 確定所選擇的以太網(wǎng)數(shù)據(jù)包的目的地;以及 將所選擇的以太網(wǎng)數(shù)據(jù)包路由至所述目的地。
【文檔編號(hào)】H04L12/40GK103580973SQ201310269007
【公開(kāi)日】2014年2月12日 申請(qǐng)日期:2013年6月28日 優(yōu)先權(quán)日:2012年7月23日
【發(fā)明者】永范·金, 穆罕默德·瓦基夫·泰茲貝, 凱文·布朗, 曼弗雷德·瓦格納 申請(qǐng)人:美國(guó)博通公司