燃料開(kāi)關(guān)測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
當(dāng)測(cè)試系統(tǒng)的TX端發(fā)送高電平時(shí),A點(diǎn)為高電平,燃料開(kāi)關(guān)Fuel Switch信號(hào)線也將接收到高電平,同時(shí),測(cè)試系統(tǒng)的RX端也會(huì)接收到高電平。同理,當(dāng)測(cè)試系統(tǒng)的TX端發(fā)送低電平時(shí),燃料開(kāi)關(guān)FuelSwitch信號(hào)線也將接收到低電平,同時(shí),測(cè)試系統(tǒng)的RX端也會(huì)接收到低電平。
當(dāng)燃料開(kāi)關(guān)向測(cè)試系統(tǒng)發(fā)送應(yīng)答信息時(shí),測(cè)試系統(tǒng)的發(fā)送端TX置高電平,則接收端RX將收到燃料開(kāi)關(guān)發(fā)送的信息。
如果燃料開(kāi)關(guān)與測(cè)試系統(tǒng)同時(shí)發(fā)送信息時(shí)將出錯(cuò),因此,測(cè)試系統(tǒng)的串口是處于全雙工狀態(tài),而燃料開(kāi)關(guān)的信號(hào)端是處于半雙工狀態(tài),這樣就實(shí)現(xiàn)了全雙工至半雙工的轉(zhuǎn)換。本文引用地址:http://www.butianyuan.cn/article/195572.htm
3 測(cè)試系統(tǒng)控制模塊
控制模塊是整個(gè)測(cè)試系統(tǒng)的核心部分,它利用單片機(jī)P89LPC938來(lái)控制測(cè)試系統(tǒng)。
P89LPC938有最少23個(gè)I/O口,選擇片內(nèi)振蕩和片內(nèi)復(fù)位時(shí)可多達(dá)26個(gè)I/O口;8輸入多路10位A/D轉(zhuǎn)換器;2個(gè)模擬比較器,可選擇輸入和參考源;2個(gè)16位定時(shí)/計(jì)數(shù)器(每一個(gè)定時(shí)器均可設(shè)置為溢出時(shí)觸發(fā)相應(yīng)端口輸出或作為PWM輸出)。
該模塊要完成的任務(wù)是對(duì)燃料開(kāi)關(guān)的功能進(jìn)行測(cè)試、過(guò)壓保護(hù)與監(jiān)測(cè)以及頻率檢測(cè)。下面對(duì)這三個(gè)部分做詳細(xì)講述。
3.1 燃料開(kāi)關(guān)功能測(cè)試
上面提到燃料開(kāi)關(guān)的主要功能是燃料容量顯示、蜂鳴器報(bào)警,燃料切換及指示燈亮度調(diào)節(jié)等。要保證產(chǎn)品的質(zhì)量,需要對(duì)燃料開(kāi)關(guān)進(jìn)行全功能測(cè)試。
測(cè)試人員通過(guò)PC機(jī)向控制單元發(fā)送功能測(cè)試命令,所有命令組成了一個(gè)指令集,單片機(jī)根據(jù)檢測(cè)到的命令信號(hào)來(lái)判斷需要對(duì)產(chǎn)品的哪項(xiàng)功能進(jìn)行檢測(cè),據(jù)此把執(zhí)行該功能的命令序列發(fā)送給燃料開(kāi)關(guān)。因此,每條指令信息中要包含該項(xiàng)功能測(cè)試的全部信息。單片機(jī)通過(guò)通信接口的TX發(fā)送端向燃料開(kāi)關(guān)發(fā)送上述命令序列,產(chǎn)品收到有命令信號(hào)序列后,會(huì)先進(jìn)行校驗(yàn)以確保收到的命令是正確的。一旦確認(rèn)收到的正確的命令,開(kāi)關(guān)產(chǎn)品會(huì)反饋命令確認(rèn)信號(hào)給測(cè)試系統(tǒng),測(cè)試系統(tǒng)因此可以確定所發(fā)出的命令序列已經(jīng)被正確執(zhí)行,從而實(shí)現(xiàn)一些有效測(cè)試。
根據(jù)設(shè)計(jì)要求,一個(gè)命令序列由四個(gè)字節(jié)組成,分別是CMD命令,數(shù)據(jù)D1,數(shù)據(jù)D2和校驗(yàn)信號(hào)C。CMD命令用于標(biāo)識(shí)需要執(zhí)行的指令類型,即是哪一項(xiàng)功能檢測(cè),D1,D2提供執(zhí)行該命令所必須的輔助數(shù)據(jù),例如如果需要測(cè)試報(bào)警若能,數(shù)據(jù)字節(jié)可以用來(lái)指定以什么頻率、音調(diào)、音高、持續(xù)時(shí)間等參數(shù),校驗(yàn)字節(jié)用于燃料開(kāi)關(guān)確認(rèn)該命令序列是否有效以免通信錯(cuò)誤造成誤動(dòng)作。下面以燃料容量顯示為例,給出測(cè)試的過(guò)程:
(1)測(cè)試人員從PC 機(jī)通過(guò)串口向測(cè)試系統(tǒng)發(fā)送燃料容量顯示檢測(cè)信號(hào)。燃料開(kāi)關(guān)是用多個(gè)LED燈指示燃料的容量,“volume”代表容量測(cè)試命令。
(2)單片機(jī)P89LPC938通過(guò)串口接收到“volume”命令,從指令集中提取相應(yīng)的指令信號(hào)。圖4給出單片機(jī)向燃料開(kāi)關(guān)發(fā)出的一條燃料容量顯示指令。
CMD為0000 0001,表明此指令為燃料容量顯示功能測(cè)試指令。當(dāng)對(duì)蜂鳴器報(bào)警功能進(jìn)行測(cè)試時(shí),CMD為0000 0010;對(duì)燃料切換功能進(jìn)行測(cè)試時(shí),對(duì)應(yīng)的CMD為0000 0011;對(duì)指示燈亮度調(diào)節(jié)功能進(jìn)行測(cè)試時(shí),CMD為0000 0100等,它們?cè)陂_(kāi)關(guān)設(shè)計(jì)時(shí)就做出了約定。D1為0000 1000,表示對(duì)LED4進(jìn)行測(cè)試,即D1的每個(gè)位對(duì)應(yīng)一個(gè)LED,置1時(shí)表示對(duì)相應(yīng)的LED進(jìn)行測(cè)試。該字節(jié)對(duì)于不同的測(cè)試內(nèi)容具有不同的意義,如對(duì)蜂鳴器報(bào)警功能測(cè)試時(shí),D1指示蜂鳴器報(bào)警次數(shù),即0000 0101表示報(bào)警5次;對(duì)燃料切換功能測(cè)試時(shí)D1為0或1,分別代表一種燃料;在指示燈亮度調(diào)節(jié)功能測(cè)試時(shí)D1又被用于表示顯示元件的亮度,如1111 1111表示最大亮度。
D2通常會(huì)是對(duì)D1所指對(duì)象量的進(jìn)一步規(guī)定。對(duì)于圖4所示的燃料容量測(cè)試,D2的值為0000 1001表示LED4將閃爍9次。其他測(cè)試狀態(tài)也相似,例如對(duì)蜂鳴器報(bào)警功能而言,D2表示對(duì)蜂鳴器基頻信號(hào)的分頻數(shù)。C是校準(zhǔn)字節(jié),0000 0001表示對(duì)數(shù)據(jù)D1,D2做異或處理。
(3)單片機(jī)將上述命令信號(hào)發(fā)送給燃料開(kāi)關(guān)的信號(hào)端,通過(guò)校驗(yàn),燃料開(kāi)關(guān)判斷信號(hào)是否有效,如果有效就會(huì)將單片機(jī)發(fā)送來(lái)的信號(hào)進(jìn)行處理后重新發(fā)送給單片機(jī)作為測(cè)試指令已經(jīng)被確認(rèn)的反饋。若無(wú)效,將放棄此次測(cè)試。
(4)測(cè)試人員判斷LED功能完好后可以通過(guò)PC機(jī)保存測(cè)試結(jié)果。
其他功能測(cè)試的實(shí)現(xiàn)與上述過(guò)程相仿,不再贅述。
評(píng)論