本發(fā)明屬于自動(dòng)控制技術(shù)領(lǐng)域,具體涉及一種設(shè)備等效檢測(cè)裝置。
背景技術(shù):
對(duì)工作可靠性要求非常高的一類設(shè)備,在正式啟用之前,需要檢測(cè)其通信是否正常;啟用后,需要檢測(cè)其控制是否正常。因?yàn)樾枰獧z測(cè)的內(nèi)容和要求與普通的設(shè)備檢測(cè)裝置有較大的不同,此不適合直接采用正在使用的設(shè)備進(jìn)行對(duì)接。迫切需要一種設(shè)備等效檢測(cè)裝置,使得設(shè)備控制系統(tǒng)根據(jù)設(shè)備等效檢測(cè)裝置的狀態(tài)來(lái)判斷自身發(fā)出的指令和對(duì)指令的響應(yīng)是否正確。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種設(shè)備等效檢測(cè)裝置,其目的在于,通過(guò)等效檢測(cè)裝置的狀態(tài)來(lái)判斷設(shè)備發(fā)出指令和指令響應(yīng)是否正確。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種設(shè)備等效檢測(cè)裝置,包括處理器dsp、譯碼器cpld、電源、串口通信接口和電纜接口;
處理器dsp通過(guò)串口通信接口外接設(shè)備控制系統(tǒng)的控制指令輸出端,處理器dsp連接譯碼器cpld,譯碼器cpld通過(guò)電纜接口外接設(shè)備控制系統(tǒng)的開出量輸出端;電源分別連接處理器dsp和譯碼器cpld;
處理器dsp通過(guò)串口通信接口接收設(shè)備控制系統(tǒng)的控制指令,解析控制指令,根據(jù)控制指令解析結(jié)果給出相關(guān)硬件開出量,然后回送控制指令幀給設(shè)備控制系統(tǒng);設(shè)備控制系統(tǒng)收到回送的控制指令后采集自身的硬件開入量,據(jù)此判斷控制指令的發(fā)送和接收是否正常;
譯碼器cpld通過(guò)電纜接口接收設(shè)備控制系統(tǒng)的硬件開出量,譯碼器cpld用于對(duì)收到的硬件開出量進(jìn)行譯碼得到硬件開入量;處理器dsp采集譯碼器cpld譯碼得到的硬件開入量,根據(jù)預(yù)定聯(lián)動(dòng)關(guān)系得到對(duì)應(yīng)的硬件開出量,并將其傳送給譯碼器cpld;譯碼器cpld將處理器dsp輸出的硬件開出量通過(guò)電纜接口返回給設(shè)備控制系統(tǒng),設(shè)備控制系統(tǒng)對(duì)收到的硬件開出量譯碼后得到自身的硬件開入量,進(jìn)而據(jù)此判斷指令執(zhí)行是否正常。
總體而言,通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比:
本發(fā)明避免了對(duì)設(shè)備直接測(cè)試,通過(guò)等效檢測(cè)裝置的狀態(tài)來(lái)間接判斷設(shè)備發(fā)出指令和指令響應(yīng)是否正確。本發(fā)明的等效檢測(cè)裝置采用模塊化設(shè)計(jì),各模塊功能獨(dú)立,更利于布置,提高裝置內(nèi)部空間使用率;自動(dòng)化程度高、可靠性高、實(shí)時(shí)性高,可通過(guò)多個(gè)渠道來(lái)檢測(cè)控制系統(tǒng)的通信狀態(tài);本發(fā)明的等效檢測(cè)裝置沒(méi)有界面操作,上電就能自動(dòng)運(yùn)行,不需要其他輔助設(shè)備進(jìn)行測(cè)試,極大地方便測(cè)試工作。通用性好,測(cè)試設(shè)備不受限制,測(cè)試指令可多樣化,操作流程簡(jiǎn)單,具有較好的應(yīng)用價(jià)值和推廣前景。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例硬件邏輯框圖。
圖2為本發(fā)明實(shí)施例軟件邏輯框圖。
圖3為本發(fā)明實(shí)施例主程序模塊邏輯框圖。
圖4為本發(fā)明實(shí)施例串口中斷控制模塊邏輯框圖。
圖5為本發(fā)明實(shí)施例定時(shí)中斷控制模塊邏輯框圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施實(shí)例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
圖1為本發(fā)明裝置實(shí)施例硬件結(jié)構(gòu)圖。設(shè)備等效檢測(cè)裝置包括處理器dsp、譯碼器cpld、電源、串口通信接口、電纜接口、sdram和flash芯片。在本實(shí)施例中,串口通信接口優(yōu)選422通信接口。
在檢測(cè)裝置上電運(yùn)行的過(guò)程中,當(dāng)檢測(cè)裝置通過(guò)電纜接口收到控制系統(tǒng)發(fā)出的控制指令時(shí),指令被傳給422通信接口。通信接口收到數(shù)據(jù)以后觸發(fā)dsp的外部中斷引腳,dsp加載的軟件就會(huì)調(diào)用外部中斷函數(shù)處理收到的數(shù)據(jù),然后根據(jù)通信協(xié)議對(duì)控制指令進(jìn)行解析和執(zhí)行動(dòng)作。本實(shí)例的422串口通信采用0x10幀的方式進(jìn)行發(fā)送,通信更加穩(wěn)定,魯棒性更強(qiáng);
當(dāng)檢測(cè)裝置通過(guò)電纜接口收到控制系統(tǒng)發(fā)出的硬件開出量指令時(shí),指令被傳給cpld進(jìn)行譯碼得到硬件開入量。dsp加載的軟件實(shí)時(shí)采集硬件開入量數(shù)據(jù),并根據(jù)開入量和開出量的對(duì)應(yīng)關(guān)系將相應(yīng)的開出量發(fā)給控制系統(tǒng)。對(duì)硬件開入量和硬件開出量的操作依靠cpld和dsp來(lái)共同完成的??刂葡到y(tǒng)通過(guò)電纜網(wǎng)將硬件開入量發(fā)送給檢測(cè)裝置以后,cpld軟件通過(guò)內(nèi)部的對(duì)應(yīng)關(guān)系將電纜網(wǎng)上不同引腳的電壓值翻譯成不同地址的數(shù)據(jù)存放在cpld內(nèi)部的16位寄存器中。當(dāng)需要獲取檢測(cè)裝置的開入量時(shí),dsp軟件就通過(guò)與cpld相連接的數(shù)據(jù)線和地址線找到相對(duì)應(yīng)的cpld內(nèi)部寄存器并取出里面存放的值;當(dāng)需要將值寫入地址時(shí),dsp軟件先找到cpld內(nèi)部寄存器然后將值存放到寄存器中,cpld會(huì)將值轉(zhuǎn)換成不同引腳的高低電平通過(guò)電纜網(wǎng)發(fā)送出去,達(dá)到對(duì)地址的讀寫目的。
電源為處理器dsp、譯碼器cpld供電。flash芯片為檢測(cè)裝置軟件提供存儲(chǔ)功能,檢測(cè)裝置掉電以后軟件不會(huì)被擦除。sdram芯片為檢測(cè)裝置軟件運(yùn)行時(shí)所產(chǎn)生的各種變量提供臨時(shí)存放空間,檢測(cè)裝置掉電以后數(shù)據(jù)會(huì)丟失。檢測(cè)裝置上電以后,硬件會(huì)將軟件從flash拷貝到dsp內(nèi)部sram,然后從sram的起始地址開始運(yùn)行,運(yùn)行中產(chǎn)生的各種變量都存放在sdram芯片中。
請(qǐng)參見圖3,設(shè)備控制系統(tǒng)發(fā)出控制指令時(shí),同時(shí)通過(guò)422通信接口將控制指令發(fā)送給檢測(cè)裝置,檢測(cè)裝置軟件解析控制指令,根據(jù)控制指令結(jié)果執(zhí)行相關(guān)動(dòng)作,并將執(zhí)行結(jié)果通過(guò)串口通信數(shù)據(jù)幀的方式返回給設(shè)備控制系統(tǒng)。檢測(cè)裝置通過(guò)通信芯片收到控制指令后,檢測(cè)裝置的dsp會(huì)觸發(fā)外部中斷,檢測(cè)裝置軟件調(diào)用外部中斷函數(shù)接收控制指令幀,然后通過(guò)0x10幀協(xié)議取出控制指令幀,并進(jìn)行crc校驗(yàn)。校驗(yàn)完成后根據(jù)事先擬定好的通信協(xié)議進(jìn)行解幀和發(fā)送相應(yīng)的開出量,最后將收到的控制指令幀回送給控制系統(tǒng),以便告知控制系統(tǒng)該幀的處理已經(jīng)完畢。設(shè)備控制系統(tǒng)收到檢測(cè)裝置回送的控制指令幀后會(huì)采集其自身的開入量狀態(tài),進(jìn)而判斷控制指令幀的發(fā)送和接收流程是否正常。具體的操作見實(shí)例。
設(shè)備控制系統(tǒng)通過(guò)電纜網(wǎng)收到高低電平以后也是先經(jīng)過(guò)cpld譯碼,將電纜中的高低電平轉(zhuǎn)換為16位數(shù)值存放在cpld內(nèi)部寄存器中,等待控制系統(tǒng)的主芯片來(lái)采集。采集到數(shù)值以后就根據(jù)協(xié)議判斷數(shù)值是否正常。
為防止因元器件接觸瞬間引起的電平不斷變化,在采集硬件開入量信號(hào)時(shí),本發(fā)明軟件做了一個(gè)算法的處理:在采集硬件信號(hào)時(shí),本軟件采集多次譬如三次,并判斷多次的結(jié)果是否相同,如果不同則丟棄多次的采集結(jié)果,等待下一次周期的到來(lái);如果相同,則判斷本次采集的結(jié)果和上次采集的結(jié)果是否有位的變化,如果沒(méi)有變化則不做處理;如果有變化則根據(jù)變化位來(lái)執(zhí)行相關(guān)的動(dòng)作。
在與設(shè)備控制系統(tǒng)通信中,本發(fā)明主處理器中設(shè)定了一個(gè)計(jì)數(shù)標(biāo)志。該計(jì)數(shù)標(biāo)志是每1ms進(jìn)行累加一次。當(dāng)該標(biāo)志計(jì)數(shù)到預(yù)定值譬如200ms時(shí),dsp將采集的一次硬件所有開入量和開出量信號(hào),然后組幀發(fā)送給設(shè)備控制系統(tǒng)。
為了更直觀的說(shuō)明本檢測(cè)裝置的通用性好,本文將舉3個(gè)實(shí)例來(lái)說(shuō)明本裝置的執(zhí)行流程。實(shí)例1和實(shí)例2是說(shuō)明控制系統(tǒng)通過(guò)422串口與本檢測(cè)裝置通信,來(lái)實(shí)現(xiàn)對(duì)控制系統(tǒng)的通信數(shù)據(jù)檢測(cè)工作;實(shí)例3是說(shuō)明控制系統(tǒng)通過(guò)開入量和開出量與本檢測(cè)裝置通信。
實(shí)例1:控制系統(tǒng)通過(guò)422通信接口發(fā)出串口數(shù)據(jù)幀(0x100xff0x000x000x010x0a0x0b0x100x03)后,檢測(cè)裝置收到串口數(shù)據(jù)就會(huì)觸發(fā)外部中斷,調(diào)用外部中斷函數(shù),接收串口數(shù)據(jù)并存儲(chǔ)在緩沖區(qū)中。然后在主函數(shù)中挑幀和解析。第0個(gè)字節(jié)(0x10)表示幀頭,第1個(gè)字節(jié)(0xff)表示幀標(biāo)識(shí),字節(jié)2~4(0x000x000x01)表示數(shù)據(jù),字節(jié)5和字節(jié)6(0x0a0x0b)表示校驗(yàn),字節(jié)7和字節(jié)8(0x100x03)表示幀結(jié)束。其中字節(jié)4中的第0位為1,根據(jù)通信協(xié)議,這一位表示的意思是發(fā)動(dòng)機(jī)工作指示。解析完成后檢測(cè)裝置就將自身開出量中的發(fā)動(dòng)機(jī)工作指示給出,然后將收到的通信數(shù)據(jù)回送給控制系統(tǒng)。
實(shí)例2:與實(shí)例1基本相同,不同的是數(shù)據(jù)字節(jié)和校驗(yàn)值的不同。如果收到的數(shù)據(jù)字節(jié)是:0x000x010x00,則表示控制系統(tǒng)發(fā)出的關(guān)機(jī)指示指令。檢測(cè)裝置就將開出量中的關(guān)機(jī)指示給出,并回送控制指令。
實(shí)例3:檢測(cè)裝置不定時(shí)采集自身的開入量狀態(tài)。如果控制系統(tǒng)給檢測(cè)裝置發(fā)出了緊急斷電,檢測(cè)裝置會(huì)從cpld的寄存器得到緊急斷電的開入量,然后將自身的開出量---斷電指示給出,通過(guò)電纜網(wǎng)發(fā)送給控制系統(tǒng)。控制系統(tǒng)中的cpld會(huì)將數(shù)據(jù)存儲(chǔ)在其內(nèi)部的寄存器中,供控制系統(tǒng)的主芯片來(lái)獲取數(shù)據(jù)值。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。