專利名稱:通過通信系統(tǒng)的通信連接在消息中傳輸數(shù)據(jù)的方法以及通信系統(tǒng)的通信模塊、用戶和用 ...的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于在消息中傳輸數(shù)據(jù)的方法,這些消息在能預(yù) 先給定的時間窗中通過通信系統(tǒng)的通信連接周期性地被傳輸。要通過 通信連接發(fā)送的和通過通信連接被發(fā)送的消息首先被緩存在通信模塊 的消息存儲器中。要由用戶在當前的時間窗中發(fā)送的或者接收的消息 從該消息存儲器中被取出并且被發(fā)送或者被接收并且被存放在消息存 儲器中。
本發(fā)明此外還涉及一種根據(jù)權(quán)利要求13的前序部分的通信模塊、 根據(jù)權(quán)利要求17的前序部分的通信系統(tǒng)的用戶以及根據(jù)權(quán)利要求20 的前序部分的用于實現(xiàn)該方法的通信系統(tǒng)。
背景技術(shù):
在近年來,在現(xiàn)代機動車的建造在或者在機械制造中、特別是在 機床領(lǐng)域中、即也在自動化中,例如控制設(shè)備、傳感裝置和執(zhí)行元件 形式的用戶借助通信系統(tǒng)的通信連接的聯(lián)網(wǎng)急劇增長。在此可以實現(xiàn) 通過將功能分布在多個用戶上而產(chǎn)生的協(xié)同效應(yīng)。在此情況下談及分 布式系統(tǒng)。不同的用戶之間的通信越來越多地通過被構(gòu)造為總線系統(tǒng) 的通信系統(tǒng)的被構(gòu)造為數(shù)據(jù)總線的通信連接來進行.總線系統(tǒng)上的通 信業(yè)務(wù)、訪問和接收機制以及錯誤處理通過協(xié)議來調(diào)節(jié)。用于此的一 種已知協(xié)議是CAN (控制器域網(wǎng)絡(luò))協(xié)議或者TTCAN (時間觸發(fā)的CAN ) 協(xié)議以及FlexRay協(xié)議,其中眼下以FlexRay協(xié)議規(guī)范v2. 1為基礎(chǔ)。
FlexRay是一種快速的、確定性的并且容錯的總線系統(tǒng),特別是 用于在機動車中使用。FlexRay協(xié)議根據(jù)時分多路訪問(TDMA )的方 法工作,其中固定的時隙或者時間窗被分配給用戶(或者部件)或者 待傳輸?shù)南ⅲ谶@些時隙或者時間窗中該用戶(或者部件)或者待 傳輸?shù)南⒕哂信潘膶νㄐ胚B接的訪問??杀容^地,這在TTCAN中 也被實現(xiàn)。在此,時隙以規(guī)定的周期、即所謂的通信周期重復(fù),使得 消息通過數(shù)據(jù)總線被傳輸?shù)臅r刻可以被精確地預(yù)言并且確定性地進行
總線訪問。
為了最佳地利用用于總線系統(tǒng)上的消息傳輸?shù)膸?,F(xiàn)lexRay將
通信周期劃分為靜態(tài)部分、即所謂的靜態(tài)段和動態(tài)部分、即所謂的動
態(tài)段。具有固定地預(yù)先給定的長度的時隙在此位于總線周期的開始時
的靜態(tài)部分中。在動態(tài)部分中,時隙被動態(tài)地分配。其中,排他的總
線訪問分別僅僅在短的時間、即所謂的微時隙(Minislot)內(nèi)才能實
現(xiàn)。只有當在一個微時隙內(nèi)由用戶之一進行總線訪問時,才延長在用
戶進行數(shù)據(jù)傳輸所需的持續(xù)時間上的相應(yīng)的時隙。由此,也即只有當
帶寬也實際被需要用于數(shù)據(jù)傳輸時,帶寬才被使用。動態(tài)段可以被用 于事件控制的數(shù)據(jù)傳輸。
在FlexRay通信系統(tǒng)中,通過兩個物理上分離的線路(也被稱為 信道)以目前分別最大每秒10MB的數(shù)據(jù)速率進行通信。兩個信道在此 對應(yīng)于物理層、特別是0SI (開放系統(tǒng)架構(gòu))層模型的物理層。這些信 道主要用于消息的冗余的并且由此容錯的傳輸,然而也可以傳輸不同 的消息,由此隨后數(shù)據(jù)速率可以被倍增到目前的20MB。但是,F(xiàn)lexRay 自然也可以以更低的數(shù)據(jù)速率運行。
為了實現(xiàn)同步的功能并且通過兩個消息之間的小的間隔來優(yōu)化帶 寬,通信網(wǎng)絡(luò)中的分布式部件、即通信系統(tǒng)中的用戶需要共同的時基、 即所謂的全局時間。用戶擁有自己的本地時鐘,這些本地時鐘被同步 為全局時間。為了時鐘同步,同步消息在周期的靜態(tài)部分中被傳輸。 時鐘同步在所謂的網(wǎng)絡(luò)空閑時間(NIT)期間在每個通信周期結(jié)束時進 行。借助特殊的與FlexRay規(guī)范相應(yīng)的算法,部件的本地時鐘時間這 樣被校正,使得所有本地時鐘都與全局時鐘同步地運行??杀容^地, 在TTCAN網(wǎng)絡(luò)中也進行這種同步。
也被稱為FlexRay網(wǎng)絡(luò)節(jié)點的FlexRay用戶包含用戶處理器、即 主機處理器,F(xiàn)lexRay控制器或者通信控制器,至物理層的連接,總 線驅(qū)動器(所謂的Bus Driver BD),以及在總線監(jiān)控的實現(xiàn)中包含 總線監(jiān)控器(BG)。在此,主機處理器提供并且處理通過FlexRay通 信控制器傳輸或者接收的數(shù)據(jù)。對于FlexRay網(wǎng)絡(luò)中的通信來說,可 以配置具有例如最多254個數(shù)據(jù)字節(jié)的消息或者消息對象。為了現(xiàn)在 在物理層、即通信連接和主機處理器之間傳輸該消息或者消息對象, 使用通信模塊、特別是通信控制器。
通信模塊擁有消息存儲器,要由被分配給通信模塊的用戶發(fā)送的 消息對象或者要由該用戶接收的消息對象在為了發(fā)送而被轉(zhuǎn)發(fā)給通信 連接或者為了進一步處理而被轉(zhuǎn)發(fā)給主機處理器之前被緩存在該消息 存儲器中。消息存儲器的數(shù)據(jù)字段的數(shù)目和大小在通信系統(tǒng)的配置階 段或者重新配置階段期間被配置。
在現(xiàn)有技術(shù)中,消息存儲器在每個時隙開始時被消息管理器搜 索,以便確定存放消息或者還要存放消息的那些數(shù)據(jù)字段,其中這些 消息要通過當前的信道在當前的通信周期中和/或在當前的時隙中被 發(fā)送或者被接收。因此,在搜索消息存儲器時例如確定一個數(shù)據(jù)字段, 該數(shù)據(jù)字段被設(shè)置用于這樣的消息,該消息應(yīng)該在當前的通信周期中 以及在當前的時隙中通過當前的所觀察的信道被接收。在接收了該消 息之后,該消息隨后被存放在所確定的數(shù)據(jù)字段中。同樣,可以在搜 索消息存儲器時例如確定存放有消息的數(shù)據(jù)字段,該消息應(yīng)該在當前 的通信周期中以及在當前的時隙中通過當前的所觀察的信道被發(fā)送。 該消息隨后從所確定的數(shù)據(jù)字段中被取出并且被轉(zhuǎn)發(fā)給通信連接以便 發(fā)送。
然而已經(jīng)證明不利的是,搜索遍歷(Suchdurchlauf )特別是在較 大的消息存儲器的情況下要求相對多的時間,并且由于該搜索遍歷而 可能導(dǎo)致在接收或者發(fā)送消息時的延遲。由于在每個時隙中搜索整個 消息存儲器,可能導(dǎo)致通信系統(tǒng)的實時能力的損害。
發(fā)明內(nèi)容
因此,本發(fā)明所基于的任務(wù)在于,這樣設(shè)計消息存儲器的搜尋遍 歷,使得以最佳的方式支持消息的傳輸,并且特別是即使在較大的消 息存儲器的情況下也還可以保證通信系統(tǒng)的實時能力。
為了解決該任務(wù),從開頭所提及的類型的數(shù)據(jù)傳輸方法出發(fā)建 議為了確定消息在消息存儲器中的位置,每隔一定時間分別針對多 個還要隨后的時間窗預(yù)先搜索消息存儲器,并且作為搜索遍歷的結(jié) 果,在被分配給消息存儲器的緩沖存儲器中存放要在多個還要隨后的 時間窗中發(fā)送的或者接收的消息的位置。
也即根據(jù)本發(fā)明建議,不是在每個時隙中完全搜索消息存儲器,
而是針對多個將來的時隙執(zhí)行搜索遍歷。也就是說,利用唯一的搜索
遍歷,針對多個將來的時隙確定消息在消息存儲器中的位置。在搜索 遍歷的范圍內(nèi)所確定的位置被存放在緩沖存儲器中,并且可以稍后在 真正的數(shù)據(jù)傳輸?shù)姆秶鷥?nèi)在幾乎沒有時間延遲的情況下從該緩沖存儲 器中被調(diào)用。在真正的數(shù)據(jù)傳輸?shù)姆秶鷥?nèi),因此無需整個消息存儲器 的完整的搜索遍歷。通過這種方式,根據(jù)本發(fā)明的通信系統(tǒng)的實時能 力可以被決定性地改善。
根據(jù)本發(fā)明的一個有利的改進方案建議,在數(shù)據(jù)傳輸?shù)姆秶鷥?nèi)要 在當前的時間窗中通過通信系統(tǒng)傳輸?shù)南南⒋鎯ζ鞯脑诰彌_存 儲器中針對該時間窗所說明的位置中被讀出,并且通過通信連接被傳 輸,或者在當前的時間窗中通過通信連接被傳輸?shù)南⒈淮娣旁谙?存儲器的在緩沖存儲器中針對該時間窗所說明的位置上。因此如果在 真正的數(shù)據(jù)傳輸?shù)姆秶鷥?nèi)應(yīng)發(fā)送消息存儲器中的消息,則簡單地訪問 緩沖存儲器中的相應(yīng)的位置,隨后訪問消息存儲器的被存放在緩沖存 儲器中的位置,提取存儲在那里的消息并且轉(zhuǎn)發(fā)給通信連接以便發(fā) 送。同樣,當在真正的消息傳輸?shù)姆秶鷥?nèi)消息被接收并且應(yīng)該被存儲 在消息存儲器中時,可以簡單地訪問緩沖存儲器中的相應(yīng)的位置并且 將通過通信連接所接收的消息存儲在消息存儲器的被存放在緩沖存儲 器中的位置上。
根據(jù)本發(fā)明的一種優(yōu)選的實施形式建議,當前的時間窗和隨后的 多個時間窗的數(shù)據(jù)傳輸與針對緊接在數(shù)據(jù)傳輸?shù)淖詈蟮臅r間窗之后的 時間窗以及隨后的多個時間窗的搜索遍歷同時進行,其中對于所述隨 后的多個時間窗來說,消息在消息存儲器中的位置已經(jīng)被存放在緩沖
存儲器中。因此,這意味著,將來的時隙l…n (n〉l)的真正的數(shù)據(jù)傳 輸以及針對隨后的將來的時隙(n+l)…2n的搜索遍歷并行地進行。針 對該實施形式,狀態(tài)存儲器被選擇為這樣大,使得該狀態(tài)存儲器包括 2n個數(shù)據(jù)字段,也即n個能夠針對數(shù)據(jù)傳輸存放消息在消息存儲器中 的位置的數(shù)據(jù)字段以及n個另外的能夠存放消息在消息存儲器中的在 當前的搜索遍歷的范圍內(nèi)所確定的位置的字段。優(yōu)選地,針對真正的 數(shù)據(jù)傳輸,消息在消息存儲器中的位置在前面的搜索遍歷中已被確定 并且被存放在緩沖存儲器中。緩沖存儲器的兩組n個數(shù)據(jù)字段優(yōu)選地 被交替訪問,每一組n個數(shù)據(jù)字段一次在搜索遍歷的范圍內(nèi)用于存儲 位置,并且隨后在真正的數(shù)據(jù)傳輸?shù)姆秶鷥?nèi)用于調(diào)用所存儲的位置,
其中兩組n個數(shù)據(jù)字段從不同時在搜索遍歷或者數(shù)據(jù)傳輸?shù)姆秶鷥?nèi)被 使用,而是始終彼此錯開。利用該實施形式,可以附加地節(jié)省用于搜 索遍歷的處理時間,使得通信系統(tǒng)的實時能力實際上始終被給定。搜 索遍歷優(yōu)選地由特有的計算單元、例如所謂的狀態(tài)自動機(有限狀態(tài) 機)來協(xié)調(diào)并且實施。
有利的是,搜索遍歷的多個時間窗的數(shù)目與用于真正的數(shù)據(jù)傳輸 的多個時間窗的數(shù)目大小相同。因此如果應(yīng)該按照根據(jù)本發(fā)明的方法 傳輸(接收或者發(fā)送)數(shù)據(jù),則針對多個將來的時隙相繼地實施搜索 遍歷并且隨后實施真正的數(shù)據(jù)傳輸(數(shù)據(jù)的發(fā)送或者接收)。如果多
歷交替地并行執(zhí)行,則必需的是,執(zhí)行真正的數(shù)據(jù)傳輸?shù)膶淼臅r隙 的數(shù)目與執(zhí)行搜索遍歷的將來的時隙的數(shù)目大小相同,以便在緩沖存 儲器的兩個存儲區(qū)之間可以分別全面地切換數(shù)目與將來的時隙的數(shù)目 對應(yīng)的數(shù)據(jù)字段。
因此建議對緩沖存儲器進行劃分,其中在緩沖存儲器的第一部 分中針對數(shù)據(jù)傳輸存放有用于當前的時間窗和隨后的多個時間窗的消 息的位置,其中對于隨后的多個時間窗來說在消息存儲器中已經(jīng)被存 放在緩沖存儲器中,并且在緩沖存儲器的第二部分中針對搜索遍歷存 放用于緊接在數(shù)據(jù)傳輸?shù)淖詈蟮臅r間窗之后的時間窗和隨后的多個時 間窗的消息的位置。
根據(jù)本發(fā)明的另 一種有利的改進方案建議在要存儲在消息存儲 器中的消息中包含有具有第一數(shù)據(jù)規(guī)模(Datenumf ang )的第一數(shù)據(jù)和 具有第二數(shù)據(jù)規(guī)模的第二數(shù)據(jù),并且第 一數(shù)據(jù)以每個消息各一個報頭 區(qū)的方式被存儲在消息存儲器的報頭段中,并且第二數(shù)據(jù)以每個消息 各一個數(shù)據(jù)區(qū)的方式被存儲在數(shù)據(jù)段中。消息存儲器至報頭段和數(shù)據(jù) 段的劃分以及數(shù)據(jù)段中的數(shù)據(jù)區(qū)的數(shù)目和大小優(yōu)選地在消息存儲器的 配置的范圍內(nèi)根據(jù)要求可變地進行。由此得到不同的優(yōu)點因此應(yīng)用 者在編程時可以決定是否他希望使用較大數(shù)目的具有小的數(shù)據(jù)字段的 消息或者是否他希望使用較小數(shù)目的具有大的數(shù)據(jù)字段的消息。在具 有不同大小的數(shù)據(jù)區(qū)的消息的配置中,最佳地充分利用現(xiàn)有的存儲 器。應(yīng)用者具有將一個數(shù)據(jù)區(qū)共同用于不同的消息的可能性。在集成 電路上實施通信控制器、即通信模塊時,可以通過所使用的存儲器(特
別是RAM存儲器)的存儲器深度與應(yīng)用的要求的匹配來精確地匹配消 息存儲器的大小,而不改變通信控制器或者通信模塊的其它功能。
消息存儲器的配置僅僅通過報頭段進行。在報頭區(qū)中,為消息規(guī) 定信道、周期和消息應(yīng)該被傳輸(接收或者發(fā)送)的時隙。此外,在 配置的范圍內(nèi)可以為每個消息規(guī)定在消息存儲器的數(shù)據(jù)段中的數(shù)據(jù)部 分的大小、指向該數(shù)據(jù)部分的開始的指針以及是否涉及待發(fā)送的或者 涉及待接收的消息的信息。
根據(jù)本發(fā)明的另一個擴展方案,在消息存儲器的報頭區(qū)中針對每 個消息存放標識,該標識識別相應(yīng)的消息,并且通過該標識,消息可 以被分配給確定的通信周期和該周期內(nèi)的確定的時間窗。存放有標識 的報頭區(qū)的部分也被稱為標識字段。
有利的是,針對每個在搜索遍歷期間所考慮的并且要在多個還要 隨后的時間窗之一 中發(fā)送的或者接收的消息,在緩沖存儲器中設(shè)置有 兩個字段,其中在第一字段中存放指向被存放在消息存儲器中的消息 的相應(yīng)的位置的指針,并且在第二字段中存放被存放在消息存儲器中 的消息的狀態(tài)。指針優(yōu)選地指向被存放在消息存儲器中的消息的、被 存儲在報頭段中的報頭區(qū)中的第 一數(shù)據(jù)。
作為被存放在消息存儲器中的消息的狀態(tài),在緩沖存儲器中優(yōu)選 地存儲這樣的信息,即對于所考慮的時間窗來說究竟是否應(yīng)接收或者 應(yīng)發(fā)送消息('empty,)和/或是否消息應(yīng)被發(fā)送('tx — buf,)或 者應(yīng)被接收('rx-buf,)。如果消息既不應(yīng)被發(fā)送也不應(yīng)被接收, 則狀態(tài)被設(shè)置為 'empty,。
在自前有效的FlexRay規(guī)范v2. 1以及目前可用的用于實現(xiàn) FlexRay通信系統(tǒng)的硬件和軟件部件的情況下,特別有利的是,為了 確定消息在消息存儲器中的位置,每隔一定時間分別針對四個還要隨 后的時間窗預(yù)先搜索消息存儲器,并且作為搜索遍歷的結(jié)果,將要在 四個還要隨后的時間窗中發(fā)送的或者接收的消息的位置存放在緩沖存 儲器中。自然,搜索遍歷也可以針對僅僅兩個時隙或者也針對多于四 個的時隙預(yù)先進行。優(yōu)選地,搜索遍歷預(yù)先被實施的時隙的數(shù)目是集 合2'中的數(shù),其中x是大于1的整自然數(shù)。因此,優(yōu)選地得到時隙的 數(shù)目2、 4、 8、 16、 32、...
根據(jù)本發(fā)明的一個優(yōu)選的實施形式建議,在搜索遍歷的范圍內(nèi)針
對多個延要隨后的時間窗根據(jù)下列標準中的 一個或多個來搜索消息存
儲器
-確定是否在消息存儲器中存放有針對所考慮的傳輸信道的消
息,
-確定是否在消息存儲器中存放有針對所考慮的通信周期的消
息,
-確定是否在消息存儲器中存放有針對多個還要隨后的時間窗 的消息,
-確定是否所確定的消息是要發(fā)送的或者要接收的消息。 如果在搜索遍歷的范圍內(nèi)在消息存儲器中針對當前所考慮的信道 (信道A或者信道B)、針對當前的通信周期以及針對所考慮的將來的 時隙找到待發(fā)送的消息,則在緩沖存儲器中的對應(yīng)于所考慮的時隙的 位置上存放'Tx-buf,。如果在搜索遍歷的范圍內(nèi)在消息存儲器中針 對當前所考慮的信道(信道A或者信道B)、針對當前的通信周期以及
針對所考慮的將來的時隙找到待接收的消息的數(shù)據(jù)字段,則在緩沖存 儲器中的對應(yīng)于所考慮的時隙的位置上存放'Rx —buf,。如果在搜索 遍歷的范圍內(nèi)在消息存儲器中針對當前所考慮的信道(信道A或者信 道B)、針對當前的通信周期以及針對所考慮的將來的時隙既沒有找到 待發(fā)送的消息也沒有找到待接收的消息的數(shù)據(jù)段,則在緩沖存儲器中 的對應(yīng)于所考慮的時隙的位置上存放'empty,,如果這沒有在搜索遍 歷開始之前已經(jīng)被存放在那里。
在搜索遍歷的范圍內(nèi),詢問被存放在消息存儲器中的消息的隨后 所說明的信息
-CH A, CH B:用于確定是否設(shè)置有消息的信道對應(yīng)于所考慮的 信道,
-循環(huán)碼(Cycle Code):用于確定是否設(shè)置有消息的通信周期 對應(yīng)于所考慮的通信周期,
-幀ID (Frame ID):用于確定是否設(shè)置有消息的時隙對應(yīng)于 當前的時隙,以及
-TXM(傳輸模式)用于確定是否消息被設(shè)置用于發(fā)送(TXM-l) 或者用于接收(TXM=0)。
要詢問的信息優(yōu)選地被包含在所提及的狀態(tài)位(CH A, CHB, Cycle
Code, TXM)中,作為消息存儲器的報頭段中的報頭區(qū)中的第一數(shù)據(jù)的 部分。
作為本發(fā)明的任務(wù)的另一種解決方案,從開始所提及的類型的通 信模塊出發(fā)而建議為了確定消息在消息存儲器中的位置,通信模塊 具有用于每隔一定時間分別針對多個還要隨后的時間窗預(yù)先搜索消息 存儲器的裝置、被分配給消息存儲器的緩沖存儲器以及用于在緩沖存 儲器中存放要在多個還要隨后的時間窗中發(fā)送的或者接收的消息的位 置作為搜索遍歷的結(jié)果的裝置。
根據(jù)本發(fā)明的一種有利的改進方案建議,用于搜索消息存儲器的 裝置以及用于在緩沖存儲器中存放所確定的消息的位置的裝置被構(gòu)造 為狀態(tài)自動機。
根據(jù)本發(fā)明的一種優(yōu)選的實施形式建議,通信模塊被構(gòu)造為 FlexRay通信模塊,用于接收、發(fā)送和緩存根據(jù)FlexRay規(guī)范所傳送 的消息。
有利地,用于搜索消息存儲器的裝置和用于在緩沖存儲器中存放 所確定的消息的位置的裝置被構(gòu)造用于實施根據(jù)權(quán)利要求2至12之一 所述的方法。
作為本發(fā)明的任務(wù)的另一種解決方案,從開始所提及的類型的通 信系統(tǒng)的用戶出發(fā)而建議,為了確定消息在消息存儲器中的位置,通 信模塊具有用于每隔 一定時間分別針對多個還要隨后的時間窗預(yù)先搜 索消息存儲器的裝置、被分配給消息存儲器的緩沖存儲器以及用于在 緩沖存儲器中存放要在多個還要隨后的時間窗中發(fā)送的或者接收的消 息的位置作為搜索遍歷的結(jié)果的裝置。
根據(jù)本發(fā)明的一個有利的改進方案建議,用戶包括主機計算機, 該主機計算機與通信模塊一同被集成在共同的半導(dǎo)體組件上。該主機 計算機優(yōu)選地被構(gòu)造為微處理器。
根據(jù)本發(fā)明的一個優(yōu)選的實施形式建議,通信模塊按照權(quán)利要求 14至16之一來構(gòu)造。
最后,作為本發(fā)明的任務(wù)的另一種解決方案,從開始所提及的類 型的通會系統(tǒng)出發(fā)而建議,為了確定消息在消息存儲器中的位置,通 信模塊具有用于每隔 一定時間分別針對多個還要隨后的時間窗預(yù)先搜 索消息存儲器的裝置、被分配給消息存儲器的緩沖存儲器以及用于在
緩沖存儲器中存放要在多個還要隨后的時間窗中發(fā)送的或者接收的消 息的位置作為搜索遍歷的結(jié)果的裝置。
根據(jù)本發(fā)明的一個有利的改進方案建議,通信模塊按照權(quán)利要求
14至16之一來構(gòu)造。
本發(fā)明的另外的優(yōu)點和有利的擴展方案從權(quán)利要求的特征中以及 從圖和說明書中得出。其中
圖l以示意圖示出一個通信模塊及其至通信連接的連接以及用
戶,
圖5詳細示出圖1中的通信模塊的特定的實施形式以及其連接, 圖3詳細示出根據(jù)圖1或圖2的通信模塊的消息存儲器的結(jié)構(gòu), 圖4至圖6示意性示出在從用戶至消息存儲器的方向上的數(shù)據(jù)訪
問的架構(gòu)和過程,
圖7至圖9示意性示出在從消息存儲器至用戶的方向上的數(shù)據(jù)訪
問的架構(gòu)和過程,
圖IO示意性示出根據(jù)圖1或者圖2的通信模塊的消息管理器以及
包含在其中的狀態(tài)自動機,
圖ll再次示意性示出通信模塊的一些組件以及用戶和相應(yīng)的受消 息管理器控制的數(shù)據(jù)路徑,
圖12示出涉及圖11中的數(shù)據(jù)路徑的訪問分布圖13示出根據(jù)本發(fā)明的通信模塊的緩沖存儲器,
圖14示出在根據(jù)本發(fā)明的數(shù)據(jù)傳輸方法的范圍內(nèi)用于實施的搜索 方法的流程圖,
圖15示出根據(jù)一種優(yōu)選實施形式的根據(jù)本發(fā)明的數(shù)據(jù)傳輸方法的
流程圖。
具體實施例方式
圖l示意性示出FlexRay通信模塊100,用于將用戶或者主機102 連接到FlexRay通信連接101上,即連接到FlexRay通信系統(tǒng)的物理 層上。通信模塊IOO也被稱為FlexRay-IP模塊或者被稱為E-Ray控制 器。從功能上來看,通信模塊100包括FlexRay通信控制器。FlexRay
通信模塊100通過連接107與用戶或者用戶處理器102 (也即主機處 理器)相連接,并且通過連接106與通信連接101相連接。為了一方 面就傳輸時間而言以及另一方面就數(shù)據(jù)完整性而言毫無問題地進行連 接,在FlexRay通信模塊100中示意性地主要區(qū)分三個裝置。
在此,第一裝置105用于存儲、特別是緩存待傳輸?shù)?、即要由?戶102發(fā)送的或者接收的消息的至少一部分。第二裝置104通過連接 107和108連接在用戶102和該第一裝置105之間。同樣,第三裝置 103通過連接106和109連接在通信連接101和第一裝置105之間, 由此可以實現(xiàn)在最佳的速度的情況下在保持數(shù)據(jù)完整性的同時作為消 息、特別是FlexRay消息的一部分的數(shù)據(jù)非常靈活地輸入到第一裝置 105中或者從第一裝置105中輸出。
在圖2中更詳細一些地示出在一種優(yōu)選實施形式中的通信模塊 100。同樣更詳細地示出相應(yīng)的連接106至109。第二裝置104在此包 含輸入緩沖存儲器201 ( Input Buffer, IBF)、輸出緩沖存儲器202 (Output Buffer, OBF )以及由兩個部分2 03和2 04構(gòu)成的接口模塊, 其中子模塊203 (通用CPU接口, GIF)不依賴于用戶,并且第二子模 塊204是用戶特定的。用戶特定的子模塊204 (用戶CPU接口 CIF) 將用戶特定的主機CPU 102、即客戶特定的用戶與其余的FlexRay通 信模塊100相連接。為此設(shè)置有雙向數(shù)據(jù)線216、地址線217以及控 制輸入218。同樣設(shè)置有用219表示的中斷輸出219。
用戶特定的子模塊204和不依賴于用戶的子模塊203相連接,即 FlexRay通信模塊100擁有通用的、即一般的CPU接口,通過相應(yīng)的 用戶特定的子模塊204、即用戶CPU接口 CIF,大量的不同的客戶特 定的主機CPU可以連接到該CPU接口上。通過這種方式,才艮據(jù)用戶只 需改變用戶特定的子模塊204,而其余的通信模塊IOO可以不依賴于用 戶始終相同地被構(gòu)造,這意味著明顯更小的花費。用戶特定的子模塊 204例如^吏FlexRay通信模塊100的位寬(例如16位)與所連接的主 機CPU 102的位寬(例如8、 16或者32位)相匹配,
輸入緩沖存儲器201和輸出緩沖存儲器202可以被構(gòu)造在共同的 存儲模塊中或者在分開的存儲模塊中。在此,輸入緩沖存儲器201用 于消息的緩存以便從主機CPU 102傳輸至消息存儲器300。輸入緩沖 存儲器201優(yōu)選地這樣來構(gòu)造,使得它可以存儲兩個完整的、分別由
特別是具有配置數(shù)據(jù)的報頭段HS以及數(shù)據(jù)段DS或者有效載荷段構(gòu)成 的消息。在此,輸入緩沖存儲器201兩部分地(子緩沖存儲器和影子 存儲器(Schattenspeicher))構(gòu)造,由此可以通過交替地寫輸入緩 沖存儲器201的兩個部分或者通過訪問切換來加速用戶CPU 102和消 息存儲器3 00之間的傳輸。
同樣,輸出緩沖存儲器(Output-Buffer, OBF) 202用于緩存消息 以便從消息存儲器300傳輸至用戶CPU 102。在此,輸出緩沖器模塊 202也這樣來構(gòu)造,使得可以存儲兩個完整的、由特別是具有配置數(shù)據(jù) 的報頭段HS以及數(shù)據(jù)段DS、即有效栽荷段構(gòu)成的消息。在此,輸出緩 沖存儲器202也被劃分為兩部分,即子緩沖存儲器和影子存儲器,由 此這里也可以通過交替地讀輸出緩沖存儲器202的兩個部分或者通過 訪問切換來加速用戶CPU或者主機CPU 102和消息存儲器300之間的 傳輸。由塊201至204構(gòu)成的第二裝置104與第一裝置105如所示的 那樣相連接。
裝置105由消息管理器200 (Message Handler, MHD )和消息存 儲器300 (Message RAM)構(gòu)成。消息管理器200控制或者監(jiān)控輸入緩 沖存儲器201以及輸出緩沖存儲器202與消息存儲器300之間的數(shù)據(jù) 傳輸。同樣地,它控制或者監(jiān)控在另外的方向上通過第三裝置103的 數(shù)據(jù)傳輸。消息存儲器300優(yōu)選地被實施為單端口 RAM。該RAM存儲 器存儲消息或者消息對象、即真正的數(shù)據(jù),以及配置和狀態(tài)數(shù)據(jù)。消 息存儲器300的確切的結(jié)構(gòu)在圖3中被進一步示出。每個消息對象由 報頭段HS和數(shù)據(jù)段DS構(gòu)成。在報頭區(qū)HS中,存放有標識字段以及另 外的配置和狀態(tài)信息O以及指向消息存儲器300的數(shù)據(jù)段DS中的數(shù) 據(jù)區(qū)DB的開始的指針DP。
第三裝置103由塊205至208構(gòu)成。對應(yīng)于物理層(FlexRay Physical Layer)的兩個信道A ( CH A )和B ( CH B ),該裝置103 被劃分為各具有兩個數(shù)據(jù)方向的兩個數(shù)據(jù)路徑。這通過連接213和214 變得明顯,其中示出了信道A的兩個數(shù)據(jù)方向、即用于接收的RxA和 用于發(fā)送的TxA以及信道B的兩個數(shù)據(jù)方向、即RxB和TxB。用連接 215來表示可選的雙向控制輸入。第三裝置103的連接通過用于信道B 的第一緩沖存儲器205和用于信道A的第二緩沖存儲器206進行。這 兩個緩沖存儲器(瞬態(tài)緩沖RAM: RAM A和RAM B )用作來自或者至第
一裝置105的數(shù)據(jù)傳輸?shù)木彌_存儲器。對應(yīng)于兩個信道A、 B,這兩個 緩沖存儲器205和206分別與接口模塊207和208相連接,這兩個接 口模塊包括由發(fā)送/接收移位寄存器和FlexRay協(xié)議有限狀態(tài)機構(gòu)成 的FlexRay協(xié)議控制器或者總線協(xié)議控制器。兩個緩沖存儲器205和 206因此用作接口模塊的移位寄存器或者FlexRay協(xié)議控制器207和 208與消息存儲器300之間的數(shù)據(jù)傳輸?shù)木彌_存儲器。在此也有利地通 過各緩沖存儲器205或者206存儲數(shù)據(jù)字段、也即兩個FlexRay消息 的有效載荷段或者數(shù)據(jù)段DS。
此外,在通信模塊100中以209示出了全局時間單元(Global Time Unit, GTU ),該全局時間單元主管FlexRay中的時間+貞(Zeitraster )、 即微滴答聲(Mikrotick) jLiT或者宏滴答聲(Makrot ick ) MT的顯示。 同樣,通過全局時間單元209來調(diào)節(jié)循環(huán)計數(shù)器(Cycle Counter)的 容錯的時鐘同步以及FlexRay的靜態(tài)和動態(tài)段中的時間進程的控制。 通信系統(tǒng)的用戶102擁有自己的本地時鐘,該本地時鐘被同步到全局 時間。為了時鐘同步,同步消息在通信周期的靜態(tài)部分中被傳輸。時 鐘同步在所謂的網(wǎng)絡(luò)空閑時間(NIT)期間在每個通信周期結(jié)束時進 行。借助與當前的FlexRay規(guī)范相應(yīng)的特定的算法,部件102的本地 時鐘時間這樣被校正,使得所有本地時鐘都與全局時鐘同步運行。
以塊210示出了通用系統(tǒng)控制裝置(System Universal Control, SUC),通過該系統(tǒng)控制裝置控制和監(jiān)控FlexRay通信控制 器或者通信模塊100的工作模式。屬于工作模式的有蘇醒(Wakeup)、 啟動 (Startup )、 重新集成 (Reintegration ) 或者集成 (Integration)、 正常工作(normal operation)以及被動工作 (passive operation )。塊211示出網(wǎng)絡(luò)和錯誤管理(Network and Error Management,腿),如在FlexRay協(xié)議規(guī)范v2. 1中所描述的 那樣。塊212最后示出中斷控制(Interrupt Controll, INT),其管 理狀態(tài)和錯誤中斷標志(Status and Error Interrupt Flags)并且 控制或者監(jiān)控至用戶CPU 102的中斷輸出219。塊212此外包含絕對 和相對計時器,用于產(chǎn)生時間中斷或計時器中斷。
對于在FlexRay網(wǎng)絡(luò)或者FlexRay通信系統(tǒng)中的通信來說,消息 對象或者消息可以在消息緩沖器300中配置有最多254個數(shù)據(jù)字節(jié)。 消息存儲器300特別是消息RAM存儲器(Message RAM),其例如可以
存儲直到最多64個消息對象。涉及消息本身的處理或者管理的所有功 能都在消息管理器或者消息處理機200中被實施。這例如是在兩個 FlexRay協(xié)i義控制器塊207和208以及消息存儲器300 (即Message RAM)之間的消息的接受過濾、傳輸以及發(fā)送順序的控制和配置數(shù)據(jù)或 者狀態(tài)數(shù)據(jù)的提供。
外部CPU、即用戶處理器或者主機102的外部處理器可以通過用戶 接口利用用戶特定的部分204直接訪問FlexRay通信模塊的寄存器。 在此,使用多個寄存器。這些寄存器被用來配置以及控制FlexRay協(xié) 議控制器、即接口模塊207和208、消息管理器(Message Handler, MHD) 200、全局時間單元(Global Time Unit, GTU) 209、通用系統(tǒng) 控制器(System Universal Controller, SUC) 210、網(wǎng)絡(luò)和錯誤管理 單元(Network- and Error-Management Unit,匪)211、中斷控制 器(Interrupt Controller, INT) 212以及對消息RAM (即消息存儲 器300 )的訪問,并且同樣用于顯示相應(yīng)的狀態(tài)。在圖4至圖6以及圖 7至圖9中至少還將進一步討論這些寄存器的部分。這樣所描述的、根 據(jù)本發(fā)明的FlexRay通信模塊100能夠筒單地實現(xiàn)FlexRay規(guī)范 v2. 1,由此可以簡單地產(chǎn)生具有相應(yīng)的FlexRay功能的ASIC或者微控 制器。
在圖3中詳細地描述了消息存儲器300的劃分。對于FlexRay通 信控制器的按照FlexRay協(xié)議規(guī)范所要求的功能來說,需要消息存儲 器300用于提供待發(fā)送的消息(發(fā)送緩沖器)以及存儲無錯誤地接收 的消息(接收緩沖器)。FlexRay協(xié)議允許具有0至254個字節(jié)的數(shù) 據(jù)區(qū)、即有效載荷區(qū)的消息。如在圖2中所示,消息存儲器300是 FlexRay通信模塊100的一部分。下面描述的方法以及相應(yīng)的消息存 儲器300描述待發(fā)送的消息以及所接收的消息特別是在使用隨機訪問 存儲器(RAM)的情況下的存儲,其中通過根據(jù)本發(fā)明的機制可以在預(yù) 先給定大小的消息存儲器300中存儲可變數(shù)目的消息。在此,可存儲 的消息的數(shù)目取決于各個消息的數(shù)據(jù)區(qū)的大小,由此一方面可以使所 需要的存儲器300的大小最小化,而不限制消息的數(shù)據(jù)區(qū)的大小,并 且另一方面實現(xiàn)存儲器300的最佳利用?,F(xiàn)在,下面將進一步描述用 于FlexRay通信控制器的、特別是基于RAM的消息存儲器300的這種 可變的劃分。為了實施,現(xiàn)在示例性地預(yù)先給定具有n位、例如8、 16、 32等 等位的規(guī)定字寬以及m個字的預(yù)先給定的存儲器深度的消息存儲器 300 (m、 n為自然數(shù)).在此,消息存儲器300被劃分為兩個段,即 報頭段HS ( Kopf segment)和數(shù)據(jù)段DS (有效載荷部分,有效載荷段). 針對每個消息設(shè)置一個報頭區(qū)HB和一個數(shù)據(jù)區(qū)DB。因此,針對消息0、 1至k (k為自然數(shù)),設(shè)置報頭區(qū)HBO、 HB1至HBk以及數(shù)據(jù)區(qū)DBO、 DB1至DBk。也即,在一個消息中,在第一和第二數(shù)據(jù)之間進行區(qū)分, 其中第一數(shù)據(jù)對應(yīng)于關(guān)于FlexRay消息的配置數(shù)據(jù)和/或狀態(tài)數(shù)據(jù),并 且分別被存放在才艮頭區(qū)(HBO, HB1,…,HBk)中。對應(yīng)于真正的應(yīng)該 被傳輸?shù)臄?shù)據(jù)(所謂的有用數(shù)據(jù))的第二數(shù)據(jù)被相應(yīng)地存放在數(shù)據(jù)區(qū) DB(DBO, DB1,…,DBk)中。因此,針對每個消息的第一數(shù)據(jù)產(chǎn)生 第一數(shù)據(jù)規(guī)模(以位、字節(jié)或者存儲字來測量),并且針對消息的第 二數(shù)據(jù)產(chǎn)生第二數(shù)據(jù)規(guī)模(同樣以位、字節(jié)或者存儲字來測量),其 中每個消息的第二數(shù)據(jù)規(guī)??梢圆煌?。在消息存儲器300中報頭段HS 和數(shù)據(jù)段DS之間的劃分是可變的,即在兩個區(qū)HS、 DS之間不存在預(yù) 先給定的邊界。根據(jù)本發(fā)明,報頭段HS和數(shù)據(jù)段DS之間的劃分取決 于消息的數(shù)目k以及一個消息或者所有k個消息的第二數(shù)據(jù)規(guī)模、即 真正的有用數(shù)據(jù)的規(guī)模。
根據(jù)本發(fā)明,現(xiàn)在相應(yīng)的消息的配置數(shù)據(jù)KDO、 KDl至KDk分別被 直接分配指針元素或者數(shù)據(jù)指針DPO、 DPl至DPk。在特殊的擴展方案 中,每個報頭區(qū)HBO、 HB1至HBk都被分配固定數(shù)目的(在此為兩個) 存儲字,使得配置數(shù)據(jù)KD(KDO, KD1,…,KDk)和指針元素DP (DPO, DP1,…,DPk)總是一同被存放在才艮頭區(qū)(HBO, HB1,…,HBk)中。 用于存儲真正的消息數(shù)據(jù)DO、 Dl至Dk的數(shù)據(jù)段DS連接在具有報頭區(qū) HB的報頭段HS之后,其中該報頭段的大小或者第一數(shù)據(jù)規(guī)模取決于待 存儲的消息的數(shù)目k。該數(shù)據(jù)段(或者數(shù)據(jù)部分)DS在其數(shù)據(jù)規(guī)模方 面取決于所存放的消息數(shù)據(jù)(有用數(shù)據(jù))的相應(yīng)的數(shù)據(jù)規(guī)模,在此例 如在DBO中為六個字,在DB1中為一個字并且在DBk中為兩個字。由 此,相應(yīng)的指針元素DPO、 DPI至DPk始終指向開始,即指向相應(yīng)的數(shù) 據(jù)區(qū)DBO、 DB1至DBk的起始地址,相應(yīng)消息O、 1至k的數(shù)據(jù)DO、 Dl 至Dk被存放在這些數(shù)據(jù)區(qū)中。由此,消息存儲器300的在報頭段HS
息
的相應(yīng)的數(shù)據(jù)規(guī)模,并且由此取決于總的第二數(shù)據(jù)規(guī)模。如果配置較
少的消息,則報頭段HS較小并且消息存儲器300中的變得空閑的區(qū)域 可以被用作用于存儲數(shù)據(jù)的數(shù)據(jù)段DS的附加。通過該可變性,可以保 證最佳的存儲器利用,由此也可以使用更小的存儲器300。特別是大小 同樣取決于所存儲的消息的數(shù)目k和消息的相應(yīng)的第二數(shù)據(jù)規(guī)模的組 合的空閑數(shù)據(jù)段FDS因此是最小的并且甚至可以為0。
由此,相對于消息存儲器300的規(guī)定的劃分給出以下優(yōu)點應(yīng)用 者可以在編程時決定,是否他想使用具有小的數(shù)據(jù)字段的較大數(shù)目的 消息,或者是否他想使用具有大的數(shù)據(jù)字段的較小數(shù)目的消息。在配 置具有不同大小的數(shù)據(jù)區(qū)DB的消息時,現(xiàn)有的存儲容量被最優(yōu)地利 用。應(yīng)用者具有針對不同的消息共同使用一個數(shù)據(jù)存儲區(qū)的可能性。
除了使用指針元素(DP0, DP1,…,DPk)之外,也可以將第一和 第二數(shù)據(jù)、即配置數(shù)據(jù)KD (KD0, KD1,…,KDk)和真正的數(shù)據(jù)D (D =D0,…,Dk)以能預(yù)先給定的順序存放,使得報頭段HS中的報頭區(qū) HB0至HBk的順序以及數(shù)據(jù)段DS中的數(shù)據(jù)區(qū)DB0至DBk的順序分別相 同。于是,也許甚至可以舍棄指針元素。然而,對于該情況來說,必 須可以訪問關(guān)于各個數(shù)據(jù)區(qū)DBO至DBk的長度的信息,或者數(shù)據(jù)區(qū)DB0 至DBk都大小相同。
在一種特別的擴展方案中,消息存儲器300被分配錯誤標識生成 器、特別是奇偶校驗位產(chǎn)生器元件以及錯誤標識檢驗器、特別是奇偶 校驗位檢驗元件,以便通過以下方式保證在報頭段HS和數(shù)據(jù)段DS中 所存儲的數(shù)據(jù)的正確性,即針對每個存儲字或者針對每個區(qū)(報頭區(qū) HB和/或數(shù)據(jù)區(qū)DB),可以一同存放校驗和(Checksumme)正好特別 是作為奇偶校驗位.其它的控制標識、例如CRC (循環(huán)冗余校驗)或者 更有力的標識、例如ECC (錯誤代碼糾正)是可設(shè)想的。
在集成電路上實施FlexRay通信控制器的情況下,可以通過^f吏所 使用的存儲器的存儲器深度與應(yīng)用的要求匹配來匹配消息存儲器300 的大小,而不改變該通信控制器的其它功能。
此外,現(xiàn)在借助圖4至圖6以及圖7至圖9來進一步描述通過緩 沖存儲器裝置201和202的主機CPU訪問、即配置數(shù)據(jù)或狀態(tài)數(shù)據(jù)以 及真正的有用數(shù)據(jù)的寫和讀。在此目的是,這樣建立在數(shù)據(jù)傳輸方面 的去耦,使得可以確保數(shù)據(jù)完整性并且同時保證高的傳輸速度。該過
程的控制通過消息管理器200來進行,稍后還將在圖10、 11和12中 對此進行進一步描述。
在圖4、圖5和圖6中,首先進一步闡述主機CPU或者用戶CPU 102 通過輸入緩沖存儲器201對消息存儲器300的寫訪問。為此,圖4再 次示出通信模塊100,其中出于清楚的原因,僅僅示出了通信模塊100 的在此相關(guān)的部分。這一方面是負責流程的控制的消息管理器200以 及兩個控制寄存器403和404,這兩個控制寄存器如所示的那樣可以被 安置在通信模塊100中的消息管理器200的外部,然而也可以被包含 在消息管理器200本身中。在此,附圖標記403表示輸入請求寄存器 (Input Buffer Command Request Register), 并且404表示輸入 屏蔽寄存器(Input Buffer Command Mask Register)。因此,主 機CPU 102對消息存儲器300 (Message RAM)的寫訪問通過中間連接 的輸入緩沖存儲器201 (Input Buffer)來進行。該輸入緩沖存儲器 201現(xiàn)在被分開或者被雙重地設(shè)計,更確切地說,^:設(shè)計為子緩沖存儲 器400和屬于該子緩沖存儲器400的影子存儲器401。由此,可以如 下面所描述的那樣實現(xiàn)主機CPU 102對消息存儲器300的消息或消息 對象或者數(shù)據(jù)的連續(xù)訪問,并且由此保證數(shù)據(jù)完整性和加速的傳輸。 訪問的控制通過輸入請求寄存器403以及通過輸入屏蔽寄存器404來 進行。在寄存器403中,在此示例性地針對32位的寬度,用0至31 的數(shù)字來表示寄存器403中的相應(yīng)位位置。同樣的內(nèi)容也適用于寄存 器404和在寄存器404中的位位置0至31。
根據(jù)本發(fā)明,現(xiàn)在例如寄存器403的位位置0至5、 15、 16至21 和31在流程控制方面獲得特別的功能。因此,可以將標識IBRH( Input Buffer Request Host)作為消息標識錄入到寄存器403的位位置0 至5中。同樣,可以將標識IBRS (Input Buffer Request Shadow) 錄入到寄存器403的位位置16至21中。同樣,在寄存器403的寄存 器位置15中將IBSYH以及在寄存器403的寄存器位置31中將IBSYS 作為訪問標識錄入。突出的還有寄存器404的位置O至2,其中在具有 LHSH (Load Header Section Host)以及LDSH (Load Data Section Host)的0和1中將另外的標識作為數(shù)據(jù)標識錄入。這些數(shù)據(jù)標識在 此具有最簡單的形式,即分別作為1位來構(gòu)造。在寄存器404的位位 置"2"中,以STXRH (Set Transmission Request Host)寫入開始 標識。
另外,現(xiàn)在將描述通過輸入緩沖器201對消息存儲器300的寫訪 問的流程。
主機CPU 102將待傳輸?shù)南⒌臄?shù)據(jù)寫入輸入緩沖存儲器201 中。在此,主機CPU 102可以針對消息存儲器300的報頭段HS只寫消 息的配置和報頭數(shù)據(jù)KD,或者針對消息存儲器300的數(shù)據(jù)段DS只寫消 息的真正的待傳輸?shù)挠杏脭?shù)據(jù)D,或者寫兩種數(shù)據(jù)KD、 D。應(yīng)該傳輸消 息的哪個部分、即配置數(shù)據(jù)KD和/或真正的數(shù)據(jù)D通過輸入屏蔽寄存 器4 04中的特殊的數(shù)據(jù)標識LHSH和LDSH來確定。在此,通過LHSH( Load Header Section Host)來確定,是否報頭數(shù)據(jù)、即配置數(shù)據(jù)KD應(yīng)該 被傳輸,以及通過U)SH (Load Data Section Host)來確定,是否數(shù) 據(jù)D應(yīng)該纟皮傳輸。
通過輸入緩沖存儲器201以緩存存儲器40的部分以及屬于該部分 的影子存儲器401兩部分地來構(gòu)造以及應(yīng)該進行相互的訪問,作為 LHSH和LDSH的配對物,設(shè)置有兩個另外的數(shù)據(jù)標識區(qū),這些數(shù)據(jù)標 識區(qū)現(xiàn)在涉及影子存儲器401。這些在寄存器404的位位置16和17 中的數(shù)據(jù)標識用LHSS (Load Header Section Shadow)和LDSS (Load Data Section Shadow)表示。通過這些數(shù)據(jù)標識,由此在影子存儲 器401方面控制傳輸過程。
如果現(xiàn)在起始位或者起始標識STXRH( Set Transmission Request Host )被設(shè)置到輸入屏蔽寄存器404的位位置"2"中,則在進行了分 別待傳輸?shù)呐渲脭?shù)據(jù)KD和/或真正的數(shù)據(jù)D的傳輸之后,在消息存儲 器300中自動地設(shè)置對相應(yīng)消息對象的發(fā)送請求(Transmission Request)。也就是說,通過該起始標識STXRH來控制、特別是啟動所 傳輸?shù)南ο蟮淖詣影l(fā)送。
為此,相應(yīng)地針對影子存儲器401的配對物是起始標識STXRS( Set Transmission Request Shadow),其例如被包含在輸入屏蔽寄存器 404的位位置"18,,中,并且在此在最筒單的情況下也構(gòu)造為1位。STXRS 的功能類似于STXRH的功能,僅僅涉及影子存儲器401。
當主機CPU 102因此根據(jù)IBRH將消息標識、特別是消息存儲器 300中的消息對象的位置或者編號寫入輸入請求寄存器403的位位置0 至5中時,輸入緩沖存儲器201的子緩沖存儲器400和所屬的影子存
儲器401被調(diào)換,或者主機CPU 102和消息存儲器300對兩個子存儲 器400和401的相應(yīng)訪問被調(diào)換,如通過兩個存儲器400、 401之間的 半圓形箭頭所表明的那樣,其中輸入緩沖存儲器201的數(shù)據(jù)應(yīng)該被傳 輸?shù)剿鱿ο笾?。在此,例如也啟動?shù)據(jù)傳輸,即至消息存儲器 300的數(shù)據(jù)傳輸。至消息存儲器300的數(shù)據(jù)傳輸本身由影子存儲器401 進行。同時,寄存器區(qū)IBRH和IBRS被交換。同樣,LHSH和LDSH與 LHSS和U)SS交換。同樣將STXRH與STXRS交換。
IBRS由此示出消息的標識,即這樣的消息對象的編號,對于該消 息對象來說,傳輸、即自影子存儲器401的傳輸正在進行,或者示出 哪個消息對象、即消息存儲器中的哪個區(qū)作為最后的數(shù)據(jù)(配置數(shù)據(jù) KD和/或有用數(shù)據(jù)D)從影子存儲器401中獲得。通過在輸入請求寄存 器403的位位置"31"中的標識(在此又例如為l位)IBSYS (Input Buffer Busy Shadow)來指明,是否恰好進行影子存儲器401參與的 傳輸。這樣例如在IBSYS=1的情況下恰好由影子存儲器401傳輸,并 且在IBSYS-O的情況下正好沒有。該位IBSYS例如通過在寄存器403 中寫IBRH、即位位置"0"至"5"來設(shè)置,以便指明,影子存儲器401 和消息存儲器300之間的傳輸正在進行。在該至消息存儲器300的數(shù) 據(jù)傳輸結(jié)束之后,IBSYS又被復(fù)位。
在自影子存儲器401的數(shù)據(jù)傳輸正好進行期間,主機CPU 102可 以將下一個要傳輸?shù)南懭胼斎刖彌_存儲器201或者子緩沖存儲器 400中。借助例如在寄存器403的位位置"15"中的另外的訪問標識 IBSYH (Input Buffer Busy Host),可以更進一步改進標識。如果 主機CPU 102恰好寫IBRH、即寄存器403的位位置"0"至"5",而 影子存儲器401和消息存儲器300之間的傳輸在進行,即IBSYS=1, 則在輸入請求寄存器403中設(shè)置IBSYH。 一旦進行中的傳輸結(jié)束,則 所請求的傳輸(通過STXRH的請求,參見上面)被啟動,并且位IBSYH 被復(fù)位。位IBSYS在整段時間期間保持被設(shè)置,以便指明數(shù)據(jù)被傳輸 到消息存儲器300。所有實施例的所有被使用的位在此也可以被構(gòu)造為 具有多于一個位的標識。有利的是出于存儲器和處理經(jīng)濟的原因的1 位解決方案。多位解決方案出于安全性和可靠性原因是值得推薦的。
這樣所描述的機制允許主機CPU 102連續(xù)地將數(shù)據(jù)傳輸?shù)轿挥谙?息存儲器300中的、由報頭區(qū)HB和數(shù)據(jù)區(qū)DB構(gòu)成的消息對象中,前
提是主機CPU 102對輸入緩沖存儲器201的訪問速度小于或者等于通 信模塊100 (即FlexRay - IP模塊)的內(nèi)部數(shù)據(jù)傳輸速率。
在圖7、圖8和圖9中,現(xiàn)在進一步闡述主機CPU或者用戶CPU 102 通過輸出緩沖存儲器202對消息存儲器300的讀訪問。為此,圖7再 次示出通信模塊100,其中出于清楚的原因,在此也僅僅示出了通信模 塊100的相關(guān)部分。這一方面是負責控制流程的消息管理器200以及 兩個控制寄存器703和704,這兩個控制寄存器可以如所示的那樣被安 置在通信模塊100中的消息管理器300之外,然而也可以被包含在消 息管理器2 00本身中。在此,附圖標記703表示輸出請求寄存器(Output Buffer Command Request Register)并且附圖標記704表示輸出屏 蔽寄存器(Output Buffer Command Mask Register )。主機CPU 102 對消息存儲器300的讀訪問因此通過中間連接的輸出緩沖存儲器202 (Output Buffer )進行。該輸出緩沖存儲器202現(xiàn)在同樣被分開或者 雙重地設(shè)計,更確切地說,被設(shè)計為子緩沖存儲器701和屬于該子緩 沖存儲器701的影子存儲器700。由此,在此也可以如下面所描述的那 樣實現(xiàn)主機CPU 102對消息存儲器300的所存放的消息或消息對象或 者數(shù)據(jù)的連續(xù)訪問,并且由此保證數(shù)據(jù)完整性以及在從消息存儲器300 至主機CPU 102的相反方向上的加速的傳輸。訪問的控制通過輸出請 求寄存器703以及通過輸入屏蔽寄存器704進行。在寄存器703中, 在此例如針對32位的寬度,也用從0至31的數(shù)字示出了 703中的相 應(yīng)的位位置。同樣的內(nèi)容也適用于寄存器704和在寄存器704中的位 位置0至31。
現(xiàn)在示例性地在讀訪問的流程控制方面,寄存器703的位位置"O" 至"5" 、 "8"和"9" 、 "15"和"16"至"21"獲得特別的功能。 因此,可以將標識OBRS (Output Buffer Request Shadow)作為消 息標識錄入到寄存器703的位位置"0"至"5"中'同樣,可以將標 識OBRH (Output Buffer Request Host)錄入到寄存器703的位位 置"16"至"21"中'作為訪問標識,可以將標識OBSYS(Output Buffer Busy Shadow)錄入到寄存器703的位位置"15"中。突出的還有輸出 屏蔽寄存器704的位置"0,,和"1",其中在具有RDSS(Read Data Section Shadow)和RHSS (Read Header Section Shadow)的位位置"0"和 "1"中,可以錄入另外的標識作為數(shù)據(jù)標識。另外的數(shù)據(jù)標識例如被
設(shè)置在具有RDSH ( Read Data Section Host)和RHSH ( Read Header Section Host)的位位置"16"和"17"中。這些數(shù)據(jù)標識在此也示 例性地以最簡單的形式、即分別作為1位來構(gòu)造。在寄存器703的位 位置"9"中錄入起始標識REQ.此外,設(shè)置有切換標識VIEW,其示例 性地被錄入到寄存器703的位位置"8"中。
主機CPU 102通過以下方式請求來自消息存儲器300的消息對象 的數(shù)據(jù),即它將所希望的消息的標識、即特別是所希望的消息對象的 位置或者編號根據(jù)OBRS寫入寄存器703的位位置0至5中。在此情況 下,主機CPU也可以如在相反方向上那樣僅僅從報頭區(qū)HB中讀取消息 的狀態(tài)數(shù)據(jù)或者配置數(shù)據(jù)和報頭數(shù)據(jù)KD,或者僅僅從數(shù)據(jù)區(qū)DB中讀取 消息的真正待傳輸?shù)挠杏脭?shù)據(jù)D,或者讀取兩種數(shù)據(jù)KK、 D。因此數(shù)據(jù) 的哪個部分應(yīng)該從報頭區(qū)HB和/或數(shù)據(jù)區(qū)DB被傳輸在此情況下與相反 方向可比較地通過RHSS和RDSS來確定。也就是說,RHSS說明,是否 報頭數(shù)據(jù)KD應(yīng)該被讀取,并且RDSS說明,是否真正的數(shù)據(jù)D應(yīng)該被 讀取。
起始標識用于啟動從消息存儲器300至影子存儲器700的傳輸。 也就是說,如果如在最簡單的情況下那樣使用1位作為標識,則通過 設(shè)置輸出請求寄存器703中的位位置"9"中的位REQ來啟動從消息存 儲器300至影子存儲器700的傳輸。進行中的傳輸又通過寄存器703 中的訪問標識(這里又在最簡單的情況下通過1位0BSYS )來指明。為 了避免沖突,有利的是,只有當OBSYS沒有被設(shè)置時,即恰好沒有傳 輸在進行時,才能設(shè)置位REQ。這里隨后也進行消息存儲器300和影子 存儲器700之間的消息傳輸。真正的流程現(xiàn)在一方面可以與如根據(jù)圖 4、圖5和圖6所描述的相反方向可比較地被控制(互補的寄存器占用) 和實現(xiàn),或者在一種變型方案中通過附加的標識、即寄存器703的位 位置"8"中的切換標識VIEW來實現(xiàn)。也就是說,在傳輸結(jié)束之后, 位0BSYS被復(fù)位,并且通過設(shè)置輸出請求寄存器703中的位VIEW,子 緩沖存儲器701和所屬的影子存儲器700被交換,或者對其的訪問被 交換,并且主機CPU 102現(xiàn)在可以從子緩沖存儲器701中讀出消息存 儲器3 00所請求的消息對象、即相應(yīng)的消息。在此情況下,這里也與 圖4至圖6中的相反傳輸方向可比較地交換寄存器單元0BRS和0BRH。 同樣,RHSS和RDSS與RHSH和RDSH交換。這里也可以設(shè)置作為保護
機制的是,只有當0BSYS沒有被設(shè)置、即不發(fā)生進行中的傳輸時,位 VIEW才能被設(shè)置。
由此實現(xiàn)主機CPU 102通過中間連接的輸出緩沖存儲器202對消 息存儲器300的讀訪問。該輸出緩沖存儲器202與輸入緩沖存儲器202 一樣被加倍地或者雙重地設(shè)計,以便保證主機CPU 102對被存放在消 息存儲器300中的消息對象的連續(xù)訪問。這里,也獲得高的數(shù)據(jù)完整 性和加速的傳輸?shù)膬?yōu)點。
通過使用所描述的輸入和輸出緩沖器201、 202來保證,雖然有模 塊內(nèi)部的等待時間,但主機CPU 102能夠無中斷地訪問消息存儲器 300。
為了保證該數(shù)據(jù)完整性,數(shù)據(jù)傳輸、特別是在通信模塊100中的 轉(zhuǎn)發(fā)通過消息管理器200 (Message Handler (消息處理機),MHD ) 來進行。為此,在圖10中詳細示出了消息管理器200。消息管理器200 在其功能方面可以通過多個狀態(tài)機或者狀態(tài)自動機、即有限自動機、 所謂的有限狀態(tài)機(FSM)來表示。在此,設(shè)置有至少三個狀態(tài)機,并
且在一個特別的實施形式中設(shè)置有四個有限狀態(tài)機。第一有限狀態(tài)機 是IOBF-FSM (Input/Output Buffer FSM),其用501表示。該狀態(tài) 機IOBF-FSM也可以針對就輸入緩沖存儲器201或者輸出緩沖存儲器 202而言的每個傳輸方向被劃分為兩個有限狀態(tài)機,例如IBF-FSM (Input Buffer FSM)和OBF-FSM (Output Buffer FSM),由此可 以設(shè)想最多五個狀態(tài)自動機(IBF-FSM、 OBF-FSM、 TBF1-FSM、 TBF2-FSM和AFSM)。但是優(yōu)選的是設(shè)置共同的IOBF-FSM。
這里,在優(yōu)選的實施例的過程中,至少一個第二有限狀態(tài)機TBF-FSM凈皮劃分為兩個塊502和503,并且為就存儲器205和206而言的兩 個信道A和B服務(wù),如針對圖2所描述的那樣。在此,可以設(shè)置有限 狀態(tài)機,以便為兩個信道A和B服務(wù),或者如在優(yōu)選的實施形式中那 樣針對信道A設(shè)置以502表示的第一有限狀態(tài)機TBFl-FSM( Transient Buffer 1 ( 206, RAM A) FSM)并且針對信道B設(shè)置以503表示的第 二有限狀態(tài)機TBF2-FSM (Transient Buffer 2 ( 205, RAM B ) FSM)。
在優(yōu)選的實施例中用500表示的仲裁有限狀態(tài)機、所謂的AFSM用 于控制三個有限狀態(tài)機501 - 503的訪問。數(shù)據(jù)(報頭數(shù)據(jù)KD和/或有 用數(shù)據(jù)D)以通過時鐘裝置(Taktmittel )、諸如VCO (壓控振蕩器)、
振蕩石英等等產(chǎn)生的、或者由該時鐘裝置匹配的或者導(dǎo)出的時鐘在通
信模塊100中被傳輸。時鐘T在此可以在模塊100中被產(chǎn)生,或者由 外部、例如作為總線時鐘預(yù)先給定。仲裁有限狀態(tài)機AFSM 500交替地 讓三個有限狀態(tài)機501 - 503之一特別是分別在時鐘周期T內(nèi)訪問消息 存儲器300。也就是說,可供使用的時間根據(jù)各個狀態(tài)自動機501、 502、 503的訪問請求而被分配給這些請求的狀態(tài)自動機501 - 503。如 果訪問請求僅僅由 一 個有限狀態(tài)機進行,則該有限狀態(tài)機得到10 0 %的 訪問時間,包括另外的、即所有的時鐘T在內(nèi)。如果由兩個狀態(tài)自動 機進行訪問請求,則每個有限狀態(tài)機得到50%的訪問時間。最后,如 果由三個狀態(tài)自動機進行訪問請求,則每個有限狀態(tài)機得到1/3的訪 問時間。通過這種方式最佳地利用分別可供使用的帶寬。
第一有限狀態(tài)機501、即IOBF-FSM在需要時執(zhí)行以下動作 -從輸入緩沖存儲器201至消息存儲器300中的所選出的消息對 象的數(shù)據(jù)傳輸。
-從消息存儲器300中的所選出的消息對象至輸出緩沖存儲器 202的數(shù)據(jù)傳輸。
用于信道A的狀態(tài)機502、即TBF1-FSM執(zhí)行以下動作
-從消息存儲器300中的所選出的消息對象至信道A的緩沖存儲 器206的數(shù)據(jù)傳輸。
-從緩沖存儲器206至消息存儲器300中的所選出的消息對象的 數(shù)據(jù)傳輸。
-搜索消息存儲器300中的合適的消息對象,其中在接收時為了 存儲在信道A上所接收的消息而在接受過濾(Akzeptanzfilterung) 的范圍內(nèi)搜索消息對象(接收緩沖器202 ),并且在發(fā)送時搜索下一個 要在信道A上發(fā)送的消息對象(發(fā)送緩沖器2 01)。
狀態(tài)機TBF2-FSM、即塊503中的用于信道B的有限狀態(tài)機的動作 與此類似。該有限狀態(tài)機執(zhí)行從消息存儲器300中的所選出的消息對 象至信道B的緩沖存儲器205的數(shù)據(jù)傳輸以及從緩沖存儲器205至消 息存儲器300中的所選出的消息對象的數(shù)據(jù)傳輸,搜索功能也類似于 狀態(tài)機TBF l-FSM搜索消息存儲器300中的合適的消息對象,其中在 接收時為了存儲在信道B上所接收的消息而在接受過濾的范圍內(nèi)搜索 消息對象(接收緩沖器2 02),并且在發(fā)送時搜索下一個要在信道B上發(fā)
送的消息或消息對象(發(fā)送緩沖器201)。
在圖11中現(xiàn)在再次示出了流程和傳輸路徑。三個狀態(tài)機501 - 503 控制各個部分之間的相應(yīng)的數(shù)據(jù)傳輸。在此,又用102表示主機CPU, 用201表示輸入緩沖存儲器,并且用202表示輸出緩沖存儲器。用300 表示消息存儲器,并且用于信道A和信道B的兩個緩沖存儲器用206 和205表示。同樣示出了接口元件207和208。第一狀態(tài)自動機 IOBF-FSM 501控制數(shù)據(jù)傳輸Z1A和Z1B,即從輸入緩沖存儲器2 01至 消息存儲器300以及從消息存儲器300至輸出緩沖存儲器202的數(shù)據(jù) 傳輸。在此數(shù)據(jù)傳輸通過具有例如32位的字寬的數(shù)據(jù)總線進行,其中 任何其它的位數(shù)也是可能的。同樣的內(nèi)容也適用于消息存儲器300和 緩沖存儲器206之間的傳輸Z2。該數(shù)據(jù)傳輸通過狀態(tài)機TBF1-FSM502 (用于信道A的狀態(tài)機)來控制。消息存儲器300和緩沖存儲器205 之間的傳輸Z3通過狀態(tài)自動機TBF2-FSM 503來控制。這里,數(shù)據(jù)傳 輸也通過具有示例性的32位字寬的數(shù)據(jù)總線進行,其中這里任何其它 的位數(shù)也是可能的。通常,完整的消息對象通過所提及的傳輸路徑的 傳輸需要多個時鐘周期T。因此,通過仲裁器、即AFSM 500進行傳輸 時間相對于時鐘周期T的劃分。在圖11中也即示出了由消息處理機200 控制的存儲部件之間的數(shù)據(jù)路徑。為了保證存儲在消息存儲器300中 的消息對象的數(shù)據(jù)完整性,有利地應(yīng)該同時僅僅在所示出的路徑、即 Z1A和Z1B以及Z2和Z3之一上同時交換數(shù)據(jù)。
在圖12中借助一個例子示出,仲裁器、即AFSM 500如何將可供 使用的系統(tǒng)時鐘T分配給三個請求的狀態(tài)自動機501 - 503。在階段1 中,進行狀態(tài)自動機501和狀態(tài)自動機502的訪問請求,即總計算時 間分別平分給兩個請求的狀態(tài)自動機501、 502。就階段l中的時鐘周 期而言,這意味著,狀態(tài)自動機501在時鐘周期T1和T3中獲得訪問, 并且狀態(tài)自動機502在時鐘周期T2和T4中獲得訪問。在階段2中, 僅僅由狀態(tài)自動機501進行訪問,使得所有的三個時鐘周期T5至T7、 即100%的訪問時間都落到狀態(tài)自動機IOBF-FSM501上。在階段3中, 所有三個狀態(tài)自動機5 01 - 503都進行訪問請求,使得進行總訪問時間 的三等分。隨后,仲裁器AFSM 500例如這樣分配訪問時間,使得在時 鐘周期T8和Tll中有限狀態(tài)機501獲得訪問,在時鐘周期T9和T12 中有限狀態(tài)機502獲得訪問,以及在時鐘周期T10和T13中有限狀態(tài)
機503獲得訪問。最后,在階段4中,由兩個狀態(tài)自動機502和503 進行對通信模塊100的兩個信道A和B的訪問,使得實現(xiàn)時鐘周期T14 和T16被訪問分配給第二有限狀態(tài)機502,并且在T15和T17中,皮分 配給第三有限狀態(tài)機503。
仲裁狀態(tài)自動機AFSM 500也負責針對三個狀態(tài)機501 - 503中的 多于一個狀態(tài)機提出對消息存儲器300進行訪問的請求的情況將訪問 逐時鐘地并且交替地分配給請求的狀態(tài)機。這種處理方式保證存放在 消息存儲器300中的消息對象的完整性、即數(shù)據(jù)完整性.如果例如主 機CPU 102想在恰好一個所接收的消息被寫入消息對象中時通過輸出 緩沖存儲器202讀出該消息對象,則取決于哪個請求首先被啟動,或 者讀出舊的狀態(tài),或者讀出新的狀態(tài),而消息存儲器300本身中的消 息對象的訪問不會沖突。
所描述的方法使主機CPU 102能夠在持續(xù)的運行中讀或者寫消息 存儲器300中的每一任意的消息對象,而所選出的消息對象在主機CPU 102訪問的持續(xù)時間內(nèi)不會由于參與FlexRay總線101的兩個信道A 和B上的數(shù)據(jù)交換而被禁止(緩沖器鎖定(Buffer Locking))。同 時,通過逐時鐘的訪問嵌套來保證存放在消息存儲器300中的數(shù)據(jù)的 完整性,并且還通過充分利用完整帶寬來提高傳輸速度。
通信模塊100的消息存儲器300存儲針對通信所設(shè)置的消息對 象。在通信期間產(chǎn)生以下任務(wù)
在通過通信連接101接收消息時,必須在消息存儲器300中找到 所屬的消息對象,由此所接收的消息可以被存儲到消息存儲器300中 的消息對象的相應(yīng)位置上。只有當所接收的消息的標識字段與所配置 的消息對象(所謂的接收對象)的標識字段一致時,所接收的消息才 被存儲在消息存儲器300中。所配置的接收消息對象的標識字段通過 以下方式來確定,即對整個消息存儲器300搜索消息對象,
-該消息對象被設(shè)置用于通過所考慮的信道(A或B)進行接收,
-該消息對象被設(shè)置用于在所考慮的通信周期中進行接收,
-該消息對象被設(shè)置用于在所考慮的時隙中進行接收,以及
-該消息對象被設(shè)置用于進行接收。
同樣必須及時地在發(fā)送窗開始時在消息存儲器3 00中找到與該發(fā) 送窗匹配的消息對象(發(fā)送對象),并且將該消息對象提供用于發(fā)送。
只有當待發(fā)送的消息的標識字段與所配置的消息對象(即所謂的發(fā)送 對象)的標識字段一致時,等候發(fā)送的消息對象才被發(fā)送。所配置的 發(fā)送消息對象的標識字段通過以下方式來確定,即對整個消息存儲器
300搜索消息對象,該消息對象
-被設(shè)置用于通過所考慮的信道(A或者B )進行發(fā)送, -被設(shè)置用于在所考慮的通信周期中進行發(fā)送, -被設(shè)置用于在所考慮的時隙中進行發(fā)送,以及 -被設(shè)置用于進行發(fā)送。
在兩種情況中都必須及時地確定消息存儲器中的合適的消息對 象,以便保證通信模塊的實時能力。因為不知道,對于下一個時間窗 來說消息對象3 00位于消息存儲器中的什么位置,所以消息存儲器3 00 必須針對每個時間窗被完整地搜索一次.特別是在較大的消息存儲器 300的情況下,這花費許多時間,并且可能危害或者損害通信系統(tǒng)的實 時能力。
本發(fā)明描述一種用于搜索消息存儲器的新型的和改進的方法,其 中分別針對多個時間窗(或者時隙)預(yù)先通過消息存儲器300的唯一 的搜索遍歷針對多個所考慮的時間窗來搜索消息存儲器300中所存儲 的消息對象的標識字段。整個消息存儲器300的搜索遍歷因此總是針 對多個所考慮的、將來的時間窗在能預(yù)先給定的幀(Raster)中被實 施,其中在所迷幀中用于實施搜索遍歷的時刻的間隔大于一個時間 窗,并且包括多個時間窗。
特別建議,在搜索遍歷時針對多個被考慮的、將來的時隙來實施 并且檢驗以下的搜索標準
-確定是否在消息存儲器300中存儲有針對所考慮的傳輸信道CH A、 CH ti的消息對象,
-確定是否在消息存儲器300中存儲有針對所考慮的通信周期的 消息對象,
-確定是否在消息存儲器300中存儲有針對多個所考慮的、隨后 的時間窗的消息對象,以及
-檢驗是否所確定的消息對象是待發(fā)送的或者待接收的對象。 如果在消息存儲器300中確定一個或者多個滿足一個或者多個、 優(yōu)選地所有上迷要求的消息對象,則所找到的對象在消息存儲器中的
位置被存放在被分配給消息存儲器300的緩沖存儲器中,該緩沖存儲 器在圖13中被示出并且其總體上用附圖標記600來表示。緩沖存儲器 600至少被構(gòu)造為這樣大,使得其對于每個事先所考慮的時隙來說都包 括至少一個數(shù)據(jù)字段。在所示的實施例中,消息存儲器300在四個時 間窗的幀中、即僅僅在所有4個時間窗中被搜索。然而,該搜索不是 僅僅針對唯一的、當前的時間窗、而是同時或者準同時地針對多個將 來的時間窗進行。由此,緩沖存儲器600具有四個數(shù)據(jù)字段601至604, 以便能夠存放最多四個所確定的消息對象的位置。在數(shù)據(jù)字段601至 604的每一個中,可以分別存放兩個數(shù)據(jù)字,即指針i和狀態(tài)i,其中 i對應(yīng)于消息存儲器300中的數(shù)據(jù)字段601 - 604的唯一的編號(或者 標識)。數(shù)據(jù)字段601優(yōu)選地被分配給將來的被考慮的第一時間窗, 數(shù)據(jù)字段602被分配給將來的被考慮的第二時間窗,以此類推,直到 數(shù)據(jù)字段604,該數(shù)據(jù)字段604被分配給將來的被考慮的最后的時間 窗。因此,當針對將來的被考慮的第一時間窗確定消息存儲器300中 的相應(yīng)的消息對象時,針對第一時間窗i所確定的消息對象的指針i 和狀態(tài)i被存放在數(shù)據(jù)字段601的兩個數(shù)據(jù)字中。
作為數(shù)據(jù)字指針0...3,在數(shù)據(jù)字段601 - 604中分別存儲有所引 用的消息對象在消息存儲器300中的位置、例如編號。數(shù)據(jù)字指針0… 3是一種類型的指針元素(所謂的數(shù)據(jù)指針),其指向消息存儲器300 中的消息對象的開始,優(yōu)選地指向報頭段HS中的報頭區(qū)HB的開始, 也即指向所確定的消息對象的配置數(shù)據(jù)KD。作為被存放在消息存儲器 300中的消息的狀態(tài)0…3,在緩沖存儲器600中優(yōu)選地存放有信息,
即針對所考慮的時間窗究竟是否應(yīng)接收或發(fā)送消息和/或是否應(yīng)發(fā)送 或者接收消息。如果消息應(yīng)被發(fā)送,則狀態(tài)0…3被設(shè)置為'tx-buf,, 并且如i消息應(yīng)被接收,則狀態(tài)0…3被設(shè)置為'rx-buf,。如果對于
所考慮的時隙來說消息既不應(yīng)被發(fā)送也不應(yīng)被接收,則狀態(tài)被設(shè)置為 'empty,,只要這不是在數(shù)據(jù)字段601 - 604的所有數(shù)據(jù)字的搜索遍 歷開始時(然而至少針對數(shù)據(jù)字狀態(tài)0…3)已經(jīng)被執(zhí)行。
在圖13中清楚地看到,所示的緩沖存儲器600雙重地被構(gòu)造,也 即數(shù)據(jù)字段601 - 604雙重地被構(gòu)造,使得存在附加的數(shù)據(jù)字段601a -604a。這具有以下優(yōu)點,即例如在搜索遍歷的范圍內(nèi)可以訪問數(shù)據(jù) 字段601-6(M,而同時在真正的數(shù)據(jù)傳輸、也即數(shù)據(jù)的發(fā)送或者接收
的范圍內(nèi)可以訪問數(shù)據(jù)字段601a - 604a。當數(shù)據(jù)傳輸和搜索遍歷結(jié)束 時,數(shù)據(jù)字段被調(diào)換,使得可以在搜索遍歷的范圍內(nèi)訪問數(shù)據(jù)字段601a - 604a,而同時可以在真正的數(shù)據(jù)傳輸、也即數(shù)據(jù)的發(fā)送或者接收的 范圍內(nèi)訪問數(shù)據(jù)字段601 - 604。以這種方式可以避免在數(shù)據(jù)傳輸過程 中由于消息存儲器300的搜索遍歷而導(dǎo)致的等待時間。
有意義地,執(zhí)行發(fā)送過濾,也即在消息存儲器300中搜索位置(或 者消息對象),該位置被設(shè)置用于消息的緩存,該消息應(yīng)由主機CPU 102
通信連接101被發(fā)送。附加地或者替代地,執(zhí)行接收過濾,也即在消 息存儲器300中搜索位置(或者消息對象),該位置被設(shè)置用于消息 的緩存,該消息應(yīng)由主機CPU 102在所考慮的通信周期中和在所考慮 的時間窗中通過所考慮的信道從通信連接101接收.搜索方法的目的 是減少消息存儲器300的每個通信周期所需要的搜索遍歷的次數(shù),并 且由此改善通信模塊100的實時能力。
該描述涉及具有總共8個元素601 - 604和601a - 604a的緩沖存 儲器600。然而,緩沖存儲器600的大小可以在保留根據(jù)本發(fā)明的用于 數(shù)據(jù)傳輸?shù)姆椒?、特別是所建議的搜索方法的情況下任意地被改變, 特別是被放大,并且由此可以靈活地與消息存儲器300的大小匹配。 此外,可以通過緩沖存儲器600的大小事先確定,最多應(yīng)針對多少時 間窗在搜索遍歷的范圍內(nèi)事先搜索消息存儲器300。為了能夠保證根據(jù) 本發(fā)明的方法的按規(guī)定的功能,特別是為了避免跳過待發(fā)送的或者待 接收的消息,應(yīng)該在針對確定的時隙的搜索遍歷結(jié)束和針對該時隙的 真正的數(shù)據(jù)傳輸結(jié)束之間按照可能性不進行消息存儲器300的重新配 置。即,這種重新配置將可能使在最后的搜索遍歷中所確定的緩沖存 儲器600的內(nèi)容無效,因為通過重新配置,消息存儲器300的存儲區(qū) 至所涉及的時隙的待發(fā)送的或待接收的消息的分配可能已經(jīng)被改變。 在這樣的情況下將需要重新的搜索遍歷,這至少會導(dǎo)致數(shù)據(jù)傳輸?shù)难?遲,可能甚至導(dǎo)致小的數(shù)據(jù)丟失。然而在FlexRay規(guī)范中,包含合適 的機制,以便能夠截獲這種延遲或者這種數(shù)據(jù)丟失,使得不必擔心對 數(shù)據(jù)傳輸?shù)呢撁嬗绊憽?br>
下面借助圖14進一步闡述根據(jù)本發(fā)明的方法。在圖14中,用KZY 表示通信周期。用ZE表示周期結(jié)束并且用ZF表示時間窗。用SDL表
示搜索遍歷。最后用DAT表示真正的數(shù)據(jù)傳輸、也即消息的發(fā)送或者 消息的接收。在圖14中考慮通信周期KZY(n)。該通信周期首先包括 周期KZY(n)的靜態(tài)段的四個時間窗"1"至"4",隨后是周期KZY(n) 的動態(tài)段的總共20個時間窗。在周期結(jié)束ZE (n)處例如包含符號窗 (只要存在)以及所謂的網(wǎng)絡(luò)空閑時間(NIT),該網(wǎng)絡(luò)空閑時間用于 用戶102的本地時鐘的時鐘同步。在所示出的實施例中,消息存儲器 總是預(yù)先針對四個時隙ZF被搜索.僅僅在根據(jù)本發(fā)明的方法開始之后 的第一次搜索遍歷構(gòu)成例外,因為首先必須填充緩沖存儲器600的所 有8個元素601 - 604和601a - 604a'
在圖15中示出了根據(jù)本發(fā)明的方法的流程圖。該方法在功能塊 700中開始。在功能塊701中,經(jīng)歷第一次搜索遍歷,該第一次搜索遍 歷隨后被進一步闡述。在搜索遍歷的范圍內(nèi),例如在緩沖存儲器600 的字段或者元素601 - 604中存放對于隨后的真正的數(shù)據(jù)傳輸來說所 需要的相應(yīng)的信息。如果涉及在根據(jù)本發(fā)明的方法開始之后的第一次 搜索遍歷,則緩沖存儲器600的其余的字段或者元素601a - 604a還是 空的,并且必須通過緊隨其后的另外的搜索遍歷來填充。因此,在詢 問塊702中檢驗,是否涉及自本方法開始以來的第一次搜索遍歷。如 果是,則再次經(jīng)歷搜索遍歷701,否則分支到功能塊703,在那里為用 戶102進行真正的數(shù)據(jù)傳輸、也即消息的發(fā)送和/或接收,其中為該用 戶,通信模塊IOO、其消息存儲器300在前面的搜索遍歷中已被搜索。 最后,在詢問塊704中檢驗,是否結(jié)束根據(jù)本發(fā)明的方法。如果是, 則分支到塊705,并且本方法結(jié)束.否則分支到功能塊706,在那里緩 沖存儲器600的字段或元素601 - 604與字段或元素601a - 604a被調(diào) 換,使得在隨后的搜索遍歷701中所確定的信息、特別是消息對象的 位置不4被存放在字段601 - 604中,而是從現(xiàn)在起被存放在字段601a -604a中。同樣作為在功能塊706中調(diào)換緩沖存儲器600的字段的結(jié) 果,在隨后的真正的數(shù)據(jù)傳輸期間,不再訪問字段601a- 604a,而是 從現(xiàn)在起訪問字段601 - 604。在功能塊706中,此外將緊接著的四個 時隙確定為在隨后的搜索遍歷中要被考慮的時隙。隨后,又分支到功 能塊701,并且再次進行搜索遍歷和真正的數(shù)據(jù)傳輸,然而與在先前的 遍歷中相比這次分別針對緊接著的四個時隙。
在圖15中一般用附圖標記701表示的搜索遍歷借助圖14的實施
例來進一步闡述。針對四個彼此緊隨的時間窗ZF實施搜索遍歷,其中 針對所有的四個時間窗搜索消息存儲器300中的合適的消息對象。因 為根據(jù)規(guī)范不存在第一時間窗"0",所以第一次搜索遍歷例外地僅僅 包括三個時間窗ZF。然而,所有隨后的搜索遍歷都包括四個時間窗ZF。 為了確定合適的對象,特別是檢驗上面已經(jīng)闡述的標準、即通信周期、 時隙、信道和發(fā)送/接收。所確定的合適的消息對象在消息存儲器300 中的位置形式的搜索結(jié)果被存放在緩沖存儲器600中。緩沖存儲器由 具有8個元素601 - 604和601a- 604a、即元素"0"至元素"7"的 列表構(gòu)成。
在通信模塊100的配置階段結(jié)束之后以及在每個通信周期 KZY(n-l)結(jié)束時,清除緩沖存儲器600。所有指針"0"至"7"都被 設(shè)置為0,并且所有狀態(tài)信息字段"0"至"7"都被設(shè)置為'empty(空),。 第一次搜索遍歷例外地與其它搜索遍歷略微不同地進行。在前面的周 期KZY(n-l)的最后的搜索遍歷中,在消息存儲器300中搜索對于隨后 的通信周期KZY(n)的第一時隙ZF來說合適的消息對象。如果因為例 如系統(tǒng)剛才被啟動和配置而不存在前面的通信周期KZY(n-l),則緊接 在配置階段之后在消息存儲器300中搜索對于隨后的通信周期KZY (n) 的第一時隙ZF來說合適的消息對象。該搜索的結(jié)果被存儲在緩沖存儲 器中的元素"1" 602中。
隨后通信周期KZY(n)開始,并且在第一時隙ZF1中進行縮減的搜 索遍歷,在該搜索遍歷期間在消息存儲器300中搜索對于時隙ZF2和 ZF3來說合適的消息對象??s減的搜索遍歷的結(jié)果被存放在緩沖存儲器 600的元素"2" 603和"3" 604中。此外,在第一時隙ZF1中還必須 在消息存儲器300中搜索對于隨后的四個時隙ZF4至ZF7來說合適的 消息對象。這些搜索的結(jié)果被存放在緩沖存儲器600的元素"4" 601a 至"7,, 6(Ma中。對于時隙ZF2至ZF7來說合適的對象的搜索可以在 唯一的搜索遍歷SDL1期間進行。此外,在第一時隙ZF1中進行為第一 時隙ZF1所設(shè)置的消息的真正的數(shù)據(jù)傳輸。因為根據(jù)具有安全性的 FlexRay規(guī)范,第一時隙ZF1是靜態(tài)時隙,該時隙(與動態(tài)時隙不同) 不超過確定的最小持續(xù)時間,該最小持續(xù)時間足夠以在第一時隙ZF1 期間執(zhí)行所有上面所說明的步驟。因為緩沖存儲器600在第一次搜索 遍歷SDL1的時刻是空的,所以只有當在消息存儲器300中找到真正合
適的消息對象時,才必須將信息存放在緩沖存儲器600中.如果針對 確定的時隙ZF沒有找到對象,則相應(yīng)的元素601 - 604或者601a-604&保持為指針='0,和狀態(tài)='empty,'
在第一次搜索遍歷SDL1中,在第一時間窗ZF1中首先從消息存儲 器300的報頭部分HS中讀出第一消息對象的標識字段。消息的標識字 段至少包括以下狀態(tài)位11位的幀ID (報頭字的位0至10) , 7位的 循環(huán)碼(報頭字的位16至22) , 1位的信道A(CHA)(報頭字的位 24) , 1位的信道B (CH B)(報頭字的位25)以及1位的傳輸模式
(TXM )(報頭字的位28)。如果該標識字段與所考慮的通信周期KZY(n) 的時間窗ZF2至ZF7之一匹配,則緩沖存儲器600的相應(yīng)元素"2"至
"7"的指針被設(shè)置為消息存儲器300中的消息對象的編號,并且相應(yīng) 的狀態(tài)"2"至"7"根據(jù)是否應(yīng)該發(fā)送或接收消息而被設(shè)置為'tx-buf, 或 'rx—buf,。
隨后(總是還在相同的搜索遍歷SDL1的范圍內(nèi))讀出下一消息對 象的標識字段,檢驗對于時間窗ZF2至ZF7來說是否存在一致性,并 且必要時設(shè)置緩沖存儲器600的相應(yīng)元素601 - 604、601a - 604a的指 針和狀態(tài)信息字段。
如果相應(yīng)的緩充存儲元素的狀態(tài)已經(jīng)不再是'empty,,則在緩沖 存儲器600中不存儲指針和狀態(tài)信息。因此如果兩個或者更多個消息 對象針對相同的時間窗ZF在相同的通信周期KZY(n)中被配置,則第 一個消息對象被使用而隨后的消息對象被丟棄。
隨著從消息存儲器300的報頭部分中讀出最后的標識字段,搜索 遍歷SDL1結(jié)束?,F(xiàn)在,可以在真正的數(shù)據(jù)傳輸?shù)姆秶鷥?nèi)在沒有大的時 間延遲的情況下針對時間窗ZF1至ZF7直接從緩沖存儲器600中提取 合適的消息對象的編號。
隨著時間窗ZF4的開始,緩沖存儲器600的元素602至604被處 理(該元素曾不被需要,因為缺少時間窗ZFO),也即在該時間窗ZF1 至ZF3期間的真正的數(shù)據(jù)傳輸已經(jīng)被實施。緩沖存儲器600的元素601 至604現(xiàn)在可以被清除(指針='0,,狀態(tài)='empty,),并且下一 搜索遍歷SDL2被啟動。該搜索遍歷涉及當前的通信周期KZY(n)的時 間窗ZF8至ZF11。搜索結(jié)果被存放在緩沖存儲器600的元素"0" 601 至"3" 604上。隨著時間窗ZF8的開始,針對時間窗ZF12至ZF15啟
動另外的搜索遍歷SDL3。搜索結(jié)果被存放在緩沖存儲器元素"4" 601a 至"7" 604a上,這些元素同樣在新的搜索遍歷SDL3開始時被清除(指 針='0,,狀態(tài)='empty,)。
在達到相應(yīng)的時間窗ZF之后與搜索遍歷SDL并行地進行真正的數(shù) 據(jù)傳輸DAT的處理。因此例如在第二次搜索遍歷SDL2期間執(zhí)行時間窗 ZF4至ZF7的真正的數(shù)據(jù)傳輸,其中待傳輸?shù)?待發(fā)送的或者待接收 的)消息應(yīng)被存儲在消息存儲器300中的哪里或者應(yīng)從消息存儲器300 中的哪里被讀出的信息從緩沖存儲器600的元素"4" 601a至"7" 604a 中提取,這些信息在第一次搜索遍歷SDL1期間被存放在這些元素中。 同樣,在第三次搜索遍歷SDL3期間,執(zhí)行時間窗ZF8至ZF11的真正 數(shù)據(jù)傳輸,其中待傳輸?shù)南?yīng)被存放在消息存儲器300中的哪里或 者應(yīng)從消息存儲器300中的哪里讀出的信息從緩沖存儲器600的元素 "0" 601至"3" 604中提取,這些信息在第二次搜索遍歷SDL2期間 被存放在這些元素中。另外的搜索遍歷SDL4至SDL6以相應(yīng)的方式進 行,其中在當前的通信周期KZY(n)的最后的搜索遍歷SDL6期間,在 消息存儲器300中如上面已經(jīng)闡述的那樣搜索對于隨后的通信周期 KZY(n+l)的第一時隙ZF1來說合適的消息對象。
每個搜索遍歷SDL都可以通過另外的過程來中斷,但是必須最遲 在四個時間窗ZF之后被結(jié)束。如果該要求不能被實現(xiàn),則緩沖存儲器 600例如也可以從8個元素^t放大到16個元素。通過這種方式,將可 用的時間提高到例如8個時間窗。然而,由此限制數(shù)據(jù)傳輸系統(tǒng)的靈 活性,因為對于事先被搜索的從現(xiàn)在起8個時間窗來說,在針對這些 時間窗沒有完成真正的數(shù)據(jù)傳輸之前,不應(yīng)該出現(xiàn)重新配置。
如果對于發(fā)送對象來說在被分配的時間窗ZF開始時開始從消息存 儲器300到發(fā)送單元中的傳輸,則檢驗是否消息對象在間隔時間中沒 有被改變。如果發(fā)生了改變,則將緩沖存儲器600中的錄入項丟棄, 并且不發(fā)送相應(yīng)的消息對象.如果對于接收消息來說在被分配的時間 窗ZF結(jié)束(下一個時間窗的開始)時以從接收單元傳輸開始,則檢驗 是否消息對象在間隔時間中沒有被改變。如果發(fā)生了改變,則將緩沖 存儲器600中的錄入項丟棄,并且不存儲所接收的消息。數(shù)據(jù)完整性 的檢驗例如可以借助形成校驗和或者以任意其它方式(例如奇偶校驗 位或者CRC )進行。
有經(jīng)驗的本領(lǐng)域技術(shù)人員可以得到本發(fā)明的多種擴展可能性,而 不離開本發(fā)明的思想。下面僅示例性地說明一些可能的擴展可能性。
如果在數(shù)據(jù)傳輸系統(tǒng)的運行期間對消息存儲器300中的消息對象 進行重新配置,則檢驗是否標識字段與緩沖存儲器600的當前時間窗 區(qū)域ZFi至ZFi + 3匹配。如果是,則在需要時將相應(yīng)的緩沖存儲器元 素601 - 604和601a - 604a轉(zhuǎn)換。通過該擴展,消息對象可以直到在 標識字段中所確定的時間窗ZF開始時被重新配置,而不依賴于緩沖存 儲器600的大小。
通過所描述的方法,在通信模塊100的消息存儲器300中以預(yù)測 的方式搜索對于下一個時間窗ZF來說合適的消息對象。通過被存放在 緩沖存儲器600中的指向消息對象的指針及其狀態(tài),可以實現(xiàn)對為下 一個時間窗ZF所設(shè)置的消息對象的快速訪問。因此不再需要針對每個 時間窗ZF單獨地搜索遍歷整個消息存儲器3 00。
所描述的搜索方法的使用減少每個通信周期KZY(n)所需的、對消 息存儲器300的搜索遍歷的次數(shù)。由此可以決定性地改善通信模塊100 的實時能力。
權(quán)利要求
1.一種用于在消息中傳輸數(shù)據(jù)的方法,這些消息在能預(yù)先給定的時間窗(ZF)中通過通信系統(tǒng)的通信連接(101)周期性地被傳輸,其中要通過所述通信連接(101)發(fā)送的和通過所述通信連接(101)被發(fā)送的消息首先被緩存在通信模塊(100)的消息存儲器(300)中,并且要在當前的時間窗(ZF)中發(fā)送的消息從所述消息存儲器(300)中被取出并且被發(fā)送,或者要在當前的時間窗(ZF)中接收的消息被接收并且被存放在所述消息存儲器(300)中,其特征在于,為了確定所述消息在所述消息存儲器(300)中的位置,每隔一定時間分別針對多個還要隨后的時間窗(ZF)預(yù)先搜索所述消息存儲器(300),并且作為搜索遍歷的結(jié)果,要在多個還要隨后的時間窗(ZF)中發(fā)送的或者接收的消息的位置被存放在被分配給所述消息存儲器(300)的緩沖存儲器(600)中。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在數(shù)據(jù)傳輸?shù)姆秶?內(nèi)將要在當前的時間窗(ZF)中通過所述通信系統(tǒng)傳輸?shù)南乃?消息存儲器(300 )的在所述緩沖存儲器(600 )中針對該時間窗(ZF) 所說明的位置中讀出,并且通過所述通信連接(101)來傳輸,或者將 在當前的時間窗(ZF)中通過所述通信連接(101)所傳輸?shù)南⒋娣?在所述消息存儲器(300 )的在所述緩沖存儲器(600 )中針對該時間 窗(ZF)所說明的位置上,
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在到達相應(yīng)的 時間窗(ZF8-ZF11)之后,當前的時間窗(ZF)和隨后的多個時間窗(ZF8-ZF11)的數(shù)據(jù)傳輸與針對緊接在所述數(shù)據(jù)傳輸?shù)淖詈蟮臅r間窗 (ZF11)之后的時間窗(ZF)以及隨后的多個時間窗(ZF12-ZF15)的 搜索遍歷(SDL3)同時進行,其中對于所述隨后的多個時間窗來說, 所述消息在所述消息存儲器(300 )中的位置已經(jīng)被存放在所述緩沖存 儲器(600 )中。
4. 根據(jù)權(quán)利要求1至3之一所述的方法,其特征在于,所述搜索 遍歷(SDL)的多個時間窗的數(shù)目與用于數(shù)據(jù)傳輸(DAT)的多個時間 窗的數(shù)目大小相同。
5. 根據(jù)權(quán)利要求1至4之一所述的方法,其特征在于,在要存儲 在所述消息存儲器(300 )中的消息中包含有具有第一數(shù)據(jù)規(guī)模的第一 數(shù)據(jù)(KDO, KD1, KDk)和具有第二數(shù)據(jù)規(guī)模的第二數(shù)據(jù)(DO, Dl, Dk ), 并且所述第一數(shù)據(jù)(KDO, KD1, KDk)以每個消息各一個報頭區(qū)(HB0, HB1, HBk)的方式被存儲在所述消息存儲器(300 )的報頭段(HS)中, 并且所述第二數(shù)據(jù)(DO, Dl, Dk)以每個消息各一個數(shù)據(jù)區(qū)(DBO, DB1, DBk)的方式被存儲在數(shù)據(jù)段(DS)中。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述消息存儲器 (300 )的報頭區(qū)(HB0, HB1, HBk)中,針對每個消息存放有標識,該標識識別相應(yīng)的消息,并且通過該標識,所述消息能夠,皮分配給確 定的通信周期(KZY)、所述周期(KZY)內(nèi)的確定的時間窗(ZF)以 及一個4言道(CH A, CH B)或者兩個信道(CH A, CH B )。
7. 根據(jù)權(quán)利要求1至6之一所述的方法,其特征在于,針對每個 在搜索遍歷(SDL )期間所考慮的并且要在多個還要隨后的時間窗(ZF ) 之一中發(fā)送的或者接收的消息,在所述緩沖存儲器(600 )中設(shè)置有兩 個字段("指針","狀態(tài)"),其中在第一字段("指針,,)中存 放指向被存放在所述消息存儲器(300 )中的消息的相應(yīng)位置的指針, 并且在第二字段("狀態(tài),,)中存放被存放在所述消息存儲器(300 ) 中的消息的狀態(tài)。
8. 根據(jù)權(quán)利要求5和7所述的方法,其特征在于,所述指針指向 被存放在所述消息存儲器(300 )中的消息的、被存儲在所述報頭段(HS)中的報頭區(qū)(HB0, HB1, HBk)中的第一數(shù)據(jù)UD0, Ol, KDk )。
9. 根據(jù)權(quán)利要求7或8所述的方法,其特征在于,作為被存放在 所述消息存儲器(300 )中的消息的狀態(tài),在所述緩沖存儲器(600 ) 中存放這樣的信息,即對于所考慮的時間窗(ZF)來說究竟消息是否 應(yīng)被接收或者發(fā)送('empty,),和/或是否消息應(yīng)被發(fā)送('tx — buf,) 或者接收('rx-buf,)。
10. 根據(jù)權(quán)利要求3至9之一所述的方法,其特征在于,所述緩 沖存儲器(600 )被劃分,其中在所述緩沖存儲器(600 )的第一部分(601 - 604 )中針對數(shù)據(jù)傳輸存放有用于當前的時間窗(ZF)和隨后 的多個時間窗(ZF8-ZF11)的消息的位置,其中對于所述隨后的多個 時間窗來說在所述消息存儲器(300 )中已經(jīng)被存放在所述緩沖存儲器(600 )中,并且在所述緩沖存儲器(600 )的第二部分(601a- 604a) 中針對搜索遍歷(SDL)存放用于緊接在所述數(shù)據(jù)傳輸?shù)淖詈蟮臅r間窗 (ZF11)之后的時間窗(ZF)和隨后的多個時間窗(ZF12-ZF15)的消 息的位置。
11. 根據(jù)權(quán)利要求1至IO之一所述的方法,其特征在于,為了確 定所述消息在所述消息存儲器(300 )中的位置,每隔一定時間分別針 對四個還要隨后的時間窗(ZF)預(yù)先搜索所述消息存儲器,并且作為 搜索遍歷的結(jié)果,將要在四個還要隨后的時間窗(ZF)中發(fā)送的或者 接收的消息的位置存放在所述緩沖存儲器(600 )中。
12. 根據(jù)權(quán)利要求l至ll之一所述的方法,其特征在于,在搜索 遍歷的范圍內(nèi),針對多個還要隨后的時間窗(ZF)根據(jù)下列標準中的 一個或多個來搜索所述消息存儲器(300 ):-確定是否在所述消息存儲器(300 )中存儲有針對所考慮的傳 輸信道(CH A, CH B)的消息,-確定是否在所述消息存儲器(300 )中存儲有針對所考慮的通 信周期(KZY)的消息,-確定是否在所述消息存儲器(300 )中存儲有針對多個還要隨 后的時間窗(ZF)的消息,-確定是否所確定的消息是要發(fā)送的或者要接收的消息。
13. 通信模塊(100),該通信模塊被布置在通信連接(101)和 用戶之間的通信系統(tǒng)中,其中所述通信系統(tǒng)被構(gòu)造用于在能預(yù)先給定 的時間窗中周期性地傳送消息,并且所述通信模塊(100)具有用于緩 存消息的消息存儲器(300 ),所述消息應(yīng)由所述用戶通過所述通信連 接(101 )傳輸,或者所述消息針對所述用戶通過所述通信連接(101 ) 被接收,其特征在于,為了確定所述消息在所述消息存儲器(300 )中 的位置,所述通信模塊(100)具有用于每隔一定時間分別針對多個還 要隨后的時間窗預(yù)先搜索所述消息存儲器(100)的裝置、被分配給所 述消息存儲器(300 )的緩沖存儲器、以及用于在所述緩沖存儲器(600 ) 中存放要在多個還要隨后的時間窗中發(fā)送的或者接收的消息的位置作 為搜索遍歷的結(jié)果的裝置。
14. 根據(jù)權(quán)利要求13所述的通信模塊(100),其特征在于,所 述用于搜索所述消息存儲器(300 )的裝置和所述用于在所述緩沖存儲 器(600 )中存放所確定的消息的位置的裝置被構(gòu)造為狀態(tài)自動機(504 )。
15. 根據(jù)權(quán)利要求13或14所述的通信模塊(100),其特征在于, 所述通信模塊(100)被構(gòu)造為FlexRay通信模塊,用于接收、發(fā)送和 緩存按照FlexRay規(guī)范所傳送的消息。
16. 根據(jù)權(quán)利要求13至15之一所述的通信模塊(100),其特征 在于,所述用于搜索所述消息存儲器(300 )的裝置和所述用于在所述 緩沖存儲器(600 )中存放所確定的消息的位置的裝置被構(gòu)造用于實施 根據(jù)權(quán)利要求2至12之一所述的方法。
17. 通信系統(tǒng)的用戶(102),所述通信系統(tǒng)包括所述用戶(102) 和至少一個另外的用戶以及通信連接(101),所述用戶(102)連接 到該通信連接上,其中在所述通信連接(101)和所述用戶(102)之 間布置有通信模塊(100),其中所述通信系統(tǒng)被構(gòu)造用于在能預(yù)先給 定的時間窗中周期性地傳送消息,并且所述通信模塊(100)具有用于 緩存消息的消息存儲器(300 ),所述消息應(yīng)由所述用戶(102)通過 所述通信連接(101)傳輸,或者所述消息針對所述用戶(102)通過 所述通信連接(101)被接收,其特征在于,為了確定所述消息在所述 消息存儲器(300 )中的位置,所述通信模塊(100)具有用于每隔一 定時間分別針對多個還要隨后的時間窗(ZF)預(yù)先搜索所述消息存儲 器(300 )的裝置、被分配給所述消息存儲器(300 )的緩沖存儲器(600 )、 以及用于在所述緩沖存儲器(600 )中存放要在多個還要隨后的時間窗 中發(fā)送的或者接收的消息的位置作為搜索遍歷(SDL)的結(jié)果的裝置。
18. 根據(jù)權(quán)利要求17所述的用戶(102),其特征在于,所述用 戶(102)包括主機計算機,該主機計算機與所述通信模塊(100) — 同被集成在共同的半導(dǎo)體組件上。
19. 根據(jù)權(quán)利要求17或18所述的用戶(102),其特征在于,所 述通信模塊(100)按照權(quán)利要求14至16之一來構(gòu)造。
20. 通信系統(tǒng),具有多個連接到通信連接(101)上的用戶(102), 其中在所述通信連接(101 )和至少一個用戶(102 )之間布置有通信 模塊(100),其中所述通信系統(tǒng)被構(gòu)造用于在能預(yù)先給定的時間窗(ZF)中周期性地傳送消息,并且所述通信模塊(100)具有用于緩存 消息的消息存儲器(300 ),所述消息應(yīng)由所述至少一個用戶(102) 通過所述通信連接(101 )傳輸,或者所述消息針對所述至少一個用戶(102)通過所述通信連接(101)被接收,其特征在于,為了確定所 述消息在所述消息存儲器(300 )中的位置,所述通信模塊(100)具 有用于每隔一定時間分別針對多個還要隨后的時間窗(ZF)預(yù)先搜索 所述消息存儲器(100)的裝置、被分配給所述消息存儲器(300 )的 緩沖存儲器(600 )、以及用于在所述緩沖存儲器(600 )中存放要在 多個還要隨后的時間窗(ZF)中發(fā)送的或者接收的消息的位置作為搜 索遍歷的結(jié)果的裝置。
21.根據(jù)權(quán)利要求20所述的通信系統(tǒng),其特征在于,所述通信模 塊(100)按照權(quán)利要求14至16之一來構(gòu)造。
全文摘要
本發(fā)明涉及一種用于通過通信系統(tǒng)的通信連接(101)在消息中傳輸數(shù)據(jù)的方法、以及通信模塊(100)、通信系統(tǒng)的用戶(102)以及用于實現(xiàn)該方法的通信系統(tǒng)。這些消息在能預(yù)先給定的時間窗(ZF)中通過通信連接(101)周期性地被傳輸,其中通過所述通信連接(101)待發(fā)送和被發(fā)送的消息首先被緩存在通信模塊(100)的消息存儲器(300)中,并且要在當前的時間窗(ZF)中發(fā)送的或者接收的消息從所述消息存儲器(300)中被取出并且被發(fā)送,或者被接收并且被存放在所述消息存儲器(300)中。為了改善通信模塊(100)的實時能力,建議為了確定消息在所述消息存儲器(300)中的位置,每隔一定時間分別針對多個還要隨后的時間窗(ZF)預(yù)先搜索所述消息存儲器(300),并且作為搜索遍歷的結(jié)果,在被分配給所述消息存儲器(300)的緩沖存儲器(600)中存放要在多個還要隨后的時間窗(ZF)中發(fā)送的或者接收的消息的位置。在真正的數(shù)據(jù)傳輸(消息的發(fā)送或者接收)的范圍內(nèi),簡單地訪問緩沖存儲器(600)并且通過被存放在那里的位置訪問消息存儲器(300)中的合適的消息對象。
文檔編號H04L12/54GK101111826SQ200680003686
公開日2008年1月23日 申請日期2006年1月26日 優(yōu)先權(quán)日2005年1月31日
發(fā)明者C·霍斯特, F·貝勒 申請人:羅伯特·博世有限公司