張麗
(陜西職業(yè)技術(shù)學(xué)院 陜西 西安 710100)
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,機(jī)車設(shè)備需要更好的﹑能夠識(shí)別早期故障的新技術(shù)為機(jī)車檢測(cè)提供服務(wù),以確保人身和設(shè)備的安全;維修部門也要求預(yù)知和跟蹤機(jī)車設(shè)備各組成部分的故障發(fā)展?fàn)顟B(tài),以便科學(xué)的安排檢修計(jì)劃,杜絕突發(fā)事故。為了解決這些問題,也需要對(duì)機(jī)車設(shè)備進(jìn)行實(shí)時(shí)檢測(cè)與故障診斷研究的支持。
內(nèi)燃機(jī)車在線檢測(cè)系統(tǒng)要對(duì)多個(gè)信號(hào)進(jìn)行采集。對(duì)多路信號(hào)采集通常有兩種方式,一種是每個(gè)通道使用一個(gè)獨(dú)立的采樣單元,每個(gè)通道可獨(dú)立地設(shè)定采樣頻率、采樣啟動(dòng)和停止時(shí)間、采樣數(shù)據(jù)的保存方式以及采樣單元和數(shù)據(jù)處理計(jì)算機(jī)之間的數(shù)據(jù)傳輸方式。這種方式一般用于較大的數(shù)據(jù)系統(tǒng),每個(gè)通道的采樣數(shù)據(jù)量較大,采樣頻率較高;另一種方式是多個(gè)通道采用共享A/D轉(zhuǎn)換器的方式,該方式下的各個(gè)通道共用一個(gè)多路轉(zhuǎn)換開關(guān),按某一時(shí)間間隔,依次將各個(gè)通道的信號(hào)輸入到采樣保持電路,再經(jīng)A/D轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換成計(jì)算機(jī)能夠處理的數(shù)字信號(hào)。
在內(nèi)燃機(jī)車在線監(jiān)測(cè)系統(tǒng)中,機(jī)車數(shù)據(jù)采集是其基礎(chǔ)環(huán)節(jié)。其基本任務(wù)是將機(jī)車設(shè)備中可以體現(xiàn)故障狀態(tài)的物理量采集出來,并傳給上位機(jī)進(jìn)行存儲(chǔ)、運(yùn)算和處理。系統(tǒng)中包括機(jī)車設(shè)備狀態(tài)量的選擇,傳感器輸出信號(hào)的傳輸,多路模擬信號(hào)A/D轉(zhuǎn)換采集電路設(shè)計(jì),多路數(shù)字信號(hào)采集電路設(shè)計(jì)。
此次設(shè)計(jì)的機(jī)車狀態(tài)監(jiān)測(cè)系統(tǒng)是整個(gè)“機(jī)車故障診斷系統(tǒng)”中的一個(gè)子系統(tǒng),整個(gè)“機(jī)車故障診斷系統(tǒng)”包括3個(gè)子系統(tǒng):機(jī)車狀態(tài)監(jiān)測(cè)系統(tǒng)、無線數(shù)據(jù)通信系統(tǒng)、數(shù)據(jù)處理與故障診斷系統(tǒng)。無線數(shù)據(jù)通信系統(tǒng)的作用是將本系統(tǒng)采集的設(shè)備運(yùn)行數(shù)據(jù)用無線的方式傳輸?shù)降孛娴恼{(diào)度室與檢修部門中的數(shù)據(jù)處理與故障診斷系統(tǒng)中;故障診斷系統(tǒng)的作用是將收到的數(shù)據(jù)進(jìn)行處理,分析機(jī)車的故障情況并)1=給出合理的施修方案,還對(duì)長(zhǎng)期積累的數(shù)據(jù)進(jìn)行綜合分析以給出機(jī)車設(shè)備最合理的檢修方案。
本系統(tǒng)的基本功能是在不影響機(jī)車原有設(shè)備正常工作的條件下選擇合適的監(jiān)測(cè)點(diǎn)與監(jiān)測(cè)量,在線檢測(cè)機(jī)車設(shè)備的狀態(tài)信息并進(jìn)行故障信息的錄波,以實(shí)現(xiàn)那些只在運(yùn)行過程中可以出現(xiàn)的故障的記錄,并實(shí)現(xiàn)這些信息與無線數(shù)據(jù)通信直接的通信。
硬件電路的總體流程圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 Whole system structure diagram
對(duì)64路I/O信號(hào)用8片74LS373分成8組然后分時(shí)地傳送給CPU;9路模擬量要求相互之間采用光耦隔離后傳送到CPU的A/D通道。
本次設(shè)計(jì)針對(duì)內(nèi)部電路的設(shè)計(jì),在選擇系統(tǒng)下位機(jī)CPU芯片時(shí),考慮到C8051系列容易調(diào)試、功能強(qiáng)大、使用簡(jiǎn)便,而在8051系列中C8051F021的使用最為簡(jiǎn)潔,運(yùn)行速度很快,功能也極為強(qiáng)大,所以被選做本次設(shè)計(jì)的CPU芯片。對(duì)9路模擬量電路進(jìn)行調(diào)理,首先對(duì)信號(hào)進(jìn)行分壓處理(要求分壓處理后保持在≤2.5 V),為了提高輸入阻抗以及保證不影響分壓采用跟隨器電路,然后對(duì)信號(hào)進(jìn)行濾波放大以及V/F轉(zhuǎn)換,產(chǎn)生頻率信號(hào),使用TLP521對(duì)其進(jìn)行光耦隔離,再把共地的頻率信號(hào)轉(zhuǎn)換回電壓信號(hào),然后再傳送到8051f021的A/D通道。而在64路I/O信號(hào)的處理過程中,64路I/O信號(hào)分別接入到8片74LS373中,即分為8組,然后將得到的8路I/O信號(hào)使用74LS138通過CPU對(duì)其進(jìn)行端口選通,分時(shí)的傳送到CPU中。
上述方案中,對(duì)9路模擬量的調(diào)理過程中,把頻率信號(hào)直接轉(zhuǎn)換為電壓信號(hào)傳送到A/D通道,其操作過程非常簡(jiǎn)單方便,在以后的調(diào)試中也較為容易,64路的I/O信號(hào)處理中,把64路I/O信號(hào)接入到8片74LS373中,利用74LS138進(jìn)行端口選通,整個(gè)方案保證了系統(tǒng)功能的完整,設(shè)計(jì)合理,調(diào)試方便,運(yùn)行也十分的穩(wěn)定,所以在系統(tǒng)硬件的設(shè)計(jì)中采用了上述方案。
下位機(jī)采用8051F021單片機(jī),開關(guān)量采用TLP521光耦將信號(hào)與單片機(jī)隔離。用8片74LS373將64路I/O信號(hào)分成8組,利用74LS138對(duì)74LS373進(jìn)行端口選通,分時(shí)地將64路I/O信號(hào)傳送給CPU。
本次設(shè)計(jì)針對(duì)內(nèi)部電路的設(shè)計(jì),在選擇系統(tǒng)下位機(jī)CPU芯片時(shí),考慮到C8051系列容易調(diào)試、功能強(qiáng)大、使用簡(jiǎn)便,而在8051系列中C8051F021的使用最為簡(jiǎn)潔,運(yùn)行速度很快,功能也極為強(qiáng)大,所以被選做本次設(shè)計(jì)的CPU芯片。對(duì)9路模擬量電路進(jìn)行調(diào)理,首先對(duì)信號(hào)進(jìn)行分壓處理(要求A/D轉(zhuǎn)換前保持在≤2.5 V),為了提高輸入阻抗以及保證不影響分壓采用跟隨器電路,然后對(duì)信號(hào)進(jìn)行濾波放大以及V/F轉(zhuǎn)換,產(chǎn)生頻率信號(hào),使用TLP521對(duì)其進(jìn)行光耦隔離,再把共地的頻率信號(hào)轉(zhuǎn)換回電壓信號(hào),然后再傳送到8051f021的A/D通道。而在64路I/O信號(hào)的處理過程中,64路I/O信號(hào)分別接入到8片74LS373中,即分為8組,然后將得到的8路I/O信號(hào)使用74LS138通過CPU對(duì)其進(jìn)行端口選通,分時(shí)的傳送到CPU中。
C8051F021器件是完全集成的混合信號(hào)系統(tǒng)級(jí)MCU芯片,具有32個(gè)數(shù)字I/O引腳。
具有片內(nèi)VDD監(jiān)視器、看門狗定時(shí)器和時(shí)鐘振蕩器的C8051F021是真正能獨(dú)立工作的片上系統(tǒng)。所有模擬和數(shù)字外設(shè)均可由用戶固定使能/禁止和配置。FLASH存儲(chǔ)器還具有在系統(tǒng)重新編程能力,可用于非易失行數(shù)據(jù)存儲(chǔ),并允許現(xiàn)場(chǎng)更新8051固件。
片內(nèi)JTAG調(diào)試電路允許使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品MCU進(jìn)行非侵入式(不占用片內(nèi)資源)、全速、在系統(tǒng)調(diào)試。該調(diào)試系統(tǒng)支持觀察和修改存儲(chǔ)器和寄存器,支持?jǐn)帱c(diǎn)、觀察點(diǎn)、單步及運(yùn)行和停機(jī)命令。在使用JTAG調(diào)試時(shí),所有的模擬和數(shù)字外設(shè)都可全功能運(yùn)行。
CIP-51有標(biāo)準(zhǔn)的8051程序和數(shù)據(jù)地址配置。它包括256字節(jié)的數(shù)據(jù)RAM,其中高128字節(jié)為雙映射。用間接尋址訪問通用RAM的高128字節(jié),用直接尋址訪問128字節(jié)的SFR地址空間。數(shù)據(jù)RAM的低128字節(jié)可用直接或間接尋址方式訪問。前32個(gè)字節(jié)為4個(gè)通用寄存器區(qū),接下來的16字節(jié)既可以按字節(jié)尋址也可以按位尋址。C8051F021中的CIP-51還另有位于外部數(shù)據(jù)存儲(chǔ)器地址空間的4K字節(jié)的RAM塊和一個(gè)可用于訪問外部數(shù)據(jù)存儲(chǔ)器的外部存儲(chǔ)器接口(EMIF)。這個(gè)片內(nèi)的4K字節(jié)RAM塊可以在整個(gè)64K外部數(shù)據(jù)存儲(chǔ)器地址空間中被尋址(以4K為邊界重疊)。外部數(shù)據(jù)存儲(chǔ)器地址空間可以只映射到片內(nèi)存儲(chǔ)器、只映射到片外存儲(chǔ)器、或兩者的組合(4K以下的地址指向片內(nèi),4K以上的地址指向EMIF)。EMIF可以被配置為地址/數(shù)據(jù)線復(fù)用方式或非復(fù)用方式。MCU的程序存儲(chǔ)器包含64K字節(jié)的FLASH。該存儲(chǔ)器以512字節(jié)為一個(gè)扇區(qū),可以在系統(tǒng)編程,且不需特別的外部編程電壓。從0xFE00到0xFFFF的512字節(jié)被保留,由工廠使用。還有一個(gè)位于地址0x10000-0x1007F的128字節(jié)的扇區(qū),該扇區(qū)可作為一個(gè)小的軟件常數(shù)表使用。
系統(tǒng)選用C8051F021為CPU,其芯片及外部電路圖如圖2所示,由圖可以看出,CPU外接電路中有一個(gè)晶振,一個(gè)復(fù)位RST,還有一組輔助指示燈,在3個(gè)輔助指示燈中,有一個(gè)電源指示燈,一個(gè)系統(tǒng)運(yùn)行指示燈,一個(gè)通信指示燈。其外部電路圖如圖2所示。
圖2 CPU及外部電路圖Fig.2 CPU and the external circuit diagram
本次軟件部分的設(shè)計(jì)側(cè)重于下位機(jī)的軟件設(shè)計(jì),下位機(jī)軟件采用C語言,利用keilC51編譯環(huán)境對(duì)64路開關(guān)量和9路模擬量進(jìn)行分時(shí)采集,然后打包以串行的方式發(fā)送給上位機(jī)。
主程序調(diào)用config函數(shù)對(duì)CPU進(jìn)行設(shè)置,主要設(shè)置看門狗、A/D轉(zhuǎn)換、串口初始化、中斷初始化等,然后調(diào)用初始化函數(shù),主要設(shè)置程序運(yùn)行狀態(tài)標(biāo)志變量、通訊標(biāo)志變量、各模擬量閾值等,之后開始對(duì)64路開關(guān)量和9路模擬量進(jìn)行分時(shí)采集。將64路數(shù)字量分成8組,用8個(gè)74LS373采集,然后用74LS138通過CPU對(duì)8個(gè)74LS373進(jìn)行端口選通,分時(shí)地將64路I/O信號(hào)傳送給CPU;在整個(gè)系統(tǒng)中,利用9路隔離型模擬量信號(hào)采集電路,按其信號(hào)性質(zhì)的不同,共分為5大類,分別是2路1.5 V直流電壓電路,1路900 V交流電壓電路,1路6 V(1 WHz)交流電壓信號(hào),2路10 mA電流電路,3路110 V直流電壓電路。對(duì)9路模擬量的調(diào)理過程中,把頻率信號(hào)直接轉(zhuǎn)換為電壓信號(hào)傳送到A/D通道,然后發(fā)送給CPU。在采集結(jié)束后,還會(huì)有一個(gè)延時(shí)程序。經(jīng)過多次數(shù)據(jù)采集無誤后,將數(shù)據(jù)打包發(fā)送給上位機(jī)。
本次軟件設(shè)計(jì)的采集程序包括2部分:64路數(shù)字量的采集和9路模擬量的采集。對(duì)于數(shù)字量的采集,將64路數(shù)字量分成8組,用8個(gè)74LS373進(jìn)行采集,然后用74LS138通過CPU對(duì)8個(gè)74LS373進(jìn)行端口選通,分時(shí)地將64路I/O信號(hào)傳送給CPU。在這里,將74LS138的3個(gè)輸入端由A,B,C表示,設(shè)為000到111八個(gè)狀態(tài),分別對(duì)應(yīng)8個(gè)74LS373,由74LS138通過CPU對(duì)8個(gè)74LS373進(jìn)行端口選通,將采集到的值發(fā)送給CPU。
64路數(shù)字量采集程序如下:
9路模擬量要求相互隔離,首先對(duì)電壓信號(hào)分壓處理,為了提高輸入阻抗,采用跟隨器電路;然后對(duì)信號(hào)進(jìn)行濾波放大處理,采用V/F得到頻率信號(hào)并用TLP521光耦將其隔離;隔離后再將共地的頻率信號(hào)轉(zhuǎn)換為電壓信號(hào),傳送到CPU的A/D通道。在整個(gè)系統(tǒng)中,利用9路隔離型模擬量信號(hào)采集電路,按其信號(hào)性質(zhì)的不同,共分為5大類,分別是2路1.5 V直流電壓電路,1路900 V交流電壓電路,1路6 V(1 WHz)交流電壓信號(hào),2路10 mA電流電路,3路110 V直流電壓電路。對(duì)9路模擬量的調(diào)理過程中,把頻率信號(hào)直接轉(zhuǎn)換為電壓信號(hào)傳送到A/D通道,然后發(fā)送給CPU。
模擬量一共需要采集9種,分別是油溫、水溫、輔壓、次發(fā)電壓、L電壓、F電壓、燃油溫度、滑油壓力和轉(zhuǎn)速。這9路模擬量的采集程序大同小異,就拿油溫采集程序加以說明,對(duì)于油溫的采集,采用了多次采集取平均值的方法。9路模擬量采集程序如下:
本段程序是9路模擬量采集中的油溫采集程序,采取了采集32次取平均值的方法。首先進(jìn)行config設(shè)置,然后對(duì)油溫參數(shù)進(jìn)行隔離、分時(shí)采集,經(jīng)過數(shù)據(jù)處理后,進(jìn)入一個(gè)判斷程序。只有在采集次數(shù)達(dá)到32次時(shí),程序結(jié)束;當(dāng)采集次數(shù)不足32次時(shí),循環(huán)采集直到采夠32次為止。
該測(cè)試系統(tǒng)采用具有高速數(shù)據(jù)采集卡的便攜式測(cè)試計(jì)算機(jī)為硬件平臺(tái),軟件設(shè)計(jì)采用模塊化設(shè)計(jì)思想,提高了系統(tǒng)的可靠性和維護(hù)性。該測(cè)試系統(tǒng)已用于某型內(nèi)燃機(jī)車進(jìn)行測(cè)試,實(shí)際應(yīng)用表明該測(cè)試系統(tǒng)具有測(cè)試準(zhǔn)確、穩(wěn)定可靠、人機(jī)界面友好等特點(diǎn),達(dá)到了設(shè)計(jì)要求。
[1]郭天祥.51單片機(jī)C語言教程[M].北京:電子工業(yè)出版社,2005.
[2]曾鵬,王中鋒.分布式無線傳感器網(wǎng)絡(luò)通信協(xié)議研究[J].通信學(xué)報(bào),2007,25(10):102-11.ZENG Peng,WANG Zhong-feng.Research of distributed communication protocol for wireless sensor networks[J].Journal Of Communication.2008,29(2):457-459.
[3]鄔正義,范瑜,徐惠鋼,等.現(xiàn)代無線通信技術(shù)[M].北京:高等教育出版社,2006.
[4]王建新,楊世鳳,隋美麗,等.Labwindows/CVI測(cè)試技術(shù)及工程應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2006.
[5]周承仙,李仰軍,武錦輝,等.基于Labwindows/CVI的多路高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2007,30(12):66-69.ZHOU Cheng-xian,LI Yang-jun,WU Jin-hui,et al.Design for multi-channel high speed data acquisition system based on Labwindows/CVI[J].Electronic Measurement Technology,2007,30(12):66-69.
[6]關(guān)萍萍,翟正軍,姜紅梅,等.基于LabWindows/CVI測(cè)控系統(tǒng)通用報(bào)表的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(1):203-205.GUAN Ping-ping,ZHAI Zheng-jun,JIANG Hong-mei,et al.Design and implementation of universal control system report based on Labwindows/CVI[J].Computer Engineering and Design,2010,131(1):203-205.