郭成統,王 盈,張 俊
(國營洛陽丹城無線電廠,河南 洛陽 471000)
傳統儀器儀表采用機械結構、模擬電路以及邏輯門電路相結合的設計結構,在自動校準、自動檢測以及數據信息處理技術方面存在很大的不足。隨著大規模集成電子技術的發展,電子儀器儀表向著智能儀表、自動測量的方向發展,遠程測控系統將成為未來儀表重要的發展方向之一[1]。目前,利用單片機處理器,集中進行數據信息采集和控制的系統技術已經得到了廣泛應用。特別是在惡劣和多區域分布的生產環境中,一方面人員很難到達現場進行集中測量,另一方面分布式測量需要網絡化采集。因此,通過遠程測控系統來實現遠程、多位置以及分布式數據采集與控制具有重要意義[2]。本文提出了一種基于單片機的遠程檢測和控制系統,通過微控制器訪問Internet網絡實現遠程網絡通信和控制。
如圖1所示,將單片機作為核心控制器,通過SPI通信總線與網絡模塊相連接,實現單片機和網絡模塊的通信。網絡模塊采用固定的IP地址或是DHCP協議,完成對本地網絡的配置,并采用RJ-45雙絞線與路由器連接,通過上級網關完成網絡的接入,實現單片機連接至以太網。主要操作步驟可以總結為:(1)網絡注冊,申請HTTP賬號;(2)按照HTTP協議,編寫單片機入網程序;(3)完成單片機入網配置,實現單片機與以太網的鏈接;(4)啟動數據管理網站,建立與單片機連接,實現對單片機的遠程控制。單片機實現與以太網的連接后,即可采集現場溫度數據,并通過HTTP方式將實時溫度數據傳輸至遠程服務器。遠程服務器接收各個單片機終端上傳的數據,并將數據存儲至數據庫。用戶可通過任何可聯網的終端對數據庫中的數據進行訪問和讀取,利用常用的PC機、筆記本電腦以及手機等終端設備,通過數據庫訪問獲取終端上傳的數據[4-5]。同時,用戶可以利用網址頁面下發控制命令,從而實現對單片機終端的遠程控制,通過網絡數據的遠程傳輸,遠程開斷單片機終端上的LED開關[5]。

圖1 遠程測控終端結構圖
為兼顧單片機性能和成本,本文選用W77E58單片機。該型號單片機具有資源豐富、運行速度快、性能可靠以及成本低廉等優勢。W77E58單片機為增強型51內核控制器。51內核單片機具有兼容的引腳和指令,具有4個8位I/O端口,全雙工的串口通信接口,3路16位的高精度定時器。該單片機通過優化設計去除了不必要的時鐘電路,進一步提升了運算速度和數據處理性能,保持了原有的執行頻率,將指令執行周期從12個時鐘降低至4個時鐘,指令執行速度提升了3倍。硬件結構示意圖如圖2所示[6]。

