通信控制器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種通信控制器,例如,F(xiàn)lexRay通信控制器。
【背景技術(shù)】
[0002]FlexRay是汽車應(yīng)用中使用的一種通信協(xié)議。該通信協(xié)議規(guī)定了一種可擴展的、高速(高達1M比特/秒)的、確定性的且容錯的通信系統(tǒng),在該通信系統(tǒng)中,節(jié)點(或“電子控制單元”)能夠經(jīng)由兩個獨立的通信通道,通過串行總線網(wǎng)絡(luò)交換數(shù)據(jù)。
[0003]每個FlexRay節(jié)點包括通信控制器及物理接口轉(zhuǎn)換器。通信控制器管理(以執(zhí)行應(yīng)用軟件的中央處理單元的形式)與主機連接的接口,并執(zhí)行串行數(shù)據(jù)流格式轉(zhuǎn)換。物理接口轉(zhuǎn)換器使串行數(shù)據(jù)流適應(yīng)物理鏈路的需求。
[0004]通信控制器包括兩個主要數(shù)據(jù)路徑,即發(fā)送路徑和接收路徑。發(fā)送路徑提供以下功能:編碼由主機提供的數(shù)據(jù)以及將編碼的數(shù)據(jù)傳遞到物理接口轉(zhuǎn)換器用來發(fā)送。接收路徑提供以下功能:解碼由物理接口轉(zhuǎn)換器接收的數(shù)據(jù)以及將解碼的數(shù)據(jù)傳遞到主機。
[0005]安全相關(guān)的應(yīng)用程序要求執(zhí)行檢查,以確保節(jié)點的所有部分(包括串行總線的接口)正確運行。可在上電期間執(zhí)行這些檢查,即,在節(jié)點的正常運行開始之前,或者在正常運行期間。在本文中,在正常運行開始之前執(zhí)行檢查被稱為“上電檢查”,在正常運行期間執(zhí)行檢查被稱為“監(jiān)測”。
[0006]上電檢查基于與正常運行期間發(fā)現(xiàn)的那些條件盡可能相近的測試條件,試圖測試最大功能覆蓋(即,測試功能的最廣范圍)。理想地,這種檢查應(yīng)對其他節(jié)點不可見,即,檢查最好不應(yīng)引起節(jié)點向其他節(jié)點發(fā)送數(shù)據(jù)。
[0007]回送(loop-back)功能可用于串行接口的上電檢查。理想地,在通信控制器的發(fā)送路徑中生成的數(shù)據(jù)應(yīng)當(dāng)在節(jié)點內(nèi)部路由到同一通信控制器的接收路徑。在這種情況下,發(fā)送路徑和接收路徑分別被稱為“數(shù)據(jù)源”以及“數(shù)據(jù)接收器”。但是,F(xiàn)lexRay中的回送功能的使用是受限的。
[0008]FlexRay是一種半雙工通信協(xié)議。因此,現(xiàn)有的FlexRay通信控制器不能在一個通道上向物理接口轉(zhuǎn)換器傳遞數(shù)據(jù)并在相同的通道上接收來自物理接口轉(zhuǎn)換器的數(shù)據(jù)。因此,不能通過簡單地連接發(fā)送路徑和接收路徑實現(xiàn)經(jīng)由物理層轉(zhuǎn)換器的上電檢查的回送。
[0009]盡管如此,在通信控制器內(nèi)提供專門的回送邏輯并因此提供一定程度的回送是可能的。但是,由回送功能檢查的路徑的范圍是受限的。例如,回送未覆蓋通信控制器的部分,并且未覆蓋與物理接口轉(zhuǎn)換器的連接。
[0010]如之前提到的,F(xiàn)lexRay允許節(jié)點通過兩個通信通道交換數(shù)據(jù)。但是,F(xiàn)lexRay通信控制器不能在一個通道上發(fā)送數(shù)據(jù),并在另一個通道上提取數(shù)據(jù)。
[0011]提供回送功能的一個方式是提供第二通信控制器。但是,由于上電檢查期間使用與正常運行期間使用的控制器不同的控制器,這種設(shè)置仍達不到最大的功能覆蓋。
[0012]第二通信控制器還可用于監(jiān)測。但是,第二通信控制器應(yīng)謹慎地配置以確保不僅對其他節(jié)點不可見(即,不應(yīng)發(fā)送數(shù)據(jù)),而且不應(yīng)對第一通信控制器的正常功能造成不利影響。
【發(fā)明內(nèi)容】
[0013]根據(jù)本發(fā)明的第一方面,提供一種在獨立的第一通信通道和獨立的第二通信通道上交換數(shù)據(jù)的通信控制器。在第一模式中,在第二通信通道上不能解碼在第一通信通道上發(fā)送的數(shù)據(jù)。在第二模式中,在第一通信通道上發(fā)送的數(shù)據(jù)在第二通信通道上可解碼以便提供回送功能。
[0014]第一模式可以是正常運行模式,并且第二模式可以是專用的測試模式。
[0015]數(shù)據(jù)可包括數(shù)據(jù)幀和/或符號。每個數(shù)據(jù)幀可包括含有循環(huán)冗余碼的部分。第一通信通道和第二通信通道的循環(huán)冗余碼可依賴于第一常數(shù)和第二常數(shù)生成,其中,在第一模式中,第一常數(shù)和第二常數(shù)不同,并且在第二模式中,第一常數(shù)和第二常數(shù)相同。
[0016]根據(jù)本發(fā)明的第二方面,提供一種FlexRay通信控制器。在第一模式中,在第二通信通道上不能解碼在第一通信通道上發(fā)送的數(shù)據(jù)。在第二模式中,為了提供回送功能,在第一通信通道上發(fā)送的數(shù)據(jù)在第二通信通道上可解碼。
[0017]在第一模式中,第一通信通道可使用第一幀循環(huán)冗余碼(CRC)初始化值,并且第二通信通道可使用不同的第二幀CRC初始化值。在第二模式中,第一通信通道可使用第一幀CRC初始化值,并且第二通信通道可使用第一幀CRC初始化值。
[0018]第一通信通道可以是通道A,并且第一通信通道可以是通道B。第一通信通道可以是通道B并且第一通信通道可以是通道A。
[0019]在第一模式中,通信控制器可與FlexRay兼容運行。在第二模式中,通信控制器可與FlexRay兼容或不兼容運行。
[0020]根據(jù)本發(fā)明的第三方面,提供一種集成電路,包括通信控制器以及物理層轉(zhuǎn)換器,該物理層轉(zhuǎn)換器用于與串行總線連接。該物理層轉(zhuǎn)換器可包括總線驅(qū)動器。該串行總線可以是單總線(wire bus)。
[0021]該集成電路可以是微控制器。該微控制器可進一步包括至少一個中央處理單元。該微控制器可進一步包括外圍模塊,例如,計時器以及一個或多個通信控制器。
[0022]該至少一個中央處理單元可包括被配置為在第一模式和第二模式之間切換通信控制器的中央處理單元。
【附圖說明】
[0023]現(xiàn)在將通過示例,參照附圖的圖5至7描述本發(fā)明的特定實施例,其中:
[0024]圖1是包括FlexRay通信控制器的傳統(tǒng)FlexRay電子控制單元的示意框圖;
[0025]圖2示出圖1中示出的傳統(tǒng)FlexRay通信控制器中的回送的受限形式以及由回送覆蓋的被檢查路徑;
[0026]圖3示出在第一通道和第二通道中的編碼和解碼中使用的第一循環(huán)冗余碼(CRC)初始化值和第二循環(huán)冗余碼(CRC)初始化值;
[0027]圖4是傳統(tǒng)FlexRay電子控制單元的示意框圖,為了提供兩通道回送功能,該傳統(tǒng)FlexRay電子控制單元包括第一 FlexRay通信控制器和第二 FlexRay通信控制器;
[0028]圖5是根據(jù)本發(fā)明包括FlexRay通信控制器的FlexRay電子控制單元的示意框圖;
[0029]圖6示出在第一通道和第二通道中的編碼和解碼中使用的相同的CRC初始化值;
[0030]圖7示出用于選擇CRC初始化值并向編碼器和解碼器電路傳遞CRC初始化值的電路;
[0031]圖8更詳細地示出圖7中示出的編碼器和解碼器電路;并且
[0032]圖9示出圖5中示出的FlexRay通信控制器的被檢查路徑。
【具體實施方式】
[0033]在下面的描述中,相同的附圖標記表示相同的部分。
[0034]傳統(tǒng)FlexRav電子控制單元
[0035]參照圖1,示出傳統(tǒng)FlexRay電子控制單元I。電子控制單元I包括中央處理單元2和總線3,中央處理單元2能夠通過總線3與串行接口單元4通信。串行接口單元4包括通信控制器5以及物理接口轉(zhuǎn)換器8層,通信控制器5包括第一通道A和第二通道B,第一通道A和第二通道B各自包括接收路徑6和發(fā)送路徑7,物理接口轉(zhuǎn)換器8層驅(qū)動串行接口9。
[0036]再參照圖2,可為控制單元I提供在接收路徑6和發(fā)送路徑7之間的回送邏輯(未示出),用于允許回送。但是,如圖2中所示,該邏輯提供被檢查路徑10,被檢查路徑10在通信控制器5內(nèi)結(jié)束。因此,通信控制器5的一部分(以及到物理接口轉(zhuǎn)換器8的連接和物理接口轉(zhuǎn)換器本身)未被該回送覆蓋。
[0037]大多數(shù)FlexRay通信控制器提供兩個通道,即通道A和通道B。FlexRay允許使用參數(shù)pChannels配置三模式的通道運行,即,pChannels = A:使用通道A的單通道通信,pChannels = B:使用通道B的單通道通信以及pChannels = A&B:使用通道A和通道B的雙通道通信。
[0038]盡管允許雙通道運行,但兩個通道彼此獨立運行,使得一個通道上發(fā)送的數(shù)據(jù)不能在另一個通道上接收和解碼。這基于編碼/解碼過程中的幀循環(huán)冗余碼(CRC),通過幀過濾過程發(fā)生。
[0039]使用CRC多項式(vCrcPolynomial)計算巾貞CRC, CRC多項式被預(yù)設(shè)(vCrcPolynomial = cCrcPolynomial)并且是初始化向量(vCrcInit)。
[0040]如圖3中所示,通道A的初始化向量IlvCrcInit被設(shè)置為vCrcInit [A]=oxFEDCBA。通道 B 的初始化向量 IlvCrcInit 被設(shè)置為