總線系統的用戶站和用於在總線系統的用戶站之間傳輸數據的方法
2023-12-05 08:59:11 1
總線系統的用戶站和用於在總線系統的用戶站之間傳輸數據的方法
【專利摘要】公開了總線系統(1;2;3)的用戶站(10;101)和用於在總線系統(1;2;3)的用戶站(10)之間傳輸數據的方法。用戶站(10;101)包括:用於對每個無錯發送的和/或每個無錯接收的消息(25,26,27)進行計數的計數器(11),其中當消息(25,26,27)被無錯發送和/或消息(25,26,27)被無錯接收時,該計數器(11)增加,以及復位裝置(14),用於當該計數器(11)的計數器讀數被讀取時對該計數器(11)的計數器讀數復位。
【專利說明】總線系統的用戶站和用於在總線系統的用戶站之間傳輸數據的方法
【技術領域】
[0001]本發明涉及總線系統的用戶站以及用於在總線系統的用戶站之間傳輸數據的方法,其中尤其是可以通過簡單的方式跟蹤該總線系統的總線負荷。
【背景技術】
[0002]目前已知其中藉助CAN協議傳輸消息的總線系統,如在ISOl 1898中的CAN規範中描述的那樣。
[0003]DE 100 00 305 Al 描述了該 CAN (Controller Area Network =控制器域網絡)以及稱為 TTCAN (Time triggered CAN =時間觸發的 CAN)的 CAN 擴展。
[0004]CAN和TTCAN用基於消息的協議工作並且例如用在運輸工具中。基於CAN或TTCAN的總線系統使得所有與其連接的用戶站——例如微控制器——能夠相互通信。
[0005]CAN協議對於錯誤處理來說提供發送錯誤計數器(Transmit Error Counter)和接收錯誤計數器(Receive Error Counter)。錯誤條件使錯誤計數器增加,而成功的發送或接收使計數器減小。發送錯誤計數器和接收錯誤計數器的計數器讀數影響CAN控制器的錯誤狀態,該CAN控制器也可以稱為CAN控制裝置。CAN控制器例如在發送錯誤計數器的計數器讀數為128或更大的情況下轉換為狀態「被動錯誤」。在發送錯誤計數器的計數器讀數為256或更大的情況下,CAN控制器轉換為狀態「總線關閉」。除了發送錯誤計數器和接收錯誤計數器,CAN控制器還可以具有錯誤日誌計數器(Error Logging Counter)。該計數器在CAN協議錯誤使得發送錯誤計數器或接收錯誤計數器增加時增加。對錯誤日誌計數器的讀取使得錯誤日誌計數器復位。計數器日誌計數器的計數器讀數顯示的是從上次讀取以來出現的CAN協議錯誤之和。
[0006]在常用的CAN控制器情況下,通過對例如TxOK狀態位進行置位來發信號通知消息的成功發送。相反,對消息的成功接收通過對例如RxOK狀態位進行置位來發信號通知。但是由此不能直接說明當前的總線負荷。
【發明內容】
[0007]因此本發明的任務是提供總線系統的用戶站以及用於在總線系統的用戶站之間傳輸數據的方法,它們使得可以通過簡單的方式跟蹤總線上的CAN總線負荷。
[0008]該任務通過具有權利要求1的特徵的總線系統的用戶站解決。該用戶站包括用於對每個無錯發送的和/或每個無錯接收的消息進行計數的計數器,其中當消息被無錯發送和/或消息被無錯接收時,該計數器增加,並且該用戶站包括用於當該計數器的計數器讀數被讀取時對該計數器的計數器讀數復位的復位裝置。
[0009]利用所描述的用戶站,可以基於計數器的計數器讀數來確定總線負荷,尤其是CAN總線負荷。由此在網絡管理的範圍內可以說明總線系統、尤其是CAN總線系統的狀態,以及與其連接的總線系統控制器、尤其是CAN控制器的狀態。[0010]用戶站的有利的其它構型在從屬權利要求中加以說明。
[0011]優選地,用戶站還具有用於對每個無錯接收的消息進行計數的另外的計數器,其中所述計數器僅被構造為對每個無錯發送的消息計數,以及其中所述復位裝置被構造為當所述計數器和/或所述另外的計數器的計數器讀數被讀取時對相應計數器復位。由於存在兩個計數器,還可以更精確地確定總線負荷。此外可以對用戶站、準確地說用戶站的CAN控制器的狀態進行更為準確的說明。
[0012]優選地,用戶站還具有用於讀取所述計數器或所述另外的計數器的計數器讀數的計數器讀數讀取裝置,其中該計數器讀數讀取裝置被構造為當其讀取所述計數器或所述另外的計數器的計數器讀數時對所述計數器或所述另外的計數器的計數器讀數復位。
[0013]可能的是,用戶站還配備有用於分析由計數器讀數讀取裝置讀取的計數器讀數的分析裝置。
[0014]有利的是,用戶站具有用於基於與計數器讀數讀取裝置的讀訪問的時間間隔、所述計數器的計數器讀數或所述另外的計數器的計數器讀數以及消息在總線上的時間長度來確定總線系統的所述總線的總線負荷的分析裝置。
[0015]還可能的是,用於確定用戶站的分析裝置被構造為確定該用戶站的發送消息是否被由另外的用戶站發送的更高優先權的消息阻擋。由此可以確定是否需要連接到CAN總線的用戶站的重新配置以實現所有消息都達到其接收器。
[0016]該分析裝置還可以被構造為確定所述計數器的計數器讀數除以所述計數器的計數器讀數與所述另外的計數器的計數器讀數之和的商是否小於預定的期望值。
[0017]有利的是,當所述分析裝置的分析得出在一個用戶站中所述計數器的計數器讀數之和不等於在另外的用戶站中的計數器讀數之和時,該用戶站輸出錯誤報告。
[0018]優選地,用戶站還具有用於對已識別的錯誤計數的錯誤日誌計數器,其中分析裝置被構造用於確定錯誤日誌計數器的計數器讀數是否小於所述計數器或所述另外的計數器的計數器讀數。
[0019]前面提到的任務還通過具有權利要求10的特徵的、用於在總線系統的用戶站之間傳輸數據的方法解決。該方法包括步驟:用計數器對每個無錯發送和/或每個無錯接收的消息計數,其中當消息被無錯發送和/或消息被無錯接收時,所述計數器增加,以及當該計數器的計數器讀數被讀取時,利用復位裝置對該計數器的計數器讀數復位。
[0020]本發明的其它可能實施還包括前面或在下面關於實施例描述的特徵或實施方式的未明確提到的組合。在此,專業人員也可以向本發明的相應基本形式添加各個方面作為改進或補充。
【專利附圖】
【附圖說明】
[0021]下面參照附圖和藉助實施例詳細描述本發明。其中:
圖1示出根據第一實施例的總線系統的簡化框圖;
圖2示出用於圖解在圖1的總線系統情況下關於時間t的消息N數量的圖表;
圖3示出用於圖解根據第一實施例的計數器的作用方式的視圖;
圖4示出根據第一實施例的方法的流程圖;
圖5示出根據第二實施例的總線系統的簡化框圖;以及 圖6示出根據第三實施例的總線系統的框圖。
[0022]只要沒有另外說明,在圖中相同或功能相同的元件就配備有相同的附圖標記。
【具體實施方式】
[0023]圖1示出總線系統I,其例如可以是CAN總線系統,其可以用在運輸工具、尤其是機動車、飛機等中或者用在醫院等中。總線系統I具有多個用戶站10,它們分別連接到總線
20。經由總線20可以在各個用戶站10之間傳輸消息25,26,27。用戶站10例如可以是機動車的控制設備或顯示設備。
[0024]在圖1中每個用戶站10都具有計數器11、計數器讀數讀取裝置14和分析裝置15。計數器11用於對無錯發送的消息25和無錯接收的消息25計數。計數器讀數讀取裝置14用於讀取計數器11的計數器讀數並且然後將該計數器11的計數器讀數復位到其初始值,例如O。計數器讀數讀取裝置14因此具有讀取裝置和復位裝置的功能。分析裝置15用於分析由計數器讀數讀取裝置14讀取的、計數器11的計數器讀數。
[0025]圖2示出作為示例用於圖解關於時間t的消息25,26,27的數量N的圖表。此外,在圖2的圖表中再現了消息25,以顯示在總線20上的消息25的時間長度I。在時間tl時,發生對計數器11的讀訪問LI。在時間t2時發生對計數器11的讀訪問L2。在時間t3時發生對計數器11的讀訪問L3。讀訪問L1,L2,L3在圖2中分別作為箭頭顯示。時刻tl與時刻t2之間的時間段Tl以及時刻t2與時刻t3之間的時間段T2在圖2中是相同的。因此分析裝置15可以將對計數器11的讀訪問L1,L2,L3的時間間隔確定為t2_tl或t3_t2,該時間間隔與時間段Tl或T2對應。時間段Tl和T2優選如在圖2中所示那樣是相同的。消息25在圖2中在時刻t2之後被發送並且在時刻t3之前就已經結束了。消息25在圖2中的時間長度I由此比時間段T2短。
[0026]消息25的時間長度I優選對於所有消息25都是相同的。此外,消息26和/或消息27的時間長度I可以等於消息25的時間長度I。但是消息25,26,27的時間長度I也可以不同。
[0027]圖3示出計數器11的增加和減小。也就是說,如果由用戶站10之一無錯地發送或接收消息25或26或27,則將該用戶站10的計數器11提高1,也就是說增加。在圖3中,計數器11首先具有計數器讀數101並且在無錯地或正確地發送或者無錯地或正確地接收消息25之後轉換為計數器讀數102,如在圖3的右側所示。但是,如果利用計數器讀數讀取裝置14讀取具有計數器讀數101的計數器11,則計數器讀數讀取裝置14將計數器11復位到計數器讀數「000」,如在圖3的左側所示。如果由計數器讀數讀取裝置14讀取計數器11的計數器讀數101,則分析裝置15可以分析由計數器讀數讀取裝置14讀取的計數器11的計數器讀數。
[0028]圖4以流程圖示出已經參照圖3描述的計數器11的功能。該流程圖再現了在用於在總線系統I的用戶站10之間傳輸數據的方法中的功能。在該方法開始之後,在步驟SI中檢查消息25是否由用戶站10正確發送或接收。
[0029]如果在步驟SI中的響應為「是」,則該流程轉至步驟S2。在步驟S2中計數器11被增加I。
[0030]相反,如果在步驟SI中的響應為「否」,則該流程轉至步驟S3。在步驟S3中,計數器11的計數器讀數不改變。
[0031]在步驟S2和步驟S3之後,該流程轉至步驟S4。
[0032]在步驟S4中檢查計數器11的計數器讀數是否被讀取。該檢查優選以規則的間隔具有響應「是」。也就是說,可以檢查是否過去了預定的持續時間。
[0033]如果在步驟S4中的響應為「是」,則該流程轉至步驟S5。在步驟S5中,利用計數器讀數讀取裝置14讀取計數器11的計數器讀數,並且此外還將計數器11復位到其初始值。在分別以規則的間隔一即時間段Tl,T2—執行的步驟S5之後,該流程轉至步驟S6。
[0034]相反,如果在步驟S4中的響應為「否」,則該流程直接返回至步驟SI。
[0035]在步驟S6中,分析裝置15分析所讀取的計數器11的計數器讀數。也就是說,分析裝置15可以基於在步驟S5中讀取的計數器11的計數器讀數從對計數器11的讀訪問LI,L2,L3的時間間隔Tl,T2中以及從總線20上的消息25的時間量I中確定總線20上的負荷。在如步驟S5以規則的間隔執行的步驟S6之後,該流程返回至步驟SI。
[0036]當總線系統I的電壓供應中斷時,該方法結束。
[0037]前面描述的功能可以在總線系統I的通信軟體中實現。
[0038]圖5示出根據第二實施例的總線系統2。第二實施例的總線系統2在很多部件方面都通過與第一實施例的總線系統I相同的方式實施。因此下面僅描述第一和第二實施例之間的不同。其它的參照對第一實施例的描述。
[0039]與第一實施例不同,第二實施例的總線系統2的每個用戶站10,101除了計數器11之外還具有另外的計數器12。此外,用戶站之一,在圖5中即是用戶站101,可以附加地具有錯誤日誌計數器13。
[0040]在該實施例中,計數器11用於對每個由用戶站10,101無錯發送的消息25或26或27計數。也就是說,計數器11僅在由相應用戶站10,101無錯發送消息25或26或27的情況下才被增加I。與此相應地,另外的計數器12在每次由相應用戶站10,101無錯接收了消息25之後增加。也就是說,另外的計數器12在接收了消息25或26或27時分別被增加I。計數器11和另外的計數器12通過藉助計數器讀數讀取裝置14讀取它們來被復位。
[0041]在總線系統2無錯工作的情況下,兩個計數器讀數之和在每個用戶站10和用戶站101中都是相同的。計數器11的計數器讀數/(計數器11的計數器讀數+另外的計數器12的計數器讀數)的商可以被用於確定所屬用戶站10,101的發送消息被由另外的用戶站101,10所發送的更高優先權的消息25或26或27阻擋。在所述商小於預定的期望值時就是如此。該確定可以通過總線系統I的分析裝置15執行。
[0042]如果計數器11和另外的計數器12的計數器讀數之和在每個用戶站10,101中不相同,則可以確定臨時或永久受幹擾的用戶站10,101以及通過錯誤報告顯示。該確定可以通過總線系統I的分析裝置15來執行。
[0043]當總線系統I的協議錯誤增加了未示出的發送錯誤計數器或接收錯誤計數器,則在圖5中的錯誤日誌計數器13增加。錯誤日誌計數器13的計數器讀數顯示自上次讀取起出現的總線20上的協議錯誤之和。
[0044]與錯誤日誌計數器13 —起可以確定已識別的錯誤與成功發送或接收的消息25或26或27之比。在計數器11或另外的計數器12的計數器讀數較小的情況下錯誤日誌計數器13的較大計數器讀數表明用戶站10,101受幹擾。這也可以通過總線系統I的分析裝置15之一來分析,但是優選通過用戶站101的分析裝置15分析。
[0045]圖6示出根據第三實施例的總線系統3的框圖。在該實施例中,每個用戶站10具有微計算機16,該微計算機與總線控制裝置17、尤其是CAN控制器17連接。CAN控制器17可以與總線-發送/接收裝置18、尤其是與也稱為CAN收發器的CAN-發送/接收裝置18通信,該總線-發送/接收裝置18連接到總線20中。在該實施例中,計數器11是總線控制裝置17的部件。如果計數器11被構造為對由用戶站10、準確地說是發送/接收裝置18無錯發送和接收的消息25計數,則像在第一實施例中那樣不存在另外的計數器12。但是,如果像在第二實施例中那樣也存在另外的計數器12,則計數器11和另外的計數器12被如在第二實施例中描述的那樣配置。
[0046]所有上面描述的用戶站10,101和方法的構型都可以單獨地或以所有可能的組合使用。此外尤其是可以考慮以下修改。
[0047]上面描述的根據第一至第三實施例的總線系統1,2,3是被藉助基於CAN協議的總線系統描述的。但是,總線系統1,2,3也可以是另外類型的通信網絡。有利的、但非強制的前提是:在總線系統1,2,3中至少在特定的時間段內保證用戶站10對共同信道的獨佔的、無衝突的訪問。
[0048]根據第一至第三實施例的總線系統1,2,3尤其是CAN網絡或者是TTCAN網絡或者是CAN FD網絡。
[0049]在第一至第三實施例的總線系統1,2,3中的用戶站10的數量是任意的。
[0050]計數器11的計數器讀數也可以由單獨的復位裝置復位到其初始值,例如0,而無需讀取計數器11的計數器讀數。
[0051]優選地,計數器讀數讀取裝置14和分析裝置15也是總線控制裝置17的部件。此夕卜,錯誤日誌計數器13也可以是總線控制裝置17的部件。
【權利要求】
1.總線系統(I;2 ;3)的用戶站(10 ;101),具有: 用於對每個無錯發送的和/或每個無錯接收的消息(25,26,27)進行計數的計數器(11),其中當消息(25,26,27 )被無錯發送和/或消息(25,26,27 )被無錯接收時,該計數器(11)增加,以及 復位裝置(14),用於當該計數器(11)的計數器讀數被讀取時對該計數器(11)的計數器讀數復位。
2.根據權利要求1所述的用戶站(101),還具有用於對每個無錯接收的消息(25,26,27)進行計數的另外的計數器(12),其中所述計數器(11)僅被構造為對每個無錯發送的消息(25,26,27)計數,以及其中所述復位裝置(14)被構造為當所述計數器(11)和/或所述另外的計數器(12)的計數器讀數被讀取時對相應的計數器(11,12)復位。
3.根據權利要求1或2所述的用戶站(10;101),還具有用於讀取所述計數器(11)或所述另外的計數器(12)的計數器讀數的計數器讀數讀取裝置(14),其中該計數器讀數讀取裝置(14)被構造為當其讀取所述計數器(11)或所述另外的計數器(12 )的計數器讀數時對所述計數器(11)或所述另外的計數器(12 )的計數器讀數復位。
4.根據權利要求3所述的用戶站(10;101),還具有用於分析由計數器讀數讀取裝置(14)讀取的計數器讀數的分析裝置(15)。
5.根據權利要求4所述的用戶站(10;101),其中所述分析裝置(15)被構造為基於與計數器讀數讀取裝置(14)的讀訪問(L1,L2,L3)的時間間隔、所述計數器(11)的計數器讀數或所述另外的計數器(12)的計數器讀數以及消息(25,26,27)在總線(20)上的時間長度(I)來確定所述總線系統(I ;2 ;3)的所述總線(20)的總線負荷。
6.根據權利要求4或5所述的用戶站(101),其中所述分析裝置(15)被構造為確定該用戶站(101)發送的消息(25)是否被由另外的用戶站(10)發送的更高優先權的消息(26,27)阻擋。
7.根據權利要求4至6之一所述的用戶站(10;101),其中該分析裝置(15)可以被構造為確定所述計數器(11)的計數器讀數除以所述計數器(11)的計數器讀數與所述另外的計數器(12)的計數器讀數之和的商是否小於預定的期望值。
8.根據權利要求4所述的用戶站(10;101),其中當所述分析裝置(15)的分析得出在所述用戶站(10 ;101)中所述計數器(11)和所述另外的計數器(12)的計數器讀數之和不等於在另外的用戶站(10)中所述計數器(11)和所述另外的計數器(12)的計數器讀數之和時,所述用戶站(10 ;101)輸出錯誤報告。
9.根據權利要求4至7之一所述的用戶站(10;101),還具有用於對已識別的錯誤計數的錯誤日誌計數器(13),其中所述分析裝置(15)被構造用於確定錯誤日誌計數器(13)的計數器讀數是否小於所述計數器(11)或所述另外的計數器(12)的計數器讀數。
10.用於在總線系統(I;2 ;3)的用戶站(10)之間傳輸數據的方法,具有步驟: 用計數器(11)對每個無錯發送和/或每個無錯接收的消息(25,26,27)計數,其中當消息(25,26,27)被無錯發送和/或消息(25,26,27)被無錯接收時,所述計數器(11)增加,以及 當該計數器(11)的計數器讀數被讀取時,利用復位裝置對該計數器(11)的計數器讀數復位。
【文檔編號】H04L1/20GK103999396SQ201280063225
【公開日】2014年8月20日 申請日期:2012年12月20日 優先權日:2011年12月22日
【發明者】F.哈特維希, C.霍斯特 申請人:羅伯特·博世有限公司