汪丁旺
(上汽乘用車有限公司技術(shù)中心電子電器部,上海 200438)
駕駛信息系統(tǒng) (汽車儀表)是車輛信息顯示中心,各種報(bào)警指示信息、車輛行駛狀態(tài)、累計(jì)、小計(jì)、行車電腦平均油耗、瞬時(shí)油耗、續(xù)駛里程等信息都顯示在儀表上;駕駛員要依據(jù)這些信息進(jìn)行駕駛操作,故這些信息的準(zhǔn)確性、可靠性尤為重要,關(guān)乎到駕駛安全等方面。
實(shí)際汽車的工作環(huán)境復(fù)雜,例如:在車輛剛起動(dòng)或路面劇烈顛簸時(shí),都有可能導(dǎo)致駕駛信息系統(tǒng)的供電電源出現(xiàn)短暫過低或丟失。當(dāng)電源重新恢復(fù)正常時(shí),通常駕駛信息系統(tǒng)會(huì)重新復(fù)位,這樣就勢(shì)必導(dǎo)致前面顯示的一些內(nèi)容被復(fù)位重新初始化,被破壞掉,如儀表菜單中所有個(gè)性化設(shè)置被復(fù)位,時(shí)鐘、行駛時(shí)間、行駛距離、續(xù)駛里程等重要信息將部分丟失,這樣用戶就不得不重新設(shè)置時(shí)間和一些個(gè)性化需求的菜單內(nèi)容。有些重要信息如小計(jì)里程數(shù)等永久丟失,行車電腦中的平均油耗、瞬時(shí)油耗、續(xù)駛里程被復(fù)位得重新計(jì)算,儀表中所有歷史記錄都被清空,勢(shì)必給用戶帶來不必要的麻煩和煩惱。
我們知道計(jì)算機(jī)有冷啟動(dòng)和熱啟動(dòng)之分,冷啟動(dòng)就是整個(gè)系統(tǒng)完全全新初始化,而熱啟動(dòng)只是對(duì)一些關(guān)鍵的配置進(jìn)行重新配置,一些用戶設(shè)置和選項(xiàng)將維持上次工作時(shí)狀態(tài)。我們可以將這一理念應(yīng)用到汽車儀表上,也就是說在車輛由于各種原因出現(xiàn)短時(shí)間斷電時(shí),儀表能識(shí)別出來,同時(shí)利用芯片存儲(chǔ)單元RAM的電容特性,在對(duì)芯片系統(tǒng)資源進(jìn)行必要配置后,可以保留上次工作中顯示出來一些重要信息,如時(shí)間、小計(jì)等內(nèi)容,不對(duì)其進(jìn)行重新初始化,這樣就讓用戶感覺不到曾出現(xiàn)過瞬間的掉電。而若斷電時(shí)間間隔很長,一方面由于RAM電容特性,它只能維持一定時(shí)間,另一方面為了系統(tǒng)可靠性,需要對(duì)整改系統(tǒng)和變量都要進(jìn)行全面的初始化。
在駕駛信息系統(tǒng)上采用新方法 (硬件加軟件檢測)可以避免此問題,當(dāng)儀表短時(shí)間斷電又重新恢復(fù)后,儀表能精準(zhǔn)可靠地判斷是否應(yīng)該從上次斷電前狀態(tài)繼續(xù)工作。
利用微處理器RAM的電容特性,RAM中存儲(chǔ)數(shù)據(jù)在短時(shí)間掉電還能保存一段時(shí)間。將那些客戶能直接感知到的信息、需要維持不變的變量分配到相鄰的同一區(qū)域,通過軟件先在存儲(chǔ)儀表關(guān)鍵數(shù)據(jù)的RAM區(qū)間的首尾各設(shè)置一標(biāo)志單元,并寫好特殊的標(biāo)志數(shù)據(jù),在系統(tǒng)配置中要求對(duì)該指定區(qū)域不自動(dòng)被初始化,這樣每次儀表重新上電工作后,儀表軟件首先讀取這兩標(biāo)志單元的內(nèi)容,并判斷是否為預(yù)先設(shè)置的標(biāo)志數(shù)據(jù)。根據(jù)RAM電容RC放電時(shí)間曲線特性,若還是自己設(shè)置的特殊標(biāo)志,則表明在這次上電之前的斷電時(shí)間間隔可能很短,然后再繼續(xù)對(duì)存在中間的關(guān)鍵顯示數(shù)據(jù)進(jìn)行一些必要的有效性判斷,如時(shí)鐘的分鐘數(shù)值不得大于60、小時(shí)不得大于24、小計(jì)不得大于1000等,若這些數(shù)值有任何一個(gè)不合理,則認(rèn)為整個(gè)區(qū)域都有不可靠風(fēng)險(xiǎn),系統(tǒng)要冷啟動(dòng),對(duì)整個(gè)RAM單元數(shù)據(jù)進(jìn)行初始化。若這個(gè)關(guān)鍵標(biāo)志單元有任一個(gè)數(shù)據(jù)被破壞,系統(tǒng)就認(rèn)為前面斷電時(shí)間間隔過長,儀表將熱啟動(dòng),就對(duì)這些關(guān)鍵數(shù)據(jù)進(jìn)行重新初始化,儀表基于上次數(shù)據(jù)繼續(xù)工作;否則,若任一標(biāo)志單元不是預(yù)設(shè)置的標(biāo)志數(shù)據(jù),儀表將冷啟動(dòng),重新初始化這些關(guān)鍵數(shù)據(jù)單元,同時(shí)包括這2個(gè)標(biāo)志單元。純軟件方案系統(tǒng)算法框圖如圖1所示。
此方案存在以下缺點(diǎn)。
1)無法精準(zhǔn)控制冷熱啟動(dòng)的時(shí)間間隔閾值,儀表無法掌控?cái)嚯姸嚅L時(shí)間內(nèi)是熱啟動(dòng)。系統(tǒng)完全取決于該主芯片的存儲(chǔ)單元RAM的電容放電特性曲線參數(shù),不同的芯片有不同的特性,而且無法改變。這樣將導(dǎo)致無法達(dá)到期望斷電多久以內(nèi)希望熱啟動(dòng),超過多久整個(gè)系統(tǒng)會(huì)初始化冷啟動(dòng)。
2)同一儀表在不同的功耗下會(huì)導(dǎo)致RAM電容放電快慢不同,從而導(dǎo)致熱啟動(dòng)的時(shí)間間隔一致性不好。由于主芯片和其它外圍電路共用同一電源系統(tǒng),所以系統(tǒng)在前一次斷電時(shí),外圍系統(tǒng)的工作狀態(tài)和耗電情況也將會(huì)影響到主芯片存儲(chǔ)單元RAM的數(shù)據(jù)保持時(shí)間長度。若斷電后有些電路處于導(dǎo)通狀態(tài),則整個(gè)系統(tǒng)的電就會(huì)很快耗盡,主芯片存儲(chǔ)單元RAM的數(shù)據(jù)丟失會(huì)很快;而若所有回路都處于低功耗的斷開狀態(tài),主芯片存儲(chǔ)單元RAM的數(shù)據(jù)丟失就會(huì)慢很多。這樣就勢(shì)必導(dǎo)致同樣一塊儀表在不同的外界條件下,判斷冷熱啟動(dòng)的斷電時(shí)間間隔長短不一,且無法掌控。
3)只是簡單地判斷RAM區(qū)間的首尾狀態(tài)和對(duì)一些數(shù)據(jù)的有效性。由于硬件的特性,每個(gè)RAM單元都是由幾個(gè)電容構(gòu)成的,但是在實(shí)踐中會(huì)發(fā)現(xiàn)它們的放電時(shí)間不完全一致,有的長些、有的短些。這樣在斷電時(shí)間處于冷熱啟動(dòng)臨界點(diǎn)時(shí),很容易出現(xiàn)首尾關(guān)鍵狀態(tài)標(biāo)志單元和那些重要數(shù)據(jù)的有效性都沒問題,但其中某些數(shù)據(jù)可能出現(xiàn)破壞,這時(shí)軟件仍然判斷且采用熱啟動(dòng),導(dǎo)致這些內(nèi)容被錯(cuò)誤地直接顯示出來了。
采用軟硬件配合法是為了解決上述純軟件法無法精準(zhǔn)控制冷熱啟動(dòng)時(shí)間間隔長短的問題。圖2為軟硬件配合法
檢測電路示意圖。圖3為軟硬件配合法系統(tǒng)算法框圖。
在整車電源出現(xiàn)短暫過低或丟失 (UBattery短時(shí)間跌落,見圖4)時(shí),儀表系統(tǒng)重設(shè)。
1)完成一般的系統(tǒng)初始化工作,而且在每次重新上電后開關(guān)口A處于斷開狀態(tài),確保端口B的電壓還是上次系統(tǒng)工作時(shí)系統(tǒng)給B點(diǎn)充電以及斷電后RC放電所剩余的電壓。
2)軟件首先讀取并計(jì)算出B點(diǎn)電壓UB,判斷UB是否≥Uo(Uo依據(jù)充放電電路RC特性,由所期望的冷熱時(shí)間間隔標(biāo)定出此時(shí)間所對(duì)應(yīng)的電壓值);若是,則表明系統(tǒng)斷電的時(shí)間間隔小于所期望的冷熱啟動(dòng)時(shí)間間隔,則熱啟動(dòng),系統(tǒng)不對(duì)這些關(guān)鍵RAM數(shù)據(jù)進(jìn)行重新初始化復(fù)位操作,保持現(xiàn)狀;若否,則表明斷電時(shí)間超過了冷熱啟動(dòng)的時(shí)間長度,系統(tǒng)對(duì)RAM所有數(shù)據(jù)進(jìn)行初始化。
3)系統(tǒng)對(duì)開關(guān)口A點(diǎn)電壓UA置為高,接通開關(guān),給監(jiān)測B點(diǎn)供電UB,為下一次判斷系統(tǒng)斷電系統(tǒng)復(fù)位后重新判斷B點(diǎn)的電壓作準(zhǔn)備。
4)系統(tǒng)進(jìn)入主程序循環(huán)。
1)RAM硬件特性可決定一個(gè)數(shù)據(jù)安全時(shí)間t0(RAM完全掉電,在t0內(nèi)RAM數(shù)據(jù)可確保沒有丟失)。
2)通過RC電路可得到一個(gè)安全電壓閾值:Uo=U0×e-t/R×C (t<t0, 并且t<自身的充放電時(shí)間)。U0為系統(tǒng)穩(wěn)定電壓 (由具體系統(tǒng)方案決定,如+5V等)。
3)由于重新上電后,圖2中RC回路是獨(dú)立的,這樣該RC電路就不受外圍電路的功耗影響,能確保同一儀表在各種工況下都能維持一致性。而且由于工作時(shí)的電壓UB已知,RC數(shù)值可控且不受外圍電路影響,可以根據(jù)RC的充放電特性或根據(jù)實(shí)際放電進(jìn)行標(biāo)定,這樣就可以精準(zhǔn)地設(shè)計(jì)出我們所期望的冷熱啟動(dòng)時(shí)間間隔閾值,能確保冷熱啟動(dòng)的精準(zhǔn)性。
若系統(tǒng)斷電時(shí)間在冷熱啟動(dòng)的臨界點(diǎn),純軟件方法會(huì)出現(xiàn)儀表系統(tǒng)誤判為熱啟動(dòng),從而導(dǎo)致在有些數(shù)據(jù)被異常破壞的情況下,這些錯(cuò)誤的信息被直接錯(cuò)誤地顯示出去了,造成系統(tǒng)的不可靠,引起不必要的麻煩和抱怨。而采用軟硬件相配合的方法,我們就可以先測試出系統(tǒng)冷熱啟動(dòng)的臨界點(diǎn),然后選擇一個(gè)合適的RC值對(duì)應(yīng)一個(gè)合理的時(shí)間間隔,和臨界時(shí)間保持足夠的安全余量,這樣就從根本上確保了冷熱啟動(dòng)方案的可靠性。新型冷熱啟動(dòng)技術(shù)已在上海汽車榮威550/350車型上予以應(yīng)用,值得推廣。