專利名稱:用于存取通信模塊的信息存儲(chǔ)器的數(shù)據(jù)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及根據(jù)獨(dú)立權(quán)利要求
的前序部分、通過把數(shù)據(jù)輸入信息存儲(chǔ)器或從信息存儲(chǔ)器輸出數(shù)據(jù)存取通信模塊的信息存儲(chǔ)器的數(shù)據(jù)的方法和裝置。
背景技術(shù):
最近幾年來,在新式汽車的結(jié)構(gòu)中或也在機(jī)械制造、特別是在機(jī)床范圍內(nèi)、也就是在自動(dòng)化內(nèi)控制設(shè)備、傳感器和調(diào)節(jié)器借助于通信系統(tǒng)和總線系統(tǒng)、也就是通信連接的網(wǎng)狀連接迅速增加。對(duì)此通過把功能分配給多個(gè)控制設(shè)備可以實(shí)現(xiàn)協(xié)同作用。這就是說這里所談?wù)摰氖欠植枷到y(tǒng)。越來越多地通過總線系統(tǒng)、也就是說一個(gè)通信系統(tǒng)在不同站之間進(jìn)行通信。通過協(xié)議調(diào)整在總線系統(tǒng)上的通信量、存儲(chǔ)與接收機(jī)制以及錯(cuò)誤處理。對(duì)此已知的協(xié)議是CAN協(xié)議或TTCAN協(xié)議以及FlexRay協(xié)議,其中以FlexRay協(xié)議規(guī)范V2.0為基礎(chǔ)。對(duì)此FlexRay是一個(gè)快速、決定性的和容錯(cuò)的總線系統(tǒng),特別適合于在汽車中使用。FlexRay協(xié)議按照時(shí)分復(fù)用存取(TDMA)方法工作,其中給各個(gè)組成部分、也就是用戶或者要傳輸?shù)男畔⒎峙涔潭ǖ臅r(shí)隙,在這些時(shí)隙內(nèi)這些組成部分擁有通信連接專門存取。這可以對(duì)照移植到TTCAN中。對(duì)此在一個(gè)固定的周期中重復(fù)這些時(shí)隙,從而可以準(zhǔn)確地預(yù)言該時(shí)刻,在該時(shí)刻通過總線傳輸信息,并且確定地實(shí)現(xiàn)總線存取。為了最佳地使用在總線系統(tǒng)上信息傳輸?shù)膸?,F(xiàn)lexRay把周期劃分為靜態(tài)和動(dòng)態(tài)部分。對(duì)此固定時(shí)隙處在總線周期開始的靜態(tài)部分。在動(dòng)態(tài)部分動(dòng)態(tài)地安排時(shí)隙。其中分別僅僅對(duì)于較短時(shí)間、所謂的小段時(shí)間能夠進(jìn)行專門的總線存取。僅僅在一個(gè)小段時(shí)間內(nèi)部實(shí)現(xiàn)一個(gè)總線存取,時(shí)隙延長了所需的時(shí)間。因此僅僅耗費(fèi)了其實(shí)際需要的帶寬。對(duì)此FlexRay經(jīng)過兩個(gè)物理分離的線路以每一最大每秒10MB的數(shù)據(jù)傳輸率進(jìn)行通信。對(duì)此兩個(gè)信道相當(dāng)于物理層,特別是OSI(Open System Architecture)層模式的物理層。這主要以冗余方式起作用并因此容錯(cuò)地進(jìn)行信息傳輸,可是也可以傳輸不同的信息,由此當(dāng)然使數(shù)據(jù)傳輸率加倍。可是FlexRay也可以以較低的數(shù)據(jù)傳輸率工作。
為了實(shí)現(xiàn)同步功能并且通過在兩個(gè)信息之間的較小間隔來優(yōu)化帶寬,在通信網(wǎng)絡(luò)中分布的各個(gè)組成部分(也就是用戶)需要一個(gè)公共時(shí)基,所謂的整體時(shí)間。對(duì)于時(shí)鐘同步在周期的靜態(tài)部分傳輸同步消息,其中借助于一個(gè)特殊算法根據(jù)FlexRay規(guī)范校正一個(gè)組成部分的本地時(shí)間,使得所有本地時(shí)鐘與整體時(shí)鐘同步運(yùn)行。對(duì)照地也在一個(gè)TTCAN網(wǎng)絡(luò)中實(shí)現(xiàn)同步。
一個(gè)FlexRay網(wǎng)絡(luò)節(jié)點(diǎn)或FlexRay用戶或主機(jī)包含一個(gè)用戶處理器、也就是主處理器、一個(gè)FlexRay控制器或通信控制器以及在總線監(jiān)控的情況下包含一個(gè)總線保護(hù)器。對(duì)此主處理器、也就是用戶處理器提供并處理經(jīng)過FlexRay通信控制器傳輸?shù)臄?shù)據(jù)。對(duì)于在FlexRay網(wǎng)絡(luò)中的通信可以配置具有例如直到254數(shù)據(jù)字節(jié)的信息或信息對(duì)象。為了在物理層、也就是通信連接和主處理器之間傳輸信息或者信息對(duì)象,使用通信模塊、特別是通信控制器。
不僅通過主處理器單元、也就是主CPU,而且也經(jīng)過到物理層的接口模塊實(shí)現(xiàn)對(duì)特別是FlexRay通信控制器的通信模塊的信息存儲(chǔ)器的存取。對(duì)此對(duì)主CPU的存取包含配置數(shù)據(jù)、狀態(tài)數(shù)據(jù)和真正要發(fā)送的數(shù)據(jù)的寫和讀。對(duì)此到物理層的接口模塊的存取包含讀取發(fā)送信息、存儲(chǔ)接收的信息,其中在這兩種情況下通過適當(dāng)?shù)拇胧┐_保信息的完整。
發(fā)明內(nèi)容因此本發(fā)明的技術(shù)問題是在傳輸速度和數(shù)據(jù)完整性方面優(yōu)化在主CPU、也就是用戶處理器和信息存儲(chǔ)器之間的數(shù)據(jù)傳輸。
為了解決這個(gè)技術(shù)問題,本發(fā)明以用于通過把數(shù)據(jù)輸入信息存儲(chǔ)器或從信息存儲(chǔ)器中輸出數(shù)據(jù)來存取通信模塊的信息存儲(chǔ)器的數(shù)據(jù)的方法和裝置為出發(fā)點(diǎn),其中信息存儲(chǔ)器與緩沖存儲(chǔ)器布置連接并且數(shù)據(jù)沿第一傳輸方向傳輸?shù)叫畔⒋鎯?chǔ)器并沿第二傳輸方向從信息存儲(chǔ)器傳輸出來,其中緩沖存儲(chǔ)器布置沿第一傳輸方向具有一個(gè)輸入緩沖存儲(chǔ)器并且沿第二傳輸方向具有一個(gè)輸出緩沖存儲(chǔ)器,并且輸入緩沖存儲(chǔ)器和輸出緩沖存儲(chǔ)器有益地分別被劃分為一個(gè)子緩沖存儲(chǔ)器和一個(gè)針對(duì)子緩沖存儲(chǔ)器的影子存儲(chǔ)器,其中在每個(gè)傳輸方向上實(shí)施如下步驟數(shù)據(jù)輸入各自的子緩沖存儲(chǔ)器并且交換對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存取,如此后續(xù)的數(shù)據(jù)可以輸入影子存儲(chǔ)器,同時(shí)已輸入的數(shù)據(jù)在設(shè)置的傳輸方向上已經(jīng)從子緩沖存儲(chǔ)器中輸出。根據(jù)本發(fā)明因此用于存取信息存儲(chǔ)器的數(shù)據(jù)的緩沖存儲(chǔ)器布置采用一個(gè)具有輸入緩沖存儲(chǔ)器和一個(gè)輸出緩沖存儲(chǔ)器的通信模塊,其中輸入緩沖存儲(chǔ)器包含一個(gè)第一子緩沖存儲(chǔ)器和一個(gè)第一影子存儲(chǔ)器并且輸出緩沖存儲(chǔ)器包含一個(gè)第二子緩沖存儲(chǔ)器和一個(gè)第二影子存儲(chǔ)器,其中設(shè)置第一單元,通過該單元交換對(duì)第一子緩沖存儲(chǔ)器和第一影子存儲(chǔ)器的存取并且設(shè)置第二單元,通過該單元交換對(duì)第二子緩沖存儲(chǔ)器和第二影子存儲(chǔ)器的存取。
也就是說有益地設(shè)置一個(gè)緩沖存儲(chǔ)器用于存取通信模塊的信息存儲(chǔ)器的數(shù)據(jù),其中緩沖存儲(chǔ)器包含一個(gè)子緩沖存儲(chǔ)器和該子緩沖存儲(chǔ)器的一個(gè)影子存儲(chǔ)器并且設(shè)置一個(gè)單元,通過該單元交換對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存取。
也就是說本發(fā)明描述了用于在主CPU和信息存儲(chǔ)器之間的數(shù)據(jù)傳輸?shù)姆椒ê脱b置,通過中間連接一個(gè)緩沖存儲(chǔ)器布置、特別是用于寫入的輸入緩沖器和用于讀出的輸出緩沖存儲(chǔ)器與發(fā)送和接收單元的存取脫離。對(duì)此特別通過信息處理器、也就是信息管理器控制并檢驗(yàn)所有涉及信息存儲(chǔ)器的存取,由此確保已存儲(chǔ)信息的所要求的數(shù)據(jù)完整性。介紹的發(fā)明此外有以下優(yōu)點(diǎn)通過這種交換可以明顯提高傳輸速度并且通過等分緩沖存儲(chǔ)器能夠交替地進(jìn)行寫和讀,從而省去了在數(shù)據(jù)傳輸時(shí)同時(shí)對(duì)相同存儲(chǔ)單元的存取并因此確保數(shù)據(jù)完整性。
有益地通過一個(gè)識(shí)別碼表明對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器存取的交換或在一個(gè)特別的實(shí)施形式中通過該識(shí)別碼觸發(fā)對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器存取的交換。
適當(dāng)?shù)卦谛畔⒅袀鬏敂?shù)據(jù)并且所述信息具備一個(gè)信息識(shí)別碼,其中如果信息識(shí)別碼寫入一個(gè)可預(yù)先確定的寄存器,則實(shí)現(xiàn)對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存取交換。
對(duì)此這是特別有益的,即信息中的數(shù)據(jù)至少被劃分為第一數(shù)據(jù)、也就是配置數(shù)據(jù)、狀態(tài)數(shù)據(jù)、和第二數(shù)據(jù)、也就是真正要傳輸?shù)臄?shù)據(jù),其中依賴于至少一個(gè)數(shù)據(jù)識(shí)別碼或者僅僅傳輸?shù)谝粩?shù)據(jù)或者僅僅傳輸?shù)诙?shù)據(jù)或者傳輸?shù)谝缓偷诙?shù)據(jù)。
適當(dāng)?shù)赝ㄟ^一個(gè)在寄存器中記錄的存取識(shí)別碼表明數(shù)據(jù)的存取。從存取識(shí)別碼本身或從其在寄存器中的位置可以有益地確定一個(gè)信息直接存取哪一個(gè)子緩沖存儲(chǔ)器或哪一個(gè)影子存儲(chǔ)器。
在交換存取的情況下也適當(dāng)?shù)亟粨Q在寄存器中的至少一部分寄存器記錄、特別是上述的識(shí)別碼。
為了觸發(fā)對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存取交換可以適當(dāng)?shù)卦O(shè)置一個(gè)轉(zhuǎn)換識(shí)別碼。
此外如果數(shù)據(jù)要寫入一個(gè)存儲(chǔ)器,則對(duì)于至少一個(gè)傳輸方向可以適當(dāng)?shù)卦诩拇嫫髦杏涗浺粋€(gè)啟動(dòng)識(shí)別碼。
通過具有緩沖存儲(chǔ)器布置和包含的輸入和輸出緩沖存儲(chǔ)器以及存取交換的的本發(fā)明確保,盡管模塊內(nèi)部的等待時(shí)間,可是主CPU仍可以無中斷地存取信息存儲(chǔ)器。通過最佳的存儲(chǔ)器利用和無中斷特性一方面提高了傳輸速度,同時(shí)通過本發(fā)明確保了數(shù)據(jù)完整性。
從權(quán)利要求
的特征和實(shí)施例的描述中得出另外的優(yōu)點(diǎn)和有益設(shè)計(jì)方案。
根據(jù)下面的圖詳細(xì)闡述本發(fā)明。
對(duì)此圖1以示意圖指出了通信模塊和其在物理層上的連接,也就是通信連結(jié)和通信用戶或主機(jī)用戶。
圖2在一個(gè)特殊的實(shí)施形式中詳細(xì)示出了圖1的通信模塊以及其連接。
圖3示出了信息存儲(chǔ)器的結(jié)構(gòu)。
圖4至6圖解描述了在從用戶到信息存儲(chǔ)器的方向上數(shù)據(jù)存取的結(jié)構(gòu)格式和過程。
圖7至9圖解描述了在從信息存儲(chǔ)器到用戶的方向上數(shù)據(jù)存取的結(jié)構(gòu)格式和過程。
在圖10中圖解示出了信息管理器和其中包含的有限狀態(tài)機(jī)。
圖11再一次大致示出了通信模塊的部件以及用戶和相應(yīng)的、通過信息管理器控制的數(shù)據(jù)通道。
圖12描述了涉及在圖11中數(shù)據(jù)通道的存取分配。
具體實(shí)施方式下面根據(jù)實(shí)施例詳細(xì)闡述本發(fā)明。
具體實(shí)施形式圖1大致示出了一個(gè)用于使用戶或主機(jī)102連接在FlexRay通信線路101上的FlexRay通信模塊100,也就是FlexRay的物理層。為此FlexRay通信模塊100經(jīng)過線路107與用戶或者用戶處理器102連接并且經(jīng)過線路106與通信線路101連接。為了一方面關(guān)于傳輸時(shí)間并且另一方面關(guān)于數(shù)據(jù)完整性的毫無問題的連接主要圖解區(qū)分在FlexRay通信模塊中的三個(gè)設(shè)備。其中第一設(shè)備105用于存儲(chǔ)、特別是緩存至少一部分要傳輸?shù)男畔?。在用?02和這個(gè)第一設(shè)備105之間通過線路107和108連接一個(gè)第二設(shè)備104。同樣在用戶101和第一設(shè)備105之間通過線路106和109連接一個(gè)第三設(shè)備103,由此以最佳速度可以實(shí)現(xiàn)數(shù)據(jù)作為信息、特別是FlexRay信息的一部分保證數(shù)據(jù)完整、非常靈活地輸入第一設(shè)備105或從第一設(shè)備中輸出。
在圖2中以優(yōu)選的實(shí)施形式再一次詳細(xì)示出了這個(gè)通信模塊100。同樣詳細(xì)示出了各自的線路106至109。對(duì)此第二設(shè)備104包含一個(gè)輸入緩沖存儲(chǔ)器201(Input Buffer IBF)、一個(gè)輸出緩沖器202(OutputBuffer OBF)以及一個(gè)包括兩個(gè)部件203和204的接口模塊,其中一個(gè)子模塊203獨(dú)立于用戶并且第二子模塊204是用戶專用的。用戶特定的子模塊204(Customer CPU Interface CIF)使用戶特定的主CPU102、也就是一個(gè)客戶專用的用戶與FlexRay通信模塊連接。為此設(shè)置一個(gè)雙向的數(shù)據(jù)傳輸線216、一個(gè)地址線217以及一個(gè)控制輸入端218。同樣設(shè)置一個(gè)中斷輸出端219。用戶專用的子模塊204與用戶獨(dú)立的子模塊203(Generic CPU Interface,GIF)連接,也就是說FlexRay通信模塊或FlexRay-IP模塊支配一個(gè)同類的、也就是公共的CPU接口,多個(gè)不同的客戶專用的主CPU經(jīng)過一個(gè)相應(yīng)的、用戶專用的子模塊、也就是用戶CPU接口CIF能夠連接在該CPU接口上。由此必須依賴于用戶僅僅改變子模塊,這表明明顯低的費(fèi)用。
輸入緩沖存儲(chǔ)器201和輸出緩沖存儲(chǔ)器202可以在一個(gè)存儲(chǔ)模塊或在獨(dú)立的存儲(chǔ)模塊中形成。對(duì)此輸入緩沖存儲(chǔ)器201為了到信息存儲(chǔ)器200的傳輸而用于信息的緩存。對(duì)此最好如此形成輸入緩沖模塊,即其可以存儲(chǔ)兩個(gè)完整的、包括各一個(gè)標(biāo)題段的信息,該信息特別具有配置數(shù)據(jù)和一個(gè)數(shù)據(jù)段或有效負(fù)荷段。對(duì)此由兩部分形成輸入緩沖存儲(chǔ)器(子緩沖存儲(chǔ)器和影子存儲(chǔ)器),由此通過交替地寫入兩部分輸入緩沖存儲(chǔ)器或者通過存取切換能夠加速在用戶CPU102和信息存儲(chǔ)器200之間的傳輸。同樣輸出端緩沖存儲(chǔ)器(Output Buffer OBF)為了從信息存儲(chǔ)器200到用戶CPU102的傳輸而用于信息的緩存。對(duì)此也構(gòu)成輸出緩沖器202使得可以存儲(chǔ)兩個(gè)完整的、包括標(biāo)題段的信息,特別具有配置數(shù)據(jù)和數(shù)據(jù)段、也就是有效負(fù)荷段。在此輸出緩沖存儲(chǔ)器202也劃分為兩部分、一個(gè)子緩沖存儲(chǔ)器和一個(gè)影子存儲(chǔ)器,由此通過交替讀出這兩部分也能夠加速傳輸或者通過存取切換加速在用戶CPU或者主CPU102和信息存儲(chǔ)器200之間的傳輸。包括方框201至204的第二設(shè)備104與第一設(shè)備105如示出的一樣連接。
設(shè)備105包括一個(gè)信息管理器200(Message Handler MHD)和一個(gè)信息存儲(chǔ)器300(Message RAM)。信息管理器檢驗(yàn)或者控制在輸入緩沖存儲(chǔ)器201以及輸出緩沖存儲(chǔ)器202和信息存儲(chǔ)器300之間的數(shù)據(jù)傳輸。同時(shí)其檢驗(yàn)或者控制在另外方向上經(jīng)過第三設(shè)備103的數(shù)據(jù)傳輸。信息存儲(chǔ)器最好實(shí)施為單端RAM。該RAM存儲(chǔ)器與配置數(shù)據(jù)和狀態(tài)數(shù)據(jù)一起存儲(chǔ)信息或者信息對(duì)象、也就是真正的數(shù)據(jù)。在圖3中詳細(xì)示出了信息存儲(chǔ)器300的詳細(xì)結(jié)構(gòu)。
第三設(shè)備103包括方框205至208。根據(jù)FlexRay物理層的兩個(gè)信道該設(shè)備103劃分為兩個(gè)具有各兩個(gè)數(shù)據(jù)方向的數(shù)據(jù)通道。這通過線路213和214清楚說明,其中示出了用于接收(RxA)和發(fā)送(TxA)的信道A、RxA和TxA以及信道B、RxB和TxB的兩個(gè)數(shù)據(jù)方向。以線路215表示選擇的雙向控制輸入端。通過信道B的第一緩沖存儲(chǔ)器205和信道A的第二緩沖存儲(chǔ)器206實(shí)現(xiàn)第三設(shè)備103的連接。這兩個(gè)緩沖存儲(chǔ)器(Transient Buffer Ram`sRAM A和RAM B)用作來自或到達(dá)第一設(shè)備105的數(shù)據(jù)傳輸?shù)木彺嫫?。根?jù)兩個(gè)信道這兩個(gè)緩沖存儲(chǔ)器205和206與各一個(gè)接口模塊207和208連接,其包含F(xiàn)lexRay協(xié)議控制器或總線協(xié)議控制器,其包括一個(gè)發(fā)送/接收移位寄存器和FlexRay協(xié)議有限狀態(tài)機(jī)。這兩個(gè)緩沖存儲(chǔ)器205和206因此用作在接口模塊的移位寄存器或FlexRay協(xié)議控制器207和208與信息存儲(chǔ)器300之間的數(shù)據(jù)傳輸?shù)木彺嫫?。在此有利地通過每個(gè)緩沖存儲(chǔ)器205或206存儲(chǔ)數(shù)據(jù)組、也就是兩個(gè)FlexRay信息的有效負(fù)荷段或數(shù)據(jù)段。
此外在通信模塊100中以209示出了整體時(shí)鐘單元(Global Time UnitGTU),其在FlexRay中主管整體時(shí)間周期的表達(dá),也就是微計(jì)時(shí)(Mikrotick)μT和宏計(jì)時(shí)(Makrotick)MT。同樣通過整體時(shí)間單元209調(diào)節(jié)循環(huán)計(jì)數(shù)器(Cycle Counter)的容錯(cuò)的時(shí)鐘同步和在FlexRay的靜態(tài)與動(dòng)態(tài)部分的時(shí)序控制。
以方框210表示公共的系統(tǒng)控制(System Universal Control SUC),通過系統(tǒng)控制檢驗(yàn)并控制FlexRay通信控制器的操作模式。喚醒、啟動(dòng)、重新整體化或者整體化、標(biāo)準(zhǔn)操作(normal Operation)和被動(dòng)操作(passiveOperation)屬于操作模式。
方框211指出了網(wǎng)絡(luò)和錯(cuò)誤管理(Network-und Error ManagementNEM),正如在FlexRay協(xié)議規(guī)范中說明的。最后方框212指出了中斷控制(Interrupt Control INT),其管理狀態(tài)與錯(cuò)誤中斷標(biāo)志(status and errorinterrupt flags)并且檢驗(yàn)或者控制到用戶CPU102的中斷輸出端219。方框212此外包含一個(gè)絕對(duì)和一個(gè)相對(duì)的、用于產(chǎn)生時(shí)間中斷的計(jì)時(shí)器。
對(duì)于在FlexRay網(wǎng)絡(luò)中的通信可以配置具有直到254數(shù)據(jù)字節(jié)的信息對(duì)象或者信息(Message Buffer)。信息存儲(chǔ)器300特別是一個(gè)信息RAM存儲(chǔ)器(Message RAM),其例如可以存儲(chǔ)直到最大64個(gè)信息對(duì)象。信息處理器200執(zhí)行所有涉及信息處理或者管理的功能。這例如是在兩個(gè)FlexRay協(xié)議控制器方框207和208與信息存儲(chǔ)器300、也就是信息RAM之間的信息接收過濾、傳輸以及發(fā)送序列的檢驗(yàn)和配置數(shù)據(jù)或者狀態(tài)數(shù)據(jù)的提供。
一個(gè)外部的CPU、也就是一個(gè)外部的用戶處理器102可以通過用戶接口以用戶專用的部分204直接存取FlexRay通信模塊的寄存器。對(duì)此應(yīng)用多個(gè)寄存器。使用這些寄存器,以使FlexRay協(xié)議控制器、也就是接口模塊207和208配置并控制信息管理器(message Handler MHD)200、整體時(shí)間單元(Global Time Unit GTU)209、公共系統(tǒng)控制器(System UniversalController SUC)210、網(wǎng)絡(luò)和錯(cuò)誤管理單元(Network und Error Management UnitNEM)211、中斷控制器(Interrupt Controller INT)212以及對(duì)信息RAM、也就是信息存儲(chǔ)器300的存取,并且同樣顯示相應(yīng)的狀態(tài)。在圖4至6和7至9中至少還詳細(xì)探討了部分寄存器。如此描述的、根據(jù)本發(fā)明的FlexRay通信模塊能夠簡單轉(zhuǎn)換FlexRay規(guī)范v2.0,由此可以簡單產(chǎn)生一個(gè)ASIC或一個(gè)具有相應(yīng)FlexRay功能的微控制器。
在圖3中詳細(xì)描述了信息存儲(chǔ)器300的分配。對(duì)于按照FlexRay協(xié)議規(guī)范要求的FlexRay通信控制器的功能性需要一個(gè)用于提供要發(fā)送的信息的信息存儲(chǔ)器(Transmit Buffer)以及無錯(cuò)誤接受的信息的緩存器(Receive Buffer)。FlexRay協(xié)議允許具有數(shù)據(jù)區(qū)、也就是0至254字節(jié)的有效負(fù)荷區(qū)域的信息。正如在圖2中示出的,信息存儲(chǔ)器是FlexRay通信模塊100的一部分。下面描述的方法以及相應(yīng)的信息存儲(chǔ)器描述了特別是在應(yīng)用隨機(jī)存取存儲(chǔ)器(RAM)的情況下要發(fā)送的信息以及接收的信息的存儲(chǔ),其中通過根據(jù)本發(fā)明的機(jī)制能夠在一個(gè)規(guī)定大小的信息存儲(chǔ)器中存儲(chǔ)可變數(shù)目的信息。對(duì)此可存儲(chǔ)的信息的數(shù)目依賴于各個(gè)信息的數(shù)據(jù)區(qū)的大小,由此一方面在不限制信息數(shù)據(jù)區(qū)大小的情況下可以最小化所需存儲(chǔ)器的大小并且另一方面實(shí)現(xiàn)存儲(chǔ)器的最佳利用。下面詳細(xì)描述FlexRay通信控制器的、特別基于RAM的信息存儲(chǔ)器的可變分配。
為了實(shí)現(xiàn)例如設(shè)置一個(gè)具有n位、例如8、16、32位等字寬以及規(guī)定的、m個(gè)字存儲(chǔ)深度的信息存儲(chǔ)器(m、n為自然數(shù))。對(duì)此信息存儲(chǔ)器300劃分為兩個(gè)段,一個(gè)標(biāo)題段HS和一個(gè)數(shù)據(jù)段DS(PayloadSection)。因此每個(gè)信息占用一個(gè)標(biāo)題區(qū)域HB和一個(gè)數(shù)據(jù)區(qū)域DB。因此對(duì)于信息0、1至k(k是自然數(shù))占用標(biāo)題區(qū)域HB0、HB1至HBk和數(shù)據(jù)區(qū)DB0、DB1至DBk。在一個(gè)信息中區(qū)分第一和第二數(shù)據(jù),其中第一數(shù)據(jù)相當(dāng)于關(guān)于FlexRay信息的配置數(shù)據(jù)和/或狀態(tài)數(shù)據(jù)并且分別保存在標(biāo)題區(qū)域HB(HB0、HB1、...、HBk)中。相當(dāng)于應(yīng)當(dāng)傳輸?shù)恼嬲龜?shù)據(jù)的第二數(shù)據(jù)相應(yīng)保存在數(shù)據(jù)區(qū)域DB(DB0、DB1、...、DBk)中。因此對(duì)于每信息的第一數(shù)據(jù)產(chǎn)生一個(gè)第一數(shù)據(jù)規(guī)模(以位、字節(jié)或存儲(chǔ)字測(cè)量)并且對(duì)于一個(gè)信息的第二數(shù)據(jù)產(chǎn)生一個(gè)第二數(shù)據(jù)規(guī)模(同樣以位、字節(jié)或存儲(chǔ)字測(cè)量),其中每信息的第二數(shù)據(jù)規(guī)??梢允遣煌?。在標(biāo)題段HS和數(shù)據(jù)段DS之間的劃分在信息存儲(chǔ)器300中是可變的,也就是說不存在設(shè)置的、在區(qū)域之間的界限。在標(biāo)題段HS和數(shù)據(jù)段DS之間的劃分根據(jù)本發(fā)明共同依賴于信息的數(shù)目k以及一個(gè)信息或者所有k個(gè)信息的第二數(shù)據(jù)規(guī)模、也就是真正數(shù)據(jù)的規(guī)模。根據(jù)本發(fā)明各自信息的配置數(shù)據(jù)KD1、KD1至KDk分別直接分配一個(gè)指針元或數(shù)據(jù)指針DP0、DP1至DPk。在這個(gè)特殊的設(shè)計(jì)方案中給每個(gè)標(biāo)題區(qū)域HB0、HB1至HBk分配一個(gè)固定數(shù)目的存儲(chǔ)字,在此是兩個(gè),如此配置數(shù)據(jù)KD(KD0、KD1、...、KDk)和指針元DP(DP0、DP1、...、DPk)共同保存在一個(gè)標(biāo)題區(qū)域HB內(nèi)。用于存儲(chǔ)真正信息數(shù)據(jù)D0、D1至Dk的數(shù)據(jù)段DS連接具有標(biāo)題區(qū)域HB的標(biāo)題段HS,標(biāo)題區(qū)域的大小或者第一數(shù)據(jù)規(guī)模依賴于要存儲(chǔ)的信息的數(shù)目k。該數(shù)據(jù)段(或數(shù)據(jù)段)DS在其數(shù)據(jù)規(guī)模上依賴于保存的信息數(shù)據(jù)的各自數(shù)據(jù)規(guī)模,在此例如在DB0中六個(gè)字、在DB1中一個(gè)字并且在DBk中兩個(gè)字。各自指針元DB0、DP1至DPk因此始終指向開始,也就是各自數(shù)據(jù)區(qū)域DB0、DB1至DBk的起始地址,在該地址內(nèi)存放各自信息0、1至k的數(shù)據(jù)D0、D1至Dk。因此在標(biāo)題段HS和數(shù)據(jù)段DS之間信息存儲(chǔ)器的劃分是可變的并依賴于信息本身的數(shù)目以及信息的各自數(shù)據(jù)規(guī)模并因此依賴于全部的第二數(shù)據(jù)規(guī)模。如果配置較少的信息,則標(biāo)題段較小并且在信息存儲(chǔ)器中的空區(qū)域可以附加用于數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)段DS。通過這種可變性可以保證最佳的存儲(chǔ)器利用,由此也可以應(yīng)用較小的存儲(chǔ)器。空的數(shù)據(jù)段FDS、特別是其大小、同樣依賴于存儲(chǔ)的信息的數(shù)目k和信息的各自第二數(shù)據(jù)規(guī)模的組合,因此是最小的并且甚至可以為0。
除了應(yīng)用指針元之外也可以按設(shè)置的順序保存第一和第二數(shù)據(jù)、也就是配置數(shù)據(jù)KD(KD1、KD1、...、KDk)和真正的數(shù)據(jù)D(D0、D1、...、DK),如此在標(biāo)題段HS中的標(biāo)題區(qū)域HB0至HBk的順序和在數(shù)據(jù)段DS中數(shù)據(jù)區(qū)域DB0至DBk的順序分別是相同的。當(dāng)然甚至也許可以放棄指針元。
在一個(gè)特別的設(shè)計(jì)方案中給信息存儲(chǔ)器分配一個(gè)錯(cuò)誤識(shí)別碼發(fā)生器、特別是一個(gè)寄偶校驗(yàn)位發(fā)生器元件和一個(gè)錯(cuò)誤識(shí)別碼檢驗(yàn)器、特別是一個(gè)寄偶校驗(yàn)位檢驗(yàn)元件,以便保證在HS和DS中存儲(chǔ)的數(shù)據(jù)的正確性。這是通過每存儲(chǔ)字或每區(qū)域(HB和/或DB)可以共同存放一個(gè)檢驗(yàn)和特別作為寄偶校驗(yàn)位實(shí)現(xiàn)的。也可以考慮另外的檢驗(yàn)識(shí)別碼、例如一個(gè)CRC(Cyclic redundancy check)或較高基數(shù)的識(shí)別碼、比如ECC(ErrorCode Correction)。因此與信息存儲(chǔ)器的確定劃分相比得出如下優(yōu)點(diǎn)用戶在編程時(shí)可以判斷,其可以應(yīng)用較大數(shù)目的、具有較小數(shù)據(jù)組的信息還是應(yīng)用較小數(shù)目的、具有較大數(shù)據(jù)組的信息。在配置具有不同大小數(shù)據(jù)區(qū)的信息的情況下最佳利用存在的存儲(chǔ)單元。用戶能夠使用一個(gè)數(shù)據(jù)存儲(chǔ)區(qū)域共同用于不同的信息。
當(dāng)在一個(gè)集成電路上實(shí)現(xiàn)通信控制器的情況下可以通過匹配所應(yīng)用的存儲(chǔ)器深度使信息存儲(chǔ)器的大小匹配于應(yīng)用需求,不必改變通信控制器的另外功能。
此外根據(jù)圖4至6以及7至9詳細(xì)說明主CPU存取、也就是通過緩沖存儲(chǔ)器布置201和202寫入并讀出配置數(shù)據(jù)或者狀態(tài)數(shù)據(jù)和真正的數(shù)據(jù)。對(duì)此目的是如此建立關(guān)于數(shù)據(jù)傳輸?shù)娜ヱ詈?,即可以確保數(shù)據(jù)完整性并且同時(shí)保證較高的傳輸速度。通過信息管理器200實(shí)現(xiàn)該過程的控制,這在后面在圖10、11和12中還要詳細(xì)說明。
在圖4、5和6中首先詳細(xì)闡述了用戶CPU102的主CPU經(jīng)過輸入緩沖存儲(chǔ)器201對(duì)信息存儲(chǔ)器300的寫存取。對(duì)此圖4再一次指出了通信模塊100,其中為了層次清楚僅僅指出了通信模塊100的重要部分。這一方面是負(fù)責(zé)該過程控制的信息管理器200以及兩個(gè)檢驗(yàn)寄存器403和404,其正如示出的可以安置在通信模塊100的信息管理器200的外部,可是也可以包含在信息管理器內(nèi)。對(duì)此403表示輸入請(qǐng)求寄存器(Input Buffer Command Request Register)并且404表示輸入掩蔽寄存器(Input Buffer Command Mask Register)。通過一個(gè)中間連接的輸入緩沖存儲(chǔ)器201(Input Buffer)實(shí)現(xiàn)主CPU102對(duì)信息緩沖存儲(chǔ)器300的寫存取。該輸入緩沖存儲(chǔ)器201等分或者加倍設(shè)計(jì),也就是說作為子緩沖存儲(chǔ)器400和一個(gè)屬于子緩沖存儲(chǔ)器的影子存儲(chǔ)器401。正如下面描述的,因此可以實(shí)現(xiàn)主CPU102連續(xù)存取信息或者信息對(duì)象或者信息存儲(chǔ)器300的數(shù)據(jù),并因此保證數(shù)據(jù)完整性和加速傳輸。通過輸入請(qǐng)求寄存器403并通過輸入掩蔽寄存器404實(shí)現(xiàn)存取控制。在寄存器403中以數(shù)字0至31表示例如用于32位寬度的、在403中的各自位單元。同樣適用于寄存器404和在404中位單元0至31。
根據(jù)本發(fā)明例如寄存器403的位單元0至5、15、16至21和31關(guān)于過程控制獲得一個(gè)特別的功能。如此在寄存器403的位單元0至5中可以記錄一個(gè)識(shí)別碼IBRH(Input Buffer Request Host)作為信息識(shí)別碼。同樣在寄存器403的位單元16至21中可以記錄一個(gè)識(shí)別碼IBRS(InputBuffer Request Shadow)。同樣在403的寄存器位置15中記錄IBSYH并且在403的寄存器位置31中記錄IBSYS作為存取識(shí)別碼。也標(biāo)記寄存器404的位置0至2,其中在0和1中以LHSH(Load Header Section Host)和LDSH(Load Data Section Host)記錄另外的識(shí)別碼作為數(shù)據(jù)識(shí)別碼。在此以最簡單的形式形成該數(shù)據(jù)識(shí)別碼,即分別形成一個(gè)位。在寄存器404的位單元2中以STXRH(Set Transmission X Request Host)寫入一個(gè)啟動(dòng)識(shí)別碼。
此外說明通過輸入緩沖器對(duì)信息存儲(chǔ)器的寫存取過程。
主CPU102把要傳輸?shù)男畔⒌臄?shù)據(jù)寫入輸入緩沖存儲(chǔ)器201。對(duì)此主CPU102對(duì)于信息存儲(chǔ)器的標(biāo)題段HS僅僅寫入信息的配置數(shù)據(jù)和標(biāo)題數(shù)據(jù)KD或者對(duì)于信息存儲(chǔ)器的數(shù)據(jù)段DS僅僅寫入信息的真正要傳輸?shù)臄?shù)據(jù)D或者二者都寫入。通過在輸入掩蔽存儲(chǔ)器404中的特殊數(shù)據(jù)識(shí)別碼LHSH和LDSH確定,應(yīng)當(dāng)傳輸那一部分信息、也就是配置數(shù)據(jù)和/或真正的數(shù)據(jù)。對(duì)此通過LHSH(Load Header Section Host)確定,是否應(yīng)當(dāng)傳輸標(biāo)題數(shù)據(jù)、也就是配置數(shù)據(jù)KD,并通過LDSH(Load Data Section Host)確定,是否應(yīng)當(dāng)傳輸數(shù)據(jù)。由此以緩沖存儲(chǔ)器400的一部分和附屬的影子存儲(chǔ)器401兩部分形成輸入緩沖存儲(chǔ)器201,并實(shí)現(xiàn)交替存取,設(shè)置兩個(gè)另外的數(shù)據(jù)識(shí)別碼區(qū)域作為LHSH和LDSH的配對(duì),這兩個(gè)數(shù)據(jù)識(shí)別碼區(qū)域涉及影子存儲(chǔ)器401。在寄存器404的位單元16和17中的數(shù)據(jù)識(shí)別碼以LHSS(Load Header Section Shadow)和LDSS(Load Data SectionShadow)表示。因此通過這兩個(gè)識(shí)別碼控制關(guān)于影子存儲(chǔ)器401的傳輸過程。
如果設(shè)置在輸入掩蔽寄存器404的位單元2中的啟動(dòng)位或者啟動(dòng)識(shí)別碼STXRH(Set Transmission X Request Host),則在后面的、把分別要傳輸?shù)呐渲脭?shù)據(jù)和/或真正的數(shù)據(jù)傳送到信息存儲(chǔ)器300中之后為相應(yīng)的信息對(duì)象自動(dòng)設(shè)置發(fā)送請(qǐng)求(Transmission Request)。也就是說通過啟動(dòng)識(shí)別碼STXRH控制、特別是啟動(dòng)自動(dòng)發(fā)送要傳輸?shù)男畔?duì)象。
相應(yīng)對(duì)于影子存儲(chǔ)器與此相對(duì)的配對(duì)是啟動(dòng)識(shí)別碼STXRS(SetTransmission X Request Shadow),其例如包含在輸入掩蔽寄存器404的位單元18中并且在此以最簡單的情況恰好形成為一個(gè)位。STXRS的功能類似于STXRH的功能,僅僅涉及影子存儲(chǔ)器1。
如果主CPU102按照IBRH把信息識(shí)別碼、特別是在信息存儲(chǔ)器300中的信息對(duì)象的號(hào)碼寫入輸入請(qǐng)求寄存器403的位單元0至5,輸入緩沖存儲(chǔ)器201的數(shù)據(jù)傳送入該信息存儲(chǔ)器300,則交換輸入緩沖存儲(chǔ)器201的子緩沖存儲(chǔ)器400和附屬的影子存儲(chǔ)器401或者交換主CPU102和信息存儲(chǔ)器300對(duì)兩個(gè)子存儲(chǔ)器400和401的各自存取,正如通過半圓形箭頭表明的。對(duì)此例如也啟動(dòng)數(shù)據(jù)傳送、也就是到信息存儲(chǔ)器的數(shù)據(jù)傳輸。離開影子存儲(chǔ)器401數(shù)據(jù)傳輸?shù)叫畔⒋鎯?chǔ)器300。同時(shí)寄存器區(qū)IBRH和IBRS互換。同樣LHSS和LDSS與LHSH和LDSH互換。同樣STXRH與STXRS互換。因此IBRS表明信息的識(shí)別碼、也就是信息對(duì)象的號(hào)碼,對(duì)于該信息對(duì)象正在進(jìn)行傳輸、也就是離開影子存儲(chǔ)器401的傳輸,或者從影子存儲(chǔ)器401獲得哪一個(gè)信息對(duì)象、也就是影子存儲(chǔ)器401的哪一個(gè)區(qū)域作為最后的數(shù)據(jù)(KD和/或D)。通過在輸入請(qǐng)求寄存器403的位單元31中的識(shí)別碼(在此再次例如為1位)IBSYS(InputBuffer Busy Shadow)表明,是否正好實(shí)現(xiàn)影子存儲(chǔ)器401參與的傳輸。如此例如在IBSYS=1的情況下剛好從影子存儲(chǔ)器401中傳輸出來并且在IBSYS=0的情況下正好不傳輸。例如通過在寄存器403中寫入IBRH、也就是位單元0至5設(shè)置該位IBSYS,以便表明正在進(jìn)行在影子存儲(chǔ)器401和信息存儲(chǔ)器300之間的傳輸。在結(jié)束到信息存儲(chǔ)器300的數(shù)據(jù)傳輸之后重新復(fù)位IBSYS。
在從影子存儲(chǔ)器401進(jìn)行數(shù)據(jù)傳送期間主CPU102可能剛好運(yùn)行,其首先把要傳送的信息寫入輸入緩沖存儲(chǔ)器或者寫入子緩沖存儲(chǔ)器400中。借助于例如在寄存器403的位單元5中的另外的存取識(shí)別碼IBSYH(Input Buffer Busy Host)還可以進(jìn)一步細(xì)化該識(shí)別碼。如果在影子存儲(chǔ)器401和信息存儲(chǔ)器300之間進(jìn)行傳輸時(shí),主CPU102剛好寫入IBRH、也就是寄存器403的位單元0至5,也就是IBSYS=1,則在輸入請(qǐng)求寄存器403中設(shè)置IBSYH。當(dāng)前的傳送、也就是當(dāng)前的傳輸一結(jié)束,就啟動(dòng)請(qǐng)求的傳送(STXRH的請(qǐng)求,見上)并且位IBSYH復(fù)位。該位IBSYH在整個(gè)時(shí)間保持設(shè)置,以便表明到信息存儲(chǔ)器傳送數(shù)據(jù)。對(duì)此所有實(shí)施例的所有應(yīng)用的位也可以形成為具有多于一位的識(shí)別碼。為了節(jié)約存儲(chǔ)器和簡化處理一個(gè)位是有益的。
如此說明的機(jī)制允許主CPU102連續(xù)把數(shù)據(jù)傳送入處于信息存儲(chǔ)器中的、包括標(biāo)題區(qū)域HB和數(shù)據(jù)區(qū)域DB的信息對(duì)象,前提條件是主CPU102對(duì)輸入緩沖存儲(chǔ)器的存取速度較小或等于FlexRay-IP模塊的、也就是通信模塊的內(nèi)部數(shù)據(jù)傳送速率。
在圖7、8和9中詳細(xì)闡述了主CPU或用戶CPU102通過輸出緩沖存儲(chǔ)器202對(duì)信息存儲(chǔ)器300的讀取。為此圖7再一次指出了通信模塊100,其中為了層次清楚在此也僅僅指出了通信模塊100的重要部分。這一方面是負(fù)責(zé)該過程控制的信息管理器200以及兩個(gè)檢驗(yàn)寄存器703和704,其正如示出的可以安置在通信模塊200的信息管理器300的外部,可是也可以包含在信息管理器200內(nèi)。對(duì)此703表示輸出請(qǐng)求寄存器(Output Buffer Command Request Register)并且704表示輸出掩蔽寄存器(Output Buffer Command Mask Register)。通過中間連接的輸出緩沖存儲(chǔ)器202(Output Buffer)實(shí)現(xiàn)主CPU102對(duì)信息存儲(chǔ)器300的讀取。該輸出緩沖存儲(chǔ)器202同樣等分或者加倍設(shè)計(jì),也就是說作為子緩沖存儲(chǔ)器701和一個(gè)屬于子緩沖存儲(chǔ)器的影子存儲(chǔ)器700。正如下面描述的,因此可以實(shí)現(xiàn)主CPU102連續(xù)存取信息存儲(chǔ)器300的信息或者信息對(duì)象或者數(shù)據(jù),并因此保證數(shù)據(jù)完整性和在從信息存儲(chǔ)器到主機(jī)的反方向上的加速傳輸。通過輸出請(qǐng)求寄存器703并通過輸入掩蔽寄存器704實(shí)現(xiàn)存取控制。在寄存器703中以數(shù)字0至31表示例如用于32位寬度的、在703中的各自位單元。同樣適用于704和在704中位單元0至31。
根據(jù)本發(fā)明例如寄存器703的位單元0至5、8和9、15和16至21關(guān)于讀取的過程控制獲得一個(gè)特別的功能。如此在寄存器703的位單元0至5中可以記錄一個(gè)識(shí)別碼OBRS(Output Buffer Request Shadow)作為信息識(shí)別碼。同樣在寄存器703的位單元16至21中可以記錄一個(gè)識(shí)別碼OBRH(Output Beffer Request Host)。在寄存器703的位單元15中可以記錄一個(gè)識(shí)別碼OBSYS(Output Buffer Busy Shadow)作為存取識(shí)別碼。也標(biāo)記輸出掩蔽寄存器704的位置0和1,其中在0和1中以RDSS(Read DataSection Shadow)和RHSS(Read Header Section Shadow)記錄另外的識(shí)別碼作為數(shù)據(jù)識(shí)別碼。例如在位單元16和17中以RDSH(Read Data Section Host)和RHSH(Read Header Section Host)設(shè)置另外的數(shù)據(jù)識(shí)別碼。該數(shù)據(jù)識(shí)別碼在此也例如以最簡單的形式形成,即分別形成一個(gè)位。在寄存器703的位單元9中記錄一個(gè)啟動(dòng)識(shí)別碼REQ。此外設(shè)置一個(gè)轉(zhuǎn)換識(shí)別碼VIEW,其例如記錄在寄存器703的位單元8中。
主CPU把所希望的信息的識(shí)別碼、也就是特別是所希望的信息對(duì)象的號(hào)碼按照OBRS寫入寄存器703的位單元0至5,這樣主CPU102從信息存儲(chǔ)器300請(qǐng)求信息對(duì)象的數(shù)據(jù)。在此主CPU也象在反方向上一樣或者僅僅從標(biāo)題區(qū)域讀出信息的狀態(tài)數(shù)據(jù)或者配置數(shù)據(jù)和標(biāo)題數(shù)據(jù)KD或者僅僅從數(shù)據(jù)區(qū)域讀出信息的真正要傳輸?shù)臄?shù)據(jù)D或二者都讀出。在此可以與反方向?qū)Ρ韧ㄟ^RHSS和RDSS確定,應(yīng)當(dāng)從標(biāo)題區(qū)域和/或數(shù)據(jù)區(qū)域傳輸那一部分?jǐn)?shù)據(jù)。也就是說RHSS說明是否應(yīng)當(dāng)讀出標(biāo)題數(shù)據(jù),并且RDSS表明,是否應(yīng)當(dāng)讀出真正的數(shù)據(jù)。
啟動(dòng)識(shí)別碼用于啟動(dòng)從信息存儲(chǔ)器到影子存儲(chǔ)器700的傳輸。也就是說象在最簡單情況下一樣一個(gè)位用作識(shí)別碼,通過設(shè)置在輸出請(qǐng)求寄存器703中的位單元9的位REQ啟動(dòng)從信息存儲(chǔ)器300到影子存儲(chǔ)器700的傳輸。再度通過一個(gè)存取識(shí)別碼、在此還是在最簡單情況下通過寄存器703中的一個(gè)位OBSYS表明當(dāng)前的傳輸。為了避免碰撞這是有益的,僅僅可以設(shè)置位REQ,不設(shè)置OBSYS,剛好不實(shí)現(xiàn)當(dāng)前的傳輸。在此然后也實(shí)現(xiàn)在信息存儲(chǔ)器300和影子存儲(chǔ)器700之間的信息傳送。一方面可以與反方向?qū)Ρ?、比如在圖4、5和6中描述的、控制真正的過程,或者也可以在一個(gè)變體中通過附加識(shí)別碼、也就是在寄存器703的位單元8中的轉(zhuǎn)換識(shí)別碼VIEW實(shí)現(xiàn)該過程。也就是說在結(jié)束傳輸之后位OBSYS復(fù)位并且通過設(shè)置輸出請(qǐng)求寄存器703中的位VIEW互換子緩沖存儲(chǔ)器701和附屬的影子存儲(chǔ)器703或者互換對(duì)二者的存取,并且主CPU102可以從子緩沖存儲(chǔ)器701中讀出由信息存儲(chǔ)器請(qǐng)求的信息對(duì)象、也就是相應(yīng)的信息。對(duì)此在此也可以與在圖4至6中的相反傳輸方向?qū)Ρ然Q寄存器單元OBRS和OBRH。同樣RHSH和RDSH與RHSS和RDSS互換。在此作為保護(hù)機(jī)制也可以規(guī)定如果OBSYS不設(shè)置,也就是不進(jìn)行當(dāng)前的傳輸,則可以僅僅以后設(shè)置位VIEW。
因此通過一個(gè)中間連接的輸出緩沖存儲(chǔ)器202實(shí)現(xiàn)主CPU102對(duì)信息存儲(chǔ)器300的讀取。該輸出緩沖存儲(chǔ)器同輸入緩沖存儲(chǔ)器一樣加倍或者等分設(shè)計(jì),以便保證主CPU102連續(xù)存取在信息存儲(chǔ)器300中保存的信息對(duì)象。在此也實(shí)現(xiàn)較高數(shù)據(jù)完整和加速傳輸?shù)膬?yōu)點(diǎn)。
通過應(yīng)用所描述的輸入和輸出緩沖器確保,盡管模塊內(nèi)部的執(zhí)行時(shí)間主CPU還是可以無中斷地存取信息存儲(chǔ)器。
為了保證數(shù)據(jù)完整性通過信息管理器(Message Handler MHD)進(jìn)行數(shù)據(jù)傳輸、特別是在通信模塊100內(nèi)的傳遞。為此在圖10中示出了信息管理器200。該信息管理器通過多個(gè)狀態(tài)機(jī)或狀態(tài)自動(dòng)機(jī)、也就是有限的自動(dòng)機(jī)、所謂的有限狀態(tài)機(jī)(FSM)描述其功能性。對(duì)此設(shè)置至少三個(gè)狀態(tài)機(jī)并且在一個(gè)特別的實(shí)施例中設(shè)置四個(gè)有限狀態(tài)機(jī)。第一個(gè)有限狀態(tài)機(jī)是IOBF-FSM并以501表示(Input/Output Buffer State Machine)。該IOBF-FSM也可以每傳輸方向上關(guān)于輸入緩沖存儲(chǔ)器或輸出緩沖存儲(chǔ)器劃分為兩個(gè)有限狀態(tài)機(jī)IBF-FSM(Input Buffer FSM)和OBF-FSM(OutputBuffer FSM),由此可以考慮最多五個(gè)狀態(tài)機(jī)(IBF-FSM、OBF-FSM、TBF1-FSM、TBF2-FSM、AFSM)。可是優(yōu)選設(shè)置一個(gè)公共的IOBF-FSM。第二有限狀態(tài)機(jī)在優(yōu)選實(shí)施例的過程中劃分為兩個(gè)部件502和503并且關(guān)于存儲(chǔ)器205和206管理兩個(gè)信道A和B,正如就圖2描述的。對(duì)此可以設(shè)置一個(gè)有限狀態(tài)機(jī),以便管理兩個(gè)信道A和B或者也可以象在優(yōu)選形式中一樣一個(gè)以502表示的有限狀態(tài)機(jī)TBF1-FSM(Transient Buffer1(206,RAMA)State Machine)用于信道A,一個(gè)以503表示的TBF2-FSM(TransientBuffer2(205,RAM B)State Machine)用于信道B。
在優(yōu)選實(shí)施例中一個(gè)以500的有限狀態(tài)判優(yōu)器、所謂的AFSM、用于控制三個(gè)有限狀態(tài)機(jī)501-503的存取。在通信模塊中在一個(gè)通過時(shí)鐘單元、比如VCO(Voltage Controlled oszillator)、一個(gè)石英振蕩器等、產(chǎn)生的或來自該時(shí)鐘單元匹配的時(shí)鐘內(nèi)傳輸數(shù)據(jù)(KD和/或D)。對(duì)此該時(shí)鐘可以在模塊內(nèi)部產(chǎn)生或由外部產(chǎn)生,例如預(yù)先確定為總線時(shí)鐘。該有限狀態(tài)判優(yōu)器特別分別在一個(gè)時(shí)鐘周期T交替地提供三個(gè)有限狀態(tài)機(jī)501-503之一存取信息存儲(chǔ)器。也就是說提供使用的時(shí)間根據(jù)各個(gè)狀態(tài)機(jī)501、502、503的存取請(qǐng)求分配給請(qǐng)求的狀態(tài)機(jī)。如果僅僅一個(gè)有限狀態(tài)機(jī)進(jìn)行存取請(qǐng)求,則其獲得100%的存取時(shí)間,也就是所有時(shí)鐘T。如果兩個(gè)狀態(tài)機(jī)進(jìn)行存取請(qǐng)求,則每一個(gè)有限狀態(tài)機(jī)獲得50%的存取時(shí)間。最后如果三個(gè)狀態(tài)機(jī)進(jìn)行存取請(qǐng)求,則每一個(gè)有限狀態(tài)機(jī)獲得1/3的存取時(shí)間。由此最佳利用分別提供使用的帶寬。
以501表示第一有限狀態(tài)機(jī),也就是IOBF-FSM,在需要時(shí)其實(shí)施如下動(dòng)作-數(shù)據(jù)從輸入緩沖存儲(chǔ)器201傳送到在信息存儲(chǔ)器300中選擇的信息對(duì)象。
-數(shù)據(jù)從在信息存儲(chǔ)器300中選擇的信息對(duì)象傳送到輸出緩沖存儲(chǔ)器202。
信道A的狀態(tài)機(jī)502、也就是TBF1FSM實(shí)施如下動(dòng)作-數(shù)據(jù)從在信息存儲(chǔ)器300中選擇的信息對(duì)象傳送到信道A的緩沖存儲(chǔ)器206。
-數(shù)據(jù)從緩沖存儲(chǔ)器206傳送到在信息存儲(chǔ)器300中選擇的信息對(duì)象。
-在信息存儲(chǔ)器中尋找合適的信息對(duì)象,其中在接收時(shí)在接收過濾的范圍內(nèi)尋找用于存儲(chǔ)在信道A上接收的信息的信息對(duì)象(ReceiveBuffer)并且在發(fā)送時(shí)尋找最近在信道A上要發(fā)送的信息對(duì)象(TransmitBuffer)。
TBF2-FSM的動(dòng)作與此類似,也就是在方框503中有限狀態(tài)機(jī)用于信道B。其把數(shù)據(jù)從在信息存儲(chǔ)器300中選擇的信息對(duì)象傳送到信道B的緩沖存儲(chǔ)器205,并且把數(shù)據(jù)從緩沖存儲(chǔ)器205傳送到在信息存儲(chǔ)器300中選擇的信息對(duì)象。類似于TBF1-FSM也在信息存儲(chǔ)器中尋找一個(gè)合適的信息對(duì)象,其中在接收時(shí)在接收過濾的范圍內(nèi)尋找用于存儲(chǔ)在B信道上接收的信息的信息對(duì)象(Receive Buffer)并且在發(fā)送時(shí)尋找最近在信道B上要發(fā)送的信息或信息對(duì)象(Transmit Buffer)。
在圖11中再一次示出了過程和傳輸路徑。三個(gè)狀態(tài)機(jī)501-503控制在各個(gè)部分之間的各自數(shù)據(jù)傳輸。對(duì)此再度以102表示主CPU,以201表示輸入緩沖存儲(chǔ)器并以202表示輸出緩沖存儲(chǔ)器。以300表示信息存儲(chǔ)器并且以206和205表示信道A和信道B的兩個(gè)緩沖存儲(chǔ)器。同樣示出了接口元件207和208。以501表示的第一狀態(tài)自動(dòng)機(jī)IOBF-FSM控制數(shù)據(jù)傳輸Z1A和Z1B,也就是從輸入緩沖存儲(chǔ)器201到信息存儲(chǔ)器300和從信息存儲(chǔ)器300到輸出緩沖存儲(chǔ)器202。對(duì)此通過例如32位字寬的數(shù)據(jù)總線進(jìn)行數(shù)據(jù)傳輸,對(duì)此所有另外的位數(shù)也是可能的。同樣適用于在信息存儲(chǔ)器和緩沖存儲(chǔ)器206之間的數(shù)據(jù)傳輸Z2。通過TBF1-FSM、也就是用于信道A的狀態(tài)機(jī)502控制該數(shù)據(jù)傳輸。通過狀態(tài)自動(dòng)機(jī)TBF2-FSM、也就是503控制在信息存儲(chǔ)器300和緩沖存儲(chǔ)器205之間的傳輸Z3。在此也通過例如32位字寬的數(shù)據(jù)總線進(jìn)行數(shù)據(jù)傳送,其中在此所有另外的位數(shù)也是可能的。通常通過上述傳輸路徑的一個(gè)完整的信息對(duì)象的傳送需要多個(gè)時(shí)鐘周期T。因此通過判優(yōu)器、也就是AFSM500實(shí)現(xiàn)關(guān)于時(shí)鐘周期T的傳輸時(shí)間分配。在圖11中示出了在由信息處理器控制的存儲(chǔ)器元件之間的數(shù)據(jù)通道。為了確保在信息存儲(chǔ)器中存儲(chǔ)的信息對(duì)象的數(shù)據(jù)完整性,有益地在同一時(shí)間僅僅在一個(gè)示出的通道、也就是Z1A和Z1B以及Z2和Z3上同時(shí)交換數(shù)據(jù)。
在圖12中列舉一個(gè)實(shí)例指出,提供使用的系統(tǒng)周期T由判優(yōu)器、也就是AFSM500分配給三個(gè)請(qǐng)求的狀態(tài)自動(dòng)機(jī)。在階段1進(jìn)行狀態(tài)自動(dòng)機(jī)501和狀態(tài)自動(dòng)機(jī)502的存取請(qǐng)求,也就是整個(gè)時(shí)間分成一半給兩個(gè)請(qǐng)求的狀態(tài)自動(dòng)機(jī)。關(guān)于在階段1的時(shí)鐘周期這表明,在時(shí)鐘周期T1和T3狀態(tài)自動(dòng)機(jī)501獲得存取并且狀態(tài)自動(dòng)機(jī)502在時(shí)鐘周期T2和T4獲得存取。在階段2僅僅狀態(tài)自動(dòng)機(jī)501進(jìn)行存取,如此所有三個(gè)時(shí)鐘周期、也就是T5至T7的100%的存取時(shí)間分?jǐn)偨oIOBF-FSM。在階段3進(jìn)行所有三個(gè)狀態(tài)自動(dòng)機(jī)501至503的存取請(qǐng)求,如此整個(gè)存取時(shí)間三等分。判優(yōu)器AFSM然后例如如此分配存取時(shí)間,即在時(shí)鐘周期T8和T11有限狀態(tài)機(jī)501獲得存取、在時(shí)鐘周期T9和T12有限狀態(tài)機(jī)502獲得存取并且在時(shí)鐘周期T10和T13有限狀態(tài)機(jī)503獲得存取。最后在階段4兩個(gè)狀態(tài)自動(dòng)機(jī)502和503在通信模塊的兩個(gè)信道A和B上進(jìn)行存取,如此時(shí)鐘周期T14和T16分配給有限狀態(tài)機(jī)502進(jìn)行存取并且在T15和T17內(nèi)分配給有限狀態(tài)機(jī)503進(jìn)行存取。
判優(yōu)器狀態(tài)自動(dòng)機(jī)AFSM500關(guān)注如果多于三個(gè)狀態(tài)機(jī)中的一個(gè)狀態(tài)機(jī)提出請(qǐng)求存取信息存儲(chǔ)器300,則循環(huán)并且交替地把存取分配給請(qǐng)求的狀態(tài)機(jī)。這種優(yōu)選措施確保在信息存儲(chǔ)器中保存的信息對(duì)象的完整性、也就是數(shù)據(jù)完整性。如果例如主CPU102通過輸出緩沖存儲(chǔ)器202讀出一個(gè)信息對(duì)象,同時(shí)剛好一個(gè)接收的信息寫入該信息對(duì)象,則依賴于此首先啟動(dòng)哪一個(gè)請(qǐng)求,即或者讀出舊的狀態(tài)或者讀出新狀態(tài),在信息存儲(chǔ)器的信息對(duì)象中的存取本身不會(huì)發(fā)生沖突。
所描述的方法使主CPU能夠在連續(xù)運(yùn)行中讀出在信息存儲(chǔ)器中的每一個(gè)任意的信息對(duì)象或信息對(duì)象寫入信息存儲(chǔ)器,當(dāng)在FlexRay總線的兩個(gè)信道上進(jìn)行數(shù)據(jù)交換時(shí)不會(huì)封鎖在用戶的主CPU的存儲(chǔ)時(shí)間內(nèi)所選擇的信息對(duì)象(Buffer Locking)。同時(shí)通過循環(huán)交錯(cuò)的存取確保在信息存儲(chǔ)器中保存的數(shù)據(jù)的完整性并通過利用所有帶寬提供傳輸速度。
權(quán)利要求
1.通過把數(shù)據(jù)輸入信息存儲(chǔ)器(300)或從信息存儲(chǔ)器(300)輸出數(shù)據(jù)來存取一個(gè)通信模塊(100)的信息存儲(chǔ)器(300)的數(shù)據(jù)的方法,其中信息存儲(chǔ)器與緩沖存儲(chǔ)器布置(201和202)相連接,數(shù)據(jù)沿第一傳輸方向被傳輸給信息存儲(chǔ)器并且沿第二傳輸方向從信息存儲(chǔ)器輸出數(shù)據(jù),其特征在于,所述的緩沖存儲(chǔ)器布置沿第一傳輸方向具有一個(gè)輸入緩沖存儲(chǔ)器(201)并且沿第二傳輸方向具有一個(gè)輸出緩沖存儲(chǔ)器(202),所述輸入緩沖存儲(chǔ)器和輸出緩沖存儲(chǔ)器分別被劃分為子緩沖存儲(chǔ)器(400、701)和針對(duì)子緩沖存儲(chǔ)器的影子存儲(chǔ)器(401、700),其中沿每個(gè)傳輸方向?qū)嵤┤缦虏襟E-數(shù)據(jù)被輸入各自的子緩沖存儲(chǔ)器,-交換對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存取,從而-后續(xù)的數(shù)據(jù)可以被寫入影子存儲(chǔ)器,而所輸入的數(shù)據(jù)在規(guī)定的傳輸方向上已經(jīng)從子緩沖存儲(chǔ)器輸出。
2.按照權(quán)利要求
1的方法,其特征在于,通過一識(shí)別碼表明對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存取的交換。
3.按照權(quán)利要求
1的方法,其特征在于,通過識(shí)別碼觸發(fā)對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存取的交換。
4.按照權(quán)利要求
1的方法,其特征在于,所述數(shù)據(jù)在信息中傳輸并且該信息具備一個(gè)信息識(shí)別碼(IBRH、IBRS、OBRH、OBRS),其中如果該信息識(shí)別被寫入一個(gè)設(shè)置的寄存器(403、404、703、704),則此后交換對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存取。
5.按照權(quán)利要求
1的方法,其特征在于,所述數(shù)據(jù)在信息中傳輸,并且信息中的數(shù)據(jù)至少被劃分為第一數(shù)據(jù)(KD)和第二數(shù)據(jù)(D),其中依賴于至少一個(gè)數(shù)據(jù)識(shí)別碼(LHSH、LDSH、LDSS、LHSS、RHSS、RDSS、RDSH、RHSH)僅僅傳輸?shù)谝粩?shù)據(jù)(KD)或僅僅傳輸?shù)诙?shù)據(jù)(D)或傳輸?shù)谝缓偷诙?shù)據(jù)。
6.按照權(quán)利要求
1的方法,其特征在于,通過存取識(shí)別碼(IBSYS、IBSYH、OBSYS)表明數(shù)據(jù)存取,該識(shí)別碼被記錄在寄存器中。
7.按照權(quán)利要求
5的方法,其特征在于,從存取識(shí)別碼(IBSYS、IBSYH、OBSYS)自身中或從其在寄存器中的位置可以確定一個(gè)信息正好存取哪一個(gè)子緩沖存儲(chǔ)器或哪一個(gè)影子存儲(chǔ)器。
8.按照權(quán)利要求
3或4或5的方法,其特征在于,在交換存取時(shí)還至少部分地交換在寄存器中的寄存器記錄、特別是識(shí)別碼。
9.按照權(quán)利要求
1的方法,其特征在于,通過轉(zhuǎn)換識(shí)別碼(VIEW)觸發(fā)子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存取交換。
10.按照權(quán)利要求
1的方法,其特征在于,如果數(shù)據(jù)要寫入一個(gè)存儲(chǔ)器,則對(duì)于至少一個(gè)傳輸方向在寄存器中記錄一個(gè)啟動(dòng)識(shí)別碼(STXTH、REQ)。
11.信息存儲(chǔ)器(300)的數(shù)據(jù)存取方法,其中設(shè)置一個(gè)緩沖存儲(chǔ)器(201、202),其特征在于,該緩沖存儲(chǔ)器被劃分為子緩沖存儲(chǔ)器(400、701)和針對(duì)子緩沖存儲(chǔ)器的影子存儲(chǔ)器(401、700),在存取數(shù)據(jù)時(shí)實(shí)施如下步驟-數(shù)據(jù)被輸入子緩沖存儲(chǔ)器,-交換對(duì)子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存取,從而-后續(xù)的數(shù)據(jù)可以被寫入影子存儲(chǔ)器,同時(shí)輸入的數(shù)據(jù)已經(jīng)從子緩沖存儲(chǔ)器輸出。
12.用于通信模塊(100)的信息存儲(chǔ)器(300)的數(shù)據(jù)存取的緩沖存儲(chǔ)器布置,其特征在于,該緩沖存儲(chǔ)器布置被劃分為輸入緩沖存儲(chǔ)器(201)和輸出緩沖存儲(chǔ)器(202),輸入緩沖存儲(chǔ)器(201)包含一個(gè)第一子緩沖存儲(chǔ)器(400)和該子緩沖存儲(chǔ)器的一個(gè)第一影子存儲(chǔ)器(401),輸出緩沖存儲(chǔ)器(202)包含一個(gè)第二子緩沖存儲(chǔ)器(701)和一個(gè)第二影子存儲(chǔ)器(700),其中設(shè)置第一單元,通過該單元交換對(duì)第一子緩沖存儲(chǔ)器(400)和第一影子存儲(chǔ)器(401)的存取,并且設(shè)置第二單元,通過該單元交換對(duì)第二子緩沖存儲(chǔ)器(701)和第二影子存儲(chǔ)器(700)的存取。
13.用于通信模塊(100)的信息存儲(chǔ)器(300)的數(shù)據(jù)存取的緩沖存儲(chǔ)器,其特征在于,該緩沖存儲(chǔ)器(201、202)包含一個(gè)子緩沖存儲(chǔ)器(400、701)和該子緩沖存儲(chǔ)器的一個(gè)影子存儲(chǔ)器(401、700),其中設(shè)置一個(gè)單元,通過該單元交換對(duì)子緩沖存儲(chǔ)器(400、701)和影子存儲(chǔ)器(401、700)的存取。
14.通信模塊,該通信模塊具有按照權(quán)利要求
12的緩沖存儲(chǔ)器布置。
15.通信模塊,該通信模塊具有按照權(quán)利要求
13的緩沖存儲(chǔ)器布置。
專利摘要
通過數(shù)據(jù)輸入信息存儲(chǔ)器(300)或從信息存儲(chǔ)器輸出數(shù)據(jù)存取一個(gè)通信模塊(100)的信息存儲(chǔ)器(300)的數(shù)據(jù)的方法,其中信息存儲(chǔ)器與緩沖存儲(chǔ)器布置(201和202)連接,數(shù)據(jù)沿第一傳輸方向傳輸給信息存儲(chǔ)器并且沿第二傳輸方向從信息存儲(chǔ)器傳出數(shù)據(jù),其中緩沖存儲(chǔ)器布置沿第一傳輸方向具有一個(gè)輸入緩沖存儲(chǔ)器(201)并且沿第二傳輸方向具有一個(gè)輸出緩沖存儲(chǔ)器(202),輸入緩沖存儲(chǔ)器和輸出緩沖存儲(chǔ)器分別被劃分為子緩沖存儲(chǔ)器(400、701)和針對(duì)子緩沖存儲(chǔ)器的影子存儲(chǔ)器(401、700),其中在每個(gè)傳輸方向上實(shí)施如下步驟數(shù)據(jù)輸入各自的子緩沖存儲(chǔ)器;交換子緩沖存儲(chǔ)器和影子存儲(chǔ)器的存?。蝗绱撕罄m(xù)的數(shù)據(jù)可以寫入影子存儲(chǔ)器,同時(shí)輸入的數(shù)據(jù)在設(shè)置的傳輸方向上已經(jīng)從子緩沖存儲(chǔ)器輸出。
文檔編號(hào)H04L12/56GK1993945SQ20058002634
公開日2007年7月4日 申請(qǐng)日期2005年6月29日
發(fā)明者F·哈特維希, C·霍爾斯特, F·拜勒 申請(qǐng)人:羅伯特·博世有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan