摘 要:本文一種閉環(huán)的胎壓力監(jiān)測(cè)軟件系統(tǒng)程序,該設(shè)計(jì)由總體方案、系統(tǒng)軟件流程、傳感器軟件設(shè)計(jì)、監(jiān)控終端軟件設(shè)計(jì)、性能分析。經(jīng)實(shí)際測(cè)試表明:該系統(tǒng)監(jiān)測(cè)的數(shù)據(jù)可靠,更新及時(shí),軟件系統(tǒng)能有效的保持汽車(chē)收集信息的實(shí)時(shí)性及完整性,有很強(qiáng)的實(shí)用性。
關(guān)鍵詞:閉環(huán)控制系統(tǒng);C語(yǔ)言;監(jiān)控終端;胎壓傳感器
1 引言
1.1 系統(tǒng)總體方案
系統(tǒng)軟件流程上使用了狀態(tài)機(jī)的簡(jiǎn)易實(shí)時(shí)系統(tǒng)控制,系統(tǒng)接收四輪傳感器信號(hào)、發(fā)送控制信息及顯示信息都采用了狀態(tài)機(jī)的軟件編寫(xiě)方案,內(nèi)容之間相互不沖突,主從接收發(fā)送器溝通流暢及時(shí)。狀態(tài)機(jī)的軟件編程可代替龐大的實(shí)時(shí)操作系統(tǒng)在軟硬件上的資源浪費(fèi)。在硬件上沿用了普通實(shí)時(shí)胎壓監(jiān)測(cè)系統(tǒng),即四輪輪胎各放置一個(gè)胎壓傳感器,通過(guò)紐扣電池為傳感器供電,傳感器發(fā)送無(wú)線(xiàn)電信息至位于駕駛室常電供電的監(jiān)控終端,或是放置于控制臺(tái)監(jiān)控與顯示一體的監(jiān)控終端,通過(guò)太陽(yáng)能供電。
1.2 系統(tǒng)軟件流程
在該軟件設(shè)計(jì)系統(tǒng)中,關(guān)閉了傳感器的加速度觸發(fā)裝置,正常工作時(shí)只是由監(jiān)視器主機(jī)進(jìn)行高頻喚醒,以便節(jié)省功耗和簡(jiǎn)化軟件。而加速度及振動(dòng)觸發(fā)裝置設(shè)置于監(jiān)視器主機(jī)上,在車(chē)輛啟動(dòng)發(fā)動(dòng)機(jī)后,觸發(fā)啟動(dòng)。為了排除誤動(dòng)作,增加了振動(dòng)確認(rèn)功能,確認(rèn)啟動(dòng)發(fā)動(dòng)機(jī)后進(jìn)行開(kāi)機(jī),主機(jī)初始化完成后即發(fā)送高頻喚醒信號(hào),喚醒位于輪胎上的胎壓傳感器。在發(fā)動(dòng)機(jī)啟動(dòng)三秒后即可顯示輪胎胎壓及溫度值。傳感器接收喚醒信號(hào)后,即發(fā)送含有胎壓和溫度的訊息,訊息包含了從機(jī)碼傳送值及校驗(yàn)碼等。當(dāng)傳感器未接收到喚醒信號(hào)或喚醒失敗時(shí),根據(jù)狀態(tài)機(jī)的處理機(jī)制,會(huì)在合適的時(shí)間再次發(fā)送點(diǎn)對(duì)點(diǎn)喚醒信號(hào),如果依然未收到反饋信息,則認(rèn)為傳感器無(wú)電或死機(jī),當(dāng)進(jìn)入故障處理狀態(tài)時(shí),監(jiān)控主機(jī)則先嘗試軟件重啟傳感器,如果不成功則在顯示器上提示進(jìn)行人工排故,車(chē)主拿監(jiān)控主機(jī)靠近對(duì)應(yīng)傳感器即可,監(jiān)控主機(jī)會(huì)和傳感器進(jìn)行低頻通訊,進(jìn)一步自動(dòng)處理故障。
1.3 傳感器軟件設(shè)計(jì)
四輪輪胎各放置了一個(gè)通過(guò)紐扣電池為傳感器供電的胎壓傳感器,通過(guò)發(fā)送無(wú)線(xiàn)電信息至監(jiān)控終端,考慮到傳感器降低功耗以加強(qiáng)胎壓傳感器的使用壽命,所以考慮關(guān)閉加速度偵測(cè)功能以減少長(zhǎng)時(shí)間的加速度偵測(cè)。
為了保障系統(tǒng)通信的可靠性,傳感器程序以準(zhǔn)確有效發(fā)送氣壓信息、溫度信息為目的,在傳感器啟用開(kāi)始時(shí),程序上了做了初次開(kāi)機(jī)的分支設(shè)計(jì),在主機(jī)與傳感器進(jìn)行低頻通訊后,完成了注冊(cè)信息,傳感器的發(fā)送時(shí)間,以及導(dǎo)入啟用時(shí)間。結(jié)束后設(shè)立標(biāo)志位并且重新啟動(dòng)。在車(chē)輛啟動(dòng)發(fā)動(dòng)機(jī)后,由監(jiān)控主機(jī)振動(dòng)感知啟動(dòng),并發(fā)送三幀高頻喚醒訊號(hào),以保證傳感器接收到喚醒信號(hào),在高頻喚醒時(shí),因?yàn)榭赡苡须姶鸥蓴_等不可控因素,或者是其他設(shè)備的無(wú)線(xiàn)信號(hào)與該喚醒信號(hào)相仿,在喚醒訊號(hào)中加入啟用時(shí)間客戶(hù)碼等多位的校驗(yàn)機(jī)制,以保證傳感器僅被與之匹配的監(jiān)控主機(jī)喚醒。
傳感器被喚醒后,即在質(zhì)數(shù)倍的延時(shí)時(shí)間后,發(fā)送兩幀數(shù)據(jù)訊號(hào),經(jīng)過(guò)另一質(zhì)數(shù)倍的延時(shí)時(shí)間,另一傳感器發(fā)送兩幀數(shù)據(jù);以此循環(huán)往復(fù),采用質(zhì)數(shù)倍發(fā)送可減少胎壓傳感器間的信號(hào)沖突。傳感器發(fā)送完畢則選擇休眠以節(jié)省功耗。該系統(tǒng)也保留了低頻喚醒功能,即通過(guò)監(jiān)控終端與傳感器的近距離接觸傳輸數(shù)據(jù),主要傳輸?shù)臄?shù)據(jù)是傳感器的系統(tǒng)設(shè)置,比如定時(shí)的時(shí)間,啟動(dòng)時(shí)間,ID地址編碼等信息。
1.4 監(jiān)控終端軟件設(shè)計(jì)
如果輪胎實(shí)時(shí)氣壓和溫度不在標(biāo)準(zhǔn)輪胎氣壓的范圍,則監(jiān)控終端產(chǎn)生報(bào)警來(lái)提示駕駛?cè)藛T采取必要的預(yù)防措施。胎壓傳感器監(jiān)測(cè)的胎溫胎壓實(shí)時(shí)數(shù)據(jù),傳送到汽車(chē)儀表盤(pán)進(jìn)行實(shí)時(shí)數(shù)據(jù)顯示。
為了實(shí)現(xiàn)監(jiān)控終端可以穩(wěn)定可靠的傳輸數(shù)據(jù),在軟件程序上不卡機(jī)死機(jī),盡可能的規(guī)避數(shù)據(jù)傳輸失敗,該設(shè)計(jì)在監(jiān)控終端上選用了狀態(tài)機(jī)的方案,簡(jiǎn)化了實(shí)時(shí)操作系統(tǒng)的繁雜,程序清晰了然,不需要復(fù)雜計(jì)算過(guò)程,只是按部就班執(zhí)行狀態(tài)信息,根據(jù)狀態(tài)信息進(jìn)行下一步的程序軌跡。狀態(tài)機(jī)的程序結(jié)構(gòu)將軟件程序分為若干個(gè)狀態(tài)值:觸發(fā)啟動(dòng)后的驗(yàn)證狀態(tài)、發(fā)送傳感器高頻啟動(dòng)訊號(hào)狀態(tài)、接收傳感器訊號(hào)狀態(tài)、接收傳感器訊號(hào)異常狀態(tài)、低頻喚醒處理狀態(tài)。觸發(fā)啟動(dòng)后的驗(yàn)證狀態(tài)意在規(guī)避誤啟動(dòng)或選擇是否啟動(dòng),最終確認(rèn)結(jié)果設(shè)立完成標(biāo)志位,程序進(jìn)入下一狀態(tài)的甄別;發(fā)送傳感器高頻啟動(dòng)訊號(hào)狀態(tài)意在計(jì)算時(shí)間,在正確的時(shí)間點(diǎn)上發(fā)送高頻啟動(dòng)信號(hào),在該設(shè)計(jì)中的傳感器空閑時(shí)間設(shè)計(jì)為休眠,所以在處理完數(shù)據(jù)或接受完傳感器信息,需要在正確的時(shí)間里發(fā)送再次啟動(dòng)的信號(hào);接收傳感器訊號(hào)狀態(tài)意在在一定的時(shí)間里接收傳感器訊號(hào),如果長(zhǎng)時(shí)間未接收完全或者是接收不到,則設(shè)立相應(yīng)的狀態(tài)位進(jìn)入另一狀態(tài);接收傳感器訊號(hào)異常狀態(tài)是在在與傳感器通訊失敗后進(jìn)行的處理程序;低頻喚醒處理狀態(tài)意在初次開(kāi)機(jī)或車(chē)主處理故障時(shí)使用;程序在幾個(gè)狀態(tài)間不斷的變動(dòng),減少了實(shí)時(shí)程序的復(fù)雜度。
在低頻喚醒功能中,監(jiān)控終端的狀態(tài)機(jī)處理機(jī)制進(jìn)入低頻喚醒處理狀態(tài),通過(guò)對(duì)單一的傳感器低頻通訊,完成對(duì)傳感器ID的匹配、動(dòng)態(tài)設(shè)置、定時(shí)時(shí)間設(shè)置、啟用時(shí)間等設(shè)置,在數(shù)據(jù)傳輸上采用了4個(gè)字節(jié)的地址,1個(gè)壓力或溫度字節(jié),省去了位置字節(jié),采用一個(gè)字節(jié)的校驗(yàn)值;采用短碼,一則減少發(fā)送接收時(shí)間,另外減輕程序計(jì)算量。
2 結(jié)束語(yǔ)
該胎壓傳感器軟件設(shè)計(jì)的思路最初來(lái)源于電腦監(jiān)視器軟件程序,將電腦顯示訊號(hào)實(shí)時(shí)完整的呈現(xiàn)在屏幕上是電腦監(jiān)視器軟件程序的最終目的,兼顧一些亮度調(diào)節(jié)等基本功能,基于該軟件程序應(yīng)用狀態(tài)機(jī)程序結(jié)構(gòu)的穩(wěn)定可靠,應(yīng)用于類(lèi)似的胎壓傳感器實(shí)時(shí)系統(tǒng)中,初步運(yùn)行中性能正常可靠。
參考文獻(xiàn):
[1]史蒂芬·普拉達(dá).C Primer Plus[M].人民郵電出版社.
[2]喬恩·本特利.編程珠璣[M].人民郵電出版社.
[3]馮永忠.汽車(chē)輪胎壓力監(jiān)測(cè)系統(tǒng)[M].機(jī)械工業(yè)出版社.
項(xiàng)目名稱(chēng):本文系2018年度廣西高校中青年教師基礎(chǔ)能力提升的立項(xiàng)項(xiàng)目(項(xiàng)目編號(hào):2018KY1032)。
作者簡(jiǎn)介:林松(1981-),男,廣西浦北人,本科,講師/工程師,主要研究方向:汽車(chē)職業(yè)教育、汽車(chē)結(jié)構(gòu)原理與維修。