馮 平 蔣靜坪
1 引言
目前,大多數測量?jì)x器已趨向數字化,采用微機或單片機控制,甚至一些數字化集成傳感器也應用單片機作為其控制核心。微機控制數字化儀器具有體積小,多功能,高精度等特點(diǎn),尤其是具備了靈活適應各種不同應用場(chǎng)合的能力。當儀器的應用環(huán)境或使用要求改變時(shí),例如更換不同型號或校正系數不同的傳感器,或要求儀器改變輸出信號的類(lèi)型等等,由于微機控制的靈活性,通常無(wú)需改動(dòng)儀器的硬件及控制程序,僅對其系統配置設定及某些工作參數作相應的修改,就能使儀器很好地滿(mǎn)足要求。在這種情況下,為了實(shí)現配置重設定,顯然要求儀器配備鍵盤(pán)及顯示器等人-機對話(huà)部件。但對數字化集成傳感器和某些小型儀器來(lái)說(shuō),由于受到體積和成本限制,并且考慮到儀器的配置修改僅在其應用場(chǎng)合改變時(shí)才需進(jìn)行,所以在設計硬件時(shí)往往不設置這些部件。這樣就使儀器的配置重設定較為困難,多數情況下只能由開(kāi)發(fā)人員修改其控制程序才能實(shí)現,用戶(hù)無(wú)法自行修改儀器的配置,從而微機控制的靈活性未能得到充分體現。
為了改善這種狀況,我們設計了一種可方便地對上述這類(lèi)不帶人-機對話(huà)部件的數字化集成傳感器和小型數字化儀器進(jìn)行配置的計算機重設定系統。在該系統中,不增加儀器硬件就可實(shí)現對其配置重設定,修改儀器的系統配置時(shí)無(wú)需改動(dòng)其控制程序,且允許用戶(hù)自行對儀器按需要進(jìn)行重配置。
2 系統簡(jiǎn)介
在進(jìn)行配置重設定時(shí),使用PC機作為儀器的擴展人-機對話(huà)裝置以進(jìn)行數據的輸入、修改及顯示等。PC機和儀器之間通過(guò)串行通訊交換數據。配置值修改完成后,去除PC機與儀器的連接,儀器便可按修改后的系統配置及參數值正確地運行于新的工作環(huán)境。
2.1 硬件
PC機與儀器的連接如圖1所示。PC機的串行口與儀器的串行口之間用一條串行通訊總線(xiàn)相連。圖中的電平變換器用于PC機串行口的RS-232C 信號電平與儀器內單片機串行口的TTL信號電平之間的變換。該變換器也可置于儀器內部。
本系統對PC機的硬件無(wú)特殊要求,任何型號的PC機只要具備串行通訊口均可使用。但對儀器來(lái)說(shuō),則要求其硬件具備:① 一個(gè)能和PC機通訊的異步串行通訊口;② 配備有非揮發(fā)并可電擦寫(xiě)的內存儲器,如EEPROM或Flash等,以用來(lái)保存系統配置及參數設定值。
圖1 系統連接框圖
2.2 配置重設定過(guò)程
當按圖1把PC機與儀器連接后,就可在PC機上運行本系統的專(zhuān)用程序,然后使儀器復位以啟動(dòng)配置重設定。整個(gè)配置重設定過(guò)程可分為如下一些階段:① 建立PC機與儀器間的通訊聯(lián)系。② PC機命令儀器發(fā)送其原有參數設置值。儀器響應后,PC機接收發(fā)來(lái)的數據并進(jìn)行校驗。③ 所有這些原設置值在PC機上顯示并可對其修改。④ 修改完成后,PC機命令儀器接收并保存修改后的新設置值。⑤ 當儀器接收無(wú)誤并作保存后,PC機命令儀器退出通訊。⑥ 其后,儀器將按新的系統配置及參數設置值工作。
由上可見(jiàn),整個(gè)過(guò)程由PC機控制。在此,PC機是主機,儀器作為從機,PC機通過(guò)向儀器發(fā)命令來(lái)控制其完成相應的操作。
在階段①,PC機首先不斷地向儀器發(fā)送“呼叫”信號,并接收儀器發(fā)來(lái)的“申請”信號。與此同時(shí),儀器也不斷地向PC機發(fā)送申請信號和接收PC機的呼叫信號。一旦儀器收到PC機的呼叫信號,將發(fā)送“響應”信號給PC機。當PC機收到這響應信號后,雙方的通訊聯(lián)系就此建立。
在建立通訊的初期,雙方這樣不斷地向對方發(fā)送信號及接收對方的信號,不僅有利于盡快地建立通訊,而且還實(shí)現了“自動(dòng)搜索通訊串口”和“無(wú)需配置重設定選擇開(kāi)關(guān)”的特點(diǎn)。在PC機一方,先設其COM1為通訊口,如從該口接收到儀器的申請信號或響應信號,表明該口為正使用的通訊口,否則,如經(jīng)幾次嘗試后仍未收到儀器的信號,就改設COM2為通訊口嘗試,如再未收到則再換下一串口,如此在其所有可用的串口之間輪流嘗試,直到接收到儀器的信號為止。這樣就實(shí)現了PC機通訊串口的自動(dòng)定位,避免了選擇串口的麻煩,使用更為方便。在儀器一方,當復位后進(jìn)行初始化并作自診斷的同時(shí),不斷地嘗試與PC機通訊,如在這段時(shí)間內接收到PC機的呼叫信號,它就發(fā)送響應信號給PC機并轉入配置重設定子程序準備進(jìn)行系統配置的修改,否則,如在自診斷完成后仍未收到PC機的信號,則將停止與PC機的通訊,不再理會(huì )PC機以后發(fā)來(lái)的信號。把與PC機建立通訊的過(guò)程安排在儀器的初始化及自診斷期間有如下一些優(yōu)點(diǎn):① 無(wú)需儀器增加硬件以指示是否要進(jìn)行配置重設定;② 無(wú)需額外的時(shí)間開(kāi)銷(xiāo)來(lái)建立與PC機的通訊;③ 具有較強的抗干擾性。
在階段②,PC機先是不斷地向儀器發(fā)送“發(fā)原設置值”命令,直到收到儀器發(fā)來(lái)特定的數據包頭部標志為止,然后它將接收整個(gè)數據包并作校驗。如果校驗通過(guò),配置重設定進(jìn)程轉入階段③,PC機向儀器發(fā)送“讀數據正確”信號直到階段③結束,以確保儀器收到此信息。否則,進(jìn)程將仍停留在此階段,PC機重復發(fā)送“發(fā)原設置值”命令和接收數據包直到校驗通過(guò)。由于應用了這樣的通訊及進(jìn)程控制,有效地克服了誤碼和雙方進(jìn)程的失步,大大提高了抗干擾能力。在階段④和階段⑤中也應用了類(lèi)似的控制時(shí)序。
在階段③,所有設置值被顯示在PC機上,并可方便地對其反復修改。此時(shí)雖無(wú)數據傳送,但PC機與儀器間仍保持通訊聯(lián)系,以防進(jìn)程失步。
2.3 通訊
由于在修改儀器配置時(shí),相應數據需在PC機和儀器間傳送,所以通訊是基礎,其可靠性直接影響配置重設定的正確進(jìn)行。為保證通訊的正確可靠,首先必須為雙方定義一個(gè)相互一致的通訊協(xié)議,其中包括諸如通訊波特率、數據結構、命令、校驗信息等的定義。其次,必須使要傳送的數據包帶有其特定的頭部標志、長(cháng)度以及校驗信息,并且在每次數據傳送完成后都對收到的數據進(jìn)行嚴格的校驗。此外,為提高抗干擾能力,確保儀器的系統配置及參數設定值修改無(wú)誤,并克服通訊失步現象而進(jìn)一步應用了進(jìn)程控制:將整個(gè)配置重設定過(guò)程分為幾個(gè)階段,只有當前一階段的通訊正確無(wú)誤地完成后,雙方的進(jìn)程才會(huì )轉入下一階段,否則雙方將不斷重復本階段的通訊。
2.4 軟件
設計了二個(gè)程序用于儀器的系統配置重設定。一個(gè)是為PC機編制的專(zhuān)用程序,另一個(gè)是為儀器編制的配置修改子程序。它們的程序流程圖如圖2及圖3所示。
圖2 PC機專(zhuān)用程序流程圖
圖3 儀器的配置重設定子程序流程圖
PC機專(zhuān)用程序主要用于和儀器的通訊,修改系統配置及參數設置值以及控制進(jìn)程。它具有如下一些特點(diǎn):① 自動(dòng)搜索串口,如前所述。② 人-機界面友好,在運行過(guò)程中可給出多種提示信息:a顯示通訊及進(jìn)程狀態(tài)。b在修改設置值時(shí),對每一選中的參數項顯示其可選值及意義,以幫助正確輸入。參數值輸入后,即對其進(jìn)行校驗,如為非法值則提示需重輸。已修改的參數項可按要求被恢復為原值。此外,對那些未作修改的參數項也給出參數值未變的提示信息,以幫助了解參數修改情況。
圖4 儀器控制程序流程圖
儀器的配置修改子程序主要用于和PC機通訊,發(fā)送與接收系統配置及參數設置值和更新存儲器中相應內容。它被安排在儀器復位后進(jìn)行系統自診斷的同時(shí),由主程序調用,其流程如圖4所示。
3 結束語(yǔ)
隨著(zhù)微機技術(shù)的發(fā)展和對儀器測量精度及功能要求的不斷提高,儀器采用微機控制并數字化,微型化是其發(fā)展方向。本方案為不帶人―機對話(huà)部件的小型數字化儀器提供了一種進(jìn)行系統配置重設定的簡(jiǎn)便方法,擴展了儀器的適用范圍,使用更為靈活。
該系統已應用于對一種數字化集成傳感器的配置重設定。經(jīng)反復使用,其結果表明,它具有可靠性高、成本低及易于使用等特點(diǎn)。并且它雖是為小型數字化測量?jì)x器設計,但也可在其他領(lǐng)域的此類(lèi)小型微機控制設備中得到應用。