專利名稱:一種控制機(jī)動(dòng)車中的受控設(shè)備的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種機(jī)動(dòng)車中的受控設(shè)備進(jìn)行控制的方法和裝置;更具體地說(shuō),涉及在機(jī)動(dòng)車內(nèi)對(duì)車門、車窗、天窗等受控設(shè)備進(jìn)行控制的方法和裝置。
背景技術(shù):
已有技術(shù)的機(jī)動(dòng)車中,由總線來(lái)管理的受控設(shè)備主要有兩類,一類是基于局域交互網(wǎng)(LocalInterconnect Network,LIN)總線的受控設(shè)備,另一類是基于控制器局域網(wǎng)絡(luò)(controllerarea network,CAN)總線的受控設(shè)備。
基于LIN總線的受控設(shè)備采用LIN通訊協(xié)議。LIN總線是一種低成本的串行通訊網(wǎng)絡(luò),可用于實(shí)現(xiàn)汽車中的分布式電子系統(tǒng)控制。機(jī)動(dòng)車中的一個(gè)LIN總線本身既是一個(gè)小的網(wǎng)絡(luò),又可與CAN總線相連,成為CAN總線上的一個(gè)設(shè)備,為CAN總線上的其它設(shè)備提供輔助功能。在不需要CAN總線大帶寬和多功能性能的場(chǎng)合,使用LIN總線可大大節(jié)省成本。
現(xiàn)行的LIN通訊是基于通用串行接口(UART)數(shù)據(jù)格式,采用單主控制器/多受控設(shè)備(即從控制器)的模式,即可由一個(gè)LIN主控制器來(lái)控制多個(gè)受控設(shè)備。一個(gè)LIN總線系統(tǒng)使用一根12V信號(hào)總線,和一個(gè)無(wú)固定時(shí)間基準(zhǔn)的節(jié)點(diǎn)同步時(shí)鐘線。LIN主控制器發(fā)出同步的時(shí)鐘信號(hào),并采用該時(shí)鐘信號(hào)控制各個(gè)受控設(shè)備。已有技術(shù)的一個(gè)完整的LIN數(shù)據(jù)幀包括一個(gè)2字節(jié)(byte)幀頭區(qū)、一個(gè)數(shù)據(jù)區(qū)和一個(gè)1字節(jié)的冗余性校驗(yàn)區(qū)(CRC)。其中,每個(gè)數(shù)據(jù)區(qū)包括至多8個(gè)字節(jié)(第0字節(jié)至第7字節(jié)),每個(gè)字節(jié)有8個(gè)比特(bit)。當(dāng)采用LIN總線來(lái)控制車內(nèi)的設(shè)備時(shí),按照目前的LIN總線協(xié)議,應(yīng)當(dāng)首先確定所述的數(shù)據(jù)區(qū)的長(zhǎng)度。已有技術(shù)中,根據(jù)該LIN總線所需控制的設(shè)備數(shù)及每個(gè)設(shè)備所對(duì)應(yīng)的控制命令的個(gè)數(shù),將數(shù)據(jù)區(qū)的長(zhǎng)度設(shè)定為2字節(jié)、4字節(jié)或8字節(jié)這三種長(zhǎng)度中的一種。所述的數(shù)據(jù)區(qū)包括兩個(gè)區(qū),即公共信息區(qū)和受控設(shè)備指令區(qū)。
這種方法至少有兩個(gè)問(wèn)題。一個(gè)問(wèn)題是在一個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)中,某些字節(jié)可能是多余的。例如,假設(shè)當(dāng)采用目前的LIN協(xié)議來(lái)控制機(jī)動(dòng)車的3個(gè)設(shè)備(2個(gè)車窗及一個(gè)天窗)時(shí),將數(shù)據(jù)區(qū)設(shè)定為8個(gè)字節(jié)(第0字節(jié)至第7字節(jié)),其中第0字節(jié)至第2字節(jié)為公共信息區(qū),第3至第5字節(jié)為受控設(shè)備指令區(qū),其中第3和第4字節(jié)分別對(duì)應(yīng)于左右兩個(gè)前車窗的開(kāi)關(guān)動(dòng)作,第5字節(jié)對(duì)應(yīng)于天窗的開(kāi)關(guān)動(dòng)作。在某一個(gè)時(shí)間里,操作者(司機(jī)或車內(nèi)其它乘員)發(fā)出對(duì)所有三個(gè)車窗關(guān)閉的指令。此時(shí)按照LIN總線協(xié)議,LIN控制器對(duì)所對(duì)應(yīng)的LIN數(shù)據(jù)區(qū)進(jìn)行掃描,至第3和第4字節(jié)時(shí),執(zhí)行有關(guān)的關(guān)窗指令;掃描到第5字節(jié)時(shí),操作天窗執(zhí)行有關(guān)的的指令。而每個(gè)數(shù)據(jù)幀中的第6、7字節(jié)在此設(shè)備中都沒(méi)有得到使用。因此,對(duì)此方法而言,每個(gè)數(shù)據(jù)幀中的第6、7字節(jié)由于被空掃,因而被浪費(fèi)了。
另一個(gè)問(wèn)題是,如果操作者在某一個(gè)時(shí)間只操縱一部分(而非全部的)有關(guān)受控設(shè)備時(shí),他也要對(duì)有關(guān)數(shù)據(jù)幀中數(shù)據(jù)區(qū)的每一個(gè)字節(jié)進(jìn)行掃描。例如,在本例中,如果司機(jī)或乘員某一時(shí)刻沒(méi)有發(fā)出對(duì)天窗的開(kāi)或關(guān)指令,此時(shí)LIN控制器對(duì)該數(shù)據(jù)幀中的第5字節(jié)的掃描就是不必要的。
因此,目前的這種方法和設(shè)備存在著系統(tǒng)資源浪費(fèi)的問(wèn)題。由于LIN協(xié)議功能并非十分強(qiáng)大,其數(shù)據(jù)幀的掃描周期也較長(zhǎng)(一般在100毫秒的數(shù)量級(jí)),在本來(lái)就緊張的時(shí)間資源里還浪費(fèi)一些字節(jié),設(shè)備響應(yīng)時(shí)間長(zhǎng)就成為一個(gè)問(wèn)題。
圖1示出了已有技術(shù)中基于目前的LIN總線協(xié)議的一種主、從控制器結(jié)構(gòu)。LIN總線協(xié)議要求有一個(gè)主控制器,所有的受控設(shè)備(即圖1中的從控制器)都要服從該主控制器的命令。圖1中示出了一個(gè)LIN總線主控制器,它包括一個(gè)中央處理器(CPU),該CPU上有一個(gè)通用串行接口(UART)。該接口的主要功能是收發(fā)串行通訊報(bào)文,其物理上的實(shí)現(xiàn)是借助通用的CPU的兩個(gè)信號(hào)連接線,一個(gè)為發(fā)送線(TxD),一個(gè)為接收線(RxD)。LIN總線還連有多個(gè)受控設(shè)備,即為圖1中所示的LIN從控制器1至LIN從控制器n,所有的從控制器都要執(zhí)行所述的主控制器的命令。其中,所涉及的LIN主控制器和各個(gè)從控制器分別通過(guò)一個(gè)LIN驅(qū)動(dòng)器與所述的LIN總線相連。即,每個(gè)控制器的通用串行接口與相應(yīng)的LIN驅(qū)動(dòng)器之間以兩根信號(hào)線相連,所述的LIN驅(qū)動(dòng)器的另一端接到一根LIN總線上,又通過(guò)該LIN總線與機(jī)動(dòng)車有關(guān)的LIN結(jié)點(diǎn)設(shè)備相連。所述的LIN結(jié)點(diǎn)設(shè)備,可以為例如電動(dòng)門窗控制器、雨刷電機(jī)控制器、倒車?yán)走_(dá)、天窗控制器、化霜器中的至少一種。已有技術(shù)的一根LIN總線,通常只能管理幾個(gè)或十幾個(gè)受控的設(shè)備。當(dāng)使用者啟動(dòng)一個(gè)開(kāi)關(guān)(例如靠近自身一端的開(kāi)關(guān))時(shí),就可以通過(guò)所述的LIN總線、LIN驅(qū)動(dòng)器以及所述的串行接口,向有關(guān)的LIN主控制器發(fā)出一個(gè)有關(guān)的動(dòng)作請(qǐng)求。該LIN主控制器接到該請(qǐng)求時(shí),會(huì)向有關(guān)設(shè)備的控制器發(fā)出一個(gè)命令;該控制器收到該命令后,會(huì)驅(qū)動(dòng)有關(guān)設(shè)備的電機(jī)做出相應(yīng)的動(dòng)作。
一般來(lái)說(shuō),可以將LIN主控制器放置在操作者(例如司機(jī))的附近。當(dāng)操作者按動(dòng)一個(gè)控制鍵時(shí),所對(duì)應(yīng)的控制命令(例如車窗開(kāi)啟的命令)通過(guò)所述的控制鍵與LIN主控制器之間的連線傳到LIN主控制器,LIN主控制器通過(guò)LIN總線將有關(guān)的命令發(fā)送到有關(guān)的車窗控制器,所述的車窗控制器執(zhí)行所述命令,驅(qū)動(dòng)車窗開(kāi)啟。這就是一個(gè)LIN命令從請(qǐng)求到執(zhí)行的通常的過(guò)程。
由于基于LIN總線的通訊協(xié)議相對(duì)比較簡(jiǎn)單,因此所需采用的設(shè)備的體積也較小,例如只需使用一個(gè)通用的CPU的串行接口,以及一個(gè)造價(jià)不高的LIN驅(qū)動(dòng)器,另外就是很便宜的通訊線,所以整個(gè)設(shè)備的造價(jià)較低。
但是另一方面,由于LIN總線的通訊協(xié)議相對(duì)較簡(jiǎn)單,目前所能實(shí)現(xiàn)的功能也較少。例如,目前能夠?qū)崿F(xiàn)的功能為單門窗的升降、智能集控提升(IGC,即發(fā)出一個(gè)命令使所有的車窗都開(kāi)啟或關(guān)閉)、兒童鎖等。用LIN通訊協(xié)議作為控制信號(hào)載體時(shí),信號(hào)傳輸時(shí)會(huì)發(fā)生較大延遲,這種情況造成了采用LIN總線協(xié)議實(shí)現(xiàn)更多功能控制的一個(gè)技術(shù)困難。
另外,在LIN總線協(xié)議中,幀的字節(jié)數(shù)是固定的。這種規(guī)定對(duì)控制受控設(shè)備方面的缺點(diǎn)是,由于傳輸報(bào)文的長(zhǎng)度是固定的,所以信號(hào)傳輸周期長(zhǎng),系統(tǒng)響應(yīng)慢。對(duì)車門窗控制器而言,有時(shí)這種控制信號(hào)的延遲可以達(dá)到0.2秒之長(zhǎng),如此長(zhǎng)度的延遲會(huì)造成操作者的困惑,他們有時(shí)會(huì)搞不清楚這種情況究竟是出自正常的信號(hào)延遲,還是汽車的什么部分出了故障。
第二種已有技術(shù)的方案是采用CAN總線協(xié)議的多節(jié)點(diǎn)方案。圖2示出了已有技術(shù)一種采用CAN總線協(xié)議的汽車門窗控制器。CAN總線協(xié)議與LIN總線協(xié)議不同,它可以設(shè)置多個(gè)控制器,而且從理論上講每個(gè)連接在CAN總線上的設(shè)備(即圖2中所示的節(jié)點(diǎn))都可以控制其它設(shè)備,因此每個(gè)設(shè)備上都要設(shè)置一個(gè)較為復(fù)雜的軟硬件結(jié)構(gòu),因此系統(tǒng)以及所涉及的設(shè)備的價(jià)格較為昂貴。圖2中所示的每個(gè)CAN總線的連接設(shè)備(或稱節(jié)點(diǎn))都包括一個(gè)帶有專門的CAN接口的專用中央處理器(CPU),從該CPU的接口上引出一對(duì)CAN信號(hào)傳輸線,連接一個(gè)CAN收發(fā)器。從所述的CAN收發(fā)器的另一端引出一對(duì)CAN信號(hào)傳輸線,與所述的CAN總線相連。一條CAN信號(hào)傳輸線上可以連接多達(dá)1024個(gè)受控設(shè)備。也就是說(shuō),其中每個(gè)受控設(shè)備都可以單獨(dú)地通過(guò)所述的CAN傳輸線以及CAN收發(fā)器,向有關(guān)的CPU發(fā)出動(dòng)作請(qǐng)求。CPU隨之通過(guò)CAN驅(qū)動(dòng)器相應(yīng)地向有關(guān)設(shè)備的控制器出動(dòng)作指令,驅(qū)動(dòng)有關(guān)設(shè)備的動(dòng)作。
機(jī)動(dòng)車中的CAN總線整合了機(jī)動(dòng)車的主要機(jī)電設(shè)備,例如發(fā)動(dòng)機(jī)、自動(dòng)變速器等。一個(gè)CAN總線具有大帶寬和多功能的特點(diǎn),可以帶動(dòng)多達(dá)數(shù)百個(gè)受控設(shè)備,各個(gè)受控設(shè)備之間可以進(jìn)行快速的數(shù)據(jù)交換。目前較為先進(jìn)的機(jī)動(dòng)車都裝備了CAN總線,作為車內(nèi)設(shè)備通訊的骨干網(wǎng),有些汽車還使用了多個(gè)CAN總線。
CAN總線的協(xié)議復(fù)雜,控制模塊的體積較大,所以可實(shí)現(xiàn)的功能也相對(duì)較多。但是另一方面,該類設(shè)備的造價(jià)也較高。用于汽車的內(nèi)部設(shè)備控制時(shí),通常一套CAN控制器的造價(jià)高于相應(yīng)的LIN總線控制器幾倍。較高的造價(jià)直接限制了其在中低檔汽車中的應(yīng)用。而目前中低檔汽車的發(fā)展趨勢(shì)是越來(lái)越需要原來(lái)高檔汽車才有的功能。而且,從技術(shù)的角度看,CAN總線控制器也存在對(duì)其數(shù)據(jù)區(qū)中的部分字節(jié)的空掃的問(wèn)題,只是由于CAN總線設(shè)備的速度較快,這一缺點(diǎn)沒(méi)有造成很大的影響。
發(fā)明內(nèi)容
因此,本發(fā)明的一項(xiàng)任務(wù)是提供一種對(duì)機(jī)動(dòng)車中的受控設(shè)備進(jìn)行控制的方法,針對(duì)已有技術(shù)的LIN主控制器進(jìn)行幀掃描時(shí)會(huì)出現(xiàn)有些字節(jié)空閑以及對(duì)有些字節(jié)空掃等不足,將幀中的數(shù)據(jù)區(qū)設(shè)置為動(dòng)態(tài)的數(shù)據(jù)區(qū),該數(shù)據(jù)區(qū)的長(zhǎng)度直接與當(dāng)時(shí)的對(duì)受控設(shè)備的控制指令有關(guān)。
本發(fā)明的另一項(xiàng)任務(wù)是提供一種造價(jià)相對(duì)于CAN總線設(shè)備較低、體積較小的設(shè)備,該設(shè)備能夠有效地、動(dòng)態(tài)地分配LIN總線的字節(jié)資源,使主控制器對(duì)數(shù)據(jù)區(qū)的掃描較已有技術(shù)更為合理。
根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明提出了一種控制機(jī)動(dòng)車中的受控設(shè)備的方法,基于LIN總線協(xié)議,所采用LIN總線上連接了至少一個(gè)受控設(shè)備,一個(gè)LIN總線的主控制器向LIN總線連續(xù)地發(fā)送數(shù)據(jù)幀,每個(gè)受控設(shè)備都接收所述的數(shù)據(jù)幀,每個(gè)數(shù)據(jù)幀包括一個(gè)固定長(zhǎng)度的幀頭區(qū)、一個(gè)長(zhǎng)度可變的數(shù)據(jù)區(qū),以及一個(gè)固定長(zhǎng)度的冗余性校驗(yàn)區(qū),并且包括以下步驟1)將所述的基于LIN總線協(xié)議的數(shù)據(jù)幀的數(shù)據(jù)區(qū)設(shè)置為動(dòng)態(tài)區(qū);
2)根據(jù)對(duì)所述受控設(shè)備的控制要求,將每個(gè)幀的數(shù)據(jù)區(qū)分為受控設(shè)備指令標(biāo)注區(qū)、公共信息區(qū)和受控設(shè)備指令區(qū);其中受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)的比特?cái)?shù)在根據(jù)給定的受控設(shè)備做了設(shè)置以后即為固定數(shù)目,而受控設(shè)備指令區(qū)的比特?cái)?shù)根據(jù)設(shè)備使用者所發(fā)出的對(duì)所述設(shè)備的控制指令而實(shí)時(shí)改變;受控設(shè)備指令標(biāo)注區(qū)表示對(duì)受控設(shè)備指令的數(shù)據(jù)與受控設(shè)備指令區(qū)的數(shù)據(jù)的關(guān)系;3)所述的LIN總線主控制器對(duì)所述的一個(gè)數(shù)據(jù)幀中的數(shù)據(jù)區(qū)進(jìn)行動(dòng)態(tài)掃描,其中對(duì)受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)的掃描是對(duì)這些區(qū)中的每個(gè)比特進(jìn)行的,對(duì)受控設(shè)備指令區(qū)的掃描是根據(jù)受控設(shè)備指令標(biāo)注區(qū)的受控設(shè)備指令標(biāo)注,只對(duì)存在著對(duì)受控設(shè)備控制指令的那些比特進(jìn)行的;4)重復(fù)上述步驟3)的操作,對(duì)下一個(gè)數(shù)據(jù)幀進(jìn)行掃描。
本發(fā)明中的“機(jī)動(dòng)車”可以為廣義的機(jī)動(dòng)工具,包括汽車、拖拉機(jī)等等。
本發(fā)明中所述的受控設(shè)備為響應(yīng)外部命令并進(jìn)行動(dòng)作的受控電氣設(shè)備,包括車門、車窗、天窗、后視鏡、雨刷、倒車?yán)走_(dá)、化霜器、車門顯示器的顯示燈等安裝在LIN總線上的設(shè)備中的至少一種。對(duì)這些受控設(shè)備的控制命令包括對(duì)它們進(jìn)行“開(kāi)”和“關(guān)”,此時(shí)命令用一個(gè)比特就可表示?;蛘撸囬T和車窗來(lái)說(shuō),除“開(kāi)”和“關(guān)”外,還可設(shè)置了一個(gè)“智能集控提升”命令,這時(shí)就需要兩個(gè)比特才能表示對(duì)該受控設(shè)備的控制命令。或者,控制車門顯示器的顯示燈使其在不同的場(chǎng)合下呈現(xiàn)不同級(jí)別的亮度,例如在白天使該顯示燈處于低亮度,而在夜間使該顯示燈處于高亮度,這種情況需要用一個(gè)比特來(lái)表示這種高亮度和低亮度的區(qū)別。
因此,通常對(duì)每個(gè)受控設(shè)備的控制指令的長(zhǎng)度為一個(gè)比特,即“0”或“1”,可分別對(duì)應(yīng)于有關(guān)設(shè)備的“關(guān)”或“開(kāi)”);也可以占用多個(gè)比特,例如多達(dá)8個(gè)比特,例如“00000000”、“00000001”等。
例如,采用本發(fā)明上述方法,一條LIN總線上帶有第一至第五受控設(shè)備,分別為左前車窗、右前車窗、左后車窗、右后車窗以及天窗的控制器。LIN主控制器所發(fā)送的每個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)都為8個(gè)字節(jié),每個(gè)字節(jié)有8個(gè)比特。這8個(gè)字節(jié)分為三個(gè)區(qū),即上述的受控設(shè)備指令標(biāo)注區(qū)、公共信息區(qū)和受控設(shè)備指令區(qū)。受控設(shè)備指令標(biāo)注區(qū)為該數(shù)據(jù)區(qū)的第0字節(jié),其中的第1至第5位分別表示當(dāng)前是否存在對(duì)第一受控設(shè)備至第五受控設(shè)備的控制指令,當(dāng)某個(gè)比特為“0”時(shí)表示不存在對(duì)有關(guān)的受控設(shè)備的控制指令,為“1”時(shí)表示存在對(duì)有關(guān)受控設(shè)備的控制指令,第6至第8位沒(méi)有定義,可空置為0。公共信息區(qū)為數(shù)據(jù)區(qū)的第1和第2字節(jié)。受控設(shè)備指令區(qū)為第3至第7字節(jié),這五個(gè)字節(jié)中的每個(gè)字節(jié)從前至后分別用來(lái)代表對(duì)第一至第五受控設(shè)備的控制指令。
在本發(fā)明的方法和裝置中,公共信息區(qū)被用來(lái)放置與受控設(shè)備有關(guān)的信息,例如外界溫度、車型代碼、信號(hào)指示燈亮度等級(jí)等信息。
通常,外界溫度信息是車門、車窗及天窗等受控設(shè)備都需要的。該信息可用來(lái)補(bǔ)償關(guān)門阻力,預(yù)測(cè)車門膠條硬度等;當(dāng)將外界溫度的范圍設(shè)定為零下40至零上50攝氏度時(shí),并且溫度的間隔為1度時(shí),該區(qū)間的溫度范圍為90度,需要用7個(gè)二進(jìn)制比特(27=128)來(lái)表示。車門電機(jī)的溫度也是一個(gè)重要的參數(shù),可以實(shí)時(shí)地監(jiān)測(cè)電機(jī)是否處于異常狀態(tài);該溫度范圍可設(shè)定為零下40至零上200攝氏度,當(dāng)溫度的顯示間隔為1度時(shí)需要用8個(gè)二進(jìn)制比特(28=256)來(lái)表示,溫度的顯示間隔為2度時(shí)需要用7個(gè)二進(jìn)制比特來(lái)表示。
通常,可以將一種LIN控制設(shè)備設(shè)計(jì)用于幾種不同的車型上,即在該LIN控制器上預(yù)先存儲(chǔ)對(duì)應(yīng)于幾個(gè)不同車型的幾套不同的控制參數(shù)。在這種情況下,可以用公共信息區(qū)內(nèi)的1至3個(gè)比特作為車型的代碼。
另外,車門指示燈的亮度也可以分為若干個(gè)等級(jí),例如分為“暗”和“亮”兩個(gè)等級(jí),以適應(yīng)白天和夜晚,或高光照和低光照兩種情況。在這種情況下,可以可以用公共信息區(qū)內(nèi)的1比特作為車門指示燈亮度等級(jí)的標(biāo)注。
此外,公共信息區(qū)中還可以預(yù)留若干個(gè)比特,用來(lái)根據(jù)操作者的需要進(jìn)行對(duì)其它有用信息進(jìn)行靈活的定義。
因此,通常公共信息區(qū)需要2至3個(gè)字節(jié)來(lái)容納有用的公共信息。
需要強(qiáng)調(diào)的是,數(shù)據(jù)幀的數(shù)據(jù)區(qū)中的受控設(shè)備指令標(biāo)注區(qū)、公共信息區(qū)和受控設(shè)備指令區(qū)的長(zhǎng)度并非是以一個(gè)完整的字節(jié)為單位的,它們可以是以比特為單位的。
在某一時(shí)刻,機(jī)動(dòng)車的操作者(司機(jī)或乘員)通過(guò)按動(dòng)身邊的左前車窗的上升鍵,發(fā)出了一個(gè)使左前車窗上升的請(qǐng)求,所述的LIN主控制器此時(shí)發(fā)出一個(gè)數(shù)據(jù)幀,由于此時(shí)只有一個(gè)指令,其數(shù)據(jù)區(qū)中的受控設(shè)備指令標(biāo)注區(qū)的8個(gè)比特為“10000000”,公共信息區(qū)的兩個(gè)字節(jié)包含了此時(shí)的一些公共信息,受控設(shè)備指令區(qū)此時(shí)只有第3字節(jié)這一個(gè)字節(jié),該字節(jié)中的數(shù)據(jù)代表了對(duì)左前車窗的上升指令。因此,此時(shí)所述的數(shù)據(jù)幀的數(shù)據(jù)區(qū)只有4個(gè)字節(jié)。作為該LIN總線的一個(gè)受控設(shè)備,左前車窗的控制器接收到該數(shù)據(jù)幀后,會(huì)發(fā)出相應(yīng)的命令,啟動(dòng)該車窗的搖窗電機(jī),使該車窗上升。
又例如,某一時(shí)刻,機(jī)動(dòng)車的操作者(司機(jī)或乘員)按動(dòng)身邊的左前車窗(在此例中的第一受控設(shè)備)和左后車窗(在此例中的第三受控設(shè)備)的上升控制鍵,發(fā)出了一個(gè)請(qǐng)求,所述的LIN主控制器此時(shí)發(fā)出一個(gè)數(shù)據(jù)幀,由于此時(shí)有兩個(gè)指令,其數(shù)據(jù)區(qū)中的受控設(shè)備指令標(biāo)注區(qū)的8個(gè)比特為“10100000”。公共信息區(qū)的兩個(gè)字節(jié)包含了此時(shí)的一些公共信息。受控設(shè)備指令區(qū)此時(shí)有兩個(gè)字節(jié)(第3字節(jié)和第4字節(jié)),該兩字節(jié)中的數(shù)據(jù)代表了對(duì)左前車窗和左后車窗的上升指令。因此,此時(shí)所述的數(shù)據(jù)幀的數(shù)據(jù)區(qū)共有5個(gè)字節(jié)。作為該LIN總線的受控設(shè)備,左前車窗的控制器和左后車窗的控制器接收到該數(shù)據(jù)幀后,會(huì)發(fā)出相應(yīng)的命令,啟動(dòng)這兩個(gè)車窗的搖窗電機(jī),使車窗上升。
根據(jù)本發(fā)明上述方法的一個(gè)進(jìn)一步的方面,所述的LIN主控制器根據(jù)操作者的命令對(duì)數(shù)據(jù)幀的掃描過(guò)程做出休眠或喚醒類型的中斷操作。所述的休眠操作例如可以是當(dāng)車內(nèi)乘員離開(kāi)機(jī)動(dòng)車時(shí),司機(jī)在車外按動(dòng)遙控器,關(guān)閉車窗系統(tǒng),其后使LIN總線主控制器暫時(shí)停止在LIN總線上發(fā)送信號(hào)。所述的喚醒操作例如可以是司機(jī)在車外按動(dòng)遙控器,啟動(dòng)車窗系統(tǒng),將LIN總線從休眠的狀態(tài)激活,使LIN總線主控制器不斷地通過(guò)所述的LIN總線向有關(guān)受控設(shè)備發(fā)出可能包含控制命令的數(shù)據(jù)幀。
如上所述,本發(fā)明中所述的操作者指控制指令的最初發(fā)出者,如司機(jī)和/或乘客。
根據(jù)本發(fā)明上述方法的一個(gè)進(jìn)一步的方面,當(dāng)設(shè)定了一個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)中的受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)后,如果在該數(shù)據(jù)區(qū)中的受控設(shè)備指令區(qū)中無(wú)法容納對(duì)應(yīng)于所有受控設(shè)備的所有控制指令時(shí),將所述的受控設(shè)備指令區(qū)定義為對(duì)應(yīng)于全體受控設(shè)備的全體受控設(shè)備指令區(qū)的一部分,所述的全體受控設(shè)備指令區(qū)的另外部分采用下一個(gè)或后面依次的數(shù)據(jù)幀中與上述受控設(shè)備指令區(qū)相對(duì)應(yīng)的部分,用于容納對(duì)應(yīng)于所有受控設(shè)備的所有控制指令,并且還包括將所述的數(shù)據(jù)區(qū)的至少一個(gè)未被占用的比特設(shè)置為幀號(hào)指示位,用于指示當(dāng)前數(shù)據(jù)幀的幀號(hào);其中不同幀號(hào)的至少兩個(gè)數(shù)據(jù)幀中的每個(gè)數(shù)據(jù)區(qū)中的受控設(shè)備指令區(qū)含有對(duì)至少一個(gè)受控設(shè)備的控制指令,相鄰的至少兩個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)中含有與該LIN對(duì)應(yīng)的所有受控設(shè)備的控制指令。
例如,當(dāng)某一條LIN總線帶有8個(gè)受控設(shè)備時(shí),可以設(shè)定兩個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)。其中,將每個(gè)數(shù)據(jù)幀中的第0字節(jié)設(shè)定為受控設(shè)備指令標(biāo)注區(qū),第1和第2字節(jié)設(shè)定為公共信息區(qū),并且將第一數(shù)據(jù)幀的數(shù)據(jù)區(qū)中的第3至第7字節(jié)分別設(shè)定為對(duì)應(yīng)于本例中的第一受控設(shè)備至第五受控設(shè)備的受控設(shè)備指令區(qū),將第二數(shù)據(jù)幀的數(shù)據(jù)區(qū)的第3至5字節(jié)分別設(shè)定為對(duì)應(yīng)于第六受控設(shè)備至第八受控設(shè)備的受控設(shè)備指令區(qū)。
在此例中,第一數(shù)據(jù)幀的數(shù)據(jù)區(qū)中的受控設(shè)備指令標(biāo)注區(qū)有8個(gè)比特,其中第1至第5比特分別代表是否存在對(duì)第一受控設(shè)備至第五受控設(shè)備的控制指令,例如可以用“0”來(lái)表示不存在該命令,用“1”來(lái)表示存在該命令;將受控設(shè)備指令標(biāo)注區(qū)中的第6至第8比特設(shè)置為幀號(hào)位,例如該三個(gè)比特為“000”時(shí)表示所對(duì)應(yīng)的數(shù)據(jù)幀為第一數(shù)據(jù)幀,相應(yīng)地,該幀的數(shù)據(jù)區(qū)中受控設(shè)備指令區(qū)的至多五個(gè)動(dòng)態(tài)字節(jié)分別對(duì)應(yīng)于當(dāng)時(shí)接到命令的五個(gè)受控設(shè)備的控制指令。例如,當(dāng)受控設(shè)備指令標(biāo)注區(qū)此時(shí)為“11111000”時(shí),其所對(duì)應(yīng)的受控設(shè)備指令區(qū)的五個(gè)字節(jié)(即數(shù)據(jù)區(qū)的第3至第7字節(jié))分別對(duì)應(yīng)于對(duì)第一受控設(shè)備至第五受控設(shè)備的指令。又例如,當(dāng)受控設(shè)備指令標(biāo)注區(qū)此時(shí)為“11001101”時(shí),其所對(duì)應(yīng)的受控設(shè)備指令區(qū)的五個(gè)字節(jié)(即數(shù)據(jù)區(qū)的第3至第7字節(jié))分別對(duì)應(yīng)于對(duì)第一、第二、第五、第六和第八受控設(shè)備的指令。又例如,當(dāng)受控設(shè)備指令標(biāo)注區(qū)此時(shí)為“11111111”時(shí),表示此時(shí)存在對(duì)所有八個(gè)受控設(shè)備的指令,此時(shí)對(duì)第6至第8受控設(shè)備的指令應(yīng)該在隨后一個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)的第3至第5字節(jié)中讀取。
當(dāng)LIN總線及其有關(guān)設(shè)備處于工作狀態(tài)時(shí),所述的LIN總線主控制器不斷地通過(guò)LIN總線向有關(guān)的設(shè)備發(fā)出一個(gè)接一個(gè)的數(shù)據(jù)幀,所有的受控設(shè)備都能接收到這些數(shù)據(jù)幀。在本例中,有關(guān)的受控設(shè)備可根據(jù)這些數(shù)據(jù)幀中幀頭區(qū)了解幀數(shù)據(jù)的類型,根據(jù)該數(shù)據(jù)幀中數(shù)據(jù)區(qū)第0字節(jié)數(shù)據(jù)區(qū)號(hào)位的指示以及該字節(jié)前五個(gè)比特的數(shù)據(jù),判斷出該數(shù)據(jù)區(qū)相應(yīng)的受控設(shè)備指令區(qū)代表著哪些針對(duì)哪個(gè)或哪些受控設(shè)備的控制指令,并且執(zhí)行有關(guān)的指令。
本發(fā)明中上述各方法的一個(gè)要點(diǎn)是,可以根據(jù)有關(guān)受控設(shè)備的情況靈活地設(shè)置所述數(shù)據(jù)區(qū)中的三個(gè)區(qū)。
在本發(fā)明的上述方法中,每個(gè)數(shù)據(jù)幀帶有一個(gè)幀頭區(qū)、一個(gè)數(shù)據(jù)區(qū)和一個(gè)冗余性校驗(yàn)區(qū)。優(yōu)選的方案是,幀頭區(qū)的長(zhǎng)度為2字節(jié),冗余性校驗(yàn)區(qū)的長(zhǎng)度為1字節(jié)。
根據(jù)本發(fā)明的另一個(gè)方面,本發(fā)明還公開(kāi)了一種用于控制受控設(shè)備的控制裝置;所述的控制裝置包括一條LIN總線和一個(gè)LIN總線主控制器,所述的LIN總線分別與所述的LIN總線主控制器以及至少一個(gè)受控設(shè)備相連,用于在所述的LIN總線主控制器與受控設(shè)備之間傳送控制命令;所述控制裝置的特征在于1)所述的LIN總線主控制器被設(shè)置得可以通過(guò)所述的LIN總線,向有關(guān)的受控設(shè)備發(fā)出可以帶有控制命令的數(shù)據(jù)幀;每個(gè)所述的數(shù)據(jù)幀包括一個(gè)幀頭區(qū)、一個(gè)長(zhǎng)度可變的數(shù)據(jù)區(qū)和一個(gè)冗余性檢驗(yàn)區(qū),將所述的基于LIN總線協(xié)議的數(shù)據(jù)幀的數(shù)據(jù)區(qū)設(shè)置為動(dòng)態(tài)區(qū);并且,根據(jù)對(duì)所述受控設(shè)備的控制要求,將每個(gè)幀的數(shù)據(jù)區(qū)分為受控設(shè)備指令標(biāo)注區(qū)、公共信息區(qū)和受控設(shè)備指令區(qū);其中受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)的比特?cái)?shù)在根據(jù)給定的受控設(shè)備做了設(shè)置以后即為固定數(shù)目,而受控設(shè)備指令區(qū)的比特?cái)?shù)根據(jù)設(shè)備使用者所發(fā)出的對(duì)所述設(shè)備的控制指令而實(shí)時(shí)改變;受控設(shè)備指令標(biāo)注區(qū)表示對(duì)受控設(shè)備指令的數(shù)據(jù)與受控設(shè)備指令區(qū)的數(shù)據(jù)的關(guān)系;所述的LIN總線主控制器對(duì)所述的一個(gè)數(shù)據(jù)幀中的數(shù)據(jù)區(qū)進(jìn)行動(dòng)態(tài)掃描,其中對(duì)受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)的掃描是對(duì)這些區(qū)中的每個(gè)比特進(jìn)行的,而對(duì)受控設(shè)備指令區(qū)的掃描是根據(jù)受控設(shè)備指令標(biāo)注區(qū)的受控設(shè)備指令標(biāo)注,只對(duì)存在著對(duì)受控設(shè)備控制指令的那些比特進(jìn)行的;2)所述的受控設(shè)備被設(shè)置得可以接受所述的LIN總線主控制器的所發(fā)出的數(shù)據(jù)幀,并執(zhí)行所述的數(shù)據(jù)幀的動(dòng)態(tài)的數(shù)據(jù)區(qū)所帶有的控制指令。
因此,本發(fā)明所提供的基于LIN總線的控制器及其控制方法,對(duì)目前的LIN總線控制信號(hào)的幀長(zhǎng)度做出改變,將一些固定的2字節(jié)、4字節(jié)及8字節(jié)的信號(hào)長(zhǎng)度調(diào)整為可變長(zhǎng)度的幀信號(hào)。這種改變可以更有效、準(zhǔn)確地傳送控制信號(hào),降低控制信號(hào)的差錯(cuò)率。
四
圖1示出了已有技術(shù)中一種基于LIN總線的汽車門窗控制器的設(shè)備示意圖;圖2示出了已有技術(shù)中一種基于CAN總線的汽車門窗控制器的多節(jié)點(diǎn)設(shè)備的示意圖;
圖3示出了本發(fā)明方法的一個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū);圖4表示在一個(gè)數(shù)據(jù)幀中只對(duì)第1個(gè)設(shè)備發(fā)出命令的數(shù)據(jù)幀的數(shù)據(jù)區(qū);圖5表示在一個(gè)數(shù)據(jù)幀中只對(duì)第3個(gè)設(shè)備發(fā)出命令的數(shù)據(jù)幀的數(shù)據(jù)區(qū);圖6表示在一個(gè)數(shù)據(jù)幀中對(duì)第2個(gè)和第4個(gè)設(shè)備發(fā)出命令的數(shù)據(jù)幀的數(shù)據(jù)區(qū);圖7表示當(dāng)一條LIN總線上運(yùn)行8個(gè)受控設(shè)備時(shí),由兩個(gè)數(shù)據(jù)幀組成的一個(gè)完整的數(shù)據(jù)單元。
五具體實(shí)施例方式
本發(fā)明也可以采用與已有技術(shù)相似的LIN協(xié)議部件。實(shí)施本發(fā)明的方法時(shí)所采用的部件其區(qū)別主要體現(xiàn)在應(yīng)用層面上數(shù)據(jù)格式的設(shè)定。也就是說(shuō),可以對(duì)如圖1中所示的已有技術(shù)的設(shè)備進(jìn)行適當(dāng)?shù)脑O(shè)置,來(lái)執(zhí)行本發(fā)明的方法。下面著重介紹本發(fā)明在設(shè)備執(zhí)行命令方面特有的內(nèi)容。
在下面介紹本發(fā)明的方法和裝置時(shí),所有的例子都是基于冗余性校驗(yàn)區(qū)為1個(gè)字節(jié),且每個(gè)字節(jié)為8個(gè)比特這種情況。需要強(qiáng)調(diào)的是,本發(fā)明的方法和裝置一般地說(shuō)并非基于這一具體的特例。
圖3示出了本發(fā)明方法中基于LIN總線協(xié)議的一個(gè)數(shù)據(jù)幀的示意圖。該例中,采用一個(gè)LIN總線控制機(jī)動(dòng)車的5個(gè)車窗的開(kāi)關(guān),即4個(gè)側(cè)車窗以及一個(gè)天窗的開(kāi)關(guān)。一個(gè)LIN數(shù)據(jù)幀的數(shù)據(jù)區(qū)包括8個(gè)字節(jié)(從第0字節(jié)至第7字節(jié)),每個(gè)字節(jié)包括8個(gè)比特。將第0字節(jié)的頭5個(gè)比特分別定義為對(duì)所述的5個(gè)受控設(shè)備的所發(fā)的控制指令的指示位。例如,可以將每個(gè)指示位的“1”狀態(tài)時(shí)定義為“命令有效”,“0”狀態(tài)定義為“命令無(wú)效”。
在該例中,按照本發(fā)明的控制機(jī)動(dòng)車中的受控設(shè)備的方法,基于LIN總線協(xié)議,所采用LIN總線上連接了五個(gè)天窗,一個(gè)LIN總線的主控制器(圖3中未示出)向LIN總線逐個(gè)地發(fā)送數(shù)據(jù)幀,每個(gè)受控設(shè)備都接收所述的數(shù)據(jù)幀,每個(gè)數(shù)據(jù)幀包括一個(gè)2字節(jié)的幀頭區(qū)、一個(gè)長(zhǎng)度可變的數(shù)據(jù)區(qū),以及一個(gè)1字節(jié)的冗余性校驗(yàn)區(qū)。此處,控制車窗的方法還包括以下步驟1)將所述的基于LIN總線協(xié)議的數(shù)據(jù)幀的數(shù)據(jù)區(qū)設(shè)置為動(dòng)態(tài)區(qū);2)根據(jù)對(duì)所述受控設(shè)備的控制要求,將每個(gè)幀的數(shù)據(jù)區(qū)分為受控設(shè)備指令標(biāo)注區(qū)、公共信息區(qū)和受控設(shè)備指令區(qū);其中,受控設(shè)備指令標(biāo)注區(qū)為第0字節(jié)的前五位,公共信息區(qū)為第0字節(jié)的后三位以及全部的第1和第2字節(jié);受控設(shè)備指令區(qū)的比特的個(gè)數(shù)根據(jù)設(shè)備使用者所發(fā)出的對(duì)所述設(shè)備的控制指令而實(shí)時(shí)改變;受控設(shè)備指令標(biāo)注區(qū)表示了對(duì)受控設(shè)備的指令數(shù)據(jù)與受控設(shè)備指令區(qū)的數(shù)據(jù)之間的關(guān)系;3)所述的LIN總線主控制器對(duì)所述的一個(gè)數(shù)據(jù)幀中的數(shù)據(jù)區(qū)進(jìn)行動(dòng)態(tài)掃描,其中對(duì)受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)的掃描是對(duì)這些區(qū)中的每個(gè)比特進(jìn)行的,對(duì)受控設(shè)備指令區(qū)的掃描是根據(jù)受控設(shè)備指令標(biāo)注區(qū)的受控設(shè)備指令標(biāo)注,只對(duì)存在著對(duì)受控設(shè)備控制指令的那些比特進(jìn)行的;4)重復(fù)上述步驟3)的操作,對(duì)下一個(gè)數(shù)據(jù)幀進(jìn)行掃描。
具體地說(shuō),在本例中,當(dāng)操作者同時(shí)對(duì)五個(gè)車窗發(fā)出開(kāi)啟指令時(shí),LIN總線主控制器發(fā)出一個(gè)數(shù)據(jù)幀,該數(shù)據(jù)幀的數(shù)據(jù)區(qū)的受控設(shè)備指令標(biāo)注區(qū)(第0字節(jié)的頭5個(gè)比特)的程序語(yǔ)句例如可以為description of the framebit0=1,1st device information in framebit1=1,2nd device information in framebit2=1,3rd device information in framebit3=1,4th device information in framebit4=1,5th device information in frame當(dāng)某一個(gè)比特為“1”,而前面的至少一個(gè)比特都為“0”時(shí),表示該數(shù)據(jù)幀中緊接在公共信息區(qū)后面的那個(gè)區(qū)域所代表的數(shù)據(jù)為對(duì)應(yīng)于那個(gè)比特為“1”的受控設(shè)備接到了操作者的命令。這里,5個(gè)車窗同時(shí)接到了車內(nèi)乘員的命令。也就是說(shuō),隨后在該數(shù)據(jù)幀第3至第7字節(jié)中的數(shù)據(jù)即為操作者對(duì)所述5個(gè)設(shè)備所發(fā)出的具體命令。
又例如,當(dāng)存在4個(gè)受控設(shè)備時(shí),可以將受控設(shè)備指令標(biāo)注區(qū)設(shè)定為第0字節(jié)的前4位;當(dāng)存在8個(gè)受設(shè)備時(shí),可以將受控設(shè)備指令標(biāo)注區(qū)設(shè)定為整個(gè)第0字節(jié)。
如上所述,在本發(fā)明方法的下述的一個(gè)實(shí)例中,對(duì)于4個(gè)受控設(shè)備的情況,將第一個(gè)數(shù)據(jù)幀的第0字節(jié)的前4個(gè)比特反映在該數(shù)據(jù)幀中受控設(shè)備的控制指令是否存在,如該位為0時(shí)表示此數(shù)據(jù)幀中沒(méi)有對(duì)該設(shè)備發(fā)出指令,為1時(shí)表示對(duì)該設(shè)備發(fā)出了指令,具體的指令在該幀后面的字節(jié)中或隨后的幀中給出。
例如,用本發(fā)明方法來(lái)控制一個(gè)雙門跑車的2個(gè)車門和相應(yīng)的2個(gè)車窗,共4個(gè)受控設(shè)備。此處所涉及的門窗控制器的控制協(xié)議為基于LIN總線上的運(yùn)行的門窗控制器(DCU1)單元運(yùn)行程序。這里所說(shuō)的基于LIN通訊協(xié)議基礎(chǔ)上的門窗控制協(xié)議的一個(gè)幀包括最多為8個(gè)字節(jié)的數(shù)據(jù),在此將其定義為字節(jié)0至字節(jié)7,其中每個(gè)字節(jié)有8個(gè)比特。其中將第0字節(jié)的頭4位規(guī)定為幀信息(frame information),即受控設(shè)備的狀態(tài)位,表示所述的門窗控制器的控制對(duì)象。第0字節(jié)的后4位至第3字節(jié)(共對(duì)應(yīng)4個(gè)受控設(shè)備的28種指令)表示公共信息信號(hào),如外界溫度、車型等。在該門窗控制器的一個(gè)數(shù)據(jù)幀中,用第4字節(jié)到第7字節(jié)來(lái)放置門窗控制器對(duì)所涉及的車門和車窗的控制指令,可用的位數(shù)共有32比特。例如,對(duì)應(yīng)于每個(gè)控制對(duì)象的控制指令可以為3比特,表示車窗的“上升”、“下降”以及“允許自動(dòng)上升”。也可以將其進(jìn)行擴(kuò)充以包括門鎖的“打開(kāi)”、“關(guān)閉”等,此時(shí)需要多于3位的位數(shù)以容納這些指令。對(duì)一個(gè)控制對(duì)象來(lái)說(shuō),這里規(guī)定最長(zhǎng)的控制指令為8位。對(duì)4個(gè)控制對(duì)象而言,保留了32位數(shù)來(lái)容納所涉及的控制指令。一般來(lái)說(shuō),這些控制指令是足夠多了。
當(dāng)門窗控制器執(zhí)行完全一個(gè)幀中的所有指令后,會(huì)等待下一個(gè)數(shù)據(jù)幀。也就是說(shuō),這時(shí)可以接受司機(jī)和車內(nèi)乘員的新的車窗控制指令。
在本發(fā)明的采用的基于LIN總線控制受控設(shè)備的方法中,當(dāng)所涉及的受控設(shè)備較多時(shí),且在某一個(gè)時(shí)刻同時(shí)存在著對(duì)所有設(shè)備的控制指令時(shí),可以采用一個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)中的前3個(gè)字節(jié)用于容納前兩個(gè)區(qū)的數(shù)據(jù)時(shí),在用第3至第7字節(jié)來(lái)放置對(duì)前4個(gè)設(shè)備的控制指令的同時(shí),可以用下一幀的公共信息以下的各字節(jié)來(lái)記載對(duì)第5個(gè)設(shè)備及以后設(shè)備的控制指令。當(dāng)然,上述這種同時(shí)存在對(duì)所有設(shè)備發(fā)出控制指令的情形是較少見(jiàn)的。
例如,當(dāng)對(duì)每個(gè)受控設(shè)備的控制命令都要占用一個(gè)字節(jié)時(shí),當(dāng)用一個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)中的前3個(gè)字節(jié)來(lái)表示本發(fā)明方法所述的前兩個(gè)區(qū)的數(shù)據(jù)時(shí),可以用該數(shù)據(jù)區(qū)的第3至第7個(gè)字節(jié)來(lái)表示對(duì)第一至第五受控設(shè)備的控制指令,用下一數(shù)據(jù)幀的第3至第7個(gè)字節(jié)來(lái)表示第6至第10個(gè)受控設(shè)備的控制指令,以此類推。當(dāng)所述設(shè)備在10個(gè)以上時(shí),可以用下面的第2幀及以后的各幀來(lái)記載對(duì)第9個(gè)設(shè)備及對(duì)再其后設(shè)備的控制指令。此時(shí),需要在有關(guān)的數(shù)據(jù)區(qū)的受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)找尋一些空余位來(lái)對(duì)有關(guān)的幀號(hào)做出標(biāo)識(shí)。當(dāng)然,如上所述,上述這種同時(shí)存在對(duì)所有設(shè)備發(fā)出控制指令的情形是很少見(jiàn)的。
例如,當(dāng)需控制8個(gè)受控設(shè)備時(shí),可以將受控設(shè)備指令標(biāo)注區(qū)設(shè)定為整個(gè)第0字節(jié);將公共信息區(qū)設(shè)定為有關(guān)數(shù)據(jù)區(qū)的第1字節(jié)至第2字節(jié),從中保留一至兩個(gè)空余的比特,用于標(biāo)注幀號(hào)。將數(shù)據(jù)區(qū)的第3至第7字節(jié)設(shè)定為分別對(duì)應(yīng)于第1個(gè)至第5個(gè)受控設(shè)備控制指令的指令區(qū)。同時(shí),將下一個(gè)數(shù)據(jù)幀中的第3至第5字節(jié)設(shè)定為分別對(duì)應(yīng)于第6個(gè)至第8個(gè)受控設(shè)備控制指令的指令區(qū)。另一種情況是,也可以把幀號(hào)位設(shè)在受控設(shè)備指令標(biāo)注區(qū)或受控設(shè)備指令區(qū);也就是說(shuō),幀號(hào)位可以設(shè)置在所述數(shù)據(jù)區(qū)的任何空余的位置。
由于LIN協(xié)議并非一個(gè)功能強(qiáng)大的通訊協(xié)議,如果設(shè)備過(guò)多,則執(zhí)行指令的周期也較長(zhǎng);同一個(gè)受控設(shè)備的指令類型過(guò)多,也會(huì)使執(zhí)行指令的周期變長(zhǎng)。當(dāng)然,如果確實(shí)存在某個(gè)受控設(shè)備的控制指令較多的情況,例如第4個(gè)控制對(duì)象的控制指令多于8位,還可以定義用數(shù)據(jù)區(qū)的一個(gè)字節(jié)的全部8個(gè)比特以及另一個(gè)字節(jié)的至少部分比特來(lái)表示相應(yīng)于該受控設(shè)備的控制指令。
以上的例子中著重介紹了如何設(shè)定數(shù)據(jù)幀中的比特,以便即使同時(shí)存在對(duì)所有受控設(shè)備的指令時(shí),也可以控制受控設(shè)備執(zhí)行這些指令。
下面用例子來(lái)進(jìn)一步說(shuō)明,如果在某一個(gè)時(shí)刻只有少數(shù)設(shè)備接到控制指令,那么可以在一個(gè)數(shù)據(jù)幀里容納對(duì)有關(guān)受控設(shè)備的控制指令。從下面的例子中可以看出,本發(fā)明是如何實(shí)現(xiàn)對(duì)數(shù)據(jù)幀中的那些非固定的字節(jié)及比特資源實(shí)現(xiàn)動(dòng)態(tài)分配的。
在圖3的例子中,比上面的例子略為簡(jiǎn)單的一種情況是,當(dāng)司機(jī)只開(kāi)啟左前窗(第一受控設(shè)備)和天窗(第五受控設(shè)備)時(shí),該數(shù)據(jù)幀的數(shù)據(jù)區(qū)的受控設(shè)備指令標(biāo)注區(qū)(第0字節(jié)的頭5個(gè)比特)的程序語(yǔ)句例如可以為description of the framebit0=1,1st device information in framebit1=0,2nd device information in framebit2=0,3rd device information in framebit3=0,4th device information in framebit4=1,5th device information in frame此時(shí),所述的LIN主控制器讀取了上面的受控設(shè)備指令標(biāo)注區(qū)的指令以及公共信息區(qū)的信息后,在隨后的受控設(shè)備指令區(qū)中只掃描第3字節(jié)(代表對(duì)左前窗的指令)和第4字節(jié)(代表對(duì)天窗的指令)的數(shù)據(jù)。然后,進(jìn)行冗余性校驗(yàn),結(jié)束了對(duì)此數(shù)據(jù)幀的掃描。在此情形下,受控設(shè)備指令區(qū)在此時(shí)的動(dòng)態(tài)長(zhǎng)度為2個(gè)字節(jié)。因此,采用本發(fā)明的方法,可以有效地利用LIN總線數(shù)據(jù)幀中的數(shù)據(jù)區(qū)的空間,加快受控設(shè)備的反應(yīng)時(shí)間。
從中可以看出,本發(fā)明方法的一個(gè)要點(diǎn)是,可以根據(jù)有關(guān)受控設(shè)備的情況靈活地設(shè)置LIN總線主控制器所發(fā)出的數(shù)據(jù)幀中數(shù)據(jù)區(qū)的三個(gè)組成部分。
圖4表示在圖3所示的例子中,在某一個(gè)時(shí)刻只有對(duì)第1個(gè)設(shè)備的控制指令。此時(shí)LIN總線主控制器掃描完第0至第3字節(jié)后,馬上掃描第4個(gè)字節(jié),并執(zhí)行此時(shí)該第4字節(jié)所代表的對(duì)第1個(gè)設(shè)備的指令。隨后進(jìn)行冗余性校驗(yàn),這樣就結(jié)束了一個(gè)數(shù)據(jù)幀。
圖5表示在圖3所示的例子中,在某一個(gè)時(shí)刻只有都第3個(gè)設(shè)備的控制指令。此時(shí)控制器掃描完第0至第3字節(jié)后,馬上掃描第4個(gè)字節(jié),并執(zhí)行此時(shí)該第4字節(jié)所代表的對(duì)第3個(gè)設(shè)備的指令。隨后進(jìn)行冗余性校驗(yàn),這樣就結(jié)束了一個(gè)數(shù)據(jù)幀。
圖6表示在上例中,在某一個(gè)時(shí)刻只有對(duì)第2和第4個(gè)設(shè)備的控制指令。此時(shí)控制器掃描完第0至第3字節(jié)后,馬上掃描第4個(gè)和第5個(gè)字節(jié),并在第4個(gè)字節(jié)執(zhí)行所代表的對(duì)第2個(gè)設(shè)備的指令,在第5個(gè)字節(jié)執(zhí)行所代表的對(duì)第4個(gè)設(shè)備的指令。隨后進(jìn)行冗余性校驗(yàn),這樣就結(jié)束了一個(gè)數(shù)據(jù)幀。實(shí)際上,所述的控制器通過(guò)讀取第0字節(jié)的前4個(gè)比特,就知道此時(shí)存在兩個(gè)控制指令;然后它依次在有關(guān)的字節(jié)里讀取有關(guān)的控制指令,并執(zhí)行之。
又一個(gè)例子為,當(dāng)有關(guān)汽車的車門窗控制對(duì)象超過(guò)4個(gè)時(shí),例如帶有一個(gè)天窗的5門掀背式轎車,其控制對(duì)象可以有6個(gè),即五個(gè)車門加上一個(gè)天窗。根據(jù)本發(fā)明的方法,可以在數(shù)據(jù)幀的第0字節(jié)的頭6位定義這些控制對(duì)象,將第0字節(jié)的后兩位加上第1、第2字節(jié)設(shè)置為公共信息位,而將前4個(gè)常用設(shè)備(例如四個(gè)側(cè)門窗)的控制指令放在該數(shù)據(jù)幀的第3至第6字節(jié),而將另兩個(gè)不常用的控制設(shè)備(例如背門及天窗)的控制指令放在隨后的那個(gè)數(shù)據(jù)幀的第7字節(jié)中的兩個(gè)不同區(qū)域。例如,用第7字節(jié)的前4位來(lái)容納對(duì)背門的控制指令,后4位來(lái)容納對(duì)天窗的控制指令。這樣可以在一個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)中容納7個(gè)受控設(shè)備的控制指令。
圖7表示當(dāng)在一個(gè)LIN總線上運(yùn)行8個(gè)受控設(shè)備時(shí),采用兩個(gè)順序相連的數(shù)據(jù)幀來(lái)容納對(duì)這8個(gè)受控設(shè)備的控制指令。其中,在這兩個(gè)數(shù)據(jù)幀中進(jìn)行一個(gè)特別的設(shè)置,即在第一數(shù)據(jù)幀的數(shù)據(jù)區(qū)中的受控設(shè)備指令標(biāo)注區(qū)8個(gè)比特中的前5位分別作為對(duì)第一個(gè)至第五個(gè)受控設(shè)備的控制指令標(biāo)注位,用第二數(shù)據(jù)幀的數(shù)據(jù)區(qū)中的受控設(shè)備指令標(biāo)注區(qū)8個(gè)比特中的前3位分別作為對(duì)第六個(gè)至第八個(gè)受控設(shè)備的控制指令標(biāo)注位,而用這兩個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)中受控設(shè)備指令標(biāo)注區(qū)的8個(gè)比特中的后3位來(lái)表示有關(guān)數(shù)據(jù)幀的幀號(hào)。例如,第一幀的幀號(hào)為“000”,第二幀的幀號(hào)為“001”。采用這種幀號(hào)體系,可以用連續(xù)的多個(gè)數(shù)據(jù)幀來(lái)表示對(duì)較多個(gè)受控設(shè)備的控制指令。
在上例中,幀號(hào)位被設(shè)備在所述數(shù)據(jù)區(qū)的受控設(shè)備指令標(biāo)注區(qū)的后三位上。當(dāng)然,也可以把它們?cè)O(shè)置在公共信息的某些空余比特上。還可以將幀號(hào)位設(shè)置在數(shù)據(jù)區(qū)中公共信息區(qū)中第1字節(jié)的第7和第8位上。又例如,當(dāng)對(duì)每個(gè)受控設(shè)備的控制指令都可以用一個(gè)五位的二進(jìn)制數(shù)來(lái)表示時(shí),還可以把幀號(hào)位設(shè)置在受控設(shè)備指令區(qū)中某些比特上,比如當(dāng)一個(gè)數(shù)據(jù)區(qū)的前兩個(gè)區(qū)占據(jù)了數(shù)據(jù)區(qū)的前4個(gè)字節(jié)(第0字節(jié)至第3字節(jié))時(shí),可以將幀號(hào)位設(shè)置在第4字節(jié)的最后一位、兩位或三位上。事實(shí)上,幀號(hào)位可以設(shè)置在所述數(shù)據(jù)區(qū)的任何一處空余的位置上。
本發(fā)明的控制受控設(shè)備的控制裝置包括一個(gè)LIN總線主控制器和一根LIN總線。從硬件的構(gòu)成上,本發(fā)明的控制裝置與已有技術(shù)的LIN總線主控制器相似,有關(guān)的控制信號(hào)也是通過(guò)其上的一個(gè)通用串行接口以及一個(gè)LIN驅(qū)動(dòng)器發(fā)送到LIN總線上。有關(guān)的LIN總線從控制器(即受控設(shè)備)接收并執(zhí)行有關(guān)的控制命令。與已有技術(shù)的LIN總線主控制器不同的是,在本發(fā)明的LIN總線主控制器經(jīng)過(guò)設(shè)置,其數(shù)據(jù)幀的結(jié)構(gòu)與已有技術(shù)的數(shù)據(jù)幀結(jié)構(gòu)相比明顯不同,其數(shù)據(jù)區(qū)包含了受控設(shè)備指令標(biāo)注區(qū)、公共信息區(qū)和受控設(shè)備指令區(qū)(還可以在這三個(gè)區(qū)中的某處空余區(qū)設(shè)置幀號(hào)區(qū)),數(shù)據(jù)區(qū)的長(zhǎng)度依當(dāng)時(shí)對(duì)受控設(shè)備的指令情況而動(dòng)態(tài)改變。所述的LIN總線主控制器對(duì)數(shù)據(jù)幀的掃描也變?yōu)閯?dòng)態(tài)的掃描,數(shù)據(jù)區(qū)的利用率顯著提高,有效地避免了無(wú)用的掃描時(shí)間,提高了受控設(shè)備的響應(yīng)速度。同樣,有關(guān)的受控設(shè)備也需要與所述的LIN總線主控制器進(jìn)行有關(guān)的匹配。
本發(fā)明的方法和裝置可以使基于LIN總線的設(shè)備工作得更快,甚至在LIN總線的設(shè)備中實(shí)現(xiàn)某些需要在CAN總線下才能實(shí)現(xiàn)的功能。
權(quán)利要求
1,一種控制機(jī)動(dòng)車中的受控設(shè)備的方法,基于LIN總線協(xié)議,所采用的LIN總線上連接了全少一個(gè)受控設(shè)備,一個(gè)LIN總線的主控制器向LIN總線連續(xù)地發(fā)送數(shù)據(jù)幀,每個(gè)受控設(shè)備都接收所述的數(shù)據(jù)幀,每個(gè)數(shù)據(jù)幀包括一個(gè)固定長(zhǎng)度的幀頭區(qū)、一個(gè)長(zhǎng)度可變的數(shù)據(jù)區(qū),以及一個(gè)固定長(zhǎng)度的冗余性校驗(yàn)區(qū),所述的方法還包括以下步驟1)將所述的基于LIN總線協(xié)議的數(shù)據(jù)幀的數(shù)據(jù)區(qū)設(shè)置為動(dòng)態(tài)區(qū);2)根據(jù)對(duì)所述受控設(shè)備的控制要求,將每個(gè)幀的數(shù)據(jù)區(qū)分為受控設(shè)備指令標(biāo)注區(qū)、公共信息區(qū)和受控設(shè)備指令區(qū);其中受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)的比特?cái)?shù)在根據(jù)給定的受控設(shè)備做了設(shè)置以后即為固定數(shù)目,而受控設(shè)備指令區(qū)的比特?cái)?shù)根據(jù)設(shè)備使用者所發(fā)出的對(duì)所述設(shè)備的控制指令而實(shí)時(shí)改變;受控設(shè)備指令標(biāo)注區(qū)表示對(duì)受控設(shè)備指令的數(shù)據(jù)與受控設(shè)備指令區(qū)的數(shù)據(jù)的關(guān)系3)所述的LIN總線主控制器對(duì)所述的一個(gè)數(shù)據(jù)幀中的數(shù)據(jù)區(qū)進(jìn)行動(dòng)態(tài)掃描,其中對(duì)受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)的掃描是對(duì)這些區(qū)中的每個(gè)比特進(jìn)行的,對(duì)受控設(shè)備指令區(qū)的掃描是根據(jù)受控設(shè)備指令標(biāo)注區(qū)的受控設(shè)備指令標(biāo)注,只對(duì)存在著對(duì)受控設(shè)備控制指令的那些比特進(jìn)行的;4)重復(fù)上述步驟3)的操作,對(duì)下一個(gè)數(shù)據(jù)幀進(jìn)行掃描。
2,如權(quán)利要求1所述的方法,其特征在于當(dāng)設(shè)定了一個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)中的受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)后,如果在該數(shù)據(jù)區(qū)中的受控設(shè)備指令區(qū)中無(wú)法容納對(duì)應(yīng)于所有受控設(shè)備的所有控制指令時(shí),將所述的受控設(shè)備指令區(qū)定義為對(duì)應(yīng)于全體受控設(shè)備的全體受控設(shè)備指令區(qū)的一部分,所述的全體受控設(shè)備指令區(qū)的另外部分采用下一個(gè)或后面依次的數(shù)據(jù)幀中與上述受控設(shè)備指令區(qū)相對(duì)應(yīng)的部分,用于容納對(duì)應(yīng)于所有受控設(shè)備的所有控制指令;并且,將所述的數(shù)據(jù)區(qū)的至少一個(gè)未被占用的比特設(shè)置為幀號(hào)指示位,用于指示當(dāng)前數(shù)據(jù)幀的幀號(hào);其中不同幀號(hào)數(shù)據(jù)幀中的每個(gè)數(shù)據(jù)區(qū)中的受控設(shè)備指令區(qū)含有對(duì)至少一個(gè)受控設(shè)備的控制指令,相鄰的至少兩個(gè)數(shù)據(jù)幀的數(shù)據(jù)區(qū)中含有與該LIN對(duì)應(yīng)的所有受控設(shè)備的控制指令。
3,如權(quán)利要求1或2中任一權(quán)利要求所述的方法,其中所述的受控設(shè)備包括車門、車窗、天窗、后視鏡、雨刷、倒車?yán)走_(dá)、化霜器、車門顯示器的顯示燈中的至少一種。
4,如權(quán)利要求1或2中所述的方法,其中所述的LIN主控制器根據(jù)操作者的命令對(duì)數(shù)據(jù)幀的掃描過(guò)程做出休眠或喚醒類型的中斷操作。
5,如權(quán)利要求3中所述的方法,其中所述的LIN主控制器根據(jù)操作者的命令對(duì)數(shù)據(jù)幀的掃描過(guò)程做出休眠或喚醒類型的中斷操作。
6,如權(quán)利要求1、2或5所述的方法,其特征在于,在所述的每個(gè)數(shù)據(jù)幀中,所述的幀頭區(qū)的長(zhǎng)度為2字節(jié),冗余性檢驗(yàn)區(qū)的長(zhǎng)度為1字節(jié),并且每個(gè)字節(jié)包含8比特。
7,如權(quán)利要求3所述的方法,其特征在于,在所述的每個(gè)數(shù)據(jù)幀中,所述的幀頭區(qū)的長(zhǎng)度為2字節(jié),冗余性檢驗(yàn)區(qū)的長(zhǎng)度為1字節(jié),并且每個(gè)字節(jié)包含8比特。
8,如權(quán)利要求4所述的方法,其特征在于,在所述的每個(gè)數(shù)據(jù)幀中,所述的幀頭區(qū)的長(zhǎng)度為2字節(jié),冗余性檢驗(yàn)區(qū)的長(zhǎng)度為1字節(jié),并且每個(gè)字節(jié)包含8比特。
9,一種控制機(jī)動(dòng)車中的受控設(shè)備的裝置,包括一條LIN總線和一個(gè)LIN總線主控制器,所述的LIN總線分別與所述的LIN總線主控制器以及至少一個(gè)受控設(shè)備相連,用于在所述的LIN總線主控制器與受控設(shè)備之間傳送控制命令;所述裝置的特征在于1)所述的LIN總線主控制器被設(shè)置得可以通過(guò)所述的LIN總線,向有關(guān)的受控設(shè)備發(fā)出可以帶有控制命令的數(shù)據(jù)幀;每個(gè)所述的數(shù)據(jù)幀包括一個(gè)幀頭區(qū)、一個(gè)長(zhǎng)度可變的數(shù)據(jù)區(qū)和一個(gè)冗余性檢驗(yàn)區(qū),將所述的基于LIN總線協(xié)議的數(shù)據(jù)幀的數(shù)據(jù)區(qū)設(shè)置為動(dòng)態(tài)區(qū);并且,根據(jù)對(duì)所述受控設(shè)備的控制要求,將每個(gè)幀的數(shù)據(jù)區(qū)分為受控設(shè)備指令標(biāo)注區(qū)、公共信息區(qū)利受控設(shè)備指令區(qū);其中受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)的比特?cái)?shù)在根據(jù)給定的受控設(shè)備做了設(shè)置以后即為固定數(shù)目,而受控設(shè)備指令區(qū)的比特?cái)?shù)根據(jù)設(shè)備使用者所發(fā)出的對(duì)所述設(shè)備的控制指令而實(shí)時(shí)改變;受控設(shè)備指令標(biāo)注區(qū)表示對(duì)受控設(shè)備指令的數(shù)據(jù)與受控設(shè)備指令區(qū)的數(shù)據(jù)的關(guān)系;所述的LIN總線主控制器對(duì)所述的一個(gè)數(shù)據(jù)幀中的數(shù)據(jù)區(qū)進(jìn)行動(dòng)態(tài)掃描,其中對(duì)受控設(shè)備指令標(biāo)注區(qū)和公共信息區(qū)的掃描是對(duì)這些區(qū)中的每個(gè)比特進(jìn)行的,而對(duì)受控設(shè)備指令區(qū)的掃描是根據(jù)受控設(shè)備指令標(biāo)注區(qū)的受控設(shè)備指令標(biāo)注,只對(duì)存在著對(duì)受控設(shè)備控制指令的那些比特進(jìn)行的;2)所述的受控設(shè)備被設(shè)置得可以接受所述的LIN總線主控制器的所發(fā)出的數(shù)據(jù)幀,并執(zhí)行所述的數(shù)據(jù)幀的動(dòng)態(tài)的數(shù)據(jù)區(qū)所帶有的控制指令。
全文摘要
一種控制機(jī)動(dòng)車中的受控設(shè)備的方法和裝置,基于LIN總線協(xié)議,將數(shù)據(jù)幀的數(shù)據(jù)區(qū)分為受控設(shè)備指令標(biāo)注區(qū)、公共信息區(qū)和受控設(shè)備指令區(qū)等三個(gè)區(qū),其中受控設(shè)備指令標(biāo)注區(qū)、公共信息區(qū)的比特?cái)?shù)對(duì)給定的受控設(shè)備來(lái)說(shuō)是固定的,而受控設(shè)備指令區(qū)的比特?cái)?shù)根據(jù)操作者所發(fā)出的控制指令而實(shí)時(shí)改變;對(duì)受控設(shè)備指令區(qū)的掃描是根據(jù)受控設(shè)備指令標(biāo)注區(qū)的標(biāo)注,只對(duì)存在著對(duì)受控設(shè)備控制指令的那個(gè)或那些比特進(jìn)行。
文檔編號(hào)H04L12/403GK1889495SQ20051008021
公開(kāi)日2007年1月3日 申請(qǐng)日期2005年6月30日 優(yōu)先權(quán)日2005年6月30日
發(fā)明者冉平 申請(qǐng)人:西門子(中國(guó))有限公司