圖2 硬件結構示意圖
該型號單片機采用了雙數據指針存儲方式,大幅提升了數據存儲速度。同時,可修改MOVX指令的執行速度,將該指令的執行周期設定為2個機器周期或者是9個,使得存儲速度更為靈活,不同于匹配單片機與外圍設備的通信速度。另外,單片機具備1 kB的SRAM存儲空間,可用于實時變量的存儲。與其他51內核單片機相比,該款單片機的運算速度更快,功耗更少,同時指令集與51系列單片機兼容,降低了技術開發難度。
W77E58單片機共有4個8位的端口與1個4位的端口。在運行外部程序時或者對外部存儲區進行訪問時,I/O口可作為地址與數據總線使用。作為總線地址和數據總線使用時,I/O具備上拉與下拉能力,無需外部額外進行上拉處理。在其他情況下,它可作為通用I/O口使用。當端口0作為地址與數據總線時,端口2作為高8位地址總線使用,也具備上拉和下拉能力。另外,端口1和端口3具備其他可選功能,只有PLCC和QFP封裝的該款單片機具備端口4,同樣可作為通用I/O口使用[7]。
當外部程序運行或MOVC/MOVX指令訪問外部存儲區/設備時,I/O端口可用作地址/數據總線。這時它又具有上拉和下拉能力,不需要任何外部上拉,否則它可作為帶有開漏電路的普通I/O口。端口2主要在端口0用作地址/數據總線時用作高8位地址總線,也有強上拉和下拉能力。端口1和端口3帶有一些可選功能。端口4只在PLCC/QFP封裝時才有,和端口1和端口3一樣是通用的I/O口。P4.0有一個可選功能WAIT,是等待狀態控制信號。當等待狀態信號使能時,P4.0只作為輸入信號。
該款單片機具備兩個增強型串口接口,與8051系列單片機類似。該款單片機的串口可工作在不同模式下,串口0也可作為定時器1和定時器2的波特率發生器。另外,串口1僅能作為定時器1的波特率發生器。另外,串口具備自動地址識別和錯誤檢測的能力。
該款單片機具備3個可供使用的16位高精度定時器。它與8051單片機類似,可對定時器進行4個或12個時鐘配置。它可在計數時進行配置,特性與51單片機相同。另外,該款單片機增加了一個看門狗定時器,可實現對系統的定時監測和對程序的定時監控。
W77E58單片機的中斷功能增設了一些外圍設備和附件特性,增加了中斷源和中斷數量,共提供12個中斷源,同時設置了2個中斷優先級、6個外部中斷、2個串口中斷和4個定時器中斷,與51系列單片機存在差異。
W77E58單片機除了具備與51單片機相同的16位數據指針外,還增加了一個數據指針。新增的數據指針是51單片機中的SFR地址,同時增加了一條指令(DEC DPTR),增加了用戶編程的靈活性。
W77E58單片機與51單片機類似,具備IDLE與POWER DOWN兩種模式,同時提供了一個Economy模式。在IDLE工作模式下,此時CPU內核時鐘處于停止狀態,而串口、中斷和定時器的時鐘在繼續工作。在POWER DOWN工作模式下,芯片的所有時鐘處于停止狀態,芯片處于低功耗狀態。
單片機存儲空間有限。與PC機相比,單片機無法使用Windows等操作系統。在訪問Web服務器時,單片機也不可能采用完整的TCP仲裁協議,需要進行軟件協議簡化設計。信息發送流程如圖3所示[7-8]。
TCP為網絡通信協議族群的統稱,包含了數百種網絡通信協議[8-9]。實質上,TCP和IP僅是網絡協議族群中的兩個成員,因為二者是最重要的通信協議,一般用TCP/IP協議代表整個協議族群。單片機系統資源有限,無法實現完整的TCP/IP協議,因此必須對該協議信息簡化處理。TCP/IP協議主要分為4層,這里將該協議精簡為以下內容:超文本的通信傳輸協議(HTTP),建立請求應答機制,可實現讀取Web服務器的文檔;傳輸控制協議(TCP),實現HTTP的請求應答,實現客戶終端與服務器的通信,為遠程通信提供信息通信通道;網際協議(IP),實現不同類型網絡間的通信。另外,還包括地址解析協議ARP、報文協議ICMP等。通過TCP/IP協議的簡化,可在單片機中實現網絡通信協議的移植。

圖3 發送流程圖
Web服務器主要實現客戶終端的請求和監控,響應客戶提出的請求服務,使得客戶端可通過Web瀏覽器訪問Web服務器。當用戶端發起請求服務時,Web服務器接收到服務請求命令后,將響應用戶請求并回發相對應的請求數據。一般的Web服務器主要指的是文件服務器,提供的主要是固定的網絡頁面,并不適合遠程測控系統。為了使Web服務器滿足遠程監控系統的需求,需要增加瀏覽器和服務器間的交互功能,即在網頁中增加動態數據變量。通過在網頁中引入動態數據變量,可實現遠程數據的實時傳輸和顯示。
通過對網絡通信協議的簡化,在單片機中實現了網絡通信協議的移植。通過單片機控制網絡模塊,將單片機與以太網建立連接,實現了單片機與Web服務器間的遠程通信,從而將分布式遠程傳感器終端采集的數據進行集中存儲與分析,并實現了對傳感器終端的遠程控制。該方案結構簡單、開發成本低且運行可靠,具有一定的實際工程應用價值。