專利名稱:FlexRay通信組件的制作方法
技術領域:
本發明涉及一個在FlexRay網絡中用于把FlexRay通信線路與一個分配給FlexRay通信組件的用戶進行耦合的FlexRay通信組件,通過該FlexRay網絡傳輸信息。
背景技術:
控制設備、傳感器和激勵器借助于通信系統和總線系統、也就是通信線路的網狀連接近幾年在新式汽車的結構中或在機器制造、特別是在機床領域而且也在自動化領域內迅速增長。對此可以達到通過把功能分給多個控制設備的協同作用。這就是說這里所談論的是分布系統。越來越多地通過總線系統、也就是通信系統進行在不同站之間的通信。通過相應的協議調解在總線系統、存取和接收裝置上的通信聯絡。對此已知的協議是FlexRay協議,其中目前基于FlexRay協議規范v2.0。FlexRay是一個快速的、決定性的并且容錯的總線系統,特別適合在汽車中使用。FlexRay協議按照時分多址(TDMA)方式工作,其中給各個組成部分、也就是用戶或者要傳輸的信息分配固定的時隙,在該時隙內用戶獨家訪問通信線路。對此在一個固定周期內重復該時隙,從而可以準確地預測這個時刻、在該時刻經過總線傳輸信息、并且確定地實現總線訪問。為了最佳地使用在總線系統上信息傳輸的帶寬,FlexRay把周期劃分為靜態部分和動態部分。對此固定的時隙處在總線周期開始的靜態部分內。在動態部分中動態地安排時隙。其中分別僅僅對于較短時間、所謂的微小時間段進行獨家的總線訪問。如果僅僅在一個微小時間段內部進行總線訪問,則把時隙延長所需的時間。如果其實際也需要該帶寬,則因此僅僅消耗其實際需要的帶寬。對此FlexRay通過兩個具有各最大10Mbyte/s的數據傳輸率的物理分離的線路進行通信。對此這兩個信道相當于物理層、特別是OSI(Open SystemArchitecture)層模式。這主要以冗余方式起作用并因此容錯地進行信息傳輸,可是也可以傳輸不同的信息,由此加倍數據傳輸率。可是FlexRay也可以按照較低的數據傳輸率運行。
為了實現同步功能并且通過在兩個信息之間較小的間隔優化帶寬,在通信網絡中分布的組成部分(也就是用戶)需要一個公共的時基,所謂的整體時間。對于非同步來說在周期的靜態部分傳輸同步信息,其中借助于一個根據FlexRay技術規范的特殊算法校正一個組成部分的本地時間使得本地時間與整體時間同步。
FlexRay網絡節點或FlexRay用戶或主機包含一個用戶處理器、也就是主處理器、一個FlexRay控制器或通信控制器以及在總線監控時的一個總線保護器。對此主處理器、也就是用戶處理器提供并處理經過FlexRay通信控制器傳輸的數據。對于在FlexRay網絡中的通信可以配置例如直到254數據字節的信息或者信息對象。
發明內容
本發明的技術問題是提供一個FlexRay通信組件,其按照最佳方式支持在FlexRay網絡中的通信。
通過一個用于使FlexRay通信線路作為物理層與一個分配給FlexRay通信組件的用戶在FlexRay網絡中耦合的FlexRay通信組件解決該技術問題,通過該FlexRay網絡傳輸信息。對此該FlexRay通信組件有益地包含一個用于存儲至少一部分傳輸的信息的第一裝置和一個用于使第一裝置與用戶連接的第二裝置,以及用于使FlexRay通信線路、也就是物理層與第一裝置連接的第三裝置。
對此第一裝置有益地包含一個信息管理器、也就是信息處理器和一個信息存儲器,其中信息管理器承擔關于第一和第二裝置的數據路徑涉及關于信息存儲器的數據存取的控制。對此第一裝置的信息存儲器適當地劃分為標題段和數據段。
用于連接在主機、也就是FlexRay用戶或者主處理器上的第二裝置有益地包含一個輸入緩沖存儲器和一個輸出緩沖存儲器,其中在一個優選的實施形式中或者輸入緩沖存儲器或者輸出緩沖存儲器或者最好兩個存儲器分別被劃分為一個子緩沖存儲器和一個影子存儲器,分別交替地僅僅讀和/或寫這兩個存儲器,由此保證數據完整性。有益地通過交換各自的存取或通過交換存儲器內容達到各自的子緩沖存儲器和附屬的影子存儲器的交替的讀或者寫。
對此設計每個子緩沖存儲器和每個影子存儲器是有益的使得每次可以存儲兩個FlexRay信息的一個數據區域和/或一個標題區域。
為了毫無問題地匹配不同的用戶或主機第二裝置包含一個接口組件,其包含一個用戶特定的子組件和一個用戶獨立的子組件使得為了匹配用戶僅僅改變用戶特定的子組件,如此總體來說提高了FlexRay組件的靈活性。對此子組件也可以在接口組件內部分別以軟件實現、也就是子組件作為軟件功能實現。
根據在FlexRay中冗余傳輸路徑的第三裝置有益地包含一個第一接口組件和一個第二接口組件,并且自身方面劃分為具有各兩個傳輸方向的兩條數據路徑。第三裝置適當地也包含一個第一和一個第二緩沖存儲器,以便考慮兩條數據路徑和各兩個數據方向。對此在這里也如此設計第一和第二緩沖存儲器,即每次可以存儲兩個FlexRay信息的至少一個數據區域。第三裝置的每個接口組件有益地包含一個移位寄存器和一個FlexRay協議狀態機。
通過根據本發明的FlexRay通信組件完全可以支持FlexRay協議規范、特別是v2.0,并且因此可以配置例如直到64個信息或者信息對象。對此依賴于信息的各自數據段或者數據區的大小或者信息的數據區域靈活配置用于存儲不同數目信息對象的信息存儲器。因此有益地配置具有不同長度數據段的信息或信息對象。對此信息存儲器有益地形成為FIFO(先進先出),如此產生一個可配置的接收FIFO。在存儲器中每個信息或者每個信息對象可以作為接收存儲器對象(接收緩沖器)、發送存儲器對象(發送緩沖器)或作為可配置的接收FIFO的一部分進行配置。同樣能夠在FlexRay網絡中接收過濾幀ID、信道ID并且循環計數。因此適當地支持網絡管理。此外有益地設置可掩蔽的模塊中斷。
同說明書一樣,由權利要求的特征中得出另外的優點和有益的設計方案。
根據下面的附圖詳細闡述本發明。
其中圖1大致示出了通信組件和其在物理層上的連接,也就是通信線路和通信用戶或主機用戶,圖2以一個具體的實施形式詳細示出了圖1的通信組件及其連接,
在圖3中示出了信息存儲器的結構,圖4至6示意描述了在從用戶到信息存儲器的方向上數據存取的結構和過程,圖7至9示意描述了在從信息存儲器到用戶的方向上數據存取的結構和過程,在圖10中示意示出了信息管理器和在其中包含的有限狀態機,圖11再一次大致示出了通信組件的元件以及用戶和相應通過信息管理器控制的數據路徑,圖12描述了關于在圖11中的數據路徑上的存取分配。
具體實施例方式
下面根據實施例詳細闡述本發明。
圖1大致示出了一個用于使用戶或主機102連接在FlexRay通信線路101、也就是FlexRay物理層上的FlexRay通信組件100。為此FlexRay通信組件100經過連接線107與用戶或者用戶處理器102連接并且經過連接線106與通信線路101連接。為了一方面關于傳輸時間并且另一方面關于數據完整性能夠毫無問題地連接主要區分FlexRay通信組件中的三個裝置。對此第一裝置105用于存儲、特別是緩存至少一部分要傳輸的信息。在用戶102和這個第一裝置105之間經過連接線107和108連接一個第二裝置104。同樣在用戶101和第一裝置105之間經過連接線106和109連接一個第三裝置103,由此在最佳速度的情況下數據作為信息的一部分、特別是FlexRay信息的一部分可以非常靈活地輸入第一裝置105或從第一裝置中輸出以保證數據完整性。
在圖2中以一個優選實施形式再一次詳細示出了這個通信組件100。同樣詳細示出了各自的連接線106至109。對此第二裝置104包含一個輸入緩沖存儲器201(Input Buffer IBF)、一個輸出緩沖存儲器202(Output Buffer OBF)以及一個包含兩個部分203和204的接口組件,其中一個子組件203是用戶獨立的并且第二子組件204是用戶特定的。用戶特定的子組件204(Customer CPU Interface CIF)使用戶特定的主CPU102、也就是客戶特定的用戶與FlexRay通信組件連接。為此設置一個雙向的數據線216、一個地址線217以及一個控制輸入端218。同樣設置一個終端輸出端219。用戶特定的子組件204與用戶獨立的子組件203(Generic CPU Interface GIF)連接,也就是說FlexRay通信組件或FlexRayIP模塊支配一個同類的、也就是公共的CPU接口。在該接口上經過相應的用戶特定的子組件、也就是用戶CPU接口CIF能夠連接較大數目的、不同的客戶特定的主CPU。由此必須依賴于用戶改變子組件204,這樣明顯降低了費用。
輸入緩沖存儲器201和輸出緩沖存儲器202可以形成為一個存儲器組件或者形成為單獨的存儲器組件。對此輸入緩沖存儲器201用于緩存傳輸到信息存儲器200的信息。對此最好形成輸入緩沖器組件使其可以存儲兩個完整的分別包括一個具有配置數據的標題段和一個數據段或有效負荷段的信息。對此,緩沖存儲器形成為兩部分(子緩沖存儲器和影子存儲器),由此通過交替寫入這兩部分輸入緩沖存儲器或通過交替存取能夠加速在用戶CPU102和信息存儲器200之間的傳輸。同樣輸出緩沖存儲器(Output-Buffer OBF)用于緩存從信息存儲器200到用戶CPU102的傳輸的信息。對此也形成該輸出緩沖器202使得可以存儲兩個完整的、包括特別具有配置數據的標題段和一個數據段、也就是有效負荷段的信息。在此輸出緩沖存儲器202也被劃分為兩個部分、一個子緩沖存儲器和一個影子存儲器,由此在此也通過交替讀出這兩部分能夠加速傳輸或通過交替存取能夠加速在用戶CPU或主CPU102和信息存儲器200之間的傳輸。如圖所示,包含塊201至204的第二裝置104與第一裝置105連接。
裝置105包括一個信息管理器200(Message Handler MHD)和一個信息存儲器300(Message RAM)。信息管理器檢查或者控制在輸入緩沖存儲器201以及輸出緩沖存儲器202和信息存儲器300之間的數據傳輸。其同樣檢查或控制在另外的方向上經過第三裝置103的數據傳輸。信息存儲器最好實施為單端口RAM。該RAM存儲器與配置和狀態數據一起存儲信息或者信息對象、也就是真正的數據。在圖3中詳細示出了信息存儲器300的詳細結構。
第三裝置103包含塊205至208。根據FlexRay物理層的兩個信道該裝置103劃分為兩個具有各兩個數據方向的數據路徑。這是通過連接線213和214表明的,其中示出了用于信道A的兩個數據方向,RxA和TxA用于接收(RxA)和發送(TxA)以及用于信道B的兩個數據方向RxB和TxB。以連接線215表示一個選擇的雙向控制輸入端。經過用于信道B的第一緩沖存儲器205和用于信道A的第二緩沖存儲器206實現第三裝置的連接。這兩個緩沖存儲器(Transient Buffer RAM’sRAM A和RAM B)用作來自或者到達第一裝置105的數據傳輸的緩存器。根據兩個信道這兩個緩沖存儲器205和206與各一個接口組件207和208連接,其包含FlexRay協議控制器或總線協議控制器,其包括一個發送/接收移位寄存器和FlexRay協議有限狀態機。這兩個緩沖存儲器205和206因此用作在接口組件或FlexRay協議控制器207和208與信息存儲器300之間的數據傳輸的緩存器。在此也有益地通過每個緩沖存儲器205或106存儲兩個FlexRay信息的數據段、也就是有效負荷段或數據段。
此外在通信組件100中以209表示整體時間單元(Global Time UnitGTU),其負責描述在FlexRay中的時間周期、也就是微時間(Mikrotick)μT和宏時間(Makrotick)MT。同樣通過整體時間單元209調整循環計數器(Cycle Counter)的容錯的時鐘同步和在靜態和動態的FlexRay段中的時序控制。
以塊210表示公共的系統控制(System Universal Control SUC),通過該系統控制檢查并控制FlexRay通信控制器的操作模式。喚醒、啟動、再組合或者組合、正常操作(normal operation)和被動操作(passiveoperation)屬于操作模式。
塊211表明網絡和故障管理(Network-und Error Management NEM),正如在FlexRay協議規范v2.0中描述的。最后塊212表明中斷控制(Interrupt Control INT),其管理狀態和故障中斷標記(status and errorinterrupt flags)并且檢查或者控制到用戶CPU102的中斷輸出端219。塊212此外包含一個絕對的和一個相對的、用于產生時間中斷的計時器。
對于在FlexRay網絡中的通信可以配置具有直到254數據字節的信息對象或者信息(Message Buffer)。信息存儲器300特別是一個信息隨機存儲器(Message RAM),其例如可以存儲直到最大64個信息對象。信息管理器或信息處理器200執行所有涉及信息處理或者管理的功能。該功能例如是接收過濾、在兩個FlexRay協議控制器塊207和208與信息存儲器300、也就是信息RAM之間的信息傳輸以及發送序列的控制和提供配置數據或者狀態數據。
外部處理器、也就是用戶處理器102的外部CPU,可以通過具有用戶特殊部分204的用戶接口直接存取FlexRay通信組件的寄存器。對此應用多個寄存器。使用這些寄存器,以便配置并控制FlexRay協議控制器、也就是接口組件207和208、信息管理器(Message Handler MHD)200、整體時間單元(Global Time Unit GTU)209、公共系統控制器(System UniversalController SUC)210、網絡和故障管理單元(Network and Error Management UnitNEM)211、中斷控制器(Interrupt Controller INT)212以及對信息RAM、也就是信息存儲器300的存取,同樣顯示相應的狀態。在圖4至6和7至9中至少還要詳細探討部分寄存器。如此描述的、根據本發明的FlexRay通信組件能夠簡單轉換FlexRay規范v2.0,由此可以簡單產生ASIC或具有相應FlexRay功能的微控制器。
在圖3中詳細描述了信息存儲器300的劃分。對于按照FlexRay協議規范要求的、FlexRay通信控制器的功能信息存儲器用于提供要發送的信息(Transmit Buffer)以及存儲無錯誤接收的信息(Receive Buffer)。FlexRay協議允許具有從0到254字節的數據區域、也就是有效負荷區域的信息。正如在圖2中示出的,信息存儲器是FlexRay通信組件100的一部分。下面還要描述的方法以及相應的信息存儲器描述了特別是在應用隨機存取存儲器(RAM)的情況下要發送的信息以及接收信息的存儲,其中通過根據本發明的機制在一個規定容量的信息存儲器中能夠存儲可變數目的信息。對此可存儲的信息數目取決于各個信息的數據區域的大小,由此一方面可以最小化所需存儲器的容量,不必限制信息的數據區域大小,另一方面實現最佳利用存儲器。下面詳細描述用于FlexRay通信控制器的基于RAM的信息存儲器的可變分配。
為了實現,示范性地設置一個具有固定的n位固定字寬、例如8、16、32等以及規定的、m個字的存儲深度的信息存儲器(m、n為自然數)。對此信息存儲器300被劃分為兩個段,一個標題段HS和一個數據段DS(Payload Section,Payload Segment)。因此每信息設置一個標題區HB和一個數據區DB。對于信息0、1至k(k為自然數)因此設置標題區HB0、HB1至HBk和數據區DB0、DB1至DBk。在信息中區分第一和第二數據,其中第一數據相當于關于FlexRay信息的配置數據和/或狀態數據并且分別存放在標題區域HB(HB0、HB1、…、HBk)。相當于真正應當傳輸數據的第二數據相應存儲在數據區DB(DB0、DB1、…、DBk)中。因此對于每信息的第一數據產生一個第一數據規模(Datenumfang)(以位、字節或存儲字測量)并且對于信息的第二數據產生一個第二數據規模(同樣以位、字節或存儲字測量),其中每信息的第二數據可以是不同的。在標題段HS和數據段DS之間的劃分在信息存儲器300中是可變的,也就是說在這些區域之間不存在規定的界限。根據本發明在標題段HS和數據段DS之間的劃分共同依賴于信息的數目k以及一個信息或者所有k個信息的第二數據規模、也就是真正的數據規模。根據本發明給各自信息的配置數據KD0、KD1至KDk分別直接分配一個指針單元或數據指針DP0、DP1至DPk。在特殊的設計方案中給每個標題區與HB0、HB1至HBk分配一個固定數目的存儲字、在此為兩個字,如此配置數據KD(KD0、KD1、…、KDk)和指針單元DP(DP0、DP1、…、DPk)始終共同存放在一個標題區HB中。用于存儲真正的信息數據D0、D1至Dk的數據段DS鄰接具有標題區域HB的標題段HS、其容量或者第一數據規模依賴于要存儲的信息數目k。該數據段DS在其數據規模上依賴于已存放的信息數據的各自數據規模,在此例如在DB0中有六個字,在DB1中有一個字并且在DBk中有兩個字。因此各自的指針單元DP0、DP1、DPk始終指向開始,也就是各自數據區BD0、DB1至DBk的起始地址,在這些數據區中存放各自信息0、1至k的數據D0、D1至Dk。因此在標題段HS和數據段DS之間的信息存儲器的劃分是可變的并且依賴于信息本身的數目以及信息的各自數據規模和整個的第二數據規模。如果配置較少的信息,則標題段較小并且在信息存儲器中空的區域可以用作數據存儲的數據段DS的補充。通過這種可變性可以保證最佳的存儲器利用,由此也能夠應用較小的存儲器。空的數據段FDS、特別是其容量、同樣依賴于要存儲的信息的數目k和信息各自第二數據規模的組合因此是最小的并且甚至可以是0。
除了應用指針元件外也能夠以規定的順序存放第一和第二數據、也就是配置數據KD(KD0、KD1、…、KDk)和真正的數據D(D0、D1、…、Dk),如此在標題段HS中的標題區HB0至HBk的順序和在數據段DS中數據區DB0至DBk的順序分別是相同的。當然甚至也許能夠放棄指針單元。
在一個特別的設計方案中,給信息存儲器分配一個錯誤識別碼產生器、特別是一個奇偶校驗位生成元件和一個錯誤識別碼檢驗器、特別是一個奇偶校驗檢驗元件,以便保證在DS和HS中存儲數據的正確性,這是通過每存儲字或每存儲區域(HB和/或DB)共同存放一個檢驗和作為特別奇偶校驗位。可以考慮另外的校驗識別碼、例如CRC(循環冗余碼校驗)或也可以考慮較強能力的識別碼、比如ECC(糾錯碼)。因此與信息存儲器的固定劃分相比得到如下優點在編程時應用者可以判斷是應用較多數目的、具有較小數據段的信息還是應用較小數目的、具有較大數據段的信息。在配置具有不同大小的數據段的信息時最佳利用了現存的存儲位置。應用者能夠把一個數據存儲區域共同用于不同的信息。
當在一個集成電路上實現通信控制器時通過所應用的存儲器的存儲深度匹配于應用需求可以匹配存儲器的容量,不必改變通信控制器的其他功能。
此外根據圖4至6以及圖7至9詳細描述主CPU存取,也就是配置數據或者狀態數據和真正的數據在存儲器裝置201和202上的寫與讀。對此目的是,如此建立關于數據的去耦合,即可以確保數據完整性并且同時保證較高的傳輸速度。通過信息管理器200實現該過程的控制,該信息管理器稍后在圖10、11和12中還要詳細描述。
在圖4、5和6中首先詳細闡述了通過用戶CPU的主CPU102經過輸入緩沖存儲器201在信息存儲器300上的寫存取。為此圖4再一次示出了通信組件100,其中為了清楚明了在此僅僅指出了通信組件100的重要部分。這一方面是負責過程控制的信息管理器200以及兩個控制寄存器403和404,其如示出的在通信組件100中可以安置信息管理器200的外部,可是也可以包含在信息管理器200自身內部。對此403表示輸入請求寄存器(Input Buffer Command Request Register)并且404表示輸入掩蔽寄存器(Input Buffer Command Mask Register)。通過一個中間連接的輸入緩沖存儲器201(Input Buffer)實現主CPU在信息存儲器300上的寫存取。這個輸入緩沖存儲器201一分為二或者加倍地設計,更確切地說是作為子緩沖存儲器400和一個附屬于子緩沖存儲器的影子存儲器401。因此正如下面描述的,主CPU102可以連續存取信息存儲器300的信息或信息對象或者數據,因此保證數據完整性和加速傳輸。通過輸入請求寄存器403并通過輸入掩蔽寄存器404控制存取。在寄存器403中以數字0至31表示在403中各自的位單元、在此示范性地用于32位的寬度。同樣適用于寄存器404和在404中的位單元0至31。
根據本發明關于過程控制,寄存器403的位單元0至5、15、16至21和31示范性地獲得一個特殊功能。如此在寄存器403的位單元0至5中可以記錄一個識別碼IBRH(Input Buffer Request Host)作為信息識別碼。同樣在寄存器403的位單元16至21中可以記錄一個識別碼IBRS(Input Buffer Request Shadow)。同樣在403的寄存器單元15中記錄IBSYH并且在403的寄存器單元31中記錄IBSYS作為存取識別碼。也標明了寄存器404的單元0至2,其中在0和1中以LHSH(Load Header SectionHost)和LDSH(Load Data Section Host)記錄另外的識別碼作為數據識別碼。在此該數據識別碼以簡單的形式形成、也就是分別形成為一個位。在寄存器404的位單元2中以STXRH(Set Transmission X Request Host)寫入一個起始識別碼。
現在進一步描述通過輸入緩沖存儲器在信息存儲器上的寫存取過程。
主CPU102把要傳送的信息的數據寫入輸入緩沖存儲器201。對此主CPU102可以僅僅對于信息存儲器的標題段HS寫入信息的配置數據和標題數據KD或僅僅對于信息存儲器的數據段DS寫入信息的真正要傳輸的數據D或二者都寫入。通過在輸入掩蔽寄存器404中的特殊的數據識別碼LHSH和LDSH確定應當傳輸哪一部分信息、也就是配置數據和/或真正的數據。對此通過LHSH(Load Header Section Host)確定是否傳輸標題數據、也就是配置數據KD并且通過LDSH(Load Data Section Host)確定是否應當傳輸數據D。由此,即輸入緩沖存儲器201是以一部分緩沖存儲器400和一個附屬的影子存儲器401兩部分形成的,并且實現相互存取,兩個另外的數據識別區域設置作為LHSH和LDSH的配對,其涉及掩蔽存儲器404。該數據識別碼在寄存器404的位單元16和17中以LHSS(Load Header Section Shadow)和LDSS(Load Data Section Shadow)表示。通過該識別碼因此控制關于影子存儲器401的傳輸過程。
如果在輸入掩蔽寄存器404的位單元2中設置起始位或者起始識別碼STXRH(Set Transmission X Request Host),則在把各要傳輸的配置數據和/或真正的數據傳輸入信息存儲器300之后對于相應的信息對象自動設置一個發送請求(Transmission Request)。也就是說通過這個起始識別碼STXRH控制、特別是啟動傳輸的信息對象的自動發送。
根據與此相配對,相應對于掩蔽存儲器是起始識別碼STXRS(SetTransmission X Request Shadow),其例如包含在輸入掩蔽寄存器404的位單元18中,在此在最簡單的情況下形成為一個位。STXRS的功能類似于STXRH的功能,僅僅涉及影子存儲器401。
如果主CPU102根據IBRH把信息識別碼、特別是在信息存儲器300中的信息對象的號碼寫入輸入請求寄存器403的位單元0至5,輸入緩沖存儲器201的數據應當傳送到該信息存儲器中,則輸入緩沖存儲器201的子緩沖存儲器400和附屬的影子存儲器401交換或者交換主CPU102和信息存儲器300在兩個字存儲器400和401上的各自存取,正如通過半圓形箭頭表明的。對此例如也啟動數據傳輸、也就是到信息存儲器300的信息傳輸。數據從影子存儲器401中傳輸到信息存儲器300自身。同時交換寄存器區域IBRH和IBRS。同樣LHSH和LDSH同LHSS和LDSS交換。同樣STXRH與STXRS交換。因此IBRS表明信息的識別碼、也就是信息對象的號碼,對于該信息對象來說正在進行傳輸、也就是從影子存儲器401中傳送出來或者從影子存儲器401中獲得哪一個信息對象、也就是在信息存儲器中的哪一個區域作為最后的數據(KD和/或D)。通過在輸入請求寄存器403的位單元31中的識別碼(在此還是例如1位)IBSYS(Input Buffer Busy Shadow)表明,是否剛好進行了影子存儲器401參與的傳輸。如此例如在IBSYS=1的情況下剛好從影子存儲器401中傳輸并且在IBSYS=0的情況下正好沒有傳輸。例如通過寫入IBRH、也就是在寄存器403中的位單元0至5、設置該位IBSYS,以便表明,在影子存儲器401和信息存儲器300之間正在傳輸。在結束到信息存儲器300的數據傳輸之后IBSYS再度復位IBSYS。
數據從影子存儲器401中輸出期間主CPU可以剛好運行,其首先把要傳輸的信息寫入輸入緩沖存儲器或者寫入子緩沖存儲器400。借助于一個另外的、例如在寄存器403的位單元15中的存取識別碼IBSYH(Input Buffer Busy Hast)還可以進一步細化識別碼。主機剛好寫入IBRH、也就是寄存器403的位單元0至5,同時進行在影子存儲器401和信息存儲器300之間的傳輸、也就是IBSYS=1,則在輸入請求寄存器403中設置IBSYH。只要當前的傳送、也就是當前的傳輸結束,就啟動請求的傳送(通過STXRH請求,見上)并且復位位IBSYH。位IBSYS在整個時間內保持設置,以便表明,到信息存儲器傳送數據。對此所有實施例的所有應用的位也可以形成為多于一位的識別碼。由于節約存儲器和簡便處理的原因一位的解決方案是有益的。
所述的機制允許主CPU傳送在處于信息存儲器內的信息對象中的連續數據,該信息對象包含標題區域HB和數據區域DB,前提是主CPU在輸入緩沖存儲器上的存取速度小于或等于FlexRay-IP模塊、也就是通信組件100的內部數據傳輸率。
在圖7、8和9中詳細闡述通過主CPU或用戶CPU102經過輸出緩沖存儲器202在信息存儲器300上的讀存取。為此圖7再一次指出了通信組件100,其中為了清楚明了在此也僅僅指出了通信組件100的重要部分。這一方面是負責過程控制的信息管理器200以及兩個控制寄存器703和704,正如示出的,其在通信組件100內可以安置在信息管理器300的外部,可是也可以包含在信息管理器200本身的內部。對此703表示輸出請求寄存器(Output Buffer Command Request Register)并且704表示輸出掩蔽寄存器(Output Buffer Command Mask Register)。通過一個中間連接的輸出緩沖存儲器202(Output Buffer)實現主CPU102在信息存儲器300上的讀存取。這個輸出緩沖存儲器202一分為二或者加倍設計,更確切地說是作為子緩沖存儲器701和一個附屬于子緩沖存儲器的影子存儲器700。因此正如下面描述的,主CPU102可以連續存取信息存儲器300的信息或信息對象或者數據,因此保證數據完整性和在從信息存儲器到主機的相反方向上的加速傳輸。通過輸出請求寄存器703并通過輸出掩蔽寄存器404控制存取。在寄存器703中以數字0至31表示在703中各自的位單元、在此示范性地用于32位的寬度。同樣適用于寄存器704和在704中的位單元0至31。
根據本發明關于讀存取的過程控制寄存器703的位單元0至5、8和9、15和16至21和31示范性地獲得一個特殊功能。如此在寄存器703的位單元0至5中可以記錄一個識別碼OBRS(Output Buffer RequestShadow)作為信息識別碼。同樣在寄存器703的位單元16至21中可以記錄一個識別碼OBRH(Output Buffer Request Host)。在寄存器703的位單元15中記錄一個識別碼OBSYS(Output Buffer Busy Shadow)作為存取識別碼。也標明了輸出掩蔽寄存器704的單元0和1,其中在位單元0和1中以RDSS(Read Data Section Shadow)和RHSS(Read Header Section Shadow)記錄另外的識別碼作為數據識別碼。例如在位單元16和17中以RDSH(Read Data Section Host)和RHSH(Read Header Section Host)設置另外的數據識別碼。在此該數據識別碼以簡單的形式形成、也就是分別形成為一個位。在寄存器703的為單元9中記錄一個啟動識別碼REQ。此外設置轉換識別碼VIEW,其例如記錄在寄存器703的位單元8中。
通過主CPU把所希望的信息的識別碼、也就是所希望信息對象的號碼根據OBRS寫入寄存器703的位單元0至5中,這樣主CPU102從信息存儲器中請求信息對象的數據。對此主CPU102也可以向在相反方向上一樣僅僅從標題區域HS讀出信息的配置數據和標題數據KD或僅僅從數據區域DS讀出信息的真正要傳輸的數據D或二者都讀出。對此與反方向相比較,通過RHSS和RDSS確定應當從標題區域和/或數據區域中傳輸哪一部分數據。也就是說RHSS表明,是否讀出標題數據,RDSS表明,是否讀出真正的數據。
起始識別碼用于啟動從信息存儲器到影子存儲器700的傳輸。也就是說在最簡單的情況下一個位用作識別碼,通過設置在輸出請求寄存器703的位單元9中的位REQ啟動從信息存儲器300到影子存儲器700的傳輸。再度通過存取識別碼、再次再度在最簡單的情況下通過在寄存器703中一個位OBSYS表明當前的傳輸。為了避免沖突僅僅可以設置位REQ是有益的,不設置OBSYS,也就是剛好不進行當前的傳輸。在此也進行在信息存儲器300和影子存儲器700之間的傳輸。一方面可以與反方向相比較、如在圖4、5和6中描述的一樣、控制并實現真正的過程(互補的寄存器布局)或在一個變體中通過附加的識別碼、也就是在寄存器703的位單元8中的轉換識別碼VIEW控制并實現真正的過程。也就是說在結束傳輸之后復位位OBSYS并且通過設置在輸出請求寄存器703中的VIEW交換子緩沖存儲器701和附屬的影子存儲器700或者交換對它們的存取,主CPU102可以從子緩沖存儲器701中讀出由信息存儲器請求的信息對象、也就是相應的信息。對此也可以與在圖4至6中的反方向傳輸相比較,交換寄存器單元OBRS和OBRH。同樣RHSS和RDSS同RHSH和RDSH交換。在此也可以設置保護機制如果不設置OBSYS,也就是不進行當前的傳輸,則僅僅可以設置位VIEW。
因此通過中間連接的輸出緩沖存儲器202實現主CPU102在信息存儲器300上的讀存取。同輸入緩沖存儲器一樣加倍或一分為二地設計輸出緩沖存儲器,以便保證主CPU連續存取在信息存儲器300中存放的信息對象。在此也達到較高數據完整性和加速傳輸的優點。
通過應用所描述的輸入和輸出緩沖存儲器確保,盡管模塊內部的執行時間主CPU還是可以無中斷地存取信息存儲器。
為了確保數據完整性通過信息管理器200(Message Handler MHD)進行在通信組件100內的數據傳輸、特別是傳遞。為此在圖10中示出了信息管理器200。信息處理器在其功能上通過多個狀態機或狀態自動機、也就是有限狀態自動機、所謂的有限狀態機(FSM)表示。對此設置至少三個狀態機并且在一個特別的實施形式中設置四個有限狀態機。第一個有限狀態機是IOBF-FSM并且以501表示(Input/Output BufferState Machine)。該IOBF-FSM也可以按關于輸入緩沖存儲器或輸出緩沖存儲器的傳輸方向劃分為兩個有限狀態機IBF-FSM(Input Buffer FSM)和OBF(Output Buffer FSM),由此可以考慮最多五個狀態自動機(IBF-FSM、OBF-FSM、TBF1-FSM、TBF2-FSM、AFSM)。可是優選設置一個公共的IOBF-FSM。在此一個至少第二有限狀態機在該優選實施例的過程中劃分為兩個塊502和503并且管理關于存儲器205和206的兩個信道A和B,正如在圖2中描述的。對此可以設置一個有限狀態機,以便管理兩個信道A和B,可是正如在優選形式中一樣,一個以502表示的有限狀態機TBF1-FSM用于信道A(Transient Buffer1(206,RAM A)State Machine)并且一個以503表示的TBF2-FSM用于信道B(Transient Buffer2(205,RAMB)State Machine)。
一個判優器有限狀態機、所謂的AFSM用于在優選實施例中控制三個有限狀態機501-503的存取,以500表示該AFSM。在一個通過時鐘單元、比如VCO(壓控振蕩器)、石英振蕩器等產生的時鐘或從與其匹配的時鐘內數據(KD和/或D)在通信組件內傳輸。對此該時鐘T可以在組件內產生或從外部例如總線時鐘設置。該判優器有限狀態機AFSM500特別對于一個時鐘周期T交替地讓三個有限狀態機501-503之一存取信息存儲器。也就是說提供使用的時間根據各個狀態自動機501、502、503的存取請求分配給這些請求的狀態自動機。如果僅僅一個有限狀態自動機請求存取,則其獲得100%的存取時間,也就是所有時鐘T。如果兩個狀態自動機請求存取,則每個有限狀態機獲得50%的存取時間。最后如果三個狀態自動機請求存取,則每個有限狀態機獲得1/3的存取時間。由此最佳利用了分別提供使用的帶寬。
以501表示的第一有限狀態機、也就是IOBF在需要時執行如下動作
-從輸入緩沖存儲器201到在信息存儲器300中選擇的信息對象的數據傳輸。
-從在信息存儲器300中選擇的信息對象到輸出緩沖存儲器202的數據傳輸。
用于信道A的狀態機502、也就是TBF1-FSM執行如下動作-從在信息存儲器300中選擇的信息對象到信道A的緩沖存儲器206數據傳輸。
-從緩沖存儲器206到在信息對象300中選擇的信息對象的數據傳輸。
-在信息存儲器中尋找合適的信息對象,其中在接收時在接收過濾的范圍內尋找用于存儲在信道A上接收的信息的信息對象(ReceiveBuffer)并且在發送時尋找接下來在信道A上要發送的信息對象(TransmitBuffer)。
TBF2-FSM、也就是在塊503中的、用于信道B的有限狀態機的動作與此類似。其執行從在信息存儲器300中選擇的信息對象到信道B的緩沖存儲器205數據傳輸和從緩沖存儲器205到在信息對象300中選擇的信息對象的數據傳輸。尋找功能類似于TBF1-FSM,在信息存儲器中尋找合適的信息對象,其中在接收時在接收過濾的范圍內尋找用于存儲在信道B上接收的信息的信息對象(Receive Buffer)并且在發送時尋找接下來在信道B上要發送的信息或信息對象(Transmit Buffer)。
在圖11中再一次示出了過程順序和傳輸路徑。三個狀態機501-503控制在各個部分之間的數據傳輸。對此還是以102表示主CPU,以201表示表示輸入緩沖存儲器并且202表示輸出緩沖存儲器。以300表示信息存儲器并且以205和206表示信道A和信道B的兩個緩沖存儲器。同樣示出了接口元件207和208。以501表示的第一狀態自動機狀態IOBF-FSM控制數據傳輸Z1A和Z1B,也就是從輸入緩沖存儲器201到信息存儲器300和從信息存儲器300到輸出緩沖存儲器202的數據傳輸。對此通過例如32位字寬的數據總線進行數據傳輸,其中另外的位數也是可能的。同樣適合于在信息存儲器和緩沖存儲器206之間的傳輸Z2。通過TBF1-FSM、也就是信道A的狀態機502控制該數據傳輸。通過狀態自動機TBF2-FSM、也就是503控制在信息存儲器300和緩沖存儲器205之間的傳輸Z3。在此也通過例如32位字寬的數據總線進行數據傳輸,其中在此另外的位數也是可能的。在上述傳輸路徑上完整信息對象的傳輸通常需要多個時鐘周期T。因此通過判優器、也就是AFSM 500實現關于時鐘周期T的傳輸時間分配。在圖11中示出了在由信息處理器控制的存儲器元件之間的數據路徑。為了確保在信息存儲器中存儲的信息對象的數據完整性,有益地在相同時間僅在示出的路徑之一上、也就是Z1A和Z1B以及Z2和Z3、同時交換數據。
在圖12中列舉一個實例指出,判優器、也就是AFSM500怎樣把提供使用的系統時鐘分配給三個狀態自動機。在階段1狀態自動機501和狀態自動機502請求存取,也就是全部時間分別分成一半給兩個請求的狀態自動機。關于在階段1中的時鐘周期這表明,狀態自動機501在時鐘周期T1和T3內獲得存取,狀態自動機502在時鐘周期T2和T4內獲得存取。在階段2通過狀態自動機501進行存取,如此所有三個時鐘周期、也就是從T5至T7的100%的存取時間分配給IOBF-FSM。在階段3內,所有三個狀態自動機501至503請求存取,如此全部存取時間三等分。判優器AFSM例如如此分配存取時間,在時鐘周期T8和T11內有限狀態機501獲得存取,在時鐘周期T9和T12內有限狀態機502獲得存取,在時鐘周期T10和T13內有限狀態機503獲得存取。最后在階段4,通過兩個狀態自動機502和503在通信組件的兩個信道A和B上進行存取,如此時鐘周期T14和T16分配給有限狀態自動機502進行存取并且在T15和T17內分配給有限狀態自動機503進行存取。
判優器自動機AFSM 500關注以下情況如果多于三個狀態自動機之一請求對信息存儲器300的存取,則時鐘方式或交替地把存取分配給請求的狀態機。采取的這種措施確保在信息存儲器中存放的信息對象的完整性、也就是數據完整性。如果例如在剛好把接收的信息寫入信息對象期間主CPU想要通過輸出緩沖存儲器202讀出一個信息對象,則依賴于此首先啟動哪一個請求,或者讀出舊的狀態或者讀出新的狀態,在信息存儲器的信息對象中的存取不會沖突。
所描述的方法使主CPU能夠在連續運行中讀出或寫入全部任意的、在信息存儲器中的信息對象,在用戶的主CPU的存取持續時間內不會阻止所選擇的信息對象在FlexRay總線的兩個信道上的數據交換(Buffer Locking)。同時通過存取的時鐘方式的嵌套確保在信息存儲器中存放的數據的完整性并且也通過利用所有帶寬提高傳輸速度。
權利要求
1.用于在一個FlexRay網絡中把FlexRay通信線路(101)與一個分配給FlexRay通信組件的用戶(102)進行耦合的FlexRay通信組件(100),通過該FlexRay網絡傳輸信息,其特征在于,所述FlexRay通信組件(100)包含如下組成部分-用于存儲至少一部分傳輸信息的第一裝置(105),和-用于把第一裝置(105)與用戶(102)進行連接的第二裝置(104),以及-用于把FlexRay通信線路(101)與第一裝置(105)進行連接的第三裝置(103)。
2.按照權利要求1的FlexRay通信組件(100),其特征在于,該第一裝置(105)包含一個信息管理器(200)和一個信息存儲器(300)。
3.按照權利要求1的FlexRay通信組件(100),其特征在于,該第一裝置(105)包含一個信息存儲器(300),其中信息存儲器被劃分為標題段(HS)和數據段(DS)。
4.按照權利要求1的FlexRay通信組件(100),其特征在于,該第二裝置(104)包含一個輸入緩沖存儲器(201)和一個輸出緩沖存儲器(202)。
5.按照權利要求4的FlexRay通信組件(100),其特征在于,所述輸入緩沖存儲器(202)被劃分為子緩沖存儲器(701)和一個影子存儲器(700),其中交換對子緩沖存儲器和掩蔽存儲器上的存取。
6.按照權利要求4的FlexRay通信組件(100),其特征在于,所述輸入緩沖存儲器(201)被劃分為子緩沖存儲器(400)和影子存儲器(401),其內容彼此交換。
7.按照權利要求4的FlexRay通信組件(100),其特征在于,所述輸出緩沖存儲器(202)被劃分為子緩沖存儲器(701)和一個影子存儲器(700),其中交換對該子緩沖存儲器和影子存儲器的存取。
8.按照權利要求4的FlexRay通信組件(100),其特征在于,所述輸出緩沖存儲器(202)被劃分為子緩沖存儲器(701)和影子存儲器(700),其內容彼此交換。
9.按照權利要求5至8之一的FlexRay通信組件(100),其特征在于,設計每個輸入緩沖存儲器(400、401)和每個輸出緩沖存儲器(700、701)使得可以存儲兩個FlexRay信息的數據區域和標題區域。
10.按照權利要求1的FlexRay通信組件(100),其特征在于,所述第二裝置(104)包含一個接口組件,該接口組件包含一個用戶特定的子組件(204)和一個用戶獨立的子組件(203)。
11.按照權利要求1的FlexRay通信組件(100),其特征在于,所述第三裝置(103)包含一個第一接口組件(207)和一個第二接口組件(208)并且被劃分為各自具有兩個數據方向的兩條數據路徑。
12.按照權利要求1的FlexRay通信組件(100),其特征在于,第三裝置(103)包含一個第一緩沖存儲器(206)和一個第二緩沖存儲器(205)并且被劃分為各自具有兩個數據方向的兩條數據路徑。
13.按照權利要求12的FlexRay通信組件(100),其特征在于,設計兩個緩沖存儲器(205、206)中的每一個使得可以存儲兩個FlexRay信息的數據區域。
14.按照權利要求11的FlexRay通信組件(100),其特征在于,每一個接口組件(207、208)包含一個移位寄存器和一個FlexRay協議狀態機。
全文摘要
用于在一個FlexRay網絡中FlexRay通信線路(101)與一個分配給FlexRay通信組件的用戶(102)耦合的FlexRay通信組件(100),通過該FlexRay網絡傳輸信息,其中FlexRay通信組件(100)包含如下組成部分用于存儲至少一部分傳輸信息的第一裝置(105),和用于把第一裝置(105)與用戶(102)進行連接的第二裝置(104),以及用于把FlexRay通信線路(101)與第一裝置(105)進行連接的第三裝置(103)。
文檔編號H04L12/40GK1993936SQ200580026248
公開日2007年7月4日 申請日期2005年6月29日 優先權日2004年8月5日
發明者F·哈特維希, C·霍爾斯特, F·拜勒 申請人:羅伯特·博世有限公司