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