專利名稱:一種用于汽車電子領(lǐng)域的信號(hào)組收發(fā)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及汽車電子的通信技術(shù)領(lǐng)域,尤其是涉及一種用于汽車電子領(lǐng)域 的信號(hào)組收發(fā)方法。
背景技術(shù):
汽車電子化是現(xiàn)代汽車發(fā)展的重要標(biāo)志之一。隨著電子技術(shù)、信息技術(shù)在
汽車中的融合,以燃油電子噴射、ABS、電子行駛穩(wěn)定系統(tǒng)EPS等集機(jī)械、電 氣和電子一體為代表的現(xiàn)代汽車技術(shù)在已日益得到普及,與這些技術(shù)密切相關(guān) 的汽車內(nèi)部通信網(wǎng)絡(luò),也隨之在大部分汽車設(shè)計(jì)中廣泛應(yīng)用。
汽車內(nèi)部通信網(wǎng)絡(luò)主要通過現(xiàn)場總線技術(shù)來創(chuàng)建。眾多現(xiàn)場總線中,常用 的包括CAN、 LIN、 FlexRay等。通過總線發(fā)送和接收的各種信號(hào)之間常常存在 相關(guān)性,但是在一般的通信系統(tǒng)中,各種信號(hào)往往采用單獨(dú)發(fā)送和接收的方式。 在信號(hào)傳輸過程中,因?yàn)槲锢砩匣蛞恍┢渌?,有時(shí)會(huì)發(fā)生幀丟失等事件, 相關(guān)信號(hào)沒有得到同步更新,會(huì)導(dǎo)致一些不一致的現(xiàn)象。因此需要一種能夠獨(dú) 立于底層的總線協(xié)議,有統(tǒng)一的接口和行為的信號(hào)組收發(fā)方法,提高通信的可 靠性。
發(fā)明內(nèi)容
本發(fā)明為解決汽車電子領(lǐng)域中的相關(guān)信號(hào)不同步更新引起的問題,本發(fā)明 的目的在于提供一種用于汽車電子領(lǐng)域的信號(hào)組收發(fā)方法,通過陰影緩沖區(qū)機(jī) 制來進(jìn)行信號(hào)組原子收發(fā)的實(shí)現(xiàn)。
本發(fā)明為解決該技術(shù)問題所采用的技術(shù)方案
獨(dú)立于底層的操作系統(tǒng)和通信協(xié)議,提供一套統(tǒng)一的接口來處理信號(hào)組的 收發(fā);對所有相關(guān)信號(hào)組成的信號(hào)組進(jìn)行原子地發(fā)送和接收;通過修改配置改 變信號(hào)和信號(hào)組的對應(yīng)關(guān)系;在信號(hào)收發(fā)過程中,發(fā)送方需要依次調(diào)用的接口 包括l)初始化,2)更新要發(fā)送的信號(hào)到陰影緩沖區(qū),3)發(fā)送信號(hào)組;接收方需 要依次調(diào)用的接口包括l)初始化,2)接收信號(hào)組到陰影緩沖區(qū),3)從陰影緩沖 區(qū)接收要接收的信號(hào);通過鏈表的方式來組織一個(gè)信號(hào)組內(nèi)的各個(gè)信號(hào)。
所述的鏈表的表項(xiàng)中包括信號(hào)ID,信號(hào)相應(yīng)陰影緩沖區(qū)首地址和指向下個(gè) 鏈表項(xiàng)的指針,最后一個(gè)鏈表項(xiàng)的下個(gè)鏈表項(xiàng)的指針為NULL, 一個(gè)鏈表中表項(xiàng) 的個(gè)數(shù)等于信號(hào)組中信號(hào)的個(gè)數(shù)。所述的初始化之前,根據(jù)要發(fā)送或者接收的各個(gè)信號(hào)的性質(zhì)和用途,配置 它們所屬的信號(hào)組。
所述的在通信系統(tǒng)初始化過程中,順序掃描配置的各個(gè)信號(hào),l)讀取配置信 息;2)在信號(hào)結(jié)構(gòu)中根據(jù)信號(hào)數(shù)據(jù)所需空間大小動(dòng)態(tài)分配存儲(chǔ)作為陰影緩沖區(qū)的 組成部分;3)將該信號(hào)添加到所屬信號(hào)組的信號(hào)鏈表尾部并更新信號(hào)組相關(guān)信 息。
所述的信號(hào)組發(fā)送的處理步驟如下l)對信號(hào)組的各個(gè)信號(hào)調(diào)用更新要發(fā)送 的信號(hào)到陰影緩沖區(qū)函數(shù);2)調(diào)用信號(hào)組發(fā)送函數(shù),將信號(hào)組通過底層網(wǎng)絡(luò)原子 地發(fā)出。
所述的信號(hào)組接收的處理步驟如下l)調(diào)用信號(hào)組接收函數(shù),將信號(hào)組從底 層網(wǎng)絡(luò)原子地接收到陰影緩沖區(qū);2)對需要接收的信號(hào)分別調(diào)用從陰影緩沖區(qū)接 收要接收的信號(hào)函數(shù)從陰影緩沖區(qū)中拷貝數(shù)據(jù)。
本發(fā)明具有的有益效果是
1) 對相關(guān)信號(hào)組成的信號(hào)組進(jìn)行原子的收發(fā),解決了相關(guān)信號(hào)的不同步更新 問題;
2) 獨(dú)立于底層的操作系統(tǒng)和通信協(xié)議;
3) 可以通過修改配置改變信號(hào)和信號(hào)組的對應(yīng)關(guān)系。
圖1是信號(hào)組的信號(hào)鏈表結(jié)構(gòu)。 圖2是信號(hào)組發(fā)送過程。 圖3是信號(hào)組接收過程。 圖4是結(jié)合硬件的具體實(shí)施方案。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)施例對發(fā)明作進(jìn)一步說明。
采用鏈表的方式將相關(guān)信號(hào)組織成信號(hào)組。發(fā)送信號(hào)組時(shí),先分別發(fā)送該 信號(hào)組的各個(gè)信號(hào)到陰影緩沖區(qū),再將信號(hào)組通過底層網(wǎng)絡(luò)原子地發(fā)出;接收 信號(hào)組時(shí),先將信號(hào)組從底層網(wǎng)絡(luò)原子地接收到陰影緩沖區(qū),再分別接收該信 號(hào)組的各個(gè)信號(hào)。
圖1是介紹了本發(fā)明中的信號(hào)組的信號(hào)鏈表結(jié)構(gòu)。通過鏈表的方式來組織 一個(gè)信號(hào)組內(nèi)的各個(gè)信號(hào),鏈表的表項(xiàng)中包括信號(hào)ID,信號(hào)相應(yīng)陰影緩沖區(qū)首 地址和指向下個(gè)鏈表項(xiàng)的指針,最后一個(gè)鏈表項(xiàng)的下個(gè)鏈表項(xiàng)的指針為NULL, 一個(gè)鏈表中表項(xiàng)的個(gè)數(shù)等于信號(hào)組中信號(hào)的個(gè)數(shù)。初始化之前,根據(jù)各個(gè)信號(hào)的性質(zhì)和用途配置其所屬信號(hào)組和其他信息。通信系統(tǒng)初始化函數(shù)中,順序掃 描各個(gè)信號(hào),在信號(hào)結(jié)構(gòu)中根據(jù)信號(hào)數(shù)據(jù)所需空間大小動(dòng)態(tài)分配存儲(chǔ)作為陰影 緩沖區(qū)的組成部分,將該信號(hào)添加到所屬信號(hào)組的信號(hào)鏈表尾部并更新信號(hào)組 相關(guān)信息。在通信系統(tǒng)初始化過程中,順序掃描配置的各個(gè)信號(hào),l)讀取配置信 息;2)在信號(hào)結(jié)構(gòu)中根據(jù)信號(hào)數(shù)據(jù)所需空間大小動(dòng)態(tài)分配存儲(chǔ)作為陰影緩沖區(qū)的 組成部分;3)將該信號(hào)添加到所屬信號(hào)組的信號(hào)鏈表尾部并更新信號(hào)組相關(guān)信 息。
圖2是介紹了本發(fā)明中的信號(hào)組發(fā)送過程。發(fā)送信號(hào)組時(shí),先調(diào)用更新信 號(hào)到陰影緩沖區(qū)函數(shù),該函數(shù)根據(jù)信號(hào)ID在所屬信號(hào)組的信號(hào)鏈表中查找到對 應(yīng)的表項(xiàng),將數(shù)據(jù)拷貝到陰影緩沖區(qū)中,需要更新的各個(gè)信號(hào)都拷貝到緩沖區(qū) 后,再調(diào)用信號(hào)組發(fā)送函數(shù),將信號(hào)組通過底層網(wǎng)絡(luò)原子地發(fā)出。在信號(hào)發(fā)送 過程中,發(fā)送方需要依次調(diào)用的接口包括l)初始化,2)更新要發(fā)送的信號(hào)到陰 影緩沖區(qū),3)發(fā)送信號(hào)組。初始化之后,信號(hào)組發(fā)送的處理步驟如下l)對信號(hào) 組的各個(gè)信號(hào)調(diào)用更新要發(fā)送的信號(hào)到陰影緩沖區(qū)函數(shù);2)調(diào)用信號(hào)組發(fā)送函 數(shù),將信號(hào)組通過底層網(wǎng)絡(luò)原子地發(fā)出。首先對信號(hào)a和信號(hào)b分別調(diào)用更新 要發(fā)送的信號(hào)到陰影緩沖區(qū)函數(shù)將信號(hào)數(shù)據(jù)拷貝到信號(hào)組x的陰影緩沖區(qū)中, 然后對信號(hào)組x調(diào)用發(fā)送信號(hào)組函數(shù),將信號(hào)組通過底層網(wǎng)絡(luò)原子地發(fā)出。
圖3是介紹了本發(fā)明中的信號(hào)組接收過程。接收信號(hào)組時(shí),先調(diào)用信號(hào)組 接收函數(shù),將信號(hào)組從底層網(wǎng)絡(luò)原子地接收到陰影緩沖區(qū),再對需要接收的各 個(gè)信號(hào)分別調(diào)用從陰影緩沖區(qū)接收信號(hào)函數(shù)從陰影緩沖區(qū)中拷貝數(shù)據(jù)。在信號(hào) 接收過程中,接收方需要依次調(diào)用的接口包括l)初始化,2)接收信號(hào)組到陰影 緩沖區(qū),3)從陰影緩沖區(qū)接收要接收的信號(hào)。初始化之后,信號(hào)組接收的處理步 驟如下l)調(diào)用信號(hào)組接收函數(shù),將信號(hào)組從底層網(wǎng)絡(luò)原子地接收到陰影緩沖區(qū); 2)對需要接收的信號(hào)分別調(diào)用從陰影緩沖區(qū)接收要接收的信號(hào)函數(shù)從陰影緩沖 區(qū)中拷貝數(shù)據(jù)。首先對信號(hào)組x調(diào)用接收信號(hào)組到陰影緩沖區(qū)函數(shù),將信號(hào)組 從底層網(wǎng)絡(luò)原子地接收到陰影緩沖區(qū),再對信號(hào)a和信號(hào)b分別調(diào)用從陰影緩 沖區(qū)接收要接收的信號(hào)函數(shù)。
圖4是結(jié)合硬件舉例說明了本發(fā)明具體的實(shí)施步驟
1) 選擇兩塊MC9S12DP256B開發(fā)板(帶有CAN控制器)、CAN收發(fā)器和 CAN總線組成的通信網(wǎng)絡(luò)為本發(fā)明實(shí)施的硬件環(huán)境;
2) 在兩個(gè)開發(fā)板上分別配置信號(hào)所屬信號(hào)組和其他信息。其中,在板A上 配置信號(hào)signal—a和信號(hào)signal一b屬于信號(hào)組group_x,在板B上也配置信號(hào)signal_a禾口信號(hào)signal_b屬于信號(hào)組group—x;
3) 在板A和板B的程序中調(diào)用通信系統(tǒng)初始化函數(shù)。初始化函數(shù)在信號(hào)結(jié) 構(gòu)中根據(jù)信號(hào)數(shù)據(jù)所需空間大小動(dòng)態(tài)分配存儲(chǔ)作為陰影緩沖區(qū)的組成部分,將 該信號(hào)添加到所屬信號(hào)組的信號(hào)鏈表尾部并更新信號(hào)組相關(guān)信息;
4) 板A使用圖2所示的方法發(fā)送信號(hào)組。應(yīng)用層先分別調(diào)用更新要發(fā)送的 信號(hào)到陰影緩沖區(qū)函數(shù) Com—UpdateShadowSignal(signa1—a,&a)和 Com—UpdateShadowSignal(signal_b,&b)更新陰影緩沖區(qū)中信號(hào)signal—a和 signal—b的數(shù)據(jù),再調(diào)用發(fā)送信號(hào)組函數(shù)Con^SendSignalGroup(group—x)將信號(hào) 組通過底層CAN網(wǎng)絡(luò)發(fā)出;
5) 板B使用圖3所示的方法接收信號(hào)組。應(yīng)用組先調(diào)用接收信號(hào)組到陰影 緩沖區(qū)函數(shù)Con^ReceiveSignalGroup(groupj)從底層網(wǎng)絡(luò)接收信號(hào)組到陰影緩 沖區(qū),再分別調(diào)用從陰影緩沖區(qū)接收要接收的信號(hào)函數(shù) Com_ReceiveShadowSignal(signal—a,&a) 和 Com—ReceiveShadowSignal(signa1—b,&b)將數(shù)據(jù)從陰影緩沖區(qū)接收到應(yīng)用層。
6) 當(dāng)CAN總線上出現(xiàn)故障,導(dǎo)致幀丟失時(shí),信號(hào)組的各個(gè)信號(hào)仍然能保證 被原子地發(fā)送和接收。
權(quán)利要求
1. 一種用于汽車電子領(lǐng)域的信號(hào)組收發(fā)方法,其特征在于獨(dú)立于底層的操作系統(tǒng)和通信協(xié)議,提供一套統(tǒng)一的接口來處理信號(hào)組的收發(fā);對所有相關(guān)信號(hào)組成的信號(hào)組進(jìn)行原子地發(fā)送和接收;通過修改配置改變信號(hào)和信號(hào)組的對應(yīng)關(guān)系;在信號(hào)收發(fā)過程中,發(fā)送方需要依次調(diào)用的接口包括1)初始化,2)更新要發(fā)送的信號(hào)到陰影緩沖區(qū),3)發(fā)送信號(hào)組;接收方需要依次調(diào)用的接口包括1)初始化,2)接收信號(hào)組到陰影緩沖區(qū),3)從陰影緩沖區(qū)接收要接收的信號(hào);通過鏈表的方式來組織一個(gè)信號(hào)組內(nèi)的各個(gè)信號(hào)。
2. 根據(jù)權(quán)利要求1所述的用于汽車電子領(lǐng)域的信號(hào)組收發(fā)方法,其特征在于所述的鏈表的表項(xiàng)中包括信號(hào)ID,信號(hào)相應(yīng)陰影緩沖區(qū)首地址和指向下個(gè)鏈表項(xiàng)的指針,最后一個(gè)鏈表項(xiàng)的下個(gè)鏈表項(xiàng)的指針為NULL, 一個(gè)鏈表中表項(xiàng) 的個(gè)數(shù)等于信號(hào)組中信號(hào)的個(gè)數(shù)。
3. 根據(jù)權(quán)利要求1所述的用于汽車電子領(lǐng)域的信號(hào)組收發(fā)方法,其特征在 于所述的初始化之前,根據(jù)要發(fā)送或者接收的各個(gè)信號(hào)的性質(zhì)和用途,配置 它們所屬的信號(hào)組。
4. 根據(jù)權(quán)利要求1或3所述的用于汽車電子領(lǐng)域的信號(hào)組收發(fā)方法,其特 征在于所述的在通信系統(tǒng)初始化過程中,順序掃描配置的各個(gè)信號(hào),l)讀取配 置信息;2)在信號(hào)結(jié)構(gòu)中根據(jù)信號(hào)數(shù)據(jù)所需空間大小動(dòng)態(tài)分配存儲(chǔ)作為陰影緩沖 區(qū)的組成部分;3)將該信號(hào)添加到所屬信號(hào)組的信號(hào)鏈表尾部并更新信號(hào)組相關(guān){曰息。
5. 根據(jù)權(quán)利要求1所述的用于汽車電子領(lǐng)域的信號(hào)組收發(fā)方法,其特征在 于所述的信號(hào)組發(fā)送的處理步驟如下l)對信號(hào)組的各個(gè)信號(hào)調(diào)用更新要發(fā)送 的信號(hào)到陰影緩沖區(qū)函數(shù);2)調(diào)用信號(hào)組發(fā)送函數(shù),將信號(hào)組通過底層網(wǎng)絡(luò)原子 地發(fā)出。
6. 根據(jù)權(quán)利要求1所述的用于汽車電子領(lǐng)域的信號(hào)組收發(fā)方法,其特征在 于所述的信號(hào)組接收的處理步驟如下l)調(diào)用信號(hào)組接收函數(shù),將信號(hào)組從底 層網(wǎng)絡(luò)原子地接收到陰影緩沖區(qū);2)對需要接收的信號(hào)分別調(diào)用從陰影緩沖區(qū)接 收要接收的信號(hào)函數(shù)從陰影緩沖區(qū)中拷貝數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種用于汽車電子領(lǐng)域的信號(hào)組收發(fā)方法。提供了一套統(tǒng)一的接口來處理信號(hào)組的收發(fā)。在信號(hào)收發(fā)過程中,發(fā)送方依次調(diào)用接口初始化、更新要發(fā)送的信號(hào)到陰影緩沖區(qū)、發(fā)送信號(hào)組;接收方依次調(diào)用接口初始化、接收信號(hào)組到陰影緩沖區(qū)、從陰影緩沖區(qū)接收要接收的信號(hào);通過鏈表的方式來組織一個(gè)信號(hào)組內(nèi)的各個(gè)信號(hào),鏈表表項(xiàng)包括信號(hào)ID、信號(hào)相應(yīng)陰影緩沖區(qū)首地址和指向下個(gè)鏈表項(xiàng)的指針。本發(fā)明對相關(guān)信號(hào)組成的信號(hào)組進(jìn)行原子的收發(fā),解決了相關(guān)信號(hào)的不同步更新問題;獨(dú)立于底層的操作系統(tǒng)和通信協(xié)議;可以通過修改配置改變信號(hào)和信號(hào)組的對應(yīng)關(guān)系。
文檔編號(hào)H04L29/06GK101282334SQ20081006200
公開日2008年10月8日 申請日期2008年5月21日 優(yōu)先權(quán)日2008年5月21日
發(fā)明者凱 劉, 攀 呂, 吳朝暉, 周海娟, 張呂紅, 郭晞文 申請人:浙江大學(xué)