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