用于具有靈活的消息大小和可變的位長的串行數據傳輸的方法和設備的制作方法
【專利摘要】說明一種用于在具有至少兩個通過總線交換消息的總線用戶的總線系統中進行串行數據傳輸的方法,其中所發送的消息具有按照CAN標準ISO11898-1的邏輯結構,其中在第一標記(EDL)存在的情況下消息的控制字段與CAN標準ISO11898-1不同包括多于6個的位,并且在第一標記(EDL)存在的情況下消息的數據字段與CAN標準ISO11898-1不同可以包括多于8個的字節,其中為了確定數據字段的大小,數據長度代碼的四個位的值至少部分地與CAN標準ISO11898-1不同地被解釋,并且其中在第二標記(BRS)存在的情況下在消息之內的至少一個預先規定的或者可預先規定的區域的位長取相對于在第二標記存在之前所使用的位長縮短的值,其中該區域最早以該第二標記開始并且最晚以CRC定界符結束并且第二標記(BRS)僅在第一標記(EDL)存在時出現,并且在消息的與CAN標準ISO11898-1不同包括多于6個位的控制字段中實現。
【專利說明】用于具有靈活的消息大小和可變的位長的串行數據傳輸的方法和設備
【技術領域】
[0001]本發明涉及串行總線系統中至少兩個總線用戶之間的串行數據傳輸的方法以及設備。
【背景技術】
[0002]例如從家族IS011898-1到_5的標準已知控制器域網絡(CAN)以及被稱為“TimeTriggered CAN(時間觸發CAN) ” (TTCAN)的CAN的擴展,下面也稱為標準CAN。在CAN中使用的介質訪問控制方法基于逐位仲裁。在逐位仲裁的情況下多個用戶站能夠通過總線系統的信道同時傳輸數據,而不會由此干擾數據傳輸。此外用戶站在通過信道發送一個位時能夠確定該信道的邏輯狀態(O或I)。如果被發送的位的值不與所確定的該信道的邏輯狀態對應,那么用戶站結束對該信道的訪問。在CAN中逐位仲裁通常根據要通過該信道傳輸的消息內的標識符進行。在用戶站已把該標識符完整地向該信道發送后,該用戶站知道其具有對該信道的獨占訪問。因此標識符的傳輸的結束對應于釋放時間間隔的開始,在該釋放時間間隔之內用戶站可以獨占地使用信道。根據CAN的協議規范,其他用戶站在進行發送的用戶站已傳輸了消息的校驗和字段(CRC Field)之前一直不允許訪問該信道,也就是說不允許向該信道發送數據。因此CRC字段的傳輸的結束時間點對應于釋放時間間隔的結束。
[0003]因此,通過逐位仲裁來實現通過信道非破壞性地傳輸已贏得仲裁方法的消息。CAN的協議特別適合于在實時條件下傳輸短的消息,其中通過適宜地分配標識符能夠保證特別重要的消息幾乎總是贏得仲裁并且成功地被發送。
[0004]隨著現代車輛日益增加的聯網和用于改善例如駕駛安全性或駕駛舒適性的附加的系統的引入,對要傳輸的數據量和在傳輸時允許的等待時間的要求增高。例如行駛動力學調節系統諸如是電子穩定程序ESP,駕駛員輔助系統諸如是自動距離調節ACC,或者駕駛員信息系統諸如是交通標志識別(參看例如在“Bosch KraftfahrtechnischesHandbuch (博世汽車手冊)”,第27版,2011, Vieweg+Teubner中的說明)。
[0005]DE10311395A1說明一種系統,在所述系統中替代地可以通過不對稱的物理的或者通過對稱的物理的CAN協議進行異步串行通信,并且由此能夠為異步通信實現較高的數據傳輸速率或者安全性。
[0006]DE7A1建議,在TTCAN協議的獨占的時間窗口內應用異步的、快速的、
不符合CAN的數據傳輸,以便提高傳輸的數據量。
[0007]G Cena 和 A Valenzano 在 “ Overclocking of controller areanetworks” (Electronics Letters, Vol.35, N0.22 (1999),第 1924 頁)中探討在消息的分區內總線頻率的超頻對有效地實現的數據速率的影響。
[0008]已經表明,現有技術并不在每一方面都提供滿意的結果。
【發明內容】
[0009]下面根據附圖和實施例說明本發明及其優點。本發明的主題不限于所示的和描述的實施例。
[0010]本發明提供一種用于在具有至少兩個通過總線交換消息的總線用戶的總線系統中進行串行數據傳輸的方法,其中所發送的消息具有按照CAN標準IS011898-1的邏輯結構。也就是說,傳輸數據的消息由單個引導的“Start-of-Frame (幀開始)”位和由多個位組成的字段(Field)序列、即仲裁字段、控制字段、數據字段、CRC字段、確認字段和End-of-Frame (幀結束)字段來構建。
[0011]該方法的特色在于,在第一標記存在的情況下消息的控制字段與CAN標準IS011898-1不同包括多于6個的位,并且消息的數據字段與CAN標準IS011898-1不同可以包括多于8個的字節,其中為了確定數據字段的大小,數據長度代碼的四個位的值至少部分地與CAN標準ISO11898-1不同地被解釋。此外在第二標記存在的情況下在消息之內的至少一個預先規定的或者可預先規定的區域的位長取相對于在第二標記存在之前所使用的位長縮短的值,其中該區域最早以該第二標記開始并且最晚以CRC定界符結束,其中該第二標記僅在第一標記存在時才出現,并且在消息的與CAN標準IS011898-1不同包括多于6個的位的控制字段中實現。這相對于從現有技術中已知的方法具有如下優點:通過分別具有單獨的標記的兩級轉換(一方面數據字段的大小和另一方面消息的各部分中的位長),能夠根據可能性也單獨地充分利用這兩種措施的優點。例如當由于總線拓撲的原因到較短的位長的轉換不可能時也能夠繼續發送具有較高數據量的消息。當在具有縮短的位長的消息中出現錯誤的時候也能夠首先轉換到正常的位長,而無需犧性擴大數據范圍的優點。
[0012]特別有利的是,第一標記(EDL)通過控制字段中的隱性位實現,因為在那里有如下位可供使用,這些在按照標準的CAN消息中始終被顯性地發送。此外,當如在一種有利的實施方式中規定的那樣在所有數據消息中在第一標記(EDL)的隱性位之后跟隨至少一個顯性位時,可以為同步目的而利用隱性標記和隨后的顯性位之間的邊沿。
[0013]此外,當第二標記(BRS)同樣通過控制字段內的在時間上在第一標記(EDL)的該位之后傳輸的隱性位實現時,特別當該隱性位通過至少一個顯性位與第一標記的隱性位分開時,對于標記和同步目的是有利的。
[0014]在第一標記存在時可以以有利的方式為了總線用戶的位定時的重新同步或者硬同步而利用第一標記的隱性位和至少一個跟隨的顯性位之間的邊沿,這特別是在隨后的位長轉換的情況下提高數據傳輸的可靠性和故障安全性。
[0015]此外當根據第一轉換條件的值把數據長度代碼的四個位的每一種可能的值組合分配給數據字段的允許的大小之一時是有利的。由此創造一種用于使用該數據字段的大量不同的大小的透明的和靈活的可能性。
[0016]第一標記有利地在總線用戶中被評估并且根據該第一標記使接收過程適配于消息的數據字段和隨后的組成部分、特別是CRC字段的大小。第二標記在第一標記存在時也在總線用戶中被評估并且根據該第二標記的值使接收過程適配于消息之內的位長的不同的值。由此在傳輸錯誤的情況下保持使CAN總線出眾的高的錯誤識別概率,因為所有總線用戶都能夠根據標記檢驗協議規定的遵守。
[0017]以有利的、因為使實施花費最小化的方式,通過使用至少兩個不同的縮放因子來相對于最小的時間單元或者振蕩器時鐘調整總線時間單元,在連續運行中實現一個消息之內的時間位長的至少兩個不同的值。
[0018]在另一個可以與第一標記(EDL) —致的標記存在的情況下在一種有利的改進方案中消息的CRC字段具有與CAN標準IS011898-1不同的數目的位和/或使用至少一個與CAN標準IS011898-1不同的發生器多項式,使得即使在傳輸較大數據字段的情況下也實現希望的錯誤識別概率。該另一標記的值也在總線用戶中被確定并且根據該另一標記的值和/或根據數據長度代碼的內容使接收過程適配于CRC字段的大小。
[0019]特別有利的是,在根據本發明的消息開始時借助不同的發生器多項式并行地起動至少兩個CRC校驗和的計算并且僅當基于標記確定要為消息的傳輸應用哪一種CRC檢驗方法時才決定,使用來自并行地起動的CRC計算之一的哪個結果。
[0020]該方法可以有利地在汽車的正常運行中為在汽車的至少兩個通過適宜的數據總線連接的控制設備之間傳輸數據而被使用。但是該方法同樣可以有利地在汽車的制造或者保養期間被用于在為編程的目的與適宜的數據總線連接的編程單元和該汽車的至少一個與該數據總線連接的控制設備之間傳輸數據。
[0021]另一個優點是,僅需最小限度地改變標準CAN控制器,以便能夠根據本發明工作。根據本發明的也可以作為標準CAN控制器工作的通信控制器僅僅不顯著地大于傳統的標準CAN控制器。所屬的應用程序不必被改變,并且于是已經實現數據傳輸的速度方面的優點。
[0022]能夠以有利的方式采用CAN符合性測試(IS016845)的很大的部分。在一種有利的改進方案中根據本發明的傳輸方法可以與TTCAN(IS011898-4)的補充組合。
【專利附圖】
【附圖說明】
[0023]下面根據附圖詳細說明本發明。
[0024]圖1a示出根據CAN標準IS011898-1的數據消息的結構的兩種備選方案:CAN標準格式和CAN擴展格式。
[0025]圖1b示出與此相對地根據本發明修改的“CAN FD Long”消息的格式的兩個例子,所述消息具有改變后的控制字段和靈活大小的數據字段和CRC字段。不僅示出了標準CAN消息的修改,而且也示出了擴展CAN消息的修改。
[0026]圖2示出如何能夠根據本發明與CAN標準IS011898-1不同地解釋數據長度代碼的內容的不同的可能性。
[0027]圖3示意性地示出在總線系統的類型“CAN FD Long”的用戶站上的接收過程的一個實施例。
[0028]圖4示出根據本發明修改后的類型“CAN FD Fast”的消息的另外兩個例子,其中相對于圖1b在消息之內附加地確定了區域,在這些區域內根據本發明使用不同的位長。
[0029]圖5示意性地示出在總線系統的類型“CAN FD Fast”的用戶站上的根據本發明的接收過程的一個實施例。
【具體實施方式】
[0030]在圖1a中示出了如在CAN總線上為數據傳輸所使用的消息的結構。示出了兩種不同的格式“標準”和“擴展”。根據本發明的方法在適宜的實施方式中可應用于兩種格式。[0031 ] 該消息以“ Start of Frame (巾貞開始)”(SOF)位開始,該位用信號通知消息的開始。接著是一個段,該段首先用于標識該消息,并且根據該段,總線系統的用戶決定其是否接收該消息。該段用“仲裁字段(Arbitration Field) ”表示并且包含標識符。隨后是“控制字段(Control Field) ”,其尤其包含數據長度代碼。數據長度代碼包含關于消息的數據字段的大小的信息。在此之后緊接著是真正的數據字段“Data Field”,該數據字段包含要在總線系統的用戶之間交換的數據。隨后是具有包括15位的校驗和及定界符的“CRC字段(CRC Field)”,并且接著是兩個“確認”(ACK)位,其用于用信號通知發送方成功接收消息。該消息通過“End of Frame (幀結束)” (EOF)序列結束。
[0032]在根據標準的CAN傳輸方法中數據字段最大允許包括8個字節、亦即64位的數據。根據該標準,數據長度代碼包括四位,也就是說可以取16個不同的值。從該值范圍在當今的總線系統中為I個字節到8個字節的數據字段的不同的大小僅使用八個不同的值。O字節的數據字段在標準CAN中未被推薦,不允許8個字節之上的大小。數據代碼長度的值向數據字段的大小的分配在圖2中在列CAN標準中被示出。
[0033]在圖1b中以類似的圖示對比了根據本發明要傳輸的、分別從兩個標準格式導出的修改后的消息。它們與圖1a中的按照標準的消息的區別在于在控制字段中補充一些附加的位,這些附加的位用EDL、BRS、ESI表示,并且它們的目的下面還要說明。另外,根據本發明的消息的區別還在于數據字段和CRC字段的可變的大小。因此這些消息攜帶名稱“CANFD Long”。
[0034]在根據本發明修改的傳輸方法中數據字段也允許包含多于8個字節,也就是說在所示的改進方案(Auspragung)中直到K個字節。與在標準CAN中不同,充分利用數據長度代碼可以采用的另外的值來標記更大的數據字段。例如可以使用數據長度代碼的四個位來表示從O到15個字節的值。但是也可以采取其他的分配,例如有將數據長度代碼的在現今的CAN消息中通常沒有被使用的值DLC=ObOOOO用于數據字段的另一個可能的大小、例如用于16個字節的大小的可能性。
[0035]這兩種可能性在圖2中以表格形式作為DLCl和DLC2被示出。數據字段的最大大小K在這些情況下具有值15或者16。另一種可能性是,對于數據長度代碼的大于OblOOO并且直到Obllll的值,數據字段的所屬的大小以一個較大的增量增長。這種情況的一個例子在表格中作為DLC3被示出。數據字段的最大大小K在該變型中達到值64個字節。不言而喻地,另一種選擇是可能的,例如每次4個字節的增量。
[0036]為保證根據本發明的通信控制器能夠確定其必須以哪種方式解釋數據長度代碼的內容,有利的是,其獨立地識別總線系統的通信是根據標準CAN還是根據本發明的方法進行。對此一種可能性在于,使用仲裁字段或者控制字段之內的一個在標準CAN中總是利用固定的值傳輸的位進行標記,使得通信控制器能夠從該第一標記導出第一轉換條件,該通信控制器根據該第一轉換條件選擇要應用的傳輸方法。
[0037]在標準尋址的情況下的標記:
[0038]標準CAN數據消息的控制字段的第二位在標準格式中如在圖1a中在上面的部分內所示的那樣始終顯性地被發送并且用r0表示。在圖1b中在上面的部分內所示的根據本發明的具有標準尋址(也就是說具有根據標準CAN格式的仲裁字段)的消息的例子中通過以下方式使用控制字段的該第二位來進行標記,即該第二位隱性地被發送。因此,在這樣的消息中的控制字段的第二位的隱性值表明:下面傳輸與標準不同的消息格式。具有標準仲裁字段的消息的控制字段的該隱性地傳輸的第二位用EDL (Extended Data Length (擴展的數據長度))表示。在標準CAN中始終顯性地傳輸的位rO在根據本發明的消息中通過隱性的EDL位代替或者在根據本發明的消息內向后移動位置到在隱性位EDL和在轉換位長時同樣隱性的位BRS之間的位置上。此外還可以在控制字段內插入另外的位。在圖1b中例如示出了稱為ESI的位,對該位稍后還要進行探討。也可以在該位置上插入兩個或者更多位,而不影響根據本發明的方法。
[0039]因此,總之,標準CAN消息的控制字段中的位序列{IDE, rO, DLC3,DLC2,DLCl,DLC0}在根據本發明的消息中被{IDE, EDL, N個另外的位,DLC3,DLC2,DLCl, DLC0}代替。
[0040]在圖1b中示出的例子中適用N=3,具有插入的位rO,BRS,ESI。但是N也可以取任意的其他的大于零的值。位BRS應該在必要時一由于稍后說明的原因一在一個始終顯性傳輸的位之后、例如與位rO組合并且直接在位rO之后被插入。
[0041 ] 在擴展的尋址的情況下的標記:
[0042]標準CAN數據消息的控制字段的前兩位在擴展格式中如在圖1a中在下面的部分中所示的那樣始終顯性地被發送,并且用rl和rO表示。在圖1b中在下面的部分內所示的根據本發明的具有擴展的尋址(也就是說具有根據擴展CAN格式的仲裁字段)的消息的例子中通過以下方式使用控制字段的第一位rl進行標記,即第一位隱性地被發送。這樣的消息中的控制字段的第一位的隱性值在這種情況下表明:下面傳輸與標準不同的消息格式。這里也用EDL (Extended Data Length (擴展的數據長度))表示控制字段的該隱性地傳輸的位。該位代替具有擴展格式的標準CAN消息的保留的顯性位rl。替代地,也可以保持顯性位rl并且向后移動一個位置,使得EDL位作為附加的位在RTR和rl之間被插入。同樣可以把EDL位(隱性的)作為附加的位在rl (顯性的)和rO (顯性的)之間插入。接著在這種情況下在控制字段內也還可以插入另外的位。例如在圖1b中又示出了稱為ESI的位,對該位還要進行探討。還可以插入兩個或者更多位,而不影響根據本發明的方法。因此,總之,擴展標準CAN消息的控制字段中的位序列{rl,rO,DLC3,DLC2,DLC1,DLC0}在根據本發明的消息中被{EDL,N個另外的位,DLC3,DLC2,DLCl, DLC0}或者{rl, EDL,M個另外的位,DLC3, DLC2, DLCl,DLCO}代替。
[0043]在圖1b中所示的例子示出最先被提到的具有N=3、也就是說具有插入的位rO、BRS、ESI的變型方案。但是N或M也可以取大于零的其他任意的值。位BRS在這里也應該在必要時-由于稍后說明的原因-在一個始終顯性傳輸的位后、例如與位rO組合并且直接在位rO后被插入。
[0044]替代地,還可以把該方法應用于適宜的通信控制器中,這些通信控制器也不是被設計用于按照標準的CAN通信。在這種情況下也可以取消例如根據消息的適宜的標記對上述第一轉換條件的確定。在這種情況下通信控制器更確切地說僅根據所述方法之一工作并且與此相應地僅可在如下總線系統中使用,在這些總線系統內僅使用這樣的根據本發明的通信控制器。
[0045]如果如在本發明中規定的那樣擴大消息的數據字段,則可能有意義的是:也對所使用的用于循環冗余校驗(CRC)的方法進行適配,以便獲得足夠的故障安全性。特別是可以有利的是:使用其他例如具有較高階的CRC多項式并且相應地在根據本發明修改的消息中提供大小不同的CRC字段。這在圖1b中通過通過下述方式被示出:根據本發明的消息的CRC字段在所示例子中具有L位的長度,其中L與標準CAN不同可以不等于、特別是大于15。
[0046]使用修改的方法來計算CRC校驗和可以通過表示另一種轉換條件的另一個標記用信號通知總線用戶。該另一個標記在一種優選的實施方式中可以與第一標記和/或轉換條件一致。
[0047]在標準CAN控制器中要發送的CAN消息的CRC代碼借助反饋的移位寄存器產生,順序地將消息的串行發送的位饋入到該移位寄存器的輸入端中。移位寄存器的寬度對應于CRC多項式的階數。CRC編碼在移位操作期間通過寄存器內容與CRC多項式的邏輯運算進行。當CAN消息被接收時,消息的串行接收的位相應地被移入CRC移位寄存器中。當在CRC字段的末尾移位寄存器的所有的位都為零時CRC測試是成功的。發送情況下的CRC代碼生成和接收情況下的CRC測試兩者都以硬件進行,而不需要軟件的介入。因此CRC編碼的修改對應用軟件沒有任何影響。
[0048]在一種特別有利的實施方式中,通信控制器被設計,使得該通信控制器具有與標準CAN的兼容性,也就是說在標準CAN總線系統中按照標準工作,而該通信控制器在根據本發明修改的總線系統中一方面允許消息中更大的數據字段,另一方面也進行CRC代碼的適配的計算和檢驗。
[0049]因為在開始接收消息時尚未確定,是接收符合標準的CAN消息還是根據本發明修改的消息,所以在根據本發明的通信控制器內實現兩個并行工作的CRC移位寄存器。在接收到CRC定界符后,當在接收方中評估CRC代碼時,基于根據本發明的另一個標記確定應用了哪一種傳輸方法,并且然后評估給該傳輸方法分配的移位寄存器。如之前已經描述的,該另一個標記可以與涉及數據字段的大小和數據長度代碼的解釋的第一標記一致。
[0050]在開始發送消息時雖然對于發送方來說已經確定應該根據哪種傳輸方法發送。但是因為可能發生關于總線訪問的仲裁的喪失并且開始的消息未被發送,而替代于此接收到另一個消息,所以這里也并行控制兩個CRC移位寄存器。
[0051]所說明的兩個并行工作的CRC移位寄存器的實現也能夠實現進一步改進:標準CAN協議的CRC多項式(xl5+xl4+xl0+x8+x7+x4+x3+l)為少于127位的消息長度而設計。當根據本發明傳輸的消息還使用更長的數據字段時,為保持傳輸安全性而使用另外的、特別是更長的CRC多項式是有意義的。根據本發明傳輸的消息與此相應地得到改變的、特別是更長的CRC字段。在連續的運行中通信控制器動態地在兩個CRC移位寄存器、亦即根據標準CAN的和根據本發明的移位寄存器之間切換,以便使用分別適當的多項式。
[0052]當然也能夠使用多于兩個的移位寄存器并且與此相應地根據數據字段的長度或者希望的傳輸安全性分級地使用多于兩個的CRC多項式。在這種情況下,只要應該保持與標準CAN的兼容性,就必須適配相應的標記和與該標記相聯系的轉換條件。例如控制字段的第二位可以表示第一標記,所述第一標記表示到例如按照圖2中的DLCl的更長的數據字段和所屬的第二 CRC多項式的轉換。對于包含更長數據字段的和通過第一標記表示的消息,例如可以在控制字段中插入一個附加位,其表示到另一組數據字段大小、例如圖2中的DLC3和第三CRC多項式的轉換。向具有第一標記的消息的控制字段中插入附加位是可能的,因為這里反正在通信控制器中應用改變的發送和接收過程,因此能夠考慮這樣的改變。與標準CAN的兼容性通過下述方式來給定:在第一標記不存在時,在所示例子中亦即在控制字段的顯性的第二位的情況下,消息的結構精確地遵循ISO標準11898-1的規定。
[0053]圖3以簡化的圖示示出如在總線系統的用戶站上運行的根據本發明的接收過程的一部分。這里示出了以下情況,在該情況下通過根據第一轉換條件使通信控制器的特性適配來實現與標準CAN的兼容性。盡管在圖3中選擇了對于說明軟件中的程序運行來說通常的圖示,但是該方法完全適合于以硬件實現。
[0054]只要在總線上不存在通信業務量,用戶站就首先處于掃描總線的狀態。因此詢問302等待總線上的一個顯性位。該位表示一個新消息的開始(Start-of-Frame)。
[0055]一旦確定了一個新消息的開始,就在框304中開始計算至少兩個要并行計算的校驗和。第一校驗和對應于標準CAN的CRC計算,而第二校驗和根據新方法來計算。
[0056]接著從步驟306起接收消息的另外的、跟隨在SOF位后面的、以仲裁字段開始的位。如果多個總線用戶想發送消息,則在這里根據標準CAN中通常的方法在總線用戶中協商哪個總線用戶獲得對總線的訪問。所示的框306表示接收所有的位,直到接收到第一標記或者確定第一轉換條件。在所示例子中第一轉換條件從控制字段、例如從該控制字段的第二位確定(參看圖1)。接著在框308中還可以接收消息的另外的位,直到從消息的一個確定的位起根據確定的第一轉換條件不同地進行處理。分為不同的處理方式的該分解通過相應的詢問或者分支310保證,如在下面示例性地所示出的那樣。
[0057]如果在分支310中、例如在接收控制字段的作為顯性位rO的第二位之后存在信息:根據第一標記,通信根據標準CAN進行(圖3的用“ I ”表示的路徑),則在步驟312中讀入控制字段的另外的位。從這些位根據標準CAN評估數據長度代碼并且接著在步驟316中接收所屬的、最大8個字節的、對應于數據字段的數據量。然后在步驟320中接收包括15位的CRC字段。如果在分支324中存在信息:從發送方傳送的CRC校驗和與由接收方自身確定的CRC校驗和一致,則在框328中發送顯性的確認位。應該注意的是,在這種情況下比較根據標準的CRC校驗和,因為通信根據標準CAN進行。如果確定不一致,則(框330)隱性地發送確認位。接著在步驟332或者334中跟隨的是ACK定界符和EOF位。以此結束消息的接收過程。
[0058]與之相反,如果在分支310中、例如在接收控制字段的作為隱性位EDL的第二位之后存在信息:應該應用根據本發明修改的通信方法(圖3的用“2”表示的路徑),則在框314中讀入控制字段的另外的位。這里例如也可以讀入附加的、在控制字段中補充的位,這些位例如可以用于到另一個不同的CRC多項式的轉換,或者也可以用于轉換位長、用于同步或者用于其他的目的。對這一方面還要更詳細地進行探討。從該結果根據新的解釋確定數據長度代碼,對于該新的解釋在圖2中以表格的方式列舉了一些例子。在框318中接收相應的數據量,也就是說對于圖2中的表格中的例子DLCl最多15個字節、對于例子DLC2最多16個字節、對于例子DLC3最多64個字節的數據。在框322中接收根據本發明不同的、特別是更長的CRC字段。如果在分支324中存在如下信息:由發送方傳送的CRC校驗和與由接收方自身確定的CRC校驗和一致,其中在這種情況下比較基于根據本發明不同的CRC校驗和,則在框328中發送一個顯性的確認位。否則(框330)隱性地發送確認位。接著在步驟332或者334中跟隨的是ACK定界符和EOF位。以此結束消息的接收過程。[0059]在圖3中示出了如下情況,在該情況中確定要使用的CRC的另一個標記與涉及數據字段的大小和數據長度代碼的解釋的第一標記一致。因此在接收320或者322CRC校驗和之前沒有再次詢問,哪一個CRC根據另一個標記應被接收并且針對分支324應被評估。通過圖3中的流程圖的簡單的修改,該附加的詢問必要時可以被納入流程之中。
[0060]圖4不出根據本發明修改的消息的兩個另外的例子,其中相對于圖1b在消息之內附加地確定有區域,在這些區域中根據本發明使用不同的位長并且因此更快速地通過總線傳輸各個位。因此消息攜帶名稱“CAN FD Fast”。對于消息的兩種可能的尋址變型方案,即標準格式和擴展格式,在圖4中畫出了區域,在這些區域內在用快速CAN仲裁(Fast-CAN-Arbitration)和快速CAN數據(Fast-CAN-Data)表示的兩種狀態之間轉換。在這兩種狀態之間的該轉換引起,為消息的相應的部分縮短位長并且因此更快速地通過總線傳輸各個位。由此相對于根據標準的方法能夠縮短消息的傳輸時間。時間位長的所屬的變換例如可以通過使用至少兩個不同的縮放因子來相對于最小的時間單元或者振蕩器時鐘調整總線時間單元而在連續運行中實現。位長的轉換以及縮放因子的相應的改變在圖4中同樣示例性地被示出。
[0061 ] 狀態快速CAN仲裁和快速CAN數據之間的過渡在具有第一標記EDL的消息中根據用信號通知數據傳輸的用戶應用縮短的位長的第二標記進行。在這里所示的實施例中該標記的位置是控制字段中的一個附加位,其用BRS(Bit Rate Switch(位速率切換))表示。該位在所示例子中作為控制字段的第四位被傳輸。
[0062]在所示的、也就是說第二標記BRS跟隨在第一標記EDL之后的情況下,在根據本發明的傳輸方法中傳輸信息,這些消息的位長顯著縮短,這些消息的數據字段大小可擴展到8個字節以上的值,并且這些消息的CRC適配于較大的數據字段。因此實現在同時改善傳輸安全性的情況下很大地提高通過總線系統的傳輸容量。
[0063]更快速的傳輸在所示例子中直接在發送所屬的標記之后開始并且直接在達到為反向轉換(Rilckumschaltung)確定的位之后結束或者當識別出開始錯誤巾貞的原因時結束。
[0064]圖5示出相對于圖3修改的接收過程,其中附加根據第二標記BRS在狀態快速CAN仲裁和快速CAN數據之間轉換。如果在分支310中例如在接收控制字段的作為隱性位EDL的第二位之后存在如下信息:應該應用根據本發明修改的通信方法,則在框408中讀入控制字段的緊接著的位。如果接收具有所設置的值(例如隱性)的用于第二標記的位、例如根據本發明擴展的控制字段的第四位BRS,則例如在該位的采樣點上采用狀態快速CAN數據,亦即轉換到縮短的位長(路徑“C”)。如果所涉及的位具有相反的值,也就是說在該例子中顯性的值,則不進行位長的縮短(路徑“B”)。在框412或者414中進行控制字段的包括數據長度代碼在內的剩余位的接收并根據來自數據長度代碼的大小信息進行數據字段的接收。在框412中以標準的位長接收,在框414中以縮短的位長接收。在框416或者418中讀入根據本發明不同的、特別是較長的CRC字段。在CRC字段的最后的位、即CRC定界符時,在框418中再次轉換到具有通常的位速率的狀態快速CAN仲裁。接著在分支324中類似于圖3檢驗由發送方傳送的和由接收方自身確定的CRC校驗和是否一致,并且據此繼續進行處理,如已經在圖3中示出的那樣。
[0065]在根據本發明的消息內跟隨在第一標記EDL的隱性位之后的、始終顯性的位rO (或者在擴展的尋址的情況下可能rl)導致,如可以例如在圖1b和4中看出的那樣,在所有根據本發明的數據消息中的隱性-顯性邊沿。該邊沿可以被用于改善總線用戶之間的同步,這特別是在所設置的到較短的位長的轉換情況下具有優點。
[0066]當網絡中的所有總線用戶都與發送用戶同步時,可以沒有問題地轉換到較短的位長。但是也可能發生,在為轉換所設置的位處并非所有總線用戶與發送用戶同步,例如當第一發送用戶在仲裁字段的末尾發送位序列“顯性的-顯性的”,而在仲裁的范圍內還想獲得對總線的訪問的第二發送用戶發送位序列“顯性的-隱性的”時。第二發送用戶在隱性位處喪失仲裁并且變為接收方。在該隱性位之前,兩個發送方發送了相同位序列。因為兩個發射器基于通過CAN總線的傳播時間和收發器比分別由另外的發送方發送的邊沿更早地看見分別由自己發送的隱性到顯性的邊沿,因此它們不相互同步。如果現在在新成為接收方的總線用戶與剩余的發送方同步之前轉換位長,那么同步在轉換之后在較短的位長的范圍內進行。于是,通過同步導致的相移相對于位長較大。根據兩個總線用戶之間的信號傳播時間,相移可能變大,使得出現同步故障(Fehl-Synchronisation),并且位被錯誤地采樣。接收方于是不承認接收的消息是有效的,并毀壞錯誤幀。
[0067]在標準CAN通信中不出現該問題,因為在那里CAN位定時的傳播段平衡總線用戶之間的通過信號傳播時間引起的相移。然而在較短的位長的配置中該傳播段可以被最小化或完全被刪除,以便縮短位長。
[0068]為避免在位長轉換之后的同步故障,必須在位長的轉換前通過適宜的措施保證同步。這可以通過下述方式實現,即在從EDLUtJi)到rO或者rl (顯性)的邊沿處執行同步。特別是可以執行硬同步來代替否則在一個幀之內通常的重新同步。這例如也在幀開始位處執行并且可靠地完全平衡可能的相移。在否則在一個幀之內通常的重新同步的情況下,當相位誤差大于所配置的重新同步轉移距離(SJW)時可能留下剩余誤差。
[0069]作為所示方法的一種變型方案,根據第二標記BRS的值到縮短的位長的轉換附加地與先前傳輸的rO位的顯性值耦合,使得只有當rO顯性地被傳輸時才轉換到該較短的位長。該方法的這一補充允許,將一個隱性位代替顯性rO位跟在隱性EDL位之后的位序列用于未來的、其它的消息格式,諸如用于消息的部分區域內的與標準不同的位編碼。
[0070]此外可以利用在根據本發明的消息的控制字段內插入附加位的可能性來使處于“被動錯誤(Error Passive) ”狀態中的總線用戶的識別變得容易。具有現有技術中的通信控制器的總線用戶在發送或者接收錯誤計數為128或更高時采取狀態“被動錯誤”。如果總線用戶處于狀態“被動錯誤”中,則其不能發送“主動錯誤標志(Active Error Flags)”(六個彼此相繼的顯性位)。如果總線用戶檢測到一個錯誤,則其發送“被動錯誤標志(PassiveError Flag) ”(六個彼此相繼的隱性位)。然而“被動錯誤標志”在CAN總線上不能與靜止電平區分開。因此其他的總線用戶大概僅能間接地識別一個總線用戶處于狀態“被動錯誤”中。
[0071]與此相對地,這里建議的方法的優點在于,利用該方法能夠明確地識別處于狀態“被動錯誤”中的總線用戶與其他的總線用戶。這迄今通過接收“被動錯誤標志”是不可能的。在現有技術中的總線用戶內僅在本地連接在CAN控制器上的微處理器才能夠識別狀態“被動錯誤”并且例如通過相應的狀態消息通知其他的總線用戶。通過該新的方法,對于微處理器來說不需要發送狀態消息。此外在這種情況下關于“被動錯誤”狀態的信息在發送時間點是最新的,而該狀態在發送狀態消息的情況下在通過微處理器創建狀態消息和發送時間點之間可能已改變。
[0072]在這里說明的方法中,關于通信控制器的狀態“被動錯誤”的信息被集成到由總線用戶總歸發送的信息中。為此消息的控制字段被擴展另一位(ESI)。如圖1b中所示,該位在第一標記(EDL)之后并且在DLC之前被插入,例如直接在BRS位之前或者直接在BRS位之后被插入。處于狀態“被動錯誤”中的總線用戶例如顯性地發送該位,而否則該位隱性地被發送。相反的邏輯同樣是可能的。
[0073]所介紹的傳輸方法在汽車的正常運行中適合于在該汽車的至少兩個控制設備之間傳輸數據,至少兩個控制設備通過適宜的數據總線連接。但是該方法同樣可以有利地在汽車的制造或者保養期間被用于在為編程目的與適宜的數據總線連接的編程單元和該汽車的至少一個與該數據總線連接的控制設備之間傳輸數據。
[0074]總之,該方法是一種傳輸方法,其特色在于,僅需最小限定地改變標準CAN控制器,以便能夠按照本發明工作。也能夠作為標準CAN控制器工作的根據本發明的通信控制器僅僅不顯著地大于傳統的標準CAN控制器。所屬的應用程序不需被改變,并且那時已經實現在數據傳輸的速度方面的優點。通過使用數據字段和所屬的DLC和CRC的擴展的大小,能夠進一步提高數據傳輸的速度,在應用軟件方面的適配是最小的。能夠采用CAN符合性測試(IS016845)的廣泛的部分。還可以組合根據本發明的傳輸方法與TTCAN(IS011898-4)的補充。
【權利要求】
1.用于在具有至少兩個通過總線交換消息的總線用戶的總線系統中進行串行數據傳輸的方法,其中所發送的消息具有按照CAN標準IS011898-1的邏輯結構,其特征在于, 在第一標記(EDL)存在的情況下消息的控制字段與CAN標準IS011898-1不同包括多于6個的位,并且 并且在第一標記(EDL)存在的情況下消息的數據字段與CAN標準IS011898-1不同能夠包括多于8個的字節, 其中為了確定數據字段的大小,數據長度代碼的四個位的值至少部分地與CAN標準ISOl 1898-1不同地被解釋, 并且在第二標記(BRS)存在的情況下在消息之內的至少一個預先規定的或者可預先規定的區域的位長取相對于在第二標記存在之前所使用的位長縮短的值, 其中該區域最早以該第二標記開始并且最晚以CRC定界符結束, 其中第二標記(BRS)僅在第一標記(EDL)存在時出現,并且在消息的與CAN標準IS011898-1不同包括多于6個位的控制字段中實現。
2.根據權利要求1所述的方法,其特征在于, 第一標記(EDL)通過控制字段內的隱性位實現。
3.根據權利要求2所述的方法,其特征在于, 在第一標記存在的情況下在所有數據消息中至少一個顯性位跟隨在第一標記(EDL)的隱性位之后。·
4.根據權利要求1到3之一所述的方法,其特征在于, 第二標記(BRS)通過控制字段內的隱性位實現,該隱性位在時間上在第一標記(EDL)的位之后被傳輸。
5.根據權利要求4所述的方法,其特征在于, 在第二標記存在的情況下第二標記(BRS)的隱性位通過至少一個顯性位與第一標記(EDL)的隱性位分開。
6.根據權利要求3到5之一所述的方法,其特征在于, 在第一標記存在的情況下第一標記(EDL)的隱性位和至少一個跟隨的顯性位之間的邊沿被用于總線用戶的位定時的重新同步或者硬同步。
7.根據權利要求1到6之一所述的方法,其特征在于, 必要時根據第一轉換條件的值把數據長度代碼的四個位的每一種可能的值組合分配給數據字段的允許的大小之一。
8.根據權利要求1到7之一所述的方法,其特征在于, 第一標記(EDL)在總線用戶內被評估并且根據該第一標記使接收過程適配于數據字段的大小。
9.根據權利要求1到8之一所述的方法,其特征在于, 第二標記(BRS)在總線用戶內在第一標記存在的情況下被評估,并且根據第二標記的值使接收過程適配于消息之內的位長的不同的值。
10.根據權利要求1到9之一所述的方法,其特征在于, 通過使用至少兩個不同的縮放因子來相對于最小的時間單元或者振蕩器時鐘調整總線時間單元,在連續運行中實現一個消息之內的時間位長的至少兩個不同的值。
11.根據權利要求1到10之一所述的方法,其特征在于, 在另一個標記存在的情況下消息的CRC字段具有與CAN標準IS011898-1不同的數目的位和/或使用至少一個與CAN標準IS011898-1不同的發生器多項式,其中該另一個標記能夠與第一標記(EDL) —致。
12.根據權利要求11所述的方法,其特征在于, 該另一個標記的值在總線用戶內被確定并且根據該另一個標記的值和/或數據長度代碼的內容使接收過程適配于CRC字段的大小。
13.根據權利要求11到12之一所述的方法,其特征在于, 在消息開始時借助不同的發生器多項式并行地起動至少兩個CRC校驗和的計算,并且根據該另一個標記的值決定使用來自并行地起動的CRC計算之一的哪個結果。
14.用于在具有至少兩個通過總線交換消息的總線用戶的總線系統中進行串行數據傳輸的設備,其中所發送的消息具有按照CAN標準IS011898-1的邏輯結構,其特征在于, 在第一標記(EDL)存在的情況下消息的控制字段與CAN標準IS011898-1不同包括多于6個的位,并且 在第一標記(EDL)存在的情況下消息的數據字段與CAN標準IS011898-1不同能夠包括多于8個的字節, 其中為了確定數據字段的大小,數據長度代碼的四個位的值至少部分地與CAN標準ISOl 1898-1不同地被解釋, 并且在第二標記(BRS)存在的情況下在消息之內的至少一個預先規定的或者可預先規定的區域的位長取相對于在第二標`記存在之前所使用的位長縮短的值, 其中該區域最早以該第二標記開始并且最晚以CRC定界符結束, 其中第二標記(BRS)僅在第一標記(EDL)存在時出現,并且在消息的與CAN標準IS011898-1不同包括多于6個位的控制字段中實現。
15.根據權利要求14所述的設備,其特征在于, 所述設備通過適宜的裝置被設立用于執行根據權利要求2到13的用于數據傳輸的方法中的至少一種。
16.根據權利要求1到13之一所述的方法在汽車的正常運行中的應用,以便在該汽車的至少兩個通過適宜的數據總線連接的控制設備之間傳輸數據。
17.根據權利要求1到13之一所述的方法在汽車的制造或者保養期間的應用,以便在為編程的目的與適宜的數據總線連接的編程單元和該汽車的至少一個與該數據總線連接的控制設備之間傳輸數據。
【文檔編號】H04L12/413GK103827844SQ201280032396
【公開日】2014年5月28日 申請日期:2012年6月26日 優先權日:2011年6月29日
【發明者】F·哈特維希, C·霍斯特 申請人:羅伯特·博世有限公司