基于Rabbit2000的嵌入式網絡智能測控系統
關鍵詞:Rabbit2000;網絡;智能測控系統
1 引言
Internet技術的飛速進展,使得基于分組交換技術的通信性能、通信質量和可靠性得到穩(wěn)步提高,基于8位、16位單片機的嵌入式設備(如儀器儀表、數據采集和顯示、過程控制、工業(yè)自動化等)的實時應用,測控系統正在走向網絡智能化[1]。這就要求企業(yè)從現場控制層到管理層能實現全方位的無縫信息集成, 實現遠程維護、智能診斷以及遠程管理功能[2], 提供一個開放的基礎構架,并具有高可靠性、分散控制、集中監(jiān)視和管理的功能。
Z-World[3]公司以Rabbit2000微處理器為核心研制了一系列嵌入式系統模塊,使用這些模塊能夠實現對集成了網絡的嵌入式系統進行快速開發(fā)。本系統以Rabbit2000微處理器為核心,采用模塊化和智能式的分布技術設計嵌入式網絡智能測控系統。
2 Rabbit2000的性能特點
Rabbit2000是Rabbit半導體公司為嵌入式環(huán)境設計的高性能低價位的8位微處理器,以其C語言友好指令集和快速數字處理功能而受到矚目。它和Z80系列微處理器有相似的結構和高度的兼容性,但性能有很大的提高。具有多達40個通用I/O引腳。內建日歷、時鐘、看門狗、定時器、多級中斷、雙DMA通道,可外擴4~8MB Flash,用于數據存儲。對于8位總線的微處理器,Rabbit具有很高的計算速度,這對于實時操作系統是極為重要的。對于Rabbit2000,傳統的微處理器硬件和軟件的開發(fā)已被簡化,不再需要在線仿真。用1根接口電纜把PC串行口和基于Rabbit2000的目標系統連接起來就可實現軟件的開發(fā)。Rabbit2000具有4個串行端口,具有很強的組網通信能力。它能精確地產生脈沖和邊沿,可實現多優(yōu)先級中斷。處理器速度和功耗在程序控制之下,在處理器持續(xù)執(zhí)行指令的時候,能使用超低功耗模式實現計算和執(zhí)行邏輯檢測,為實現低功耗設計提供了方便。
Rabbit 2000芯片上外設包括5個8位并行I/O端口、4個串行端口、1個子端口、5個8位定時器、1個10位定時器、精確脈沖發(fā)生硬件和電池支持的RTC。其串口可采用同步或異步傳輸方式,采用29.4912MHz的系統頻率,異步傳輸速率最高可達91.6kbps。
Rabbit2000以Z-World’s公司的C語言開發(fā)系統Dynamic C[4]編譯器為其開發(fā)工具。其特點是有1個交互式編譯程序、編輯程序和調試程序,通過1個10線的簡單接口可實現EPROM編程和在線仿真。此外,Rabbit2000可以運行流行的Internet協議棧,如HTTP、SMTP、POP3、TCP、UDP、ICMP、IP等,還可以在外接一個以太網控制芯片RTL8019的情況下,實現Ethernet (IEEE802.3)協議處理,使該系統可以直接通過RJ-45連到以太網上。
3 嵌入式網絡智能測控系統設計
3.1 測控設備硬件結構
對于所要實現的嵌入式系統,系統硬件設計是圍繞Rabbit 2000微處理器來進行的,包括存儲器、處理器、振蕩晶體、標準編程口、以太網接口、串行接口(RS232、RS485)、數字量I/O(DI/DO)接口、模擬量I/O(AI/AO)接口、擴展接口,在一些情況下還要包括功率控制器和系統供電設計,具體應用時可根據不同的應用要求對各種功能模塊進行適當增減。圖1為硬件實現框圖。
圖1 網絡智能測控裝置(MCD)
3.2 實現方案
圖1所示的測控裝置可實現多種監(jiān)測和控制功能,并通過以太網接口(RJ-45接口)連到Hub后由路由器接入Internet構成網絡智能測控系統。如圖2所示。
圖2 網絡智能測控系統
本系統中,每臺主機和測控裝置(MCD)都有自己獨立的IP地址,互相之間可進行通信,遠程主機(Remote PC)可通過撥號連接(圖中所示就是這種情況)或通過以太網網關接入Internet來訪問測控裝置,使用其提供的服務或對其進行系統編程和遠程啟動。測控裝置具有一般單片機系統的所有測控能力,并且可根據需要提供各種網絡服務,包括:作為一臺簡單的Web服務器,提供簡單的網頁供外部主機訪問,提供可被遠程主機修改的表格資料;提供文件傳輸服務(FTP),可作為FTP客戶端或服務器;提供SMTP(簡單郵件傳輸協議)服務,自動或定時向指定的電子郵箱發(fā)送E-mail,以傳遞系統的實時數據或報警信息;提供遠程登錄(TELNET)服務以及其他的Internet服務。
3.3 工作過程
圖2中測控裝置的主要任務是與探測器通信,以獲取現場信息并對信息進行集中處理后, Rabbit2000的串行口將這些信息傳至PC,或由PC來查詢。PC機在獲取測控裝置上的報警信息后,按一定的協議格式對報警信息進行包裝,并將之傳送到遠程PC上,這樣形成一個星形的網絡結構,以此構成測控信息的局域網
系統有兩種類型的網絡節(jié)點:一種是與PC進行通信的節(jié)點;另一種是測控裝置與探測器進行通信的探測器節(jié)點。傳輸協議采用規(guī)范化數據結構,設有BBC校驗位,且采用軟件容錯技術。管理軟件設有容錯陷阱,有效地消除隨機干擾引起的死機或誤報現象。主機為PC機,其網絡ID號為0,每個測控裝置都有1個唯一的大于0的ID號。PC與測控裝置通信采用標準的協議格式,它所發(fā)出的信息幀中攜有目的控制器的ID號。如果目的控制器的ID號為0,則為廣播信息,否則只有和目的控制器的ID號相同的控制器才接收該幀并對幀格式和CRC檢驗和進行判斷。在緊急報警時,探測器的報警信息中攜有地址編號和時間信息,而在自動故障報警時,報警信息由故障地址編號和故障等級信息組成??刂破饔?種運行模式:模式A是雙向運行,收到報警信息時立即將該信息轉發(fā)給PC機;模式B是單向運行,收到報警信息后首先在控制器的數據庫中保存該條信息。當PC機來查詢火警信息時才發(fā)送給PC機。
PC機由后臺的基于Winsock的網絡程序將報警信息發(fā)往外部網絡。在Rabbit2000的協議棧中,對TCP/IP的實現是通過Dynamic C提供的TCP/IP應用程序接口來實現的:
#define MY-GATEWAY “202.196.187.1” //網關
#define MY-IP-ADDRESS “202.196.187.28” //IP地址
#define MY-NETMASK “255.255.255.0” //子網掩碼
#memmap xmem //代碼存儲在擴展存儲區(qū)
#use “dcritcp.lib” //數據庫
Sock_init() //TCP連接初始化
tcp_reserveport(MY_PORT) //TCP連接保持
tcp_open(socket,0,ip,PORT,NULL) //主機建立會話
tcp_listen(socket,MY_PORT,0,0,NULL,0) //監(jiān)聽端口
sock_established(socket) //建立TCP連接
sock_dataready(socket) //取得等待輸出的字符數
sock_gets(socket,buffer,len) //從套接字中讀取字符串
sock_twrites(socket,buffer,len) //向套接字中寫入字符串
sock_close(socket) //連接斷開
圖3 系統程序執(zhí)行過程圖
系統的工作過程如圖3。
通過安裝在上位機中的Web瀏覽器,在客戶端的瀏覽器中輸入現場設備的IP地址(202.196.187.28),即可獲得對現場設備的訪問權,可直接訪問接入工業(yè)以太網的現場設備,獲得監(jiān)測數據,如圖4所示。
圖4 監(jiān)控頁面
4結論
隨著以太網技術的不斷發(fā)展,嵌入式系統與以太網相結合應用于工業(yè)控制領域是一種發(fā)展趨勢。Rabbit2000微處理器在同類8位微處理器中具有功能強、成本低、速度快等特點,同時提供了一套嵌入式開發(fā)工具以及網絡支持的Dynamic C,使得網絡功能開發(fā)簡便、快捷,也證明了將嵌入式系統和以太網應用于工業(yè)控制的可行性和實用性。
本系統的應用較廣:
1)智能大廈。隨著計算機的普及應用以及網絡和自動化技術的發(fā)展,大廈內所有公共設備都將采用嵌人式智能測控系統來提高服務能力。
2)工業(yè)自動化。工業(yè)現場應用了大量的8、16、32位嵌入式微控制器,其網絡化是提高生產效率和產品質量、減少人力資源的主要途徑,在工業(yè)過程控制、電力系統、電網安全、電網設備監(jiān)測、石油化工等系統中具有廣闊的應用前景。
3)智能儀器。根據不同要求,只需對軟硬件做部分修改,簡化系統,大大地提高了開發(fā)效率,具有廣闊的應用空間。
4)礦井智能監(jiān)測。能解決礦山網絡傳輸中有關安全信息數據的采集問題,應用前景廣闊。
本文作者創(chuàng)新點:1. 64路開關量輸入、8路模擬量輸入及16路開關量輸出,反映敏捷;2.輸入、輸出全部電氣隔離、具有聲光報警的功能;3. 控制器有2種運行模式:雙向運行和單向運行,保證信息傳遞的目的性;4. 支持Dynamic C,支持多任務,可以滿足各種復雜控制、運算的要求及遠程在線編程、維護;5. 與同類產品相比,具有功能齊全,性能可靠,使用方便等特點。
參考文獻
[1]俞新祥,翁一武.基于Internet 的分布式供能遠程監(jiān)控系統[J].微計算機信息,2006,7-1:4-6
[2]鮑吉龍,葉平.工業(yè)監(jiān)控系統的網絡化發(fā)展[J].微計算機信息,2006,6-1:66-68
[3]Z-World.Rabbit2000 Microprocessor User’s Manual.1999.
[4]Z-World. Dynamic C Premier for Rabbit Semiconductor Microprocessors(Integrated C Development System User’s Manua1)[Z].1999
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論