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