一種汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系統(tǒng),包括雙芯片分工技術(shù),在熱備份法的基礎(chǔ)上,給兩塊芯片分配了不同的工作任務(wù)。一塊芯片負(fù)責(zé)數(shù)據(jù)接收和數(shù)據(jù)處理,另一塊芯片負(fù)責(zé)數(shù)據(jù)接收和數(shù)據(jù)發(fā)送,在減輕芯片工作負(fù)擔(dān)的基礎(chǔ)上,大大提高了資源的利用效率。本發(fā)明所述系統(tǒng)的自檢錯(cuò)功能設(shè)計(jì),包括外部信息收發(fā)檢錯(cuò)以及內(nèi)部自身檢錯(cuò),包括CAN總線檢測(cè)、CAN模塊檢測(cè)、A/D模塊檢測(cè)、IIC總線檢測(cè)、RAM檢測(cè)、溫度檢測(cè)、數(shù)據(jù)檢測(cè),共七個(gè)檢錯(cuò)功能。一旦某一塊芯片報(bào)錯(cuò),另一塊芯片立即接過控制權(quán),使系統(tǒng)迅速恢復(fù)正常工作狀態(tài),極大地提高了系統(tǒng)的穩(wěn)定性和可靠性。
【專利說明】
一種汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及汽車線控轉(zhuǎn)向領(lǐng)域,尤其涉及一種汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò) 控制系統(tǒng)。
【背景技術(shù)】
[0002] 汽車線控轉(zhuǎn)向系統(tǒng)是一種全新的轉(zhuǎn)向方式,它克服了傳統(tǒng)轉(zhuǎn)向系統(tǒng)由于機(jī)械連接 帶來的各種限制。傳統(tǒng)的轉(zhuǎn)向系統(tǒng)如機(jī)械轉(zhuǎn)向液壓助力轉(zhuǎn)向,電液助力轉(zhuǎn)向,電動(dòng)助力轉(zhuǎn)向 等,其中方向盤和轉(zhuǎn)向車輪間都是機(jī)械連接,而線控轉(zhuǎn)向系統(tǒng)方向盤和轉(zhuǎn)向輪之間無機(jī)械 連接,通過傳遞電信號(hào)以達(dá)到控制的目的。這樣,不僅降低了車禍駕駛員受傷的概率、提高 了安全性,而且由于無機(jī)械連接,轉(zhuǎn)向通過電信號(hào)來進(jìn)行控制,這意味著角傳動(dòng)比和力傳動(dòng) 比的可調(diào),從而讓駕駛員根據(jù)自己的駕駛習(xí)慣和喜好來設(shè)置汽車轉(zhuǎn)向的靈敏度和力度,達(dá) 到實(shí)現(xiàn)人性化駕駛的目的。下面將從安全性、舒適性、能源節(jié)約性等方面論述線控轉(zhuǎn)向的特 點(diǎn)。
[0003] 安全性:汽車安全分為主動(dòng)安全和被動(dòng)安全。第一,先從更為普遍的被動(dòng)安全說 起。汽車線控轉(zhuǎn)向最顯著的特點(diǎn)就是取消了傳統(tǒng)轉(zhuǎn)向機(jī)構(gòu)中方向盤和轉(zhuǎn)向機(jī)構(gòu)之間的機(jī)械 連接,這樣做使轉(zhuǎn)向機(jī)構(gòu)和方向盤的相對(duì)位置不再受約束,汽車內(nèi)部可以空出一部分空間, 提高了空間的利用率,同時(shí)也意味著不會(huì)存在汽車前部放生碰撞時(shí),由于中間的機(jī)械連接 而導(dǎo)致方向盤被頂出而對(duì)駕駛員造成傷害的風(fēng)險(xiǎn),相比于傳統(tǒng)的潰縮式轉(zhuǎn)向柱設(shè)計(jì)更為安 全。第二,主動(dòng)安全特性。由于線控轉(zhuǎn)向中轉(zhuǎn)向機(jī)構(gòu)接受程序命令來進(jìn)行操控,這意味著當(dāng) 發(fā)生一些特殊情況時(shí),汽車電腦可以輔助駕駛員對(duì)汽車進(jìn)行操控,從而規(guī)避危險(xiǎn)。比如,和 現(xiàn)有的自適應(yīng)巡航技術(shù)相結(jié)合,如檢測(cè)到前方有障礙物,電腦可以控制器車一邊剎車一邊 轉(zhuǎn)向來躲避障礙物。以及輔助駕駛員直線行駛時(shí)不偏離,誤操作等。由此可見,線控轉(zhuǎn)向在 汽車安全方面有著很廣闊的前景。
[0004] 舒適性:由于線控轉(zhuǎn)向中汽車轉(zhuǎn)向是通過程序控制的,沒有機(jī)械連接,這意味著轉(zhuǎn) 向角傳動(dòng)比和力傳動(dòng)比的可變性。可以通過改變角傳動(dòng)比和力傳動(dòng)比來獲得不同的轉(zhuǎn)向靈 敏性和轉(zhuǎn)向力度,這使轉(zhuǎn)向特性不再固定,駕駛員可以根據(jù)自己的喜好來調(diào)節(jié),更加人性 化。并且,由于方向盤和轉(zhuǎn)向機(jī)構(gòu)中間不存在機(jī)械連接,重量也同時(shí)減輕了大約5kg。從而使 地面一些不規(guī)則的細(xì)小震動(dòng)可以被隔離,從而達(dá)到駕駛更加舒適的效果。
[0005] 能源節(jié)約性:相比傳統(tǒng)的液壓助力轉(zhuǎn)向和電動(dòng)液壓助力轉(zhuǎn)向,線控轉(zhuǎn)向有著顯著 的節(jié)能特性。傳統(tǒng)液壓助力轉(zhuǎn)向是通過發(fā)動(dòng)機(jī)為液壓栗提供動(dòng)力,再通過液壓回路為方向 盤提供轉(zhuǎn)向助力,并且無論是否有轉(zhuǎn)向動(dòng)作,液壓栗必須一直工作。這不僅提高了燃料的消 耗,增加了能量的損耗,而且液壓回路占空間,管路復(fù)雜,存在著漏油、滲油的毛病,檢修起 來復(fù)雜不便。同樣,電動(dòng)液壓助力僅是用電動(dòng)機(jī)取代發(fā)動(dòng)機(jī)提供液壓栗動(dòng)力,也存在著上述 的問題。而線控轉(zhuǎn)向克服了液壓助力的缺點(diǎn),轉(zhuǎn)向通過電機(jī)控制,結(jié)構(gòu)較簡單,并且只在轉(zhuǎn) 向的時(shí)候電機(jī)工作,節(jié)約了資源,減少了能源的損耗。
[0006] 奇瑞汽車股份有限公司李娟娟等人公開了一種具有冗余和容錯(cuò)結(jié)構(gòu)的汽車線控 轉(zhuǎn)向系統(tǒng)及其控制方法。該系統(tǒng)包括主控芯片、強(qiáng)電電路、檢測(cè)模塊、處理模塊以及執(zhí)行電 機(jī),以及備用芯片及備用強(qiáng)電電路。該汽車線控轉(zhuǎn)向系統(tǒng)還包括備用傳感器電路,傳感器電 路通過備份連接與汽車的多個(gè)傳感器直接連接。該發(fā)明結(jié)合了具體的硬件冗余和軟件冗余 設(shè)計(jì),確保了線控轉(zhuǎn)向系統(tǒng)設(shè)計(jì)的完整性,并結(jié)合整車車載CAN通訊給出故障處理通訊和報(bào) 警方式,保證系統(tǒng)一旦出現(xiàn)故障即可進(jìn)行維修處理。
[0007] 現(xiàn)有技術(shù)對(duì)提高線控轉(zhuǎn)向系統(tǒng)的安全可靠性的研究,主要集中在硬件的冗余備份 上。即所有的硬件設(shè)備都有相應(yīng)的備用設(shè)備,一旦某一硬件設(shè)備出現(xiàn)故障,備用設(shè)備立即接 替原設(shè)備進(jìn)行工作,以提高系統(tǒng)工作的穩(wěn)定性和可靠性。但是這種傳統(tǒng)的熱備份容錯(cuò)控制 方法,閑置了大量資源,大大降低了系統(tǒng)的工作效率。
[0008] 因此,本領(lǐng)域的技術(shù)人員致力于開發(fā)一種汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制 系統(tǒng),提高線控轉(zhuǎn)向系統(tǒng)的安全性和可靠性,同時(shí)具有足夠的穩(wěn)定性。
【發(fā)明內(nèi)容】
[0009] 有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問題是如何提高線控轉(zhuǎn)向系 統(tǒng)的安全性和可靠性,同時(shí)具有足夠的穩(wěn)定性,即當(dāng)轉(zhuǎn)向系統(tǒng)出現(xiàn)故障時(shí),控制器能夠及時(shí) 發(fā)現(xiàn)報(bào)錯(cuò),并施加相應(yīng)的控制率,以期系統(tǒng)能夠及時(shí)恢復(fù)正常工作狀態(tài)。
[0010] 為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系 統(tǒng),包括控制器、下位機(jī)、信息收發(fā)模塊、數(shù)據(jù)處理模塊和系統(tǒng)自檢模塊,所述控制器被配置 為采集所述下位機(jī)發(fā)送的數(shù)據(jù)并且把接收到的數(shù)據(jù)處理后發(fā)送給所述下位機(jī);所述控制器 在接收到數(shù)據(jù)后,通過所述數(shù)據(jù)處理模塊對(duì)數(shù)據(jù)進(jìn)行處理,再發(fā)送給下位機(jī)完成整個(gè)閉環(huán) 控制;所述系統(tǒng)自檢模塊被配置為外部信息收發(fā)檢錯(cuò)以及內(nèi)部自身檢錯(cuò)。
[0011] 進(jìn)一步地,所述數(shù)據(jù)包括角度數(shù)據(jù)、力矩?cái)?shù)據(jù)、電流數(shù)據(jù)。
[0012] 進(jìn)一步地,所述檢錯(cuò)包括CAN總線檢測(cè)、CAN模塊檢測(cè)、A/D模塊檢測(cè)、IIC總線檢測(cè)、 RAM檢測(cè)、溫度檢測(cè)、數(shù)據(jù)檢測(cè)。
[0013] 進(jìn)一步地,所述控制器包括兩個(gè)芯片,所述兩個(gè)芯片互相監(jiān)視以及無縫切換,且所 述兩個(gè)芯片間建立數(shù)據(jù)交換通道。
[0014]進(jìn)一步地,所述數(shù)據(jù)交換通道采用IIC協(xié)議。
[0015] 進(jìn)一步地,所述自身數(shù)據(jù)檢錯(cuò)的方法是用本周期的數(shù)值和上周期的數(shù)值的差的絕 對(duì)值減去前六個(gè)周期每相鄰兩個(gè)周期數(shù)值差的絕對(duì)值相加除以5的平均值,將結(jié)果絕對(duì)值 話后如果大于設(shè)定值,那么數(shù)據(jù)錯(cuò)誤計(jì)數(shù)一次,當(dāng)連續(xù)三次出現(xiàn)數(shù)據(jù)錯(cuò)誤,則將系統(tǒng)的數(shù)據(jù) 錯(cuò)誤標(biāo)志位置位。
[0016] 進(jìn)一步地,所述RAM檢測(cè)方法為設(shè)定一個(gè)指針變量和一個(gè)局部變量,局部變量賦值 后,使指針變量指向局部變量的地址,然后將指針變量所指向的地址內(nèi)容+1處理,然后判斷 局部變量數(shù)值是否也增加了 1,如果不是,那么就將RAM錯(cuò)誤標(biāo)志位置1。
[0017] 本發(fā)明所述雙芯片分工技術(shù),在熱備份法的基礎(chǔ)上,給兩塊芯片分配了不同的工 作任務(wù)。傳統(tǒng)的熱備份法閑置了一塊芯片資源,而本發(fā)明采用的雙芯片分工技術(shù),一塊芯片 負(fù)責(zé)數(shù)據(jù)接收和數(shù)據(jù)處理,另一塊芯片負(fù)責(zé)數(shù)據(jù)接收和數(shù)據(jù)發(fā)送,在減輕芯片工作負(fù)擔(dān)的 基礎(chǔ)上,大大提高了資源的利用效率。
[0018] 本發(fā)明所述系統(tǒng)的自檢錯(cuò)功能設(shè)計(jì),包括外部信息收發(fā)檢錯(cuò)以及內(nèi)部自身檢錯(cuò)。 包括CAN總線檢測(cè)、CAN模塊檢測(cè)、A/D模塊檢測(cè)、IIC總線檢測(cè)、RAM檢測(cè)、溫度檢測(cè)、數(shù)據(jù)檢 測(cè),共七個(gè)檢錯(cuò)功能。一旦某一塊芯片報(bào)錯(cuò),另一塊芯片立即接過控制權(quán),使系統(tǒng)迅速恢復(fù) 正常工作狀態(tài),極大地提高了系統(tǒng)的穩(wěn)定性和可靠性。
[0019] 以下將結(jié)合附圖對(duì)本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進(jìn)一步說明,以 充分地了解本發(fā)明的目的、特征和效果。
【附圖說明】
[0020] 圖1是本發(fā)明的一個(gè)較佳實(shí)施例的系統(tǒng)工作流程圖;
[0021 ]圖2是本發(fā)明的一個(gè)較佳實(shí)施例的雙芯片冗余設(shè)計(jì)原理圖;
[0022]圖3是本發(fā)明的一個(gè)較佳實(shí)施例的控制器結(jié)構(gòu)框圖;
[0023]圖4是本發(fā)明的一個(gè)較佳實(shí)施例的數(shù)據(jù)檢錯(cuò)程序流程圖;
[0024]圖5是本發(fā)明的一個(gè)較佳實(shí)施例的CAN狀態(tài)轉(zhuǎn)換中斷流程圖; 圖6是本發(fā)明的一個(gè)較佳實(shí)施例的冗余切換操作的流程圖。
【具體實(shí)施方式】
[0025]在線控轉(zhuǎn)向系統(tǒng)的設(shè)計(jì)過程中,其控制器的設(shè)計(jì)需要滿足三個(gè)功能,信息收發(fā)功 能,數(shù)據(jù)處理功能,系統(tǒng)自檢錯(cuò)功能,其工作流程圖如圖1所示。
[0026]首先,控制器需要采集下位機(jī)所發(fā)送的數(shù)據(jù),如角度數(shù)據(jù)、力矩?cái)?shù)據(jù)、電流數(shù)據(jù)等。 并且能夠把接收到的數(shù)據(jù)處理后發(fā)送出去,以對(duì)線控轉(zhuǎn)向系統(tǒng)進(jìn)行控制以實(shí)現(xiàn)轉(zhuǎn)向的功 能。
[0027]其次,控制器在接收到數(shù)據(jù)后,需要對(duì)數(shù)據(jù)進(jìn)行處理,比如P-EPS跟隨雙向控制法 的力感模擬電機(jī)的控制電流和C-EPS跟隨雙向控制法的轉(zhuǎn)向電機(jī)的控制電流等都需要經(jīng)過 控制器進(jìn)行運(yùn)算再發(fā)送給下位機(jī)完成整個(gè)閉環(huán)控制。
[0028] 同時(shí),由于線控轉(zhuǎn)向系統(tǒng)方向盤和車輪之間并不存在機(jī)械連接,控制信號(hào)是通過 電信號(hào)傳遞的,這對(duì)于控制器進(jìn)行控制的穩(wěn)定性提出了較高的要求。尤其對(duì)于汽車這樣的 安全性是首先需要考慮的問題之一的產(chǎn)品,需要控制器的穩(wěn)定性很高,以防系統(tǒng)出錯(cuò)而造 成危險(xiǎn)。所以對(duì)于控制器來說,需要自身有檢錯(cuò)功能。一旦發(fā)現(xiàn)錯(cuò)誤,能夠迅速處理,讓系統(tǒng) 能夠及時(shí)回復(fù)正常工作狀態(tài),以避免危險(xiǎn)的發(fā)生。
[0029] 為了提高線控轉(zhuǎn)向系統(tǒng)的穩(wěn)定性和可靠性,本發(fā)明進(jìn)行了雙芯片冗余設(shè)計(jì)以及系 統(tǒng)自檢錯(cuò)功能設(shè)計(jì)。
[0030] 本發(fā)明采用了容錯(cuò)控制技術(shù),對(duì)系統(tǒng)進(jìn)行了雙芯片冗余設(shè)計(jì)。容錯(cuò)控制技術(shù)一般 分為硬件冗余方法和解析冗余方法。硬件冗余方法是對(duì)控制系統(tǒng)中的重要部件和易損部件 進(jìn)行備份,而解析冗余方法是在軟件層面上進(jìn)行設(shè)計(jì)以提高系統(tǒng)的容錯(cuò)性能。基于上述兩 種控制方法,本發(fā)明中的線控轉(zhuǎn)向系統(tǒng)控制器采用雙芯片冗余方案進(jìn)行控制,即采用兩個(gè) 芯片控制,并且在軟件層面上匹配相應(yīng)的錯(cuò)誤檢測(cè)功能及切換功能。結(jié)合硬件冗余設(shè)計(jì)和 解析冗余設(shè)計(jì)以提高線控轉(zhuǎn)向系統(tǒng)的穩(wěn)定性。
[0031] 目前雙芯片冗余控制有多種方式。其中,常用的冗余控制方式包括有第三方參與 冗余技術(shù)、"冷備份"冗余技術(shù)和"熱備份"技術(shù)等。
[0032]其中第三方參與技術(shù)即通過第三方的裝置(如芯片等)對(duì)兩個(gè)芯片進(jìn)行檢測(cè)。故障 判斷裝置從CPU1和CPU2接受數(shù)據(jù),通過分析計(jì)算,判斷哪個(gè)CPU存在故障,如果沒有CPU存在 錯(cuò)誤,那么默認(rèn)將CPU1的數(shù)據(jù)輸出,如果任一CPU存在錯(cuò)誤,那么將另一個(gè)CPU的數(shù)據(jù)作為輸 出。但這種方法存在缺點(diǎn),第一結(jié)構(gòu)復(fù)雜,又引入一個(gè)裝置,成本增加。第二是如果第三方裝 置出了錯(cuò)誤,那么系統(tǒng)將無法正常運(yùn)行,增加了系統(tǒng)的復(fù)雜程度。"冷備份"冗余較為簡單, 即另外準(zhǔn)備一個(gè)CPU模塊。當(dāng)工作的CPU出現(xiàn)問題,人工換上即可。但是對(duì)于線控轉(zhuǎn)向系統(tǒng)而 言,兩個(gè)CPU需要實(shí)現(xiàn)無縫切換,即另一個(gè)CPU能夠立刻替換故障CPU的工作,因此,"冷備份" 技術(shù)是不能滿足條件。
[0033] "熱備份"冗余方式即兩個(gè)CPU同時(shí)工作,分為主CPU和備CPU,正常情況下,主CPU輸 出數(shù)據(jù)進(jìn)行控制,同時(shí)備CHJ對(duì)主CPU監(jiān)視,一旦發(fā)現(xiàn)錯(cuò)誤,備CPU接替主CPU工作。這種方式, 結(jié)構(gòu)較為簡單,且易實(shí)現(xiàn)主備CHJ無縫切換。但是,"熱備份"方式依然存在不足之處,在常態(tài) 下,只有主CPU完成控制功能,而備CPU出于待機(jī)狀態(tài),這樣導(dǎo)致存在資源利用不夠充分和效 率不高的問題。
[0034] 基于線控轉(zhuǎn)向系統(tǒng)的特點(diǎn),對(duì)比三種方式之后,"熱備份"法因其結(jié)構(gòu)簡單和能夠 無縫切換的特點(diǎn)最具有可行性。由于資源利用不充分和效率不高的問題,本發(fā)明在"熱備 份"法的基礎(chǔ)上進(jìn)行改進(jìn),使兩個(gè)芯片同時(shí)工作,其原理圖如圖2所示。
[0035] 當(dāng)系統(tǒng)正常運(yùn)行時(shí),系統(tǒng)處于"熱備份"基本狀態(tài),即芯片1為主芯片,芯片2為備用 芯片,芯片2監(jiān)視芯片1。首先,控制器通過CAN總線采集下位機(jī)發(fā)送的角度、力矩、狀態(tài)等數(shù) 據(jù),同時(shí)通過A/D數(shù)據(jù)讀入拉力或壓力數(shù)據(jù),然后,進(jìn)入同步子程序模塊,根據(jù)所接收到的數(shù) 據(jù)進(jìn)行數(shù)據(jù)比對(duì),檢測(cè)數(shù)據(jù)是否存在錯(cuò)誤,隨后進(jìn)入錯(cuò)誤檢測(cè)模塊,針對(duì)自身RAM、A/D、CAN、 溫度等進(jìn)行檢測(cè),最后進(jìn)行錯(cuò)誤處理程序。一旦芯片1報(bào)錯(cuò),則關(guān)閉自身所有控制功能,停止 數(shù)據(jù)同步。備用芯片2接替主CPU控制權(quán),從而實(shí)現(xiàn)CPU之間的無縫切換,提高了系統(tǒng)的穩(wěn)定 性和可靠性。
[0036]為了實(shí)現(xiàn)兩個(gè)芯片的互相監(jiān)視以及無縫切換,需要在兩個(gè)芯片間建立數(shù)據(jù)交換通 道,并且要求數(shù)據(jù)的傳輸具有較快的速率和較高的可靠性。為實(shí)現(xiàn)芯片間簡單而高效的數(shù) 據(jù)同步本發(fā)明采用了 lie總線進(jìn)行芯片間的通訊。IIC總線作為一種串行總線,結(jié)構(gòu)簡單,一 根時(shí)鐘線SCL和一根數(shù)據(jù)線SDA便可完成傳輸,并且最高速率可3.4Mbit/s,有著較高的可靠 性,適用于短距離數(shù)據(jù)的傳輸。
[0037] 本發(fā)明的雙芯片冗余控制,強(qiáng)調(diào)了其在冗余控制基礎(chǔ)上的分工控制,提高了芯片 的利用率。即主芯片以及備用芯片在"熱備份"工作狀態(tài)的基礎(chǔ)上,主芯片負(fù)責(zé)數(shù)據(jù)接收和 數(shù)據(jù)處理,從芯片負(fù)責(zé)數(shù)據(jù)接收和數(shù)據(jù)發(fā)送。由于兩個(gè)芯片都在工作,每塊芯片的負(fù)擔(dān)相對(duì) 減小,資源得以高效利用。
[0038] 為提高線控轉(zhuǎn)向系統(tǒng)的穩(wěn)定性和可靠性,不僅要采用冗余控制的方法,控制器自 身也需要有一套錯(cuò)誤自檢措施來進(jìn)行,能夠及時(shí)發(fā)現(xiàn)自身運(yùn)行及系統(tǒng)錯(cuò)誤,在一定程度上 糾正,并且和冗余控制進(jìn)行配合。
[0039] 線控轉(zhuǎn)向系統(tǒng)控制器的結(jié)構(gòu)框圖如圖3所示,其中,和下位機(jī)進(jìn)行通訊并發(fā)送控制 信號(hào)通過CAN總線完成,數(shù)據(jù)處理芯片選用飛思卡爾的MC9S12XDP512芯片,提高穩(wěn)定性和可 靠性采用雙芯片同時(shí)分工控制方法和自身檢錯(cuò)。485總線模塊和LIN總線模塊用于與上位機(jī) 交換數(shù)據(jù)的接口。
[0040] 因而,控制器接收的外部信號(hào)有CAN總線信號(hào)、A/D信號(hào)和IIC信號(hào),因而可能對(duì)應(yīng) 產(chǎn)生CAN總線或模塊錯(cuò)誤、A/D模塊錯(cuò)誤和IIC同步錯(cuò)誤。控制器自身方面,控制器即控制芯 片運(yùn)行時(shí)會(huì)對(duì)RAM進(jìn)行快速的讀取和存儲(chǔ),對(duì)應(yīng)于RAM錯(cuò)誤,同時(shí),溫度過高會(huì)將芯片燒壞, 這對(duì)應(yīng)于溫度錯(cuò)誤。而數(shù)據(jù)流方面,控制器對(duì)于接受到的數(shù)據(jù)會(huì)進(jìn)行計(jì)算儲(chǔ)存等處理,這個(gè) 過程中產(chǎn)生的錯(cuò)誤對(duì)應(yīng)于數(shù)據(jù)錯(cuò)誤。綜上所述,線控轉(zhuǎn)向系統(tǒng)控制器的檢錯(cuò)功能需包含CAN 總線檢測(cè)、CAN模塊檢測(cè)、A/D模塊檢測(cè)、IIC總線檢測(cè)、RAM檢測(cè)、溫度檢測(cè)、數(shù)據(jù)檢測(cè),共七個(gè) 檢錯(cuò)功能。
[0041]在兩個(gè)芯片數(shù)據(jù)同步完畢后,每個(gè)芯片同時(shí)有了另外一個(gè)芯片上的和自身的數(shù) 據(jù),達(dá)到了數(shù)據(jù)同步的目的。其中,從相同數(shù)據(jù)源采集的數(shù)據(jù)每個(gè)芯片夠有兩組,包括從CAN 總線采集的下位機(jī)數(shù)據(jù)和從A/D模塊采集的數(shù)據(jù)。
[0042]為保證不給CPU帶來太大的工作負(fù)擔(dān)、確保系統(tǒng)的控制效率和提高系統(tǒng)的跟隨性, 在對(duì)于數(shù)據(jù)故障的檢測(cè)方面,不采用多數(shù)據(jù)采集通道進(jìn)行比對(duì)的方法,這里選用基于解析 冗余的雙CPU故障檢測(cè)法。
[0043] 該方法首先計(jì)算兩組數(shù)據(jù)的差值的絕對(duì)值,如果大于設(shè)定值,那么進(jìn)行自身數(shù)據(jù) 的檢測(cè),方法是用本周期的數(shù)值和上周期的數(shù)值的差的絕對(duì)值減去前六個(gè)周期每相鄰兩個(gè) 周期數(shù)值差的絕對(duì)值相加除以5的平均值,將結(jié)果絕對(duì)值話后如果大于設(shè)定值,那么數(shù)據(jù)錯(cuò) 誤計(jì)數(shù)一次,當(dāng)連續(xù)三次出現(xiàn)數(shù)據(jù)錯(cuò)誤,則將系統(tǒng)的數(shù)據(jù)錯(cuò)誤標(biāo)志位置位。以芯片1為例子, 程序流程圖4所示。
[0044] CPU直接尋址,立即數(shù)和寄存器類型變量、局部變量等都是儲(chǔ)存在RAM中,并在程序 運(yùn)行時(shí)快速的讀取和寫入。因此,RAM如果出現(xiàn)錯(cuò)誤,那么對(duì)于單片機(jī)程序的運(yùn)行會(huì)產(chǎn)生難 以預(yù)料的結(jié)果,為避免這種情況,需在主程序每次循環(huán)時(shí)都進(jìn)行一次RAM檢測(cè)。RAM檢測(cè)方法 為:首先,設(shè)定一個(gè)指針變量和一個(gè)局部變量,局部變量賦值后,使指針變量指向局部變量 的地址,然后將指針變量所指向的地址內(nèi)容+1處理,然后判斷局部變量數(shù)值是否也增加了 1,如果不是,那么就將RAM錯(cuò)誤標(biāo)志位置1。
[0045] 為了防止工作環(huán)境或電路短路等原因?qū)е滦酒瑴囟冗^高而將芯片燒壞并同時(shí)保 護(hù)其他元件,需采取溫度保護(hù)措施。如上文硬件電路中介紹,選取18B20作為溫度檢測(cè)原件, 考慮到芯片MC9S12XDP512MAL工作溫度為-40和18B20的-55的測(cè)溫范圍,我們將溫度上限值 設(shè)定在80,主程序運(yùn)行的每個(gè)循環(huán)進(jìn)行溫度檢測(cè),利用溫度檢測(cè)驅(qū)動(dòng)文件的寫命令函數(shù),通 過ΡΒ0端口向18B20輸入讀取溫度指令,再利用讀指令讀取溫度值,如果讀取溫度值大于80, 那么將會(huì)置位溫度錯(cuò)誤標(biāo)志位。
[0046] A/D作為線控轉(zhuǎn)向系統(tǒng)力傳感器的數(shù)據(jù)傳輸方式,如果產(chǎn)生錯(cuò)誤,導(dǎo)致A/D讀入數(shù) 據(jù)錯(cuò)誤,那么將有可能使力感模擬電機(jī)產(chǎn)生不穩(wěn)定的電流,對(duì)駕駛員的操作產(chǎn)生嚴(yán)重的影 響,甚至引發(fā)事故。因此,除了對(duì)信號(hào)進(jìn)行光耦隔離和濾波處理外,A/D模塊的檢錯(cuò)是十分重 要的。檢錯(cuò)方式,可采用將電源電壓作為A/D輸入的方法,在本項(xiàng)目中,我們將PAD0端口作為 力傳感器信號(hào)的輸入口,而PAD5 口作為電源電壓檢測(cè)輸入口。在8位精度無符號(hào)模式下,電 源的5v電壓經(jīng)過A/D轉(zhuǎn)換后的數(shù)字量理論上應(yīng)為254或255,但考慮到實(shí)際電源模塊在芯片 工作負(fù)載不同時(shí)的波動(dòng)情況,我們?cè)O(shè)定250作為底線,如果讀入數(shù)字量低于250連續(xù)3次后, 將A/D模塊錯(cuò)誤標(biāo)志位置位。
[0047] CAN總線具有錯(cuò)誤自檢機(jī)制和相應(yīng)的恢復(fù)機(jī)制,共有5種錯(cuò)誤,分別為:填充錯(cuò)誤、 位錯(cuò)誤、形式錯(cuò)誤、應(yīng)答錯(cuò)誤、CRC錯(cuò)誤。CAN總線上每個(gè)節(jié)點(diǎn)都會(huì)對(duì)錯(cuò)誤次數(shù)進(jìn)行計(jì)數(shù)。在 CAN總線中,任何一個(gè)單元可能處于下列3種故障狀態(tài)之一:錯(cuò)誤激活狀態(tài)(Error-Active)、 錯(cuò)誤認(rèn)可狀態(tài)(Error-Passitive)和總線關(guān)閉狀態(tài)(Bus-off)。各個(gè)狀態(tài)間代表不同的過度 是通過發(fā)生錯(cuò)誤的數(shù)量進(jìn)行區(qū)分。同樣,在飛思卡爾MSCAN模塊中,也有相應(yīng)的發(fā)送器和接 收器的錯(cuò)誤計(jì)數(shù)功能,可以此來判斷節(jié)點(diǎn)狀態(tài),并且,還相應(yīng)設(shè)定了狀態(tài)轉(zhuǎn)換功能。即如果 發(fā)送器或接收器的CAN總線狀態(tài)改變時(shí),比如進(jìn)入錯(cuò)誤認(rèn)可狀態(tài)或總線關(guān)閉狀態(tài),將引發(fā)相 應(yīng)的標(biāo)志位置位,如果開啟了狀態(tài)轉(zhuǎn)換中斷,還會(huì)進(jìn)入中斷服務(wù)程序。利用MSCAN次功能,在 線控轉(zhuǎn)向系統(tǒng)中,可將CAN的錯(cuò)誤分為兩類:一是MSCAN模塊錯(cuò)誤,即發(fā)送器或接收器的錯(cuò) 誤。二是CAN總線上的錯(cuò)誤,比如線路斷開、未連接120歐電阻等。
[0048]基于上述討論,CAN檢錯(cuò)子模塊程序設(shè)計(jì)如下:(1)開啟MSCAN模塊的發(fā)送器和接收 器的狀態(tài)轉(zhuǎn)換中斷。(2)出于對(duì)錯(cuò)誤迅速處理的目的。將狀態(tài)轉(zhuǎn)換中斷優(yōu)先級(jí)設(shè)置為最高。 (3)進(jìn)入中斷后,利用CAN驅(qū)動(dòng)文件中的環(huán)路自檢函數(shù),進(jìn)行MSCAN自發(fā)自收檢測(cè)。(4)如果檢 測(cè)成功,那么將CAN總線錯(cuò)誤標(biāo)志位置位。(5)如果檢測(cè)失敗,將CAN模塊錯(cuò)誤標(biāo)志位置位。 中斷服務(wù)程序如圖5所示。
[0049]錯(cuò)誤處理子模塊主要需要有兩方面的功能,一是冗余切換功能,即芯片發(fā)現(xiàn)自身 錯(cuò)誤后放棄系統(tǒng)能夠控制權(quán)或發(fā)現(xiàn)另一個(gè)芯片錯(cuò)誤后接過控制權(quán)控制整個(gè)系統(tǒng)。二是錯(cuò)誤 判斷功能,即判斷系統(tǒng)是否發(fā)生錯(cuò)誤的能力。這里為了對(duì)系統(tǒng)錯(cuò)誤進(jìn)行識(shí)別和通知上位機(jī) 錯(cuò)誤類型,規(guī)定一個(gè)錯(cuò)誤代碼,定義字符型變量Error,字符型變量在內(nèi)存中占一個(gè)字節(jié),一 個(gè)字節(jié)為8位?;谇拔臄⑹觯灿衅叻N類型的錯(cuò)誤:RAM錯(cuò)誤、A/D模塊錯(cuò)誤、CAN總線錯(cuò)誤、 MSCAN模塊錯(cuò)誤、溫度錯(cuò)誤、IIC同步錯(cuò)誤、數(shù)據(jù)錯(cuò)誤。應(yīng)用類似于寄存器的設(shè)定。在Error的8 位中,選取7位作為相應(yīng)的錯(cuò)誤標(biāo)志位。規(guī)定0為沒有錯(cuò)誤,1為發(fā)現(xiàn)錯(cuò)誤。剩余一位保留,留 作以后的擴(kuò)展功能。Error錯(cuò)誤代碼的設(shè)定如表1所示。從左至右依次是RAM錯(cuò)誤、A/D模塊錯(cuò) 誤、CAN總線錯(cuò)誤、MSCAN模塊錯(cuò)誤、溫度錯(cuò)誤、IIC同步錯(cuò)誤、數(shù)據(jù)錯(cuò)誤。
[0051 ] 表1錯(cuò)誤代碼編碼表
[0052]錯(cuò)誤代碼確定后,錯(cuò)誤處理模塊需根據(jù)錯(cuò)誤代碼進(jìn)行冗余切換操作。冗余切換操 作包括兩個(gè)相反的方面:(1)接過控制權(quán),控制整個(gè)線控轉(zhuǎn)向系統(tǒng)。(2)放棄控制權(quán)。關(guān)閉所 有功能模塊。功能模塊包括所有的中斷程序、IIC模塊、CAN模塊、周期定時(shí)模塊、數(shù)據(jù)計(jì)算 等。這里用Error和ErrorO表示芯片自身的錯(cuò)誤碼數(shù)值和從IIC同步接收的另一個(gè)芯片的錯(cuò) 誤碼數(shù)值。定義控制權(quán)標(biāo)志變量為CTL_FLG,當(dāng)CTL_FLG=1時(shí)表示芯片接過控制權(quán)控制整個(gè) 系統(tǒng)。當(dāng)CTL_FLG = 0時(shí)表示默認(rèn)模式,即分工控制。錯(cuò)誤處理步驟為:首先,Error是否為0, 為〇則繼續(xù)下一步,否則關(guān)閉所有功能模塊結(jié)束程序。然后,判 Error〇是否為〇,如果為〇則結(jié) 束,否則在Err〇r = 0的情況下接過控制權(quán)。程序流程如圖6所示。
[0053]以上詳細(xì)描述了本發(fā)明的較佳具體實(shí)施例。應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)無需創(chuàng) 造性勞動(dòng)就可以根據(jù)本發(fā)明的構(gòu)思作出諸多修改和變化。因此,凡本技術(shù)領(lǐng)域中技術(shù)人員 依本發(fā)明的構(gòu)思在現(xiàn)有技術(shù)的基礎(chǔ)上通過邏輯分析、推理或者有限的實(shí)驗(yàn)可以得到的技術(shù) 方案,皆應(yīng)在由權(quán)利要求書所確定的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系統(tǒng),其特征在于,包括控制器、下位 機(jī)、信息收發(fā)模塊、數(shù)據(jù)處理模塊和系統(tǒng)自檢模塊,所述控制器被配置為采集所述下位機(jī)發(fā) 送的數(shù)據(jù)并且把接收到的數(shù)據(jù)處理后發(fā)送給所述下位機(jī);所述控制器在接收到數(shù)據(jù)后,通 過所述數(shù)據(jù)處理模塊對(duì)數(shù)據(jù)進(jìn)行處理,再發(fā)送給下位機(jī)完成整個(gè)閉環(huán)控制;所述系統(tǒng)自檢 模塊被配置為外部信息收發(fā)檢錯(cuò)以及內(nèi)部自身檢錯(cuò)。2. 如權(quán)利要求1所述的汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系統(tǒng),其特征在于,所述 數(shù)據(jù)包括角度數(shù)據(jù)、力矩?cái)?shù)據(jù)、電流數(shù)據(jù)。3. 如權(quán)利要求1所述的汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系統(tǒng),其特征在于,所述 檢錯(cuò)包括CAN總線檢測(cè)、CAN模塊檢測(cè)、A/D模塊檢測(cè)、IIC總線檢測(cè)、RAM檢測(cè)、溫度檢測(cè)、數(shù)據(jù) 檢測(cè)。4. 如權(quán)利要求1所述的汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系統(tǒng),其特征在于,所述 控制器包括兩個(gè)芯片,所述兩個(gè)芯片互相監(jiān)視以及無縫切換,且所述兩個(gè)芯片間建立數(shù)據(jù) 交換通道。5. 如權(quán)利要求4所述的汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系統(tǒng),其特征在于,所述 數(shù)據(jù)交換通道采用IIC協(xié)議。6. 如權(quán)利要求1所述的汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系統(tǒng),其特征在于,所述 自身數(shù)據(jù)檢錯(cuò)的方法是用本周期的數(shù)值和上周期的數(shù)值的差的絕對(duì)值減去前六個(gè)周期每 相鄰兩個(gè)周期數(shù)值差的絕對(duì)值相加除以5的平均值,將結(jié)果絕對(duì)值話后如果大于設(shè)定值,那 么數(shù)據(jù)錯(cuò)誤計(jì)數(shù)一次,當(dāng)連續(xù)三次出現(xiàn)數(shù)據(jù)錯(cuò)誤,則將系統(tǒng)的數(shù)據(jù)錯(cuò)誤標(biāo)志位置位。7. 如權(quán)利要求3所述的汽車線控轉(zhuǎn)向的雙芯片冗余及容錯(cuò)控制系統(tǒng),其特征在于,所述 RAM檢測(cè)方法為設(shè)定一個(gè)指針變量和一個(gè)局部變量,局部變量賦值后,使指針變量指向局部 變量的地址,然后將指針變量所指向的地址內(nèi)容+1處理,然后判斷局部變量數(shù)值是否也增 加了 1,如果不是,那么就將RAM錯(cuò)誤標(biāo)志位置1。
【文檔編號(hào)】G05B23/02GK106094789SQ201610389410
【公開日】2016年11月9日
【申請(qǐng)日】2016年6月2日 公開號(hào)201610389410.9, CN 106094789 A, CN 106094789A, CN 201610389410, CN-A-106094789, CN106094789 A, CN106094789A, CN201610389410, CN201610389410.9
【發(fā)明人】吳曉東, 許敏, 章鳴銘, 葉昌, 楊莉
【申請(qǐng)人】上海交通大學(xué)