基于MCF52233的通用遠(yuǎn)程測(cè)控系統(tǒng)平臺(tái)的研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
本文分析研究了遠(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ì)過程中,分析了各種應(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),需要通過傳感器將其轉(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)一般來自開關(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通過D/A轉(zhuǎn)換接口將數(shù)字量轉(zhuǎn)換為模擬量輸出控制。此外,由于MCU引腳的驅(qū)動(dòng)能力在10 mA左右,不能直接控制這些執(zhí)行機(jī)構(gòu),因此需要借助于相應(yīng)的驅(qū)動(dòng)電路來實(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)行通信。
通過分析,本文建立了如圖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ì)上。
本文通過提供業(yè)內(nèi)比較通用的信號(hào)類型來達(dá)到通用的目的。對(duì)于使用這些信號(hào)接口的測(cè)控設(shè)備,可直接互連;對(duì)于使用其他信號(hào)接口的測(cè)控設(shè)備,只需要增加相應(yīng)的信號(hào)轉(zhuǎn)換電路即可互連。通過對(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),也可通過更換繼電器實(shí)現(xiàn)對(duì)其他電壓信號(hào)的輸出。
(5)通信接口,采用以太網(wǎng)作為傳輸媒介,與遠(yuǎn)程主機(jī)進(jìn)行信息交互,從而實(shí)現(xiàn)遠(yuǎn)程測(cè)控功能;對(duì)于其他通信接口,由其他輔助模塊決定。
(6)提供良好的人機(jī)交互接口。現(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)其沖考慮的問題。究竟是采用C/S模式還是B/S模式,或是兩者兼有的混合模式,這就需要分析它們各自的特點(diǎn),揚(yáng)長(zhǎng)避短,這樣才能設(shè)計(jì)出最合適的網(wǎng)絡(luò)結(jié)構(gòu)。為了實(shí)現(xiàn)實(shí)時(shí)方便地訪問任一臺(tái)終端控制器,查看當(dāng)前的監(jiān)控信息,本文將終端控制器設(shè)計(jì)為一個(gè)嵌入式Web服務(wù)器。但是由于嵌入式系統(tǒng)資源很有限,無法實(shí)現(xiàn)對(duì)長(zhǎng)時(shí)間歷史記錄的保存,因此必須借助于上位機(jī)的存儲(chǔ)能力,將所有的歷史記錄轉(zhuǎn)移到監(jiān)控上位機(jī)保存。另一方面,B/S結(jié)構(gòu)采用瀏覽器訪問時(shí),每次只能查看單個(gè)控制器的現(xiàn)場(chǎng)信息,無法實(shí)現(xiàn)集中監(jiān)控和管理功能,而C/S結(jié)構(gòu)的客戶端軟件可以很好地解決這個(gè)問題。因此,本文采用B/S與C/S相結(jié)合的體系結(jié)構(gòu),對(duì)于瀏覽器客戶端采用HTTP協(xié)議與測(cè)控終端交互;對(duì)于監(jiān)控平臺(tái)軟件客戶端采用UDP協(xié)議進(jìn)行通信。[!--empirenews.page--]
根據(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)過比較,本文采用了單芯片的以太網(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ù)通信過程中,串行通信、以太網(wǎng)通信以及I2C通信各需要2個(gè)、2個(gè)以及4個(gè)引腳,共8個(gè)引腳。經(jīng)過仔細(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ù)庫中以便管理。它是測(cè)控系統(tǒng)通用平臺(tái)必不可少的組成部分,待開發(fā)完成后,它就只是作為監(jiān)控并存儲(chǔ)各測(cè)控終端信息的輔助工具。監(jiān)控平臺(tái)軟件按功能劃分為數(shù)據(jù)庫管理模塊、功能界面模塊和網(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ù)庫的操作,包括記錄的添加、查詢檢索、修改、刪除等。[!--empirenews.page--]
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地址沖突,無法進(jìn)行網(wǎng)絡(luò)通信。所以在添加控制器時(shí)需要修改其網(wǎng)絡(luò)配置參數(shù)。控制器的默認(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)通道。將所有通道配置信息填好之后,就可以通過“新增”按鈕將這些配置信息寫入數(shù)據(jù)庫,系統(tǒng)會(huì)自動(dòng)將這些信息寫入需要配置的新控制器內(nèi)。
另外,本界面還提供了模板功能,用戶在添加新的控制器時(shí),可以通過添加模塊按鈕將當(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)上具有雷同性,為提高軟硬件的可重用性,本文通過對(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è)快速原型工具。