專利名稱:利用填充樣式和隨后用信息重寫來補(bǔ)足數(shù)據(jù)段的方法和裝置以及總線系統(tǒng)的制作方法
現(xiàn)有技術(shù)本發(fā)明涉及一種按照獨(dú)立權(quán)利要求前序部分所述的、用于補(bǔ)足總線系統(tǒng)上傳輸數(shù)據(jù)的段的方法和裝置,以及涉及按照獨(dú)立權(quán)利要求前序部分的總線系統(tǒng)。
近年來,在制造現(xiàn)代汽車時或在機(jī)械制造中、尤其在機(jī)床領(lǐng)域中以及在自動化領(lǐng)域中,借助于通信系統(tǒng)、總線系統(tǒng)的控制設(shè)備、傳感器和激勵器的網(wǎng)絡(luò)化現(xiàn)象急劇增多。在此,可以獲得由多個控制設(shè)備上的功能分配而產(chǎn)生的最佳協(xié)同作用效果。在此說的是分布式系統(tǒng)。越來越多地通過總線或總線系統(tǒng)來進(jìn)行不同站之間的通信??偩€系統(tǒng)上的通信業(yè)務(wù)、訪問和接收機(jī)制以及差錯處理都通過協(xié)議來調(diào)節(jié)。
CAN(控制器局域網(wǎng)絡(luò))作為汽車領(lǐng)域中的協(xié)議而建立。這是由事件控制的協(xié)議,也就是說通過事件來啟動例如發(fā)送消息的協(xié)議活動,這些事件自身具有位于通信系統(tǒng)之外的起因。通過基于優(yōu)先級的位判斷來解決對通信系統(tǒng)或總線系統(tǒng)的唯一的訪問。其前提是,為每個消息分配明確的優(yōu)先級。CAN協(xié)議非常靈活。因此可以毫無問題地添加其他的節(jié)點(diǎn)和消息,只要還存在多余的優(yōu)先級。
這種由事件控制的自發(fā)的通信的一個替代方法是純時間控制的方法??偩€上的所有通信活動都是嚴(yán)格周期性的。只通過對整個總線系統(tǒng)來說有效的時間進(jìn)程來觸發(fā)例如發(fā)送消息的協(xié)議活動。對媒介的訪問基于時間范圍或時間段的分配,在該時間范圍或時間段中發(fā)送者具有排他的發(fā)送權(quán)。如果事先釋放相應(yīng)的時間段,那么可以添加新節(jié)點(diǎn)。這種情況迫使在開始運(yùn)轉(zhuǎn)之前就確定消息順序,其中制定時間表,其必須滿足消息在重復(fù)率、冗余、最終期限等等方面的要求。
除了由事件控制的方法和純時間控制的方法之外,還公開了由時間控制的CAN方法、所謂的TTCAN(時間觸發(fā)CAN)。其滿足上述的對由時間控制的通信的要求以及對一定靈活性的要求。TTCAN通過為特定通信用戶的周期性消息而在所謂排他的時間窗或時間段內(nèi)建立通信基本周期以及為多個通信用戶的自發(fā)消息而在所謂判斷時間窗或時間段內(nèi)建立通信基本周期來滿足上述要求。
除了所述的總線系統(tǒng)之外,還公開了大量用于連接分布式系統(tǒng)中的用戶的總線或通信系統(tǒng)。在已提到的以及其他的總線系統(tǒng)中,例如可以以靈活性為背景,分別通過在規(guī)定用于數(shù)據(jù)傳輸?shù)亩沃兴鶄鬏數(shù)谋忍乜倲?shù)來選擇時間段或規(guī)定用于數(shù)據(jù)傳輸?shù)亩蔚膶挾取H欢?,如果尤其是在設(shè)計時選擇或預(yù)定數(shù)據(jù)段或較短的段或時間段的寬度,那么由于所選擇的比特總數(shù)或所選擇的寬度也確定了其中所發(fā)送的消息的長度。這意味著,較長的消息必須被分配到多個這樣的段上或較短的消息必須被補(bǔ)足,以便在段中達(dá)到比特總數(shù)。這稱為補(bǔ)丁。在US5,598,579中描述了針對總線系統(tǒng)的這種對段中所缺少的數(shù)據(jù)的補(bǔ)足。同樣地,在US 6,349,348 B1中說明了補(bǔ)丁,即當(dāng)數(shù)據(jù)量小于預(yù)定的大小時,用填充樣式來補(bǔ)足缺少的數(shù)據(jù)。
然而,在此首先例如在存儲器或緩沖器中復(fù)制原來的數(shù)據(jù)內(nèi)容,接著用補(bǔ)丁樣式或填充樣式來補(bǔ)充,以獲得預(yù)定的比特總數(shù)或段的總量。然而,在此可能出現(xiàn)下列差錯類型-由于后來補(bǔ)入了填充樣式,消息內(nèi)容被部分重寫,將產(chǎn)生錯誤的消息內(nèi)容或數(shù)據(jù)內(nèi)容。
-消息或數(shù)據(jù)內(nèi)容被全部重寫,其中也將產(chǎn)生錯誤的數(shù)據(jù)內(nèi)容或消息內(nèi)容。
-此外,原來的消息長度、也就是數(shù)據(jù)比特數(shù)被補(bǔ)充超過了允許的長度,其中其他的消息內(nèi)容或數(shù)據(jù)內(nèi)容產(chǎn)生未定義的內(nèi)容,這也導(dǎo)致錯誤的消息內(nèi)容或數(shù)據(jù)內(nèi)容。
因此表明,所述的現(xiàn)有技術(shù)不能在每個方面都提供最佳的結(jié)果,由此產(chǎn)生了以下任務(wù),即改善這種情況,尤其是控制所述的差錯源和差錯類型。
本發(fā)明的優(yōu)點(diǎn)本發(fā)明示出了一種用于補(bǔ)足總線系統(tǒng)上傳輸數(shù)據(jù)的段的方法和裝置,其中該段具有預(yù)定的二進(jìn)制信息總數(shù)、尤其是字節(jié)總數(shù)并且在該段中傳輸數(shù)據(jù),其中在傳輸包含少于段的預(yù)定總數(shù)的二進(jìn)制信息、尤其是字節(jié)的數(shù)據(jù)時,通過具有相應(yīng)數(shù)量的二進(jìn)制信息、尤其是字節(jié)的填充樣式補(bǔ)足該數(shù)據(jù)所缺少的二進(jìn)制信息、尤其是字節(jié),以達(dá)到段的總數(shù),其中首先將填充樣式寫入該段中,該填充樣式的二進(jìn)制信息數(shù)、尤其是字節(jié)數(shù)對應(yīng)于段的總數(shù),緊接著將所述數(shù)據(jù)的二進(jìn)制信息、尤其是字節(jié)寫入相同的段中,其中該填充樣式的各個二進(jìn)制信息、尤其是字節(jié)由數(shù)據(jù)的二進(jìn)制信息、尤其是字節(jié)所重寫。因此,可以有利地避免上述差錯源,因?yàn)橛谜5臄?shù)據(jù)重寫填充樣式,而不是相反地。
關(guān)于按照本發(fā)明的總線系統(tǒng),有利地是,在緩沖存儲器中將填充樣式的二進(jìn)制信息、尤其是字節(jié)和數(shù)據(jù)的二進(jìn)制信息、尤其是字節(jié)寫入段中,然后在訪問和接收機(jī)制的范疇內(nèi)、即在規(guī)定的時間點(diǎn)上將該段從緩沖存儲器傳輸?shù)娇偩€系統(tǒng)上。
在此,有利地是,該總線系統(tǒng)是由時間控制的總線系統(tǒng),其中該段直接對應(yīng)于總線系統(tǒng)上的時間段,其中在相應(yīng)的時間段中傳輸數(shù)據(jù)。在此,按照本發(fā)明的總線系統(tǒng)將通信基本周期分成靜態(tài)段和動態(tài)段,其中尤其在靜態(tài)段中,可以在設(shè)計時通過自由選擇來預(yù)定段的比特總數(shù)。
其他的優(yōu)點(diǎn)和有利的擴(kuò)展方案由說明書以及權(quán)利要求的特征給出。
附圖下面根據(jù)在附圖中所示的圖來詳細(xì)講述本發(fā)明。
其中
圖1示出了具有至少一個用戶以及具有用于執(zhí)行本發(fā)明方法的工具的分布式系統(tǒng)、即網(wǎng)絡(luò)系統(tǒng)或總線系統(tǒng),圖2示出了按照本發(fā)明的通信基本周期的一個例子,該通信基本周期具有用于數(shù)據(jù)傳輸?shù)南嗷ミB接的段。
實(shí)施例的說明圖1示出了具有第一用戶101、第二用戶102和第三用戶103的總線系統(tǒng)100、即分布式系統(tǒng)。因?yàn)橥ㄟ^用戶自身或其中所包含的計算單元或控制單元以及通過分離的控制單元例如可以實(shí)現(xiàn)到總線控制器的通信,該總線控制器被置于用戶的內(nèi)部或外部,所以下面使用的概念“總線系統(tǒng)”和“分布式系統(tǒng)”意義相同。也就是說,總線系統(tǒng)不僅可以是與用于保持或?qū)崿F(xiàn)通信的控制單元的純粹的通信連接,而且可以是與所連接的用戶的通信連接,該用戶在其側(cè)實(shí)現(xiàn)通信,以及總線系統(tǒng)可以是由兩個變形方案形成的混合系統(tǒng)。
因此,利用用戶101至103還示出了用戶結(jié)構(gòu)的三個變形方案,其中可以立即看出通過組合而產(chǎn)生的其他變形方案,而為了清楚起見沒有示出,同樣也可以使用這些變形方案。用戶101示出了到總線100的接口104和處理單元113,該處理單元包含緩沖存儲器107以及控制單元或微型計算機(jī)或處理器110,在第一個例子中該處理單元與接口單元104分開表示。也就是說,例如在用戶中對通信進(jìn)行控制。用戶102又示出了接口單元105,但這次其包含緩沖存儲器108。因此處理單元114不包含緩沖存儲器,而只包含控制單元111,也就是說這里可以通過用戶自身來實(shí)現(xiàn)控制,其中在接口單元105中實(shí)現(xiàn)緩沖。在此,接口單元104或105同樣可以位于用戶的內(nèi)部或外部。作為其他的例子,用戶103示出了接口單元106,其除了緩沖存儲器109之外同樣還包含處理單元、尤其是像總線控制器112一樣的控制單元。因此,在這種情況下,通過該接口單元106來處理或控制整個通信。在此,該接口單元106也可以布置在用戶103的內(nèi)部或外部。在此,處理單元、尤其是110和111除了控制通信之外還可以處理其他的任務(wù)。
在圖1中示例性地示出的總線系統(tǒng)中,同樣示例性地在按照圖2的通信基本周期的范疇內(nèi)進(jìn)行通信。在圖2中用S1至S10示出了用于數(shù)據(jù)傳輸?shù)牟煌巍⒂绕涫菚r間段、即時隙。在總線系統(tǒng)或相應(yīng)的總線協(xié)議的示例性的規(guī)范中,通信基本周期的靜態(tài)段或整個通信基本周期被劃分為用于數(shù)據(jù)傳輸?shù)腘個時間單位或時間段、尤其是段、時隙,其被規(guī)定用于發(fā)送消息、即數(shù)據(jù)。在此,尤其通過標(biāo)記、即所謂的幀ID可以明確地分配用戶或總線節(jié)點(diǎn)和各個消息、即數(shù)據(jù)內(nèi)容以及段、即時隙S1至S10。在此,在設(shè)計通信時,可以自由地選擇段寬度,其中然而由于所選擇的寬度、即可以在這樣的段中傳輸?shù)谋忍乜倲?shù),也選擇了在靜態(tài)段的所有段中其中所發(fā)送的消息的長度。也就是說,在我們的例子中,示出了從T1至T29的具有10個段或時隙的靜態(tài)段,其中段的總持續(xù)時間對應(yīng)于時隙S1至S10的長度以及所屬的段中間空隙、即所謂的幀間空隙。
此外,這里示出了具有16個字節(jié)的段S1至S10的長度,例如在第一段S1中選擇了T1至T17。因?yàn)閹g空隙可以是任意的,尤其可以是0,所以在本例子中只有承載數(shù)據(jù)的段才稱作段。但是,段的持續(xù)時間其實(shí)是承載數(shù)據(jù)的段加上所屬的幀間空隙、此處為S1+IG1,緊接著是下一個段。這意味著,較長的消息、尤其是在本例子中大于16個字節(jié)的消息必須通過較高的應(yīng)用層分配到多個段上,如在消息分段的范疇內(nèi)例如通過FTCom層在OSEK時間內(nèi)實(shí)現(xiàn)該分配。較短的消息、這里尤其是短于16個字節(jié)的消息必須通過規(guī)范、即協(xié)議規(guī)定而擴(kuò)展或補(bǔ)充到最大可能的消息長度、例如此處為16個字節(jié),也就是說補(bǔ)足缺少的字節(jié)、即已經(jīng)提到過的補(bǔ)丁。也就是說尤其以二進(jìn)制信息、即比特或字節(jié)的形式傳輸消息,其中可任意地選擇消息段的大小、此處為16個字節(jié)。
因此,在這里所取的例子中,對通信基本周期進(jìn)行所選擇的分割,即分成10個段或時隙。在此,一個時隙的持續(xù)時間是16字節(jié)消息的長度加上所屬的幀間空隙IG。由于以下可能性,即幀間空隙可以是0,所以在本例子中,段和數(shù)據(jù)段是等同的,并且用S1表示。因此,通信基本周期由以下部分組成10×16字節(jié),加上幀間空隙,另加這里用T29至30所表示的不允許發(fā)送消息的時間段、即所謂的網(wǎng)絡(luò)空閑時間NIT。這是可選擇的,但是以此作為總線協(xié)議可能的特性而示出。在該通信基本周期中,例如從只包含一個靜態(tài)段的設(shè)計出發(fā)。為了清楚起見,沒有示出可能在靜態(tài)段和網(wǎng)絡(luò)空閑時間之間、即在T29處的動態(tài)段。
用戶103例如是汽車中一個簡單的角度傳感器,其只需發(fā)送2個字節(jié)寬的消息。因此,尤其由于成本的原因,其所屬的消息存儲器也只被定制、指定和實(shí)現(xiàn)為該數(shù)據(jù)寬度。但是,該角度傳感器也必須按照規(guī)范、即總線協(xié)議在所介紹的總線系統(tǒng)上工作,并且在分配給它的段、即它的發(fā)送時隙中發(fā)送16字節(jié)的消息。這在此處例如是段S1加上所屬的幀間空隙IG1。這意味著,在發(fā)送前不久,在發(fā)送緩沖器或發(fā)送存儲器中存儲原來所設(shè)置的例如2個字節(jié)、即從T1至T3的消息、即字節(jié)S11、S12和S13,其中必須為該數(shù)據(jù)內(nèi)容、即傳感器值補(bǔ)足或擴(kuò)展其他的14個字節(jié)。在此,按照以前的方法,通常在幀內(nèi)的左邊或右邊、即在最高有效位MSB處或在最低有效位LSB處存儲字節(jié),這使按照以前的方法進(jìn)行進(jìn)一步的補(bǔ)足變得簡單。所使用的填充字節(jié)、例如在本例子中從S14到S116的字節(jié)稱為補(bǔ)丁字節(jié)或者稱為補(bǔ)丁樣式或填充樣式。即所選擇的明確地表明補(bǔ)丁樣式或填充樣式的符號段、例如以16進(jìn)制表示的0xFF。在現(xiàn)有情況下,尤其在發(fā)送存儲器或發(fā)送緩沖器109中,用帶負(fù)的符號、即最高有效位MSB(被設(shè)置用于負(fù)數(shù))的16進(jìn)制編碼形式表示的傳感器值0x8005被補(bǔ)充為0x80/05/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF,該傳感器值例如對應(yīng)于角度信息-0.5度。
如果如上所述按照以前的方法在發(fā)送緩沖器109中復(fù)制原來的數(shù)據(jù)內(nèi)容,之后補(bǔ)充補(bǔ)丁樣式,那么在差錯情況下可能導(dǎo)致錯誤的補(bǔ)足。
A)在此,例如消息內(nèi)容被部分重寫。在本例子中也就是產(chǎn)生例如0x80/0F/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF的錯誤的消息內(nèi)容。也就是說,在此產(chǎn)生的錯誤的消息內(nèi)容之后被錯誤地作為傳感器信息而傳輸,并且在發(fā)送時所計算的CRC、即循環(huán)冗余檢驗(yàn)不能發(fā)現(xiàn)該差錯。應(yīng)用中的合理性測試也許能夠發(fā)現(xiàn)該差錯,但是這具有很大的不可靠性。
B)此外,消息內(nèi)容也可能被完全重寫,于是導(dǎo)致0xFF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF,由此又將產(chǎn)生錯誤的消息內(nèi)容。在發(fā)送時所計算的循環(huán)冗余檢驗(yàn)不能發(fā)現(xiàn)該差錯,并且應(yīng)用中的合理性測試也不能揭示該差錯。
C)此外,消息長度可能被補(bǔ)充而超過允許的長度。在此數(shù)據(jù)內(nèi)容或消息內(nèi)容產(chǎn)生未定義的內(nèi)容。例如0x80/05/77/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF/FF,也就是說這里還產(chǎn)生錯誤的消息內(nèi)容。循環(huán)冗余檢驗(yàn)計算只在16個字節(jié)上進(jìn)行并且不能發(fā)現(xiàn)該差錯。盡管合理性測試能夠發(fā)現(xiàn)該差錯,但是只有當(dāng)在應(yīng)用中超過原來的消息、即超過2個字節(jié)被檢驗(yàn)時才能發(fā)現(xiàn)。
為了解決上述問題,本發(fā)明建議,在每個發(fā)送過程之前,用填充樣式或補(bǔ)丁樣式來補(bǔ)足、更確切地說填滿段、尤其是發(fā)送緩沖器。在此,當(dāng)然必須遵循預(yù)定的消息或數(shù)據(jù)寬度、此處例如為16個字節(jié)。這意味著,現(xiàn)在用填充樣式或補(bǔ)丁樣式、即字節(jié)S11至S116來補(bǔ)足傳感器103的發(fā)送時隙或段S1。直到現(xiàn)在才在該段中、尤其是在發(fā)送緩沖器中的正確位置上復(fù)制消息內(nèi)容、此處為2個字節(jié)的傳感器值,并且在這些位置上補(bǔ)丁或填充樣式被重寫。因此,一方面避免了上述的差錯情況A至C。另一方面,可以為數(shù)據(jù)內(nèi)容、即最初需發(fā)送的傳感器值預(yù)定任意的位置,因?yàn)槭紫葘懭胩畛錁邮讲⑶疑院蟛辉傩枰醚a(bǔ)丁范圍內(nèi)的字節(jié)來補(bǔ)足。
因此,通過所述的本發(fā)明的簡單方法,通過簡單的措施、尤其通過設(shè)計可以排除高的差錯可靠性,其中不危及協(xié)議過程的效率。
權(quán)利要求
1.用于補(bǔ)足總線系統(tǒng)上傳輸數(shù)據(jù)的段的方法,其中所述段具有預(yù)定的二進(jìn)制信息總數(shù)、尤其是字節(jié)總數(shù)并且在所述段中傳輸數(shù)據(jù),其中在傳輸包含有少于所述段的預(yù)定總數(shù)的二進(jìn)制信息、尤其是字節(jié)的數(shù)據(jù)時,通過具有相應(yīng)數(shù)目的二進(jìn)制信息、尤其是字節(jié)的填充樣式補(bǔ)足所述數(shù)據(jù)缺少的二進(jìn)制信息、尤其是字節(jié),以達(dá)到段的總數(shù),其特征在于,首先將以下填充樣式寫入所述段中,即該填充樣式的二進(jìn)制信息數(shù)、尤其是字節(jié)數(shù)對應(yīng)于段的總數(shù),緊接著將所述數(shù)據(jù)的二進(jìn)制信息、尤其是字節(jié)寫入相同的段中,其中所述填充樣式的各個二進(jìn)制信息、尤其是字節(jié)由所述數(shù)據(jù)的二進(jìn)制信息、尤其是字節(jié)所重寫。
2.如權(quán)利要求1所述的方法,其特征在于,在緩沖存儲器中,所述填充樣式的二進(jìn)制信息、尤其是字節(jié)和所述數(shù)據(jù)的二進(jìn)制信息、尤其是字節(jié)被寫入所述段中,并且所述段從所述緩沖存儲器傳輸?shù)娇偩€系統(tǒng)上。
3.如權(quán)利要求1所述的方法,其特征在于,所述總線系統(tǒng)是由時間控制的總線系統(tǒng),并且所述段對應(yīng)于所述總線系統(tǒng)上的時間段,其中在所述相應(yīng)的時間段中傳輸所述數(shù)據(jù)。
4.用于補(bǔ)足總線系統(tǒng)上傳輸數(shù)據(jù)的段的裝置,其中所述段具有預(yù)定的二進(jìn)制信息總數(shù)、尤其是字節(jié)總數(shù),包含第一工具,其在所述段中傳輸數(shù)據(jù),其中包含第二工具,其在傳輸包含有少于段的預(yù)定總數(shù)的二進(jìn)制信息、尤其是字節(jié)的數(shù)據(jù)時,通過具有相應(yīng)數(shù)目的二進(jìn)制信息、尤其是字節(jié)的填充樣式補(bǔ)足所述數(shù)據(jù)缺少的二進(jìn)制信息、尤其是字節(jié),以達(dá)到段的總數(shù),其特征在于,所述第二工具首先將以下填充樣式寫入所述段中,即該填充樣式的二進(jìn)制信息數(shù)、尤其是字節(jié)數(shù)對應(yīng)于段的總數(shù),緊接著將所述數(shù)據(jù)的二進(jìn)制信息、尤其是字節(jié)寫入相同的段中,其中所述填充樣式的各個二進(jìn)制信息、尤其是字節(jié)由所述數(shù)據(jù)的二進(jìn)制信息、尤其是字節(jié)所重寫。
5.總線系統(tǒng),其具有用于補(bǔ)足總線系統(tǒng)上傳輸數(shù)據(jù)的段的裝置,其中所述段具有預(yù)定的二進(jìn)制信息總數(shù)、尤其是字節(jié)總數(shù),以及包含第一工具,其在所述段中傳輸數(shù)據(jù),其中包含第二工具,其在傳輸包含有少于段的預(yù)定總數(shù)的二進(jìn)制信息、尤其是字節(jié)的數(shù)據(jù)時,通過具有相應(yīng)數(shù)目的二進(jìn)制信息、尤其是字節(jié)的填充樣式補(bǔ)足所述數(shù)據(jù)缺少的二進(jìn)制信息、尤其是字節(jié),以達(dá)到段的總數(shù),其特征在于,所述第二工具首先將以下填充樣式寫入所述段中,即該填充樣式的二進(jìn)制信息數(shù)、尤其是字節(jié)數(shù)對應(yīng)于段的總數(shù),緊接著將所述數(shù)據(jù)的二進(jìn)制信息、尤其是字節(jié)寫入相同的段中,其中所述填充樣式的各個二進(jìn)制信息、尤其是字節(jié)由所述數(shù)據(jù)的二進(jìn)制信息、尤其是字節(jié)所重寫。
全文摘要
用于補(bǔ)足總線系統(tǒng)上傳輸數(shù)據(jù)的段的方法和裝置以及總線系統(tǒng),其中所述段具有預(yù)定的字節(jié)總數(shù),并且在所述段中傳輸數(shù)據(jù),其中在傳輸包含少于段的預(yù)定總數(shù)的字節(jié)的數(shù)據(jù)時,通過具有相應(yīng)字節(jié)數(shù)的填充樣式補(bǔ)足所述數(shù)據(jù)缺少的字節(jié)以達(dá)到段的總字節(jié)數(shù),其特征在于,首先將字節(jié)數(shù)對應(yīng)于段的總數(shù)的填充樣式寫入所述段中,緊接著將所述數(shù)據(jù)的字節(jié)寫入相同的段中,其中所述填充樣式的各個字節(jié)由所述數(shù)據(jù)的字節(jié)所重寫。
文檔編號B60R16/02GK1633784SQ03803854
公開日2005年6月29日 申請日期2003年4月14日 優(yōu)先權(quán)日2002年4月15日
發(fā)明者T·菲雷爾, R·胡格爾 申請人:羅伯特-博希股份公司