文獻(xiàn)標(biāo)識(shí)碼: A
遠(yuǎn)程測(cè)控系統(tǒng)是當(dāng)前工業(yè)自動(dòng)化領(lǐng)域研究的熱點(diǎn)之一,。遠(yuǎn)程測(cè)控已滲入工業(yè)自動(dòng)化和辦公信息化的各個(gè)系統(tǒng)。這些測(cè)控系統(tǒng)大多是根據(jù)具體的應(yīng)用需求進(jìn)行專門設(shè)計(jì)的,,實(shí)際上它們的功能或相同或相似,,關(guān)聯(lián)較大。如果將每個(gè)系統(tǒng)看成獨(dú)立體,,每次開發(fā)均從零開始,,就會(huì)帶來(lái)大量的重復(fù)勞動(dòng),這無(wú)疑加大了設(shè)計(jì)成本[1]?,F(xiàn)代測(cè)控系統(tǒng)的開發(fā)要求,,需要設(shè)計(jì)人員在盡可能短的時(shí)間內(nèi)開發(fā)出滿足客戶需求的軟硬件系統(tǒng)。因此,,如何提高軟硬件的可重用性,,如何在保證系統(tǒng)性能的前提下,避免重復(fù)勞動(dòng),,縮短開發(fā)周期,,就成為越來(lái)越多的嵌入式系統(tǒng)開發(fā)人員研究的熱點(diǎn)。
本文分析研究了遠(yuǎn)程測(cè)控系統(tǒng)的共性,,建立了測(cè)控系統(tǒng)的一般模型,,利用嵌入式以太網(wǎng)、Web服務(wù)器,、硬件構(gòu)件和軟件可重用等技術(shù),,設(shè)計(jì)了一種面向測(cè)控領(lǐng)域的基于B/S與C/S相結(jié)合體系結(jié)構(gòu)的通用軟硬件平臺(tái)。
1總體設(shè)計(jì)方案
1.1 一般測(cè)控系統(tǒng)的通用模型特點(diǎn)分析
基于通用設(shè)計(jì)思想的系統(tǒng)開發(fā)在設(shè)計(jì)思路上須遵循模塊化,、可二次開發(fā)性和平臺(tái)化的設(shè)計(jì)原則,。實(shí)際的應(yīng)用系統(tǒng)需要處理的信號(hào)可能存在很大的差異,所以本文在系統(tǒng)總體設(shè)計(jì)過(guò)程中,,分析了各種應(yīng)用系統(tǒng)之間的共性,從現(xiàn)有的一般的測(cè)控系統(tǒng)中抽象出一個(gè)通用模型。
一個(gè)典型的嵌入式測(cè)控系統(tǒng)通常包括模擬量輸入模塊,、開關(guān)量輸入模塊,、模擬量輸出模塊、開關(guān)量輸出模塊,、數(shù)據(jù)通信模塊[2]和MCU工作支撐電路,。
實(shí)際模擬信號(hào)是物理世界的自然信號(hào),需要通過(guò)傳感器將其轉(zhuǎn)換為電信號(hào),,然后由A/D轉(zhuǎn)換接口將電信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),。由于傳感器輸出的電信號(hào)通常比較微弱,而且輸出的信號(hào)類型各異,,因此,,需要相應(yīng)的轉(zhuǎn)換電路對(duì)其進(jìn)行處理。實(shí)際開關(guān)信號(hào)一般來(lái)自開關(guān)類傳感器或手動(dòng)開關(guān),,需要開關(guān)量轉(zhuǎn)換電路將實(shí)際開關(guān)信號(hào)轉(zhuǎn)換至MCU可接受的電信號(hào)范圍,。
測(cè)控系統(tǒng)的執(zhí)行機(jī)構(gòu),包括開關(guān)量控制和模擬量控制,。開關(guān)量執(zhí)行機(jī)構(gòu)只有開和關(guān)兩種狀態(tài),。模擬量執(zhí)行機(jī)構(gòu)需要連續(xù)變化的模擬量控制,MCU通過(guò)D/A轉(zhuǎn)換接口將數(shù)字量轉(zhuǎn)換為模擬量輸出控制,。此外,,由于MCU引腳的驅(qū)動(dòng)能力在10 mA左右,不能直接控制這些執(zhí)行機(jī)構(gòu),,因此需要借助于相應(yīng)的驅(qū)動(dòng)電路來(lái)實(shí)現(xiàn),。
通信接口模塊主要實(shí)現(xiàn)MCU與各外圍模塊或設(shè)備之間的通信,常用的通信方式有:UART,、SPI,、USB、以太網(wǎng)等,。對(duì)于遠(yuǎn)程測(cè)控系統(tǒng),,通常采用以太網(wǎng)與遠(yuǎn)程主機(jī)進(jìn)行通信。
通過(guò)分析,,本文建立了如圖1所示的一般測(cè)控系統(tǒng)的通用模型,。
1.2 通用模型特點(diǎn)分析
完整的測(cè)控系統(tǒng)包括硬件和軟件兩部分。建立測(cè)控系統(tǒng)通用模型就是分別為軟,、硬件建立相應(yīng)的通用模型,。硬件模型體現(xiàn)在測(cè)控終端控制器的硬件設(shè)計(jì)上;軟件模型根據(jù)所選擇的體系結(jié)構(gòu)不同而有所差別,。但不論是哪一種體系結(jié)構(gòu),,對(duì)軟件的設(shè)計(jì)都是建立在硬件的基礎(chǔ)之上,,所以整個(gè)通用模型的建立首先且關(guān)鍵是對(duì)硬件通用模型的建立。
1.2.1 遠(yuǎn)程測(cè)控系統(tǒng)的硬件模型
遠(yuǎn)程測(cè)控系統(tǒng)的測(cè)量與控制在硬件上主要體現(xiàn)在位于現(xiàn)場(chǎng)的網(wǎng)絡(luò)化測(cè)控終端對(duì)外界數(shù)據(jù)的采集以及控制量的輸出,,其中數(shù)據(jù)采集部分通常包括模擬量輸入模塊和開關(guān)量輸入模塊,;控制輸出部分通常包括模擬量輸出模塊和開關(guān)量輸出模塊。因此,,通用模型的建立主要體現(xiàn)在對(duì)這四種輸入輸出模塊的設(shè)計(jì)上,。
本文通過(guò)提供業(yè)內(nèi)比較通用的信號(hào)類型來(lái)達(dá)到通用的目的。對(duì)于使用這些信號(hào)接口的測(cè)控設(shè)備,,可直接互連,;對(duì)于使用其他信號(hào)接口的測(cè)控設(shè)備,只需要增加相應(yīng)的信號(hào)轉(zhuǎn)換電路即可互連,。通過(guò)對(duì)多個(gè)具體測(cè)控系統(tǒng)的分析,,采用了如下的硬件設(shè)計(jì)方案:
(1)模擬量輸入接口,提供8路模擬量輸入通道,;考慮到市場(chǎng)上大多數(shù)傳感器或變送器都提供0~5 V電壓信號(hào)輸出,,另一方面由于A/D轉(zhuǎn)換器通常以0~5 V電壓信號(hào)輸入,因此本文將模擬量輸入接口設(shè)計(jì)為可直接處理0~5 V電壓信號(hào),。另外為了便于給傳感器或外接的轉(zhuǎn)換電路供電,,提供5 V和12 V電源接口。
(2)開關(guān)量輸入接口,,提供8路開關(guān)量輸入通道,,可直接處理12 V開關(guān)信號(hào)。對(duì)于其他類型的開關(guān)信號(hào),,需要外接轉(zhuǎn)換電路,。
(3)模擬量輸出接口,提供8路模擬量輸出通道,,提供0~12 V電壓信號(hào)輸出,,對(duì)于其他類型的模擬信號(hào),需要外接相應(yīng)的驅(qū)動(dòng)電路,。
(4)開關(guān)量輸出接口,,提供8路開關(guān)量輸出通道;可直接輸出12 V電壓信號(hào),,也可通過(guò)更換繼電器實(shí)現(xiàn)對(duì)其他電壓信號(hào)的輸出,。
(5)通信接口,采用以太網(wǎng)作為傳輸媒介,,與遠(yuǎn)程主機(jī)進(jìn)行信息交互,,從而實(shí)現(xiàn)遠(yuǎn)程測(cè)控功能;對(duì)于其他通信接口,,由其他輔助模塊決定,。
(6)提供良好的人機(jī)交互接口?,F(xiàn)場(chǎng)信息采用液晶顯示;對(duì)受控設(shè)備的現(xiàn)場(chǎng)手動(dòng)干預(yù)采用SDF-1通用型手持編程器實(shí)現(xiàn),,以避免為所有的輸出接口配備相應(yīng)的控制按鈕,。
(7)在進(jìn)行具體的硬件設(shè)計(jì)時(shí),融入硬件構(gòu)件的設(shè)計(jì)思想,,將各個(gè)硬件模塊進(jìn)行獨(dú)立的封裝,以提高硬件的可重用性[3],。
根據(jù)以上方案所設(shè)計(jì)的硬件模型如圖2所示,。
1.2.2 遠(yuǎn)程測(cè)控系統(tǒng)的軟件模型
采用何種網(wǎng)絡(luò)體系結(jié)構(gòu)是開發(fā)網(wǎng)絡(luò)軟件時(shí)首當(dāng)其沖考慮的問(wèn)題。究竟是采用C/S模式還是B/S模式,,或是兩者兼有的混合模式,,這就需要分析它們各自的特點(diǎn),揚(yáng)長(zhǎng)避短,,這樣才能設(shè)計(jì)出最合適的網(wǎng)絡(luò)結(jié)構(gòu),。為了實(shí)現(xiàn)實(shí)時(shí)方便地訪問(wèn)任一臺(tái)終端控制器,查看當(dāng)前的監(jiān)控信息,,本文將終端控制器設(shè)計(jì)為一個(gè)嵌入式Web服務(wù)器,。但是由于嵌入式系統(tǒng)資源很有限,無(wú)法實(shí)現(xiàn)對(duì)長(zhǎng)時(shí)間歷史記錄的保存,,因此必須借助于上位機(jī)的存儲(chǔ)能力,,將所有的歷史記錄轉(zhuǎn)移到監(jiān)控上位機(jī)保存。另一方面,,B/S結(jié)構(gòu)采用瀏覽器訪問(wèn)時(shí),,每次只能查看單個(gè)控制器的現(xiàn)場(chǎng)信息,無(wú)法實(shí)現(xiàn)集中監(jiān)控和管理功能,,而C/S結(jié)構(gòu)的客戶端軟件可以很好地解決這個(gè)問(wèn)題,。因此,本文采用B/S與C/S相結(jié)合的體系結(jié)構(gòu),,對(duì)于瀏覽器客戶端采用HTTP協(xié)議與測(cè)控終端交互,;對(duì)于監(jiān)控平臺(tái)軟件客戶端采用UDP協(xié)議進(jìn)行通信。
根據(jù)上述的體系結(jié)構(gòu),,通用平臺(tái)的軟件系統(tǒng)應(yīng)該包括3部分:測(cè)控終端內(nèi)的嵌入式軟件,、提供可配置功能的二次開發(fā)軟件以及用于集中監(jiān)控和數(shù)據(jù)存儲(chǔ)的監(jiān)控管理軟件,由于后兩種軟件都是在PC上運(yùn)行的,,本文將其合二為一集成在同一個(gè)軟件系統(tǒng)——監(jiān)控平臺(tái)軟件中實(shí)現(xiàn),。其軟件模型如圖3所示。
2通用模型的軟硬件解決方案
2.1基于MCF52233的單芯片方案
單芯片解決方案是一種選用帶有以太網(wǎng)接口MCU的以太網(wǎng)接入方案,,因此,,以太網(wǎng)驅(qū)動(dòng)與TCP/IP協(xié)議棧的實(shí)現(xiàn)需要開發(fā)人員完成,,軟件實(shí)現(xiàn)相對(duì)較復(fù)雜。但是與多芯片解決方案相比,單芯片解決方案具有硬件設(shè)計(jì)簡(jiǎn)單,、集成度高,、成本低廉等優(yōu)點(diǎn),而且便于修改和擴(kuò)充,。
經(jīng)過(guò)比較,,本文采用了單芯片的以太網(wǎng)接入方案,主控MCU選用Freescale公司的32位ColdFire系列微控制器MCF52233[4],。它內(nèi)部集成了快速以太網(wǎng)控制器FEC(Fast Ethernet Controller)和以太網(wǎng)物理層收發(fā)器EPHY(Ethernet Physical Transceiver),,實(shí)現(xiàn)了以太網(wǎng)的單芯片解決方案;還擁有UART,、I2C,、QSPI、PWM以及A/D轉(zhuǎn)換模塊等豐富的外圍接口,,包含32 KB片內(nèi)SRAM,,256 KB片內(nèi)Flash,總線頻率最高可達(dá)60 MHz,,是Freescale公司大學(xué)計(jì)劃2008年主推的芯片之一,。
根據(jù)硬件模型的設(shè)計(jì),測(cè)控終端的具體硬件總體設(shè)計(jì)框圖如圖4所示,,按硬件模塊劃分為:電源轉(zhuǎn)換模塊,、開關(guān)量輸入模塊、A/D轉(zhuǎn)換模塊,、開關(guān)量輸出模塊,、PWM輸出模塊、以太網(wǎng)通信模塊,、液晶顯示模塊,、手持編程器模塊和時(shí)鐘模塊?;谶m配性和通用性考慮,,預(yù)留了8路模擬量輸入、8路模擬量輸出和8路開關(guān)量輸入,、8路開關(guān)量輸出作為二次開發(fā)的可配置接口,。此外,報(bào)警燈蜂鳴器控制2個(gè)引腳,、LCD顯示控制3個(gè)引腳以及以太網(wǎng)/系統(tǒng)運(yùn)行指示燈控制3個(gè)引腳,。在數(shù)據(jù)通信過(guò)程中,串行通信,、以太網(wǎng)通信以及I2C通信各需要2個(gè),、2個(gè)以及4個(gè)引腳,,共8個(gè)引腳。經(jīng)過(guò)仔細(xì)分析,,測(cè)控終端需44個(gè)I/O引腳,。
根據(jù)MCU與外圍模塊的選型原則,以及對(duì)控制器的功能需求與輸入輸出分析,,本文選了表1所示的外圍器件和模塊,,從而確保測(cè)控終端芯片工作穩(wěn)定,進(jìn)而滿足測(cè)控系統(tǒng)的通用性,。
本文選用80引腳LQFP封裝的MCF52233作為測(cè)控終端的主控MCU[5],,在充分考慮到布線以及編程的方便后,為各個(gè)模塊分配了如表2所示的I/O引腳,。
2.2 監(jiān)控平臺(tái)的軟件設(shè)計(jì)
監(jiān)控平臺(tái)軟件主要實(shí)現(xiàn)對(duì)測(cè)控終端的配置式二次開發(fā),對(duì)所有已配置測(cè)控終端的實(shí)時(shí)信息進(jìn)行遠(yuǎn)程監(jiān)控,,并將這些信息存入數(shù)據(jù)庫(kù)中以便管理,。它是測(cè)控系統(tǒng)通用平臺(tái)必不可少的組成部分,待開發(fā)完成后,,它就只是作為監(jiān)控并存儲(chǔ)各測(cè)控終端信息的輔助工具,。監(jiān)控平臺(tái)軟件按功能劃分為數(shù)據(jù)庫(kù)管理模塊、功能界面模塊和網(wǎng)絡(luò)通信模塊3部分,,其中功能界面模塊包括二次開發(fā)模塊,、參數(shù)設(shè)置模塊、遠(yuǎn)程監(jiān)控模塊,、物理量回歸的動(dòng)態(tài)在線校準(zhǔn)模塊[6],、歷史記錄查詢與導(dǎo)出模塊、系統(tǒng)維護(hù)模塊,、用戶管理模塊以及輔助功能模塊共8部分,。除了輔助功能模塊之外,其他模塊都涉及到數(shù)據(jù)庫(kù)的操作,,包括記錄的添加,、查詢檢索、修改,、刪除等,。
3 配置式二次開發(fā)界面
配置式二次開發(fā)主要是添加接入網(wǎng)絡(luò)中的測(cè)控終端控制器,以及對(duì)控制器的網(wǎng)絡(luò)參數(shù)和各通道及其控制關(guān)系的配置,。添加控制器的界面如圖5所示,,其中單元名和網(wǎng)絡(luò)參數(shù)屬于必配項(xiàng),其他通道配置由實(shí)際項(xiàng)目需求確定,。
單元名用于直觀地表示各控制器的名稱,,用戶可以根據(jù)控制器所放置的監(jiān)控現(xiàn)場(chǎng)對(duì)其命名,,之后的監(jiān)控界面都以該名稱唯一標(biāo)識(shí)對(duì)應(yīng)的控制器。實(shí)際通信時(shí)以IP地址唯一確定一個(gè)控制器,,對(duì)于同一版終端軟件,,其配置的IP地址、MAC地址等網(wǎng)絡(luò)參數(shù)皆相同,,接入網(wǎng)絡(luò)后會(huì)出現(xiàn)IP地址沖突,,無(wú)法進(jìn)行網(wǎng)絡(luò)通信。所以在添加控制器時(shí)需要修改其網(wǎng)絡(luò)配置參數(shù),??刂破鞯哪J(rèn)IP地址為192.168.1.164,在新增控制器時(shí),,需確保PC到控制器之間的網(wǎng)絡(luò)是連通的,。
對(duì)于控制器提供的模擬量輸入、開關(guān)量輸入,、模擬量輸出,、開關(guān)量輸出等通道,本系統(tǒng)默認(rèn)不作任何配置,,因此在添加控制器時(shí)需要根據(jù)實(shí)際需求配置傳感器和輸入輸出設(shè)備所接的相應(yīng)通道,。將所有通道配置信息填好之后,就可以通過(guò)“新增”按鈕將這些配置信息寫入數(shù)據(jù)庫(kù),,系統(tǒng)會(huì)自動(dòng)將這些信息寫入需要配置的新控制器內(nèi),。
另外,本界面還提供了模板功能,,用戶在添加新的控制器時(shí),,可以通過(guò)添加模塊按鈕將當(dāng)前配置信息以模塊形式保存,在配置后續(xù)控制器時(shí),,只需要選擇該模板,,然后修改IP地址等少量信息即可實(shí)現(xiàn)快速的添加并配置控制器功能。與添加控制器菜單相對(duì)應(yīng)的還有一個(gè)修改控制器菜單,,開發(fā)人員可以在相應(yīng)的界面中重新修改某個(gè)已存在控制器的配置信息或刪除不再使用的控制器,,該功能對(duì)于后期維護(hù)比較實(shí)用。
輸入輸出控制關(guān)系配置界面如圖6所示,。本文實(shí)現(xiàn)的控制關(guān)系中每個(gè)模擬量輸入通道可以控制2個(gè)模擬量輸出通道和2個(gè)開關(guān)量輸出通道,;每個(gè)開關(guān)量輸入通道可以控制一個(gè)開關(guān)量輸出通道??刂脐P(guān)系配置界面中各選項(xiàng)的內(nèi)容是根據(jù)添加控制器界面中配置的通道信息加載的,,所以應(yīng)該先添加控制器,才能對(duì)其進(jìn)行控制關(guān)系的配置。
現(xiàn)有測(cè)控系統(tǒng)的開發(fā)基本是根據(jù)具體應(yīng)用需求進(jìn)行單獨(dú)重復(fù)的設(shè)計(jì),、編碼,、測(cè)試,而實(shí)際上這些系統(tǒng)在功能結(jié)構(gòu)上具有雷同性,,為提高軟硬件的可重用性,,本文通過(guò)對(duì)測(cè)控系統(tǒng)的分析,抽象出測(cè)控系統(tǒng)的一般結(jié)構(gòu),,在此基礎(chǔ)上實(shí)現(xiàn)了一種基于嵌入式以太網(wǎng)的面向測(cè)控領(lǐng)域的通用平臺(tái),。該平臺(tái)已應(yīng)用于網(wǎng)絡(luò)機(jī)房遠(yuǎn)程環(huán)境監(jiān)控系統(tǒng)和基于嵌入式以太網(wǎng)的IC(Integrate Circuit,集成電路)硬化爐監(jiān)控系統(tǒng)中,,為現(xiàn)代嵌入式系統(tǒng)開發(fā)提供了一個(gè)快速原型工具,。
參考文獻(xiàn)
[1] 陳鳴慰. 基于ARM的通用型實(shí)時(shí)測(cè)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].南京:東南大學(xué),2006.
[2] 王宜懷.嵌入式技術(shù)基礎(chǔ)與實(shí)踐[M].北京:清華大學(xué)出版社,,2007.
[3] 薦紅梅.基于硬件構(gòu)件的嵌入式底層軟件開發(fā)方法研究及其應(yīng)用[D].蘇州:蘇州大學(xué), 2008.
[4] 王宜懷,,陳建明,蔣銀珍.基于32位ColdFire構(gòu)建嵌入式系統(tǒng)[M].北京:電子工業(yè)出版社,,2009.
[5] Freescale. MCF52233 ColdFire Integrated Microcontroller Reference Manual [EB/OL].http://www.freescale.com,,2006.
[6] 劉偉,沈安東,,王宜懷.低端嵌入式系統(tǒng)中物理量回歸算法的優(yōu)化[J].現(xiàn)代電子技術(shù),2008(18):31-34.