發(fā)布日期:2022-07-15 點擊率:51
1、引 言
目前遠程測控系統(tǒng)一般都采用以太網(wǎng)和現(xiàn)場總線混合控制網(wǎng)絡(luò)。由于現(xiàn)場總線多種標準共存局面的存在,嚴重地影響了自身追求的開放性、分散性和完全互操作性的特點。隨著Internet技術(shù)的迅速發(fā)展,以太網(wǎng)和TCP/IP協(xié)議已成為世界范圍內(nèi)的事實標準。基于TCP/IP的以太網(wǎng)可滿足控制系統(tǒng)的各個層次的需求,并具有實現(xiàn)現(xiàn)場設(shè)備層和企業(yè)管理層的無縫連接、低成本等現(xiàn)場總線技術(shù)無法比擬的優(yōu)點。專家預(yù)言,基于以太網(wǎng)傳輸?shù)那度胧絀nternet網(wǎng)絡(luò)將會成為下一代工業(yè)控制網(wǎng)絡(luò)的重要選擇,并將帶來工業(yè)控制網(wǎng)絡(luò)新的變革。
8位普通微處理器(尤其是51系列單片機)因其體積小、可靠性高、控制功能強、性能價格比高、易于推廣應(yīng)用等顯著優(yōu)點,廣泛應(yīng)用于國民經(jīng)濟的各個領(lǐng)域(國際上自70年代開始,國內(nèi)自80年代以來),尤其是測控領(lǐng)域。然而以8位普通處理器為核心的嵌入式系統(tǒng)因系統(tǒng)資源、處理速度有限等因素仍排斥在Internet之外,這勢必將會影響基于Internet工業(yè)控制網(wǎng)絡(luò)的發(fā)展。因此解決如何利用現(xiàn)有嵌入式系統(tǒng)接人Internet有很大的研究價值及市場前景。
2、嵌入式Web服務(wù)器
為使51單片機接人Internet,就必須在51單片機系統(tǒng)內(nèi)建立一個可供遠程主機能夠訪問的Web服務(wù)器。主要的困難在于,Internet上面的各種通信協(xié)議對于存儲器、運算速度等的要求比較高,支持TCP/IP等Internet協(xié)議將占用大量系統(tǒng)資源,這就要求我們建立一個嵌入式瘦web服務(wù)器。
2.1 硬件設(shè)計
筆者在實驗中開發(fā)了一個簡潔的硬件平臺,命名為51板,其硬件原理圖如圖1所示。其中51單片機選用的是8位微處理器AT89C58,指令集和MS.5l系列兼容,因其片內(nèi)帶有32K閃存,因此可不擴展外部程序存儲器,簡化硬件電路。另外擴展了一片外部 的62256,用來處理網(wǎng)絡(luò)傳輸?shù)腎I)包、任務(wù)切換和應(yīng)用程序的數(shù)據(jù)緩存。利用AT89C58單片機內(nèi)部有一個全雙工的串行接口,組成RS232串口,作為與其它串口設(shè)備通訊用。RTL8019AS是由臺灣Realtek公司生產(chǎn)的高度集成的以太網(wǎng)控制器,它負責實現(xiàn)以太網(wǎng)媒介訪問層(MAC)和物理層(PHY)的所有功能,經(jīng)隔離后與RJ.45相連。
圖1 51板的硬件原理框圖
2.2 軟件設(shè)計
由于51單片機程序空間及內(nèi)存RAM的限制,這決定了51單片機與電腦在實現(xiàn)Web服務(wù)器時存在諸多差別,諸如:在51單片機里不能使用WINDOWS、UNIX、LINUX等多任務(wù)操作系統(tǒng),更不能支持比較完整的TCP/IP協(xié)議,存放收到的以太網(wǎng)數(shù)據(jù)包的RAM是固定的,而不是動態(tài)分配的。所以盡管UNIX、LINUX 的源代碼公開,但在其上實現(xiàn)的Web服務(wù)器的源代碼并不能夠直接移植到51單片機上。另外采用實時操作系統(tǒng)RTOS,價格昂貴,不利于低成本開發(fā)。為此我們?yōu)?1板開發(fā)了整個軟件包,主要包括如下四個方面的內(nèi)容:
網(wǎng)卡的驅(qū)動程序:其中包括RTLS019初始化、讀取和設(shè)置 19的MAC地址及RTLS019發(fā)送和處理以太網(wǎng)程序等。需要注意的是有關(guān)芯片的地址定義及訪問方式要與硬件電路相符。
(1) TCP/IP 協(xié)議族的實現(xiàn)
TCP/IP是一個協(xié)議族,它由幾百種網(wǎng)絡(luò)通信協(xié)議組成,TCP協(xié)議和IP協(xié)議只是此協(xié)議族中的兩個成員,但由于其地位重要,因此通常使用TCP/IP來代表整個協(xié)議族。嵌入式Internet作為一種TCP/IP協(xié)議的嵌入式應(yīng)用,其功能是特定的,而且一般來說嵌入式系統(tǒng)資源也非常有限,所以它不要求或不可能實現(xiàn)所有的TCP/IP協(xié)議,因此有必要對TCP/IP協(xié)議精簡。
通過對TCP/II)四層協(xié)議和系統(tǒng)需求的分析,我們選擇并實現(xiàn)了以下協(xié)議:超文本傳輸協(xié)議HTTP(定義了一種請求/應(yīng)答機制來從Web服務(wù)器獲取文檔)、傳輸控制協(xié)議TCP(為在服務(wù)器和客戶端之間傳遞HTIP請求/應(yīng)答提供一個可靠的通信信道)、網(wǎng)際協(xié)議II)(它使異構(gòu)網(wǎng)絡(luò)之間的通信成為可能)、Internet互聯(lián)網(wǎng)控制報文協(xié)議ICMP(實現(xiàn)診斷ping,檢查低層協(xié)議層)、地址解析協(xié)議ARP(用來把高層II)地址與低層物理硬件地址動態(tài)捆綁起來)。
(2) Web服務(wù)器的實現(xiàn)
Web服務(wù)器用來監(jiān)聽用戶端的服務(wù)請求,根據(jù)用戶請求的類型提供相應(yīng)的服務(wù)。用戶端使用Web瀏覽器和web服務(wù)器進行通信。Web服務(wù)器在接收到用戶端的請求后,處理用戶請求并返回需要的數(shù)據(jù)。
網(wǎng)頁采用HTMI 格式,存貯在程序存儲器中,通過普通的線性查詢技術(shù)尋找客戶端請求的文件。傳統(tǒng)服務(wù)器只提供固定的網(wǎng)頁,實質(zhì)上是一個文件服務(wù)器。但這樣的服務(wù)器不適合應(yīng)用于測控系統(tǒng),沒多大實用價值。為使Web服務(wù)器變得實用,則要求Web服務(wù)器與瀏覽器之間具有交互能力,網(wǎng)頁中含有動態(tài)內(nèi)容,允許在已存在的頁中插入動態(tài)數(shù)據(jù),我們采取了變量替換的方法。
作者:張海平,熊靜琪