王 慧,謝 東,薛保珊,胡春橋,胡開成
(銅陵學(xué)院電氣工程學(xué)院,安徽 銅陵 244000)
嵌入式網(wǎng)關(guān)將嵌入式技術(shù)與Internet技術(shù)完美結(jié)合,能實現(xiàn)對現(xiàn)場設(shè)備的遠(yuǎn)程數(shù)據(jù)采集,具有速度快、成本低的優(yōu)點,使傳統(tǒng)測控系統(tǒng)不能進(jìn)行復(fù)雜、遠(yuǎn)程、大范圍測控的問題得到了很好的解決。目前,采用16位微處理器的嵌入式網(wǎng)關(guān)已不能滿足測控系統(tǒng)的性能要求,為此,本文提出了一種基于高性能32位微處理器的遠(yuǎn)程測控系統(tǒng)的嵌入式網(wǎng)關(guān)設(shè)計方法。
隨著微電子技術(shù)、互聯(lián)網(wǎng)技術(shù)和嵌入式技術(shù)等技術(shù)的飛快發(fā)展,遠(yuǎn)程控制的應(yīng)用變得越來越普遍,對測控技術(shù)也提出了越來越高的要求。所謂遠(yuǎn)程測控指利用本地計算機經(jīng)通信線路對處于遠(yuǎn)端工作現(xiàn)場的設(shè)備進(jìn)行狀態(tài)監(jiān)測與控制。遠(yuǎn)程測控系統(tǒng)具有通信網(wǎng)絡(luò)化、現(xiàn)場設(shè)備分布式化以及控制智能化、數(shù)字化等特點。通過遠(yuǎn)程測控,企業(yè)工作人員不需要親臨現(xiàn)場就可監(jiān)視現(xiàn)場工作狀況,并完成獲取信息、診斷和恢復(fù)設(shè)備故障以及設(shè)置參數(shù)等操作。隨著對遠(yuǎn)程控制技術(shù)的要求不斷提高,為解決工作人員不容易到達(dá)或者不能長時間滯留的條件惡劣場所測控問題,基于嵌入式技術(shù)的遠(yuǎn)程控制系統(tǒng)誕生了。它有效解決了以往在測控領(lǐng)域存在的諸多問題,所以在智能家電、礦山監(jiān)控、機車調(diào)度、樓宇自動化和電力監(jiān)測與控制等場合得到了非常廣泛的應(yīng)用。為解決傳統(tǒng)測控系統(tǒng)通信功能不強的問題,基于Internet技術(shù)的工業(yè)遠(yuǎn)程測控正日益興起,受到業(yè)界非常廣泛的重視。
網(wǎng)關(guān)又稱作協(xié)議轉(zhuǎn)換器或者網(wǎng)間連接器,可以在兩個不同協(xié)議間進(jìn)行轉(zhuǎn)換,使得不同的網(wǎng)絡(luò)之間實現(xiàn)互聯(lián)。網(wǎng)關(guān)具有路由的功能,同時它也是測控系統(tǒng)的核心部分。網(wǎng)關(guān)既可用于各種局域網(wǎng)絡(luò)的互聯(lián),也能用于實現(xiàn)廣域網(wǎng)的互聯(lián)。
嵌入式網(wǎng)關(guān)是指通過嵌入式裝置使兩個或多個分離、異構(gòu)網(wǎng)絡(luò)相互聯(lián)通的設(shè)備,它實現(xiàn)了通信協(xié)議的轉(zhuǎn)換以及路由功能,具有體積小、可靠性強、功耗低的特點。嵌入式網(wǎng)關(guān)使TCP/IP數(shù)據(jù)包能夠與串行數(shù)據(jù)進(jìn)行轉(zhuǎn)換,把以太網(wǎng)與現(xiàn)場總線連接起來,以實現(xiàn)工業(yè)自動化系統(tǒng)中的設(shè)備網(wǎng)絡(luò)化。
本文設(shè)計的嵌入式網(wǎng)關(guān),其功能是接收、儲存與處理位于工業(yè)現(xiàn)場的各智能控制單元所采集的設(shè)備數(shù)據(jù)信息,實現(xiàn)TCP/IP通信協(xié)議與CAN通信協(xié)議間的轉(zhuǎn)換,并用獲得的設(shè)備數(shù)據(jù)信息制作出網(wǎng)頁,使遠(yuǎn)端用戶借助于瀏覽器能夠在互聯(lián)網(wǎng)上對設(shè)備信息進(jìn)行查詢與處理。
嵌入式網(wǎng)關(guān)硬件包括主控制器模塊、CAN通信接口模塊和以太網(wǎng)通信的接口模塊共三個主模塊,采用了模塊化硬件設(shè)計法。在主控制器模塊中,使用的CPU型號為S3C44B0X,它是韓國三星公司為嵌入式設(shè)備以及其它應(yīng)用所提供的微控制器,性能優(yōu)良且性價比很高。其主要功能就是實現(xiàn)以太網(wǎng)通信和CAN通信的協(xié)議轉(zhuǎn)換與控制,使遠(yuǎn)端用戶通過Internet進(jìn)行現(xiàn)場設(shè)備的遠(yuǎn)程監(jiān)控。S3C44B0X片內(nèi)集成了ARM7TDMI核,工作頻率達(dá)到66 MHz,在實現(xiàn)ARM7TDMI核功能的基礎(chǔ)上,S3C44B0X的芯片內(nèi)部還集成了許多外圍功能模塊,其外圍存儲電路由8 M容量的SDRAM芯片和8 M的Flash芯片構(gòu)成。Flash存儲器中存儲了嵌入式操作系統(tǒng)的內(nèi)核以及應(yīng)用程序,在系統(tǒng)剛啟動時,S3C44B0X微控制器把Flash中的程序輸入到SDRAM存儲器運行。圖1為嵌入式網(wǎng)關(guān)總體結(jié)構(gòu)框圖。
圖1 嵌入式網(wǎng)關(guān)總體結(jié)構(gòu)
以太網(wǎng)通信采用以太網(wǎng)控制器RTL8019AS、型號為20F001N的濾波器件和8針模塊插口RJ45組成的接口電路來實現(xiàn),圖2為其原理框圖。
圖2 以太網(wǎng)通信原理框圖
以太網(wǎng)控制器RTL8019AS是由臺灣Realtek公司出的一款高集成度的以太網(wǎng)通信控制芯片,具有8/16位總線模式,集成有IEEE802.3通信協(xié)議中介質(zhì)訪問的控制子層(MAC子層)以及物理層的通信功能,內(nèi)置了本地和遠(yuǎn)程兩個DMA通道以及FIFO單元,可實現(xiàn)簡單的數(shù)據(jù)包管理,有效完成數(shù)據(jù)幀的接收和發(fā)送。
以太網(wǎng)控制器和主機之間有PnP模式、跳線模式以及RT模式這三種接口模式,本網(wǎng)關(guān)采用了跳線模式。為防止干擾其它的數(shù)字芯片,RTL8019AS接地均采用了模擬地。RTL8019AS的輸出端口連接20F001N濾波器,其目的是進(jìn)行通信信號的濾波與變換。最后,由20F001N經(jīng)過帶RJ45插口的雙絞線接入到以太網(wǎng)。
CAN通信硬件電路的組成包括CAN控制器、CAN收發(fā)器以及光耦器件,圖3為其原理框圖。
圖3 CAN通信原理框圖
CAN控制器采用的是SJA1000芯片,它是在Philips公司的PCA8200CAN基礎(chǔ)上增加了新操作模式(即PeilCAN模式)的獨立的CAN控制器,PeilCAN模式可以支持CAN2.0B協(xié)議,它擁有多種新的特性,提高了數(shù)據(jù)收發(fā)效率。SJA1000對數(shù)據(jù)的接受與傳送是在S3C44B0X微控制器的控制下完成的。
CAN收發(fā)器采用了PCA82C250芯片,該芯片保證了數(shù)據(jù)高速傳輸,它也是CAN控制器SJA1000和數(shù)據(jù)傳輸線路間的接口。PCA82C250的RS腳用于設(shè)置工作模式:待機模式、高速模式或斜率控制模式,本網(wǎng)關(guān)選定了斜率控制模式。
另外,本網(wǎng)關(guān)為了增強抗干擾性能,采用光耦器件6N137置于SJA1000芯片與PCA82C250芯片之間,以實現(xiàn)電氣隔離。
嵌入式的Web服務(wù)器是基于嵌入式系統(tǒng)而實現(xiàn)的Web服務(wù)器,在相應(yīng)的軟件和硬件平臺的支持下,將服務(wù)器引入到現(xiàn)場監(jiān)控和測試設(shè)備中,以實現(xiàn)基于TCP/IP協(xié)議的測控系統(tǒng)的底層通信。同時,標(biāo)準(zhǔn)的通信協(xié)議和接口形式的存在,使內(nèi)嵌在設(shè)備中的Web服務(wù)器能夠提供基于瀏覽器的、統(tǒng)一的操作與控制界面,給接入到其所在網(wǎng)絡(luò)的任何合法的用戶提供測控信息。
本遠(yuǎn)程測控系統(tǒng)的網(wǎng)關(guān)所采用的嵌入式操作系統(tǒng)為μClinux。在嵌入式操作系統(tǒng)的支持下,以32位微控制器S3C44B0X作為平臺,利用Java Applet、公共網(wǎng)關(guān)接口CGI等技術(shù)構(gòu)建嵌入式Web服務(wù)器系統(tǒng),其結(jié)構(gòu)框圖如圖4所示。
圖4中的監(jiān)聽模塊主要執(zhí)行監(jiān)聽端口的任務(wù),它利用TCP三次握手過程使客戶瀏覽器與本遠(yuǎn)程測控系統(tǒng)之間建立連接。如果瀏覽器有通信連接的請求,監(jiān)聽模塊便由端口號來判定是Java Applet還是HTTP請求,再根據(jù)請求類別分別調(diào)用相應(yīng)的請求處理模塊來實現(xiàn)處理進(jìn)程。Java Applet數(shù)據(jù)的請求處理模塊是客戶端想了解設(shè)備狀態(tài)信息時調(diào)用的,按事先設(shè)置好的頻率將從現(xiàn)場采集到的設(shè)備狀態(tài)數(shù)據(jù)發(fā)送給客戶端,那么設(shè)備的有關(guān)信息便可以在客戶端瀏覽器上動態(tài)顯示出來;HTTP請求處理的模塊是遠(yuǎn)程客戶端要向現(xiàn)場的設(shè)備發(fā)送控制命令或瀏覽靜態(tài)網(wǎng)頁時調(diào)用的,它根據(jù)HTTP請求再調(diào)用文件模塊,并將處理好的結(jié)果根據(jù)HTTP協(xié)議返回客戶端。
嵌入式WEB中的文件模塊包括有公共網(wǎng)關(guān)接口處理文件、Java Applet代碼處理文件以及靜態(tài)網(wǎng)頁生成文件。文件模塊采用μClinux中的文件系統(tǒng)來實現(xiàn),其公共網(wǎng)關(guān)接口處理文件執(zhí)行的功能是完成用戶身份的安全認(rèn)證,以及用戶在瀏覽器上設(shè)置設(shè)備控制參數(shù)時,能夠從HTTP消息中將這些參數(shù)解析出來,并作出正確的處理。
圖4 嵌入式WEB服務(wù)器的結(jié)構(gòu)框圖
3.2.1 RTL8019AS的驅(qū)動軟件設(shè)計
RTL8019AS的驅(qū)動軟件由數(shù)據(jù)的發(fā)送驅(qū)動、數(shù)據(jù)的接收驅(qū)動和芯片初始化三個子程序組成。初始化子程序的作用是對RTL8019AS芯片內(nèi)部的DCR、BNCY、RCR、CURR、TCR等寄存器參數(shù)進(jìn)行初始化設(shè)置,使得芯片工作時能正常完成其啟動、存儲、復(fù)位等操作。寄存器設(shè)置的內(nèi)容有先入先出的緩存門限、數(shù)據(jù)接收和發(fā)送緩沖區(qū)的大小、數(shù)據(jù)總線的寬度(8/16位)、中斷服務(wù)種類、物理地址、接收數(shù)據(jù)包類型等。
數(shù)據(jù)的發(fā)送驅(qū)動子程序是使S3C44B0X微控制器分別啟動遠(yuǎn)程DMA和本地DMA,將數(shù)據(jù)先發(fā)送到RTL8019AS的緩存,再發(fā)送到以太網(wǎng)傳輸線上。數(shù)據(jù)發(fā)送驅(qū)動子程序完成以下四個步驟:第一步是裝幀,根據(jù)802.3以太網(wǎng)協(xié)議將需要發(fā)送的數(shù)據(jù)先封裝成以太網(wǎng)幀;第二步是將封裝完的數(shù)據(jù)幀發(fā)送到RTL8019AS發(fā)送緩存區(qū);第三步是設(shè)置好發(fā)送控制的寄存器,其中TPSR中需設(shè)定發(fā)送緩存區(qū)的起始頁地址,TPCR0和TPCR1中需設(shè)定發(fā)送數(shù)據(jù)包長度;第四步是RTL8019AS啟動,把該幀信息發(fā)送到網(wǎng)絡(luò)上。
數(shù)據(jù)的接收子程序?qū)崿F(xiàn)與上述發(fā)送子程的完全相反的過程:首先通過RTL8019AS經(jīng)由本地DMA將接收的數(shù)據(jù)幀儲存到接收緩存,再由S3C44B0X微控制器啟動遠(yuǎn)程DMA,使該幀信息從RTL8019AS接收緩存讀入網(wǎng)關(guān)中RAM緩存區(qū)內(nèi)。
3.2.2 嵌入式TCP/IP協(xié)議的實現(xiàn)
在嵌入式網(wǎng)關(guān)的通信設(shè)計中,TCP/IP協(xié)議棧為互聯(lián)網(wǎng)絡(luò)通信的基本條件,它是當(dāng)今最為流行的一種組網(wǎng)形式。本網(wǎng)關(guān)在從網(wǎng)線接收數(shù)據(jù)并提供給網(wǎng)關(guān)的應(yīng)用程序,或?qū)?shù)據(jù)送到以太網(wǎng)之前,需進(jìn)行相應(yīng)的TCP/IP協(xié)議處理。因為嵌入式網(wǎng)關(guān)的存儲容量比較小且處理速度相對比較慢,必須根據(jù)其特定的功能需求合理裁剪、優(yōu)化TCP/IP協(xié)議體系,這是實現(xiàn)以太網(wǎng)通信的關(guān)鍵。TCP/IP的體系結(jié)構(gòu)共有四層,其協(xié)議族主要包括傳輸控制協(xié)議(TCP)、網(wǎng)間網(wǎng)協(xié)議(IP)、地址解析協(xié)議(ARP)、簡單網(wǎng)絡(luò)的管理協(xié)議(SNMP)、用戶數(shù)據(jù)報協(xié)議(UDP)、超文本傳輸協(xié)議(HTTP)、文件傳輸協(xié)議(FTP)以及互聯(lián)網(wǎng)的控制信息協(xié)議(ICMP)等。考慮到嵌入式網(wǎng)關(guān)資源的局限性,本網(wǎng)關(guān)根據(jù)實際通信需要對其協(xié)議族中協(xié)議進(jìn)行了必要的取舍,選擇了TCP、IP、ARP、ICMP和HTTP協(xié)議組成嵌入式網(wǎng)關(guān)的TCP/IP協(xié)議棧,以完成以太網(wǎng)通信。基于TCP/IP協(xié)議的數(shù)據(jù)包處理流程框圖如圖5所示。
圖5 TCP/IP數(shù)據(jù)包處理流程框圖
本系統(tǒng)網(wǎng)關(guān)采用CAN2.0B通信協(xié)議實現(xiàn)CAN通信,其數(shù)據(jù)幀有兩種格式,即標(biāo)準(zhǔn)幀(含11位標(biāo)識符)和擴展幀(含29位標(biāo)識符)。本網(wǎng)關(guān)采用標(biāo)準(zhǔn)幀傳輸數(shù)據(jù),11位標(biāo)識符設(shè)定為:ID.0~I(xiàn)D.3是對應(yīng)信息幀號,ID.4~I(xiàn)D.7是下位機的設(shè)備編碼,ID.8~I(xiàn)D.10是數(shù)據(jù)類型編碼,類型編碼與上位機各種命令相對應(yīng)。系統(tǒng)啟動后先進(jìn)入復(fù)位模式,然后對SJA1000 CAN控制器進(jìn)行初始化,SJA1000初始化包括設(shè)置工作方式、設(shè)置接收代碼寄存器和接收屏蔽寄存器、設(shè)置接收濾波方式、設(shè)置中斷允許寄存器以及設(shè)置波特率參數(shù)等。初始化結(jié)束后SJA1000即進(jìn)入操作模式,可實現(xiàn)正常通信。
嵌入式網(wǎng)關(guān)執(zhí)行以太網(wǎng)和CAN通信的協(xié)議轉(zhuǎn)換,其軟件流程是:以太網(wǎng)送來的有關(guān)命令由微控制器通過TCP/IP協(xié)議棧進(jìn)行數(shù)據(jù)解包,再利用CAN協(xié)議進(jìn)行數(shù)據(jù)封裝并寫入SJA1000,然后送往現(xiàn)場的智能控制單元。相反,現(xiàn)場每個智能控制單元要上傳設(shè)備狀態(tài)數(shù)據(jù)或參數(shù)測量值,先由SJA1000讀取,再利用CAN協(xié)議進(jìn)行解包,然后使用TCP/IP協(xié)議棧進(jìn)行封裝,最后通過以太網(wǎng)將數(shù)據(jù)發(fā)送出去。
為檢驗本文所設(shè)計嵌入式網(wǎng)關(guān)的實際應(yīng)用效果,構(gòu)建了一個基于嵌入式網(wǎng)關(guān)的遠(yuǎn)程測控平臺,對工業(yè)現(xiàn)場的設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控。圖6為該遠(yuǎn)程測控平臺的結(jié)構(gòu)框圖,現(xiàn)場的智能控制單元將檢測的設(shè)備參數(shù)上傳嵌入式網(wǎng)關(guān),由嵌入式網(wǎng)關(guān)將這些數(shù)據(jù)進(jìn)行處理和通信協(xié)議轉(zhuǎn)換后再上傳以太網(wǎng),使遠(yuǎn)端用戶通過互聯(lián)網(wǎng)能夠?qū)崟r掌握現(xiàn)場設(shè)備的有關(guān)信息。
圖6 嵌入式遠(yuǎn)程測控平臺結(jié)構(gòu)框圖
容性設(shè)備在變壓器中占重要的地位,容性設(shè)備受潮后其介質(zhì)損耗將增大,則介質(zhì)的溫度會升高,從而導(dǎo)致變壓器出故障。所以,監(jiān)測變壓器容性設(shè)備介質(zhì)損耗和電容量大小,對變壓器的故障檢測有實際意義。表1給出了用本文構(gòu)建的遠(yuǎn)程測試平臺所檢測到的相關(guān)數(shù)據(jù),作為對照,表1中同時給出了設(shè)備原有的電橋式參數(shù)測試電路所檢測數(shù)據(jù)。由表1的檢測結(jié)果可以看出,本文所構(gòu)建的遠(yuǎn)程測控平臺所檢測數(shù)據(jù),與原有參數(shù)檢測電路的檢測結(jié)果誤差很小,相對誤差全部在2%以內(nèi),說明本文所設(shè)計的嵌入式網(wǎng)關(guān)性能優(yōu)良,能滿足對現(xiàn)場設(shè)備的遠(yuǎn)程監(jiān)控需求。
表1 嵌入式網(wǎng)關(guān)性能的實驗測試
本文對基于16位微控制器的低性能嵌入式網(wǎng)關(guān)進(jìn)行了技術(shù)改造,通過對嵌入式網(wǎng)關(guān)硬件和軟件的設(shè)計,實現(xiàn)了嵌入式技術(shù)和Internet的完美結(jié)合,使得遠(yuǎn)端用戶可通過瀏覽器對現(xiàn)場有關(guān)設(shè)備的工作狀況進(jìn)行監(jiān)控。由于嵌入式Web將Web服務(wù)器引入現(xiàn)場的監(jiān)控及測試設(shè)備中,向任何接入其所在網(wǎng)絡(luò)的合法用戶提供基于瀏覽器的統(tǒng)一操控界面,所以這種遠(yuǎn)程測控系統(tǒng)具有不受地域限制和高可靠性、安全性的特點,也因此在工業(yè)自動化領(lǐng)域得到了良好的應(yīng)用。
西昌學(xué)院學(xué)報(自然科學(xué)版)2018年4期