專利名稱:用于通信協(xié)議的消息存儲器和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于針對每個(gè)傳輸事件傳送具有相關(guān)數(shù)據(jù)字段(datafield)的可識別消息的通信系統(tǒng)。特別是,本發(fā)明涉及具有可配置數(shù)據(jù)字段長度的消息的傳送,然而對于特定系統(tǒng)設(shè)計(jì)而言,所述數(shù)據(jù)字段長度被限定為特定值。
從正如用于汽車(automotive)工程或一般地用于分布式自動(dòng)控制工程應(yīng)用中的消息傳輸系統(tǒng)中可知通信接口的結(jié)構(gòu)。這類消息傳輸系統(tǒng)所使用的例如是CAN(控制器局域網(wǎng))總線。
圖1示出根據(jù)現(xiàn)有技術(shù)的一個(gè)通信接口,所述通信接口典型地包括協(xié)議控制器、硬件接收過濾器(acceptance filter)、被分成用于接收和發(fā)送消息對象的兩個(gè)區(qū)域的消息存儲器、CPU(中央處理器)接口,以及位于CPU接口和協(xié)議控制器之間用于控制信號和監(jiān)控信號或狀態(tài)信號的信號接口(狀態(tài)和控制線)。所述協(xié)議控制器根據(jù)為傳輸協(xié)議指定的通信機(jī)制來實(shí)現(xiàn)消息傳輸。這意味著協(xié)議控制器在遵守媒體接入控制的同時(shí)控制在消息結(jié)構(gòu)和編碼方面顯示出統(tǒng)一格式的消息的發(fā)送和接收。媒體接入控制包括OSI 7層模型中的第一(物理)層和第二(數(shù)據(jù)鏈路)層的機(jī)制。所接收的用于特定應(yīng)用(即用于CPU上運(yùn)行的特定軟件)的消息數(shù)據(jù)可以通過CPU接口得到。另外,應(yīng)用程序可以通過CPU接口轉(zhuǎn)發(fā)數(shù)據(jù)到通信接口,然后所述數(shù)據(jù)依據(jù)通信協(xié)議(例如CAN總線)被發(fā)送。為了減輕CPU或應(yīng)用軟件的負(fù)荷,提供了一種消息存儲器。這樣可以使用多個(gè)消息存儲器對象,所述消息存儲器對象被提供以用于發(fā)送消息數(shù)據(jù)或者接收和存儲消息數(shù)據(jù)的目的。
在某些通信系統(tǒng)中,消息本身或其內(nèi)容在接收時(shí)可通過一個(gè)附加的傳輸標(biāo)識(ID)或者根據(jù)到達(dá)時(shí)間(這涉及例如TDMA(時(shí)分多址)系統(tǒng))而被識別和區(qū)分。這涉及諸如CAN(參見ISO標(biāo)準(zhǔn)ISO118981993(E)“Road Vehicles,Interchange of digitalinformation-controller area network(CAN) for high speedcommunications”,Nov.1993)、FlexRay(參見“FlexRayRequirements Specification”,Version2.0.2,April 2002,F(xiàn)lexRay,Consortium;www.flexray.com)或TTP/C(參見“TTP/CSpecification”,Version 0.5Edition 0.1.21,July 1999,TTTechComputertechnik AG;http//www.tttech.com)之類的通信系統(tǒng)。在這類通信系統(tǒng)中,通過消息存儲器可以在通信接口中提供僅容納非常特定的消息的消息對象存儲器。一個(gè)可選的過濾器單元(硬件接收過濾器)處理消息對象中特定消息或者消息組的表示或存儲。這類結(jié)構(gòu)可從名為“Full CAN”的實(shí)現(xiàn)的CAN系統(tǒng)中獲知。同樣,一個(gè)或多個(gè)消息對象存儲器可被提供以用于傳輸設(shè)備。
具有其消息對象存儲器的所述消息存儲器因消息傳輸系統(tǒng)而周知,所述消息傳輸系統(tǒng)支持由傳輸協(xié)議的規(guī)范定義的許多數(shù)據(jù)字節(jié),否則可以只允許小范圍的一個(gè)變化,其中所述變化意味著例如CAN消息包含8個(gè)字節(jié)的最大值。
對于具有指定數(shù)據(jù)字段長度的消息傳輸系統(tǒng),可以以這種方式組織消息對象存儲器,即它們總是允許對具有最大數(shù)據(jù)字段長度的消息進(jìn)行存儲。利用一個(gè)給定的物理存儲器,例如一個(gè)RAM(隨機(jī)存取存儲器),從而可實(shí)現(xiàn)特定的有限數(shù)量的消息對象存儲器。因此將邏輯結(jié)構(gòu)1∶1復(fù)制到物理存儲器上。如果物理存儲器被分成8字節(jié)的(k+1)個(gè)字段,那么消息存儲器也顯示(k+1)個(gè)字段。因此,對于如所述的傳統(tǒng)消息存儲器而言,消息對象存儲器的數(shù)量是一個(gè)固定變量。所以,為了擴(kuò)展消息對象存儲器的數(shù)量,有必要擴(kuò)大物理存儲器,即利用更大或附加的物理存儲器,從而導(dǎo)致更高的成本。
對于短消息,在消息存儲器中沒有維持非常高的存儲開銷的條件下,可以實(shí)現(xiàn)消息對象存儲器和物理存儲器之間的固定關(guān)聯(lián),盡管具有較短數(shù)據(jù)字段的消息被存儲在具有較大數(shù)據(jù)容量(即存儲某一數(shù)據(jù)字段的能力)的消息對象存儲器中。
對于數(shù)據(jù)字段的長度L,隨著允許較高數(shù)值范圍(L>8字節(jié))的通信系統(tǒng)的引入,定義的對象大小和對象數(shù)量的概念遇到它的限制。例如,F(xiàn)lexRay通信協(xié)議支持具有長達(dá)多于200字節(jié)長度的數(shù)據(jù)字段的消息。因此在一個(gè)傳輸周期中,靜態(tài)分段的消息長度是可配置的,即針對特定的應(yīng)用,它可以被定義在0字節(jié)與最大值之間。
根據(jù)上述概念,一種實(shí)現(xiàn)方案不得不采用規(guī)定數(shù)目的消息對象存儲器,其中每個(gè)消息對象存儲器支持理論上最大長度的消息內(nèi)容的存儲。然而,對于FlexRay系統(tǒng),針對特定的應(yīng)用,實(shí)際中只利用諸如32字節(jié)的數(shù)據(jù)字段進(jìn)行操作,這將意味著芯片的實(shí)現(xiàn)保留了大量未使用的存儲器,因此,就性價(jià)比來說是次最優(yōu)的。在對成本非常敏感的汽車電子設(shè)備的應(yīng)用領(lǐng)域中,這是不可接受的。另一方面,僅僅支持具有最大32字節(jié)的消息的存儲的芯片實(shí)現(xiàn)不能用于所有應(yīng)用領(lǐng)域。這導(dǎo)致特定產(chǎn)品的銷售降低的結(jié)果,因此不應(yīng)以二者之一作為目標(biāo)。
因此,本發(fā)明的一個(gè)目的是規(guī)定一種消息存儲器,所述消息存儲器可以用于僅僅一個(gè)對于具有關(guān)于可用消息對象存儲器的數(shù)量和大小的不同特定需求的應(yīng)用的實(shí)現(xiàn)。本發(fā)明的另一個(gè)目的是規(guī)定一種定義用來優(yōu)化存儲器的使用的邏輯表示和物理存儲器之間的關(guān)聯(lián)的方法。
根據(jù)本發(fā)明,上述目的可以由一個(gè)配備下述的消息存儲器來實(shí)現(xiàn)-針對消息內(nèi)容存儲的可配置消息對象存儲器的數(shù)量及其數(shù)據(jù)容量的一個(gè)邏輯的虛擬存儲器表示,-被分成特定數(shù)量分段的物理存儲器,其中各個(gè)消息對象存儲器的長度以及它們與物理存儲器的分段之間的關(guān)聯(lián)是可配置的。在此上下文中,可配置意味著定義用于應(yīng)用的運(yùn)行時(shí)間的參數(shù)。
基于其物理結(jié)構(gòu),所述消息存儲器提供了可由協(xié)議控制器或CPU使用的有限數(shù)量的邏輯的虛擬表示。因此,消息存儲器被劃分成具有特定數(shù)據(jù)容量的特定數(shù)量的消息對象存儲器。所述劃分是被靈活組織的,當(dāng)然所述劃分必須在物理上在當(dāng)前存儲器總是可再現(xiàn)的,因此,總是可以在一個(gè)應(yīng)用中根據(jù)消息對象的數(shù)量和它們的數(shù)據(jù)容量對特定使用所優(yōu)化的配置進(jìn)行選擇,即進(jìn)行配置。
因此,消息對象存儲器采用多個(gè)存儲器分段的集群(cluster)的形式。各個(gè)分段的長度盡可能短,例如8字節(jié)長。如果一個(gè)應(yīng)用中傳送的消息內(nèi)容的長度o超過8字節(jié),則創(chuàng)建相應(yīng)數(shù)量的p個(gè)存儲器分段以使得o字節(jié)<p*8字節(jié)。
優(yōu)選地,在應(yīng)用軟件中定義預(yù)定的配置。
消息對象存儲器和物理存儲器之間靈活的關(guān)聯(lián)可以實(shí)現(xiàn)存儲器容量的最佳利用,因?yàn)閷τ趩涡酒瑢?shí)現(xiàn)維持了盡可能最少的未使用的存儲器。因此,配備有長度可配置的數(shù)據(jù)字段的通信協(xié)議在系統(tǒng)運(yùn)行時(shí)間可以利用在數(shù)量和長度方面被優(yōu)化的消息對象存儲器。在此上下文中,優(yōu)化意味著盡可能有效地利用物理存儲器,即存在可能最少的空存儲器分段。
邏輯的虛擬存儲器表示的配置由尋址單元承擔(dān),所述尋址單元將存儲器位置的邏輯地址轉(zhuǎn)換成物理接入地址。
因此,可以使用不同的轉(zhuǎn)換算法或策略。如果配置選項(xiàng)的靈活性被限制為下述效果,即消息對象存儲器的數(shù)量和它們的存儲器容量(即數(shù)據(jù)字段長度)僅可以按比例并以2的冪來設(shè)置,那么地址轉(zhuǎn)換可以由簡單的移位操作來實(shí)現(xiàn)(通過地址比特的可配置數(shù)量),正如在下面的實(shí)施例示例中所說明的。
此外,更加靈活的地址轉(zhuǎn)換機(jī)制,例如指向消息對象存儲器的起始地址的指針陣列(array)(具有地址指針的存儲器域(field))或者分段尋址的使用,可以實(shí)現(xiàn)更加靈活的消息存儲器分段,即邏輯的虛擬存儲器表示與物理存儲器之間的更加復(fù)雜的關(guān)聯(lián)?;陔娐穼?shí)現(xiàn)的必需復(fù)雜度和隨之相關(guān)的成本,以及針對配置靈活性的給定需求,地址轉(zhuǎn)換策略的選擇必須符合不同的應(yīng)用。
本發(fā)明的目的進(jìn)一步通過一種對于配備有下述的消息存儲器定義邏輯表示與物理存儲器之間的關(guān)聯(lián)的方法來實(shí)現(xiàn)-針對消息內(nèi)容存儲的可配置消息對象存儲器的數(shù)量及其數(shù)據(jù)容量的一個(gè)邏輯的虛擬存儲器表示,-被分成特定數(shù)量分段的物理存儲器,具有以下步驟·確定消息內(nèi)容的字節(jié)長度,·選擇作為消息內(nèi)容的字節(jié)長度的函數(shù)的每集群的存儲器分段的數(shù)量,其中一個(gè)集群形成一個(gè)消息對象存儲器。
確定消息內(nèi)容的長度可以離線或者替代地在線進(jìn)行。在這種情況下,離線意味著在應(yīng)用軟件的編程過程中,邏輯表示和物理存儲器之間的關(guān)聯(lián)對于消息存儲器是已知的,并且與消息的數(shù)據(jù)字段長度相匹配。消息對象存儲器的數(shù)量和數(shù)據(jù)容量被認(rèn)為是先驗(yàn)已知的。在這種情況下,在線意味著通過對通信事件的觀測,通信接口中的消息的數(shù)據(jù)字段長度直到在系統(tǒng)運(yùn)行時(shí)間期間才被建立,并通過對消息存儲器定義邏輯表示與物理存儲器之間的關(guān)聯(lián)來將其與此匹配。
優(yōu)選地,為了控制與安全相關(guān)的過程,按照本發(fā)明的通信系統(tǒng)被用于汽車領(lǐng)域的應(yīng)用中。
參考附圖中示出的實(shí)施例的例子將對本發(fā)明進(jìn)行進(jìn)一步的描述,然而,本發(fā)明并不限于所述實(shí)施例。
圖2示出具有在消息對象存儲器和物理存儲器之間的靈活關(guān)聯(lián)的消息存儲器的示例配置。
圖2示出具有在邏輯的虛擬存儲器表示2和物理存儲器3之間的靈活關(guān)聯(lián)的消息存儲器1的示例配置。物理存儲器3具有(a+b+2)*8字節(jié)的結(jié)構(gòu)。最大數(shù)量的消息對象存儲器表示第一配置i)i)發(fā)送方向具有8字節(jié)的數(shù)據(jù)字段的(a+1)個(gè)消息對象存儲器接收方向具有8字節(jié)的數(shù)據(jù)字段的(b+1)個(gè)消息對象存儲器如果傳輸協(xié)議利用較大的數(shù)據(jù)字段進(jìn)行消息交換,那么可用的消息對象存儲器的數(shù)量是較小的,因?yàn)槲锢泶鎯ζ?被分成較大的集群。第二配置ii)示出一個(gè)實(shí)例ii)發(fā)送方向具有32字節(jié)的數(shù)據(jù)字段的(m+1)個(gè)消息對象存儲器接收方向具有32字節(jié)的數(shù)據(jù)字段的(n+1)個(gè)消息對象存儲器其中m<a和n<b。
第三配置iii)示出為另外的實(shí)例iii)發(fā)送方向具有64字節(jié)的數(shù)據(jù)字段的(x+1)個(gè)消息對象存儲器接收方向具有64字節(jié)的數(shù)據(jù)字段的(y+1)個(gè)消息對象存儲器其中x<m<a和y<n<b。
物理存儲器3例如可以是一個(gè)外部存儲器或一個(gè)“片上”存儲器。CPU接口CPU_IF和協(xié)議控制器PC兩者都通過消息存儲器1的邏輯的虛擬表示2訪問物理存儲器3。
根據(jù)消息的數(shù)據(jù)字段的大小,算法選擇一個(gè)合適的配置。邏輯存儲器表示2的配置和轉(zhuǎn)換策略下面通過參考針對3個(gè)示例配置i)、ii)和iii)的一個(gè)實(shí)例來解釋。該實(shí)例基于物理存儲器3的以下特性-容量為256字節(jié);-尋址是面向字節(jié)的,而且以升序方式進(jìn)行;地址區(qū)域以二進(jìn)制計(jì)數(shù)法給出,并且為000000002...111111112。
-物理地址縮寫為phyadr。
邏輯存儲器2的配置對于配置實(shí)例于是為如下i)32*8字節(jié),即具有8字節(jié)數(shù)據(jù)容量的32個(gè)消息對象存儲器(N0-N31)ii)8*32字節(jié),即具有32字節(jié)數(shù)據(jù)容量的8個(gè)消息對象存儲器(N0-N7)iii)4*64字節(jié),即具有64字節(jié)數(shù)據(jù)容量的4個(gè)消息對象存儲器(N0-N3)。
一個(gè)消息對象存儲器的數(shù)據(jù)容量就是其存儲某一長度的數(shù)據(jù)字段的能力。
轉(zhuǎn)換策略如下物理地址phyadr由兩部分組成消息對象MO和數(shù)據(jù)字節(jié)DBphyadr=MO|DB其中MOadr消息對象存儲器的邏輯地址(000002-111112)DBadr在消息對象存儲器中邏輯的相關(guān)字節(jié)地址(0000002-1111112)。
對于MOadr和DBadr,針對所述配置實(shí)例,在一個(gè)實(shí)現(xiàn)中要選擇的地址比特?cái)?shù)量是由地址空間的最大上限確定的,它可從各種可調(diào)整的配置中導(dǎo)出。在給出的配置實(shí)例中,需要5比特來表示Moadr以及6比特來表示DBadr。
配置實(shí)例中的物理地址phyadr依照相應(yīng)的移位操作或比特選擇由兩部分MO和DB構(gòu)成如下i)MO包括5比特(MOadr的5個(gè)最低有效位);DB包括3比特(DBadr的3個(gè)最低有效位);例子消息對象4,數(shù)據(jù)字節(jié)0Moadr=001002,DBadr=0000002>>MO=001002,DB=0002;phyadr=00100|0002ii)MO包括3比特(MOadr的3個(gè)最低有效位);
DB包括5比特(DBadr的5個(gè)最低有效位);例子消息對象7,數(shù)據(jù)字節(jié)31Moadr=001112,DBadr=0111112>>MO=1112,DB=111112;phyadr=11111|1112iii)MO包括2比特(MOadr的2個(gè)最低有效位);DB包括6比特(DBadr的6個(gè)最低有效位);例子消息對象3,數(shù)據(jù)字節(jié)63Moadr=001112,DBadr=1111112>>MO=112,DB=1111112;phyadr=11|1111112優(yōu)點(diǎn)在于,協(xié)議控制器PC或CPU接口CPU_IF對消息存儲器的訪問總是可以與配置無關(guān)地利用相同地址元組(MOadr,DBadr)通過邏輯的虛擬存儲器表示2來進(jìn)行。
所提出的可配置消息存儲器1可以用作發(fā)送緩沖器和接收緩沖器。它獨(dú)立于隨后的過濾策略,所述過濾策略確定消息到特定消息對象存儲器的分配。
與消息對象存儲器相關(guān)的狀態(tài)信息和控制信息是可以替換地a)被認(rèn)為是可伸縮的(scalable)消息對象存儲器的一部分,或者b)被單獨(dú)存儲在例如寄存器域中。
替換物a)和b)取決于這一部分消息信息的硬件實(shí)現(xiàn)所支持的訪問模式。
基本的間隔尺寸(granularity)即消息對象存儲器的數(shù)據(jù)容量的可配置增量以及消息對象存儲器的最小尺寸可以根據(jù)典型的應(yīng)用需求、可用的物理存儲器結(jié)構(gòu)(可尋址性、塊訪問)以及從邏輯存儲器到物理存儲器的地址轉(zhuǎn)換所需要的或者接受的復(fù)雜度來選擇。
權(quán)利要求
1.一種消息存儲器(1),其配備有-針對消息內(nèi)容存儲的可配置消息對象存儲器的數(shù)量及其數(shù)據(jù)容量的邏輯的虛擬存儲器表示(2),-被分成特定數(shù)量的分段的物理存儲器(3),其特征在于,各個(gè)消息對象存儲器的數(shù)據(jù)容量及其與物理存儲器(3)的分段的關(guān)聯(lián)是可配置的。
2.如權(quán)利要求1所述的消息存儲器,其特征在于,消息對象采用多個(gè)存儲器分段的集群的形式。
3.如權(quán)利要求1或2中任何一項(xiàng)所述的消息存儲器,其特征在于,在應(yīng)用軟件中定義預(yù)定的配置。
4.一種針對消息存儲器(1)定義邏輯表示和物理存儲器之間的關(guān)聯(lián)的方法,所述消息存儲器(1)配備有-針對消息內(nèi)容存儲的具有多個(gè)數(shù)據(jù)字段的消息對象存儲器的邏輯的虛擬存儲器表示(2),-被分成特定數(shù)量的分段的物理存儲器(3),其特征在于下列步驟·確定消息內(nèi)容的字節(jié)長度,·選擇作為消息內(nèi)容的字節(jié)長度的函數(shù)的每集群的存儲器分段的數(shù)量,其中一個(gè)集群形成一個(gè)消息對象存儲器。
5.在汽車行業(yè)或數(shù)據(jù)處理的應(yīng)用中如權(quán)利要求1-3中任何一項(xiàng)所述的消息存儲器的使用。
全文摘要
一種消息存儲器(1)具有在消息存儲器(2)的消息對象存儲器與物理存儲器(3)的分段之間靈活的關(guān)聯(lián)。所述關(guān)聯(lián)可以通過配置來實(shí)現(xiàn),其中一個(gè)或者多個(gè)存儲器分段形成作為要存儲的消息內(nèi)容的長度的函數(shù)的集群。
文檔編號H04L12/40GK1792068SQ200480013695
公開日2006年6月21日 申請日期2004年5月10日 優(yōu)先權(quán)日2003年5月21日
發(fā)明者P·福爾曼 申請人:皇家飛利浦電子股份有限公司