1 硬件設計
基于MCF5272芯片的嵌入式Web Server硬件配置如下:MCF5272(Cold Fire系列)32位處理器、4M字節(jié)的兩片16×1M位數(shù)據(jù)寬度FLASH、16M字節(jié)的兩片16×4M位數(shù)據(jù)寬度SDRAM、兩個標準RS-232串口、一個標準10/100M自適應快速以太網(wǎng)接口、一個BDM接口、各種狀態(tài)指示和電源等。 MCF5272微處理器是迄今為止摩托羅拉推出的最高集成度的Cold Fire微處理器。這款高集成的Cold Fire微處理器將10/100MB以太網(wǎng)控制器和一個USB模塊等通信外圍設備結(jié)合起來,提高了MCF5272集成通信微處理器集成水平。它不僅提供了一套新的通信外圍設備,同時還包含了以往Cold Fire標準產(chǎn)品所具備的廣受歡迎的通用外圍設備。
1.2 PTR2000+系列無線數(shù)傳模塊
PTR2000+為訊通科技出產(chǎn)的無線數(shù)傳模塊,具有接收發(fā)射合一、體積小、外圍器件少等優(yōu)點,可直接與MCU串口相接,也可以接計算機RS232接口,軟件編程非常方便。由于采用了低發(fā)射功率、高接收靈敏度的設計,使用者無需申請許可證 。其標準DIP引腳間距,更適合嵌入式設計。
PTR2000+具有良好的產(chǎn)品特性,工作頻率為國際通用的數(shù)傳頻段433MHz,F(xiàn)SK調(diào)制,抗干擾能力強;采用DDS+PLL頻率合成技術,頻率穩(wěn)定性極好;具有兩個頻段,適合于需要多信道工作的特殊場合;工作速率最高可達20Kbit/s,也可在較低速率(如9600bps)下工作。
1.3 系統(tǒng)原理
整個系統(tǒng)由數(shù)據(jù)采集發(fā)射終端和數(shù)據(jù)接收端組成。
數(shù)據(jù)采集發(fā)射終端主要以51系列單片機為核心,MCU的P1口控制多路選擇器,對8路模擬信號進行選擇,選中的模擬信號進入高速AD轉(zhuǎn)換器,進行模數(shù)轉(zhuǎn)換。MCU同時控制AD的采樣頻率和起始轉(zhuǎn)換,轉(zhuǎn)換結(jié)果存入FIFO存儲器。按照規(guī)定的通信協(xié)議,MCU對數(shù)據(jù)進行編碼,最后通過數(shù)傳模塊PTR2000+發(fā)射給遠方接收端。為提高數(shù)據(jù)傳輸?shù)目煽啃裕瑪?shù)據(jù)發(fā)送完畢,MCU將PTR2000+轉(zhuǎn)換為接收狀態(tài),接收主機的應答信號或控制字。
圖1 數(shù)據(jù)采集端結(jié)構框
PTR2000+通過RS-232將接收到的數(shù)據(jù)送入MCF5272嵌入式Web Server,MCF5272嵌入式Web Server接收完數(shù)據(jù),將PTR2000+轉(zhuǎn)換為發(fā)射狀態(tài),然后對數(shù)據(jù)進行CRC循環(huán)碼校驗。如果數(shù)據(jù)正確,就通過嵌入式操作系統(tǒng)的UDP/IP協(xié)議棧,將數(shù)據(jù)打包,保存到FLASH芯片的可寫JFFS文件系統(tǒng)之中,同時運行web服務器,等待客戶服務端通過網(wǎng)絡訪問數(shù)據(jù);錯誤,則向PTR2000+發(fā)送重發(fā)命令。MCF5272嵌入式Web Server通過以太網(wǎng)口接入Internet網(wǎng)絡,用戶可通過瀏覽器(例如:IE)對系統(tǒng)進行遠程配置、管理(如更改IP,重新啟動系統(tǒng)等),并且可以調(diào)用封裝好的函數(shù)API直接對FLASH芯片的某幾個扇區(qū)進行讀寫操作,可將配置的信息以及采集數(shù)據(jù)保存在系統(tǒng)FLASH芯片上。
圖2 數(shù)據(jù)接收端結(jié)構框
上位PC機通過RS-232與BDM調(diào)試器相連,BDM調(diào)試器通過BDM口與Web Server相連,可以對Web Serve進行初始化配置、調(diào)試和日常維護。
2 系統(tǒng)軟件實現(xiàn)
系統(tǒng)的軟件設計與實現(xiàn)是本系統(tǒng)實現(xiàn)的關鍵之一。
2.1 系統(tǒng)軟件:包括嵌入式操作系統(tǒng)與設備驅(qū)動程序
嵌入式操作系統(tǒng)是支持嵌入式系統(tǒng)應用的操作系統(tǒng)軟件,是在系統(tǒng)實時性、硬件相關性、軟件固態(tài)化等方面有著突出特點的專用操作系統(tǒng)。由于Cold Fire系列芯片是沒有MMU (內(nèi)存管理單元Memory Management Unit)的處理器,而 uClinux是專為那些沒有MMU的嵌入式處理器開發(fā)的,所以本系統(tǒng)采用uClinux嵌入式操作系統(tǒng)。
uClinux是Linux的一個嵌入式版本,它是源代碼開放的嵌入式操作系統(tǒng),其內(nèi)核的二進制映像文件可以做到小于512K。uClinux針對無MMU的處理器設計,支持多任務,具有完備的TCP/IP協(xié)議棧并支持多種網(wǎng)絡協(xié)議。uClinux還支持多種文件系統(tǒng),如ROMFS、NFS和JFFS等。另外,uClinux可移植性很強,用戶通過重新配置、編譯內(nèi)核,很方便將其移植到68K、Dragon Ball、Cold Fire、Power PC、ARM等多種處理器計算平臺。當前uClinux提供2.0和2.4兩個內(nèi)核版本。
本系統(tǒng)采用uClinux嵌入式操作系統(tǒng)主要需要解決以下三個問題:
第一,實時性問題。uClinux本身并沒有關注實時性問題,它并不是為了Linux的實時性而提出的。而本系統(tǒng)中的數(shù)據(jù)采集功能對操作系統(tǒng)的實時性有一定要求。通過給uClinux打上其它Rt-linux的實時性補丁,就可以增強uClinux的實時性,滿足這個系統(tǒng)的實時要求。
第二,JFFS文件系統(tǒng)的建立。uClinux系統(tǒng)采用Romfs作為根文件系統(tǒng),Romfs文件系統(tǒng)不支持動態(tài)擦寫保存。而本系統(tǒng)中的嵌入式的Web Server在運行過程中,要求能夠動態(tài)地保存一些數(shù)據(jù),并且當系統(tǒng)重新啟動時,保存的數(shù)據(jù)依然存在。所以我們需要充分發(fā)揮Flash可擦寫的優(yōu)勢,在系統(tǒng)運行過程中,動態(tài)地擦寫Flash來保存數(shù)據(jù)。通過建立JFFS文件系統(tǒng),可以用Flash來保存數(shù)據(jù),即將Flash作為系統(tǒng)的硬盤來使用。可以像操作硬盤上的文件一樣操作Flash芯片上的文件和數(shù)據(jù)。系統(tǒng)運行的參數(shù)可以實時保存到Flash芯片中,在系統(tǒng)斷電后數(shù)據(jù)仍然存儲在Flash芯片中。為實現(xiàn)Flash上的JFFS文件系統(tǒng),我們需要在內(nèi)核中加入對JFFS文件系統(tǒng)和Flash設備的支持,并針對具體的Flash 芯片修改設備驅(qū)動程序,生成設備節(jié)點并將JFFS文件系統(tǒng)掛接到Flash 設備上。
第三,編寫各個設備的驅(qū)動程序。主要包括串口驅(qū)動程序、以太網(wǎng)接口驅(qū)動程序、BDM調(diào)試接口驅(qū)動程序和FLASH芯片驅(qū)動程序。
2.2 嵌入式Web Server軟件系統(tǒng)實現(xiàn)
嵌入式Web Server的軟件系統(tǒng)包括五個部分: ①HTTP引擎; ②虛擬文件系統(tǒng); ③配置模塊; ④安全模塊; ⑤應用程序接口模塊。
圖3 嵌入式Web Server軟件系統(tǒng)示意圖
其中HTTP引擎負責響應用戶的請求、通過虛擬文件系統(tǒng)訪問靜態(tài)數(shù)據(jù)信息、通過應用程序接口得到動態(tài)數(shù)據(jù)信息。
虛擬文件系統(tǒng)為嵌入式Web Server提供虛擬文件服務,虛擬文件系統(tǒng)使用數(shù)據(jù)結(jié)構存儲文件大小、修改時間等信息。對于存儲HTML文件需要的動態(tài)信息建立數(shù)據(jù)結(jié)構保存腳本的指針和腳本所調(diào)用函數(shù)的名稱。通過虛擬文件系統(tǒng)將Java、 GIF、 PDF、 HTML以及文本等文件形式編譯為Web服務器認可的代碼,而獨立于具體的文件系統(tǒng)。
配置模塊使系統(tǒng)管理員可以從任何一臺標準的Web瀏覽器上設置嵌入式Web Server參數(shù),在系統(tǒng)啟動中定義的配置環(huán)境變量包括并發(fā)連接數(shù)、Socket端口、主機名稱、根文件路徑、缺省初始文件以及非活動超時和時區(qū)等。
配置模塊對標準瀏覽器的開放使得安全問題更加重要,尤其是對網(wǎng)絡設備的配置和控制信息的訪問成為安全保護的重點。安全模塊通過在服務器上定義安全域和對每個安全域定義的用戶名和密碼實現(xiàn)對敏感信息的保護。還可以對請求數(shù)據(jù)采取加密措施實現(xiàn)安全保護功能。
應用程序接口模塊實現(xiàn)和嵌入式應用系統(tǒng)的數(shù)據(jù)交換。在嵌入式Web Server中,應用程序接口與嵌入式操作系統(tǒng)通信,實現(xiàn)對嵌入系統(tǒng)的配置、監(jiān)視和控制,是嵌入式Web Server軟件系統(tǒng)的核心。而應用程序接口模塊常見的有CGI(Common Gateway Interface)、SSI(Server Side Include)和HCPA(HTML-to-C Preprocessor Approach)等3種形式。
本系統(tǒng)應用程序接口模塊采用CGI形式。CGI提供嵌入式Web Server一個執(zhí)行外部程序的通道,CGI程序經(jīng)過編譯成為可執(zhí)行文件,放在服務器端運行。嵌入式Web Server根據(jù)用戶的請求調(diào)用相應的CGI程序。并由嵌入式Web Server將CGI程序得到的動態(tài)信息封裝到頁面中,發(fā)送到用戶瀏覽器上。
3 無線數(shù)據(jù)傳輸
3.1 通信原理
在此系統(tǒng)中,基于無線方式的數(shù)據(jù)傳輸,決定了它有相對高的不可靠性,為了可靠通信,編程時設計了相應的通信協(xié)議,并采用數(shù)據(jù)幀號和CRC校驗進行數(shù)據(jù)的糾檢錯。
Web Server和數(shù)據(jù)采集終端的數(shù)據(jù)傳輸采用半雙工方式,基于停止等待協(xié)議(stop and wait)的思想,將待傳輸?shù)臄?shù)據(jù)幀按先后順序附加上幀號,以保證數(shù)據(jù)的正常傳輸。數(shù)據(jù)采集終端首先處于接收狀態(tài),Web Server將控制字(A/D采樣頻率、采樣方式)發(fā)送給數(shù)據(jù)采集終端后,Web Server轉(zhuǎn)換為接收方式,等待終端發(fā)送確認幀。數(shù)據(jù)采集終端接收到控制字,進行CRC數(shù)據(jù)校驗,如果數(shù)據(jù)正確就向Web Server發(fā)送確認幀,數(shù)據(jù)幀幀號清零,開始進行數(shù)據(jù)采集和數(shù)據(jù)傳輸。反之,則向Web ServerR發(fā)送重發(fā)請求。
數(shù)據(jù)開始傳輸,數(shù)據(jù)采集終端發(fā)送第N幀數(shù)據(jù),發(fā)送完畢,轉(zhuǎn)換為接收狀態(tài),等待Web Server發(fā)送確認幀;Web Server接收到數(shù)據(jù),進行CRC校驗,將幀號與自身幀號比較,數(shù)據(jù)正確,將自身幀計數(shù)器加1,通知數(shù)據(jù)采集終端發(fā)送第N+1幀數(shù)據(jù)。
3.2 通信協(xié)議
PTR2000+在無信號時,串口輸出的是隨機數(shù)據(jù),為保證無線通信的可靠,必須定義一個簡單的通信協(xié)議,對數(shù)據(jù)進行打包后傳輸,數(shù)據(jù)幀格式見圖4。
圖4 數(shù)據(jù)幀格式
考慮到無線通信中的延遲效應和數(shù)傳MODEM的發(fā)射接收轉(zhuǎn)換時間,為使接收建立正確的同步,需要在數(shù)據(jù)幀頭部加入5byte 的填充比特和同步碼。在整個數(shù)據(jù)通信中需要3種類型的的數(shù)據(jù)幀,即服務器發(fā)送的控制幀,數(shù)據(jù)終端發(fā)送的數(shù)據(jù)幀,和他們發(fā)送的確認幀,長度包括類型碼和數(shù)據(jù)幀字節(jié)數(shù)之和數(shù)據(jù)校驗采用16位CRC循環(huán)校驗碼。
數(shù)據(jù)終端發(fā)送的數(shù)據(jù)幀設計為48byte,當采用12位的A/D轉(zhuǎn)換器件,如AD1674時,每一路占用16 bit,對8路模擬信號進行一次循環(huán)采集占用16個字節(jié),因此48byte的數(shù)據(jù)幀可存儲3次循環(huán)采集的數(shù)據(jù),這樣設計的目的是為了提高數(shù)據(jù)傳輸?shù)乃俾省.擯RT2000+傳輸速率為19.3Kbit/s時,采用此通信協(xié)議對單路信號進行采集,速率可達4Kbit/s,此系統(tǒng)可用于低速的數(shù)據(jù)采集系統(tǒng)中。
4 結(jié)束語
遠程無線數(shù)據(jù)采集與傳輸?shù)膽梅秶浅V,涉及行業(yè)有電力、水利、公安、交通、石油、安防和金融等。上述設計實現(xiàn)了基于嵌入式Web Server的無線數(shù)據(jù)采集,主要用于車輛遙測、遠程無線抄表、工業(yè)數(shù)據(jù)采集系統(tǒng)、非接觸RF智能卡、生物信號采集等低速率遠程數(shù)據(jù)采集系統(tǒng)中。本系統(tǒng)的主要特點在于其服務器的設計基于嵌入式技術與WEB技術,而數(shù)據(jù)采集部分采用無線傳輸技術。
評論
查看更多