999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MicroBlaze的嵌入式Web服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)

2008-04-12 00:00:00
現(xiàn)代電子技術(shù) 2008年8期

摘 要:隨著網(wǎng)絡(luò)的日益普及,將嵌入式系統(tǒng)接入網(wǎng)絡(luò)的想法也變得更加現(xiàn)實(shí)。介紹一種基于MicroBlaze處理器的嵌入式Web服務(wù)器的設(shè)計(jì)方法。系統(tǒng)在Virtex4 系列LX25芯片上,采用軟核處理器MicroBlaze配置核心處理器。MicroBlaze軟內(nèi)核是一種針對Xilinx的FPGA器件而優(yōu)化的功能強(qiáng)大的標(biāo)準(zhǔn)32位RISC處理器。網(wǎng)絡(luò)協(xié)議采用Xilnet,這是Xilinx公司專門針對Xilinx嵌入式系統(tǒng)應(yīng)用而設(shè)計(jì)的網(wǎng)絡(luò)通信協(xié)議,接口芯片使用LAN91C111。基于MicroBlaze的嵌入式Web 服務(wù)器能夠達(dá)到預(yù)期的效果,用戶可以通過IE瀏覽器瀏覽存儲(chǔ)在DDR SDRAM芯片中的網(wǎng)頁,由于CPU本身是以軟核的方式實(shí)現(xiàn),其功能可根據(jù)需要進(jìn)行定制,非常靈活。該Web服務(wù)器基于HTTP協(xié)議,采用TCP/IP套接字編程技術(shù)實(shí)現(xiàn),能夠?qū)崿F(xiàn)對工業(yè)現(xiàn)場的數(shù)據(jù)采集、遠(yuǎn)程監(jiān)控以及信息的交互。

關(guān)鍵詞:MicroBlaze;嵌入式Web;Xilnet;超文本傳輸協(xié)議

中圖分類號:TP393.11文獻(xiàn)標(biāo)識碼:B文章編號:1004-373X(2008)08-027-03

Design and Implementation of Embedded Web Server Based on MicroBlaze

QI Ming,YAO Ming

(Information Science Technology College,Xiamen University,Xiamen,361005,China)

Abstract:With the development of Internet,the idea of merging embedded system into the network becomes more reliable.This paper introduces a design way of embedded Web server that based on the MicroBlaze.The system used soft core MicroBlaze to configure it on the LX25 chip.MicroBlaze is a standard RISC processor which has stronger optimized function and is specific towards Xilinx FPGA devices.Net protocol adopted Xilnet which is designed for Xilinx embedded system′s application.Interface chip is LAN91C111.The system described in this article can reach the expected affect and users can browse the net in the SDRAM through IE.Due to the soft core implement way,it can be customized according to your own need and very flexible.The web server is implemented by TCP/IP socket program technology and based on HTTP protocol.It can complete data acquisition,remote surveillance and imformation interaction.

Keywords:MicroBlaze;embedded Web;Xilnet;HTTP

1 引 言

由于Internet技術(shù)的滲透,嵌入式系統(tǒng)正變得越來越智能化并具有越來越多的網(wǎng)絡(luò)友好特性。Web技術(shù)的飛速發(fā)展,給嵌入式系統(tǒng)進(jìn)入Internet提供絕佳的途徑。在現(xiàn)場儀表和企業(yè)設(shè)備層應(yīng)用嵌入式技術(shù)是企業(yè)監(jiān)控系統(tǒng)的發(fā)展趨勢。與現(xiàn)場總線技術(shù)相比,嵌入式技術(shù)不僅為開發(fā)者提供了大量的工具和函數(shù)庫,而且減少了傳統(tǒng)的客戶端,減少了二次開發(fā)的工作量;而把嵌入式技術(shù)和Internet技術(shù)結(jié)合起來,使得整個(gè)工控網(wǎng)絡(luò)易于和Internet實(shí)現(xiàn)無縫連接;現(xiàn)在多數(shù)企業(yè)控制網(wǎng)絡(luò)是通過專用線路進(jìn)行數(shù)據(jù)通信,其通信介質(zhì)、通信協(xié)議都是專用的,而Internet技術(shù)的滲透使嵌入式設(shè)備的遠(yuǎn)程控制和管理方式都有了改變,不再需要專用的通信線路,傳輸?shù)男畔⒁膊辉倬窒抻跀?shù)據(jù)信息。Web技術(shù)的發(fā)展、通信協(xié)議的公開、HTML語言的標(biāo)準(zhǔn)統(tǒng)一性,使得只要在嵌入式設(shè)備中有一個(gè)微型服務(wù)器,通過用任意一種Web瀏覽器,用戶就可以監(jiān)控現(xiàn)場數(shù)據(jù)和設(shè)備。

2 嵌入式軟核處理器MicroBlaze

MicroBlaze是基于Xilinx公司FPGA的微處理器IP核,和其他外設(shè)IP核一起,可以完成可編程系統(tǒng)芯片(SoPc)的設(shè)計(jì)。MicroBlaze 32位軟處理芯核運(yùn)行速度為150 MHz,性能達(dá)100 DMIPS。采用RISC架構(gòu)和哈佛結(jié)構(gòu)的獨(dú)立32位指令和數(shù)據(jù)總線,可以全速度執(zhí)行存儲(chǔ)在片上存儲(chǔ)器和外部存儲(chǔ)器中的程序并訪問其中的數(shù)據(jù)。支持CoreConnect總線的標(biāo)準(zhǔn)外設(shè)集合為MicroBlaze設(shè)計(jì)人員提供了兼容性和重利用能力。MicroBlaze內(nèi)部有32個(gè)32位通用寄存器和2個(gè)32位特殊寄存器PC指針和MSR狀態(tài)標(biāo)志寄存器。為了提高性能,MicroBlaze還具有指令和數(shù)據(jù)緩存。所有的指令字長都是32位,有3個(gè)操作數(shù)和2種尋址模式。指令按功能劃分有邏輯運(yùn)算、算術(shù)運(yùn)算、分支、存儲(chǔ)器讀/寫和特殊指令等。指令執(zhí)行的流水線是并行流水線,他分為3級流水:取指、譯碼和執(zhí)行。

MicroBlaze軟處理器可為您提供不同方法的靈活性。首先可以從處理器內(nèi)核開始,構(gòu)建能夠準(zhǔn)確滿足設(shè)計(jì)需要的外設(shè)集合。由于只需要實(shí)現(xiàn)自己所需要的部分,因此避免了芯片資源浪費(fèi)。因?yàn)椴恍枰帉懘a關(guān)閉/禁止不需要的處理器功能,因此降低了軟件設(shè)計(jì)復(fù)雜性。創(chuàng)建專用處理器配置的工作也成為一項(xiàng)簡單的任務(wù),而為了滿足技術(shù)規(guī)格的變化專用處理器配置隨時(shí)可能需要改變。即使在實(shí)際應(yīng)用5~6年后,連FPGA硬件本身可能也已經(jīng)接近其生命期的終點(diǎn)時(shí),只需要簡單的利用同樣的C代碼將軟處理器內(nèi)核移植到新的FPGA硬件中就可以。硬件平臺(tái)或許需要一定的PCB修改,但遺留下的代碼仍然是可用的,不需要修改。

3 系統(tǒng)結(jié)構(gòu)

在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)上,考慮現(xiàn)有的各種嵌入式網(wǎng)絡(luò)實(shí)現(xiàn)方案,絕大多數(shù)嵌入式Internet都使用微控制器和相應(yīng)的軟件來實(shí)現(xiàn)。本文介紹的嵌入式Web服務(wù)器的設(shè)計(jì)則是采用基于FPGA的MicroBlaze軟核處理器,其靈活性大大提高,而成本則可以大大降低,充分體現(xiàn)了可編程片上系統(tǒng)(SoPc)的優(yōu)勢。系統(tǒng)主要支持CoreConnect總線的標(biāo)準(zhǔn)外設(shè)集合,DDR SDRAM主要用來存放軟件代碼以及一些需要保存的參數(shù),BRAM用來在系統(tǒng)運(yùn)行時(shí)的代碼和數(shù)據(jù)存儲(chǔ);網(wǎng)絡(luò)接口芯片采用SMSC公司的LAN91C111芯片作為網(wǎng)絡(luò)接口。該器件是一個(gè)以太網(wǎng)控制器,實(shí)現(xiàn)了網(wǎng)絡(luò)7層協(xié)議棧中的物理層和MAC層的功能。他具有10 M/100 M自適應(yīng)、雙工/半工自適應(yīng)等功能,非常適合嵌入式網(wǎng)絡(luò)開發(fā)。LCD用來指示系統(tǒng)運(yùn)行狀態(tài)。整個(gè)系統(tǒng)的結(jié)構(gòu)如圖1所示。

4 硬件設(shè)計(jì)

本文在進(jìn)行硬件設(shè)計(jì)的時(shí)候采用基于IP核的設(shè)計(jì)方法,并將大部分功能在單個(gè)FPGA芯片上予以實(shí)現(xiàn)。設(shè)計(jì)電路原理圖之前,必須根據(jù)系統(tǒng)需求選擇合適的IP核。所謂IP核,是指那些以硬件形式(硅片版圖)或者軟件形式(用Verilog、VHDL描述的RTL或者門級模型)存在的、具有特定功能的硬件電路。IP核通常分為硬核、固核與軟核3種。根據(jù)系統(tǒng)的硬件開發(fā)環(huán)境以及性能需求,本文選擇Xilinx公司開發(fā)的一系列軟核產(chǎn)品,他們是用VHDL語言所描述的硬件模塊,允許用戶根據(jù)需要對各種參數(shù)進(jìn)行配置,如數(shù)據(jù)通路帶寬、優(yōu)先進(jìn)行速度優(yōu)化還是資源優(yōu)化等,因而應(yīng)用非常靈活。系統(tǒng)所用到的軟IP核產(chǎn)品有MicroBlaze,BRAM、定時(shí)器、通用異步收發(fā)器UART,以及用于外部功能擴(kuò)展的OPB總線模塊。

硬件設(shè)計(jì)使用的是ISE可編程邏輯器件集成開發(fā)環(huán)境。提供從設(shè)計(jì)輸入到器件編程的全部功能。采用Xilinx公司的EDK開發(fā)工具可大大提高系統(tǒng)設(shè)計(jì)效率,他能夠在圖形化界面內(nèi)定制一個(gè)從硬件到軟件的完整系統(tǒng)。在EDK中包含了外設(shè)與MicroBlaze的接口,所以只需定義CPU與外設(shè)的接口即可。設(shè)計(jì)采用的CPU為Micro[CD*4]Blaze僅占用900個(gè)邏輯單元。在EDK下添加對應(yīng)接口模塊。然后生成對應(yīng)的VHDL文件。同時(shí),EDK還根據(jù)定制的結(jié)果,自動(dòng)的生成針對特定硬件環(huán)境的C語言的頭文件以及函數(shù)庫,這在軟件設(shè)計(jì)中會(huì)極大地減少軟件開發(fā)人員的工作量。

本文采用的是Xilinx公司Virtex4系列FPGA芯片,最多能提供200 000個(gè)邏輯單元和多達(dá)64 kB的BRAM存儲(chǔ)空間。由于FPGA芯片具有可反復(fù)更改的特性,因此有助于硬件系統(tǒng)的改進(jìn)和不斷升級。

由于在FPGA芯片上構(gòu)造以太網(wǎng)物理層、MAC層電路較困難,本文將這些功能放到FPGA芯片的外面,使用LAN91C111芯片來實(shí)現(xiàn)以太網(wǎng)硬件接口功能。SMSC公司的LAN91C111是為了方便嵌入式應(yīng)用系統(tǒng)連接到快速以太網(wǎng)而專門設(shè)計(jì)的,他實(shí)現(xiàn)CSMA/CD協(xié)議的物理層和媒體訪問控制層(MAC) 兩個(gè)部分,并可以很方便地與許多嵌入式處理器進(jìn)行數(shù)據(jù)交換。

5 軟件設(shè)計(jì)

軟件設(shè)計(jì)包括:操作系統(tǒng)移植、網(wǎng)絡(luò)協(xié)議棧設(shè)計(jì)、文件系統(tǒng)生成、應(yīng)用級代碼編寫等部分。

5.1 操作系統(tǒng)

為了簡化設(shè)計(jì),本文中的Web服務(wù)器采用單一線程,無需RTOS(實(shí)時(shí)操作系統(tǒng))的支持。故采用EDK提供的僅支持單進(jìn)程的standalone板支持包即可。

5.2 協(xié)議棧

系統(tǒng)采用的是EDK中包含針對MicroBlaze的網(wǎng)絡(luò)協(xié)議棧,隱藏了低層硬件細(xì)節(jié),以類似于Unix套接字的方式實(shí)現(xiàn)一個(gè)精簡的網(wǎng)絡(luò)協(xié)議棧Xilnet。他支持以下一些網(wǎng)絡(luò)協(xié)議:IP,ARP,ICMP,UDP,TCP。調(diào)用如下函數(shù)初始化棧以及MAC地址和IP地址。

xilnet_eth_init_hw_addr(\"00:00:00:00:22:38\");

xilnet_eth_init_hw_addr_tbl();

xilnet_ip_init(\"192.168.2.13\");

5.3 文件系統(tǒng)

為了支持HTTP協(xié)議,一個(gè)文件系統(tǒng)是必不可少的。本設(shè)計(jì)使用EDK提供的xilmfs文件系統(tǒng)對網(wǎng)頁的靜態(tài)頁面和圖片進(jìn)行組織和存儲(chǔ)。

調(diào)用mfs_file_open()和mfs_file_write()函數(shù)打開和創(chuàng)建文件系統(tǒng)。考慮到有限的系統(tǒng)資源,文件存放在DDR SDRAM中。

5.4 HTTP協(xié)議及其實(shí)現(xiàn)

嵌入式Web服務(wù)器技術(shù)的核心是HTTP(超文本傳送協(xié)議)引擎。HTTP是WWW上的協(xié)議。HTTP協(xié)議使Web服務(wù)器和瀏覽器可以通過Web交換數(shù)據(jù)。他是一種請求/響應(yīng)協(xié)議,即服務(wù)器等待并響應(yīng)客戶方請求。當(dāng)用戶要瀏覽服務(wù)器上的一個(gè)網(wǎng)頁時(shí),一個(gè)HTTP請求就會(huì)從用戶的瀏覽器發(fā)到HTTP服務(wù)器。服務(wù)器響應(yīng)這個(gè)請求,把指定的網(wǎng)頁傳送回來,用戶才看到了網(wǎng)頁。HTTP協(xié)議不維護(hù)與客戶方的連接,他使用可靠的TCP連接,通常采用TCP的80端口。客戶/服務(wù)器傳輸過程可分為4個(gè)基本步驟:瀏覽器與服務(wù)器建立連接;瀏覽器向服務(wù)器請求文檔;服務(wù)器響應(yīng)瀏覽器請求;斷開連接。

服務(wù)器程序開始運(yùn)行時(shí),主進(jìn)程就創(chuàng)建一個(gè)套接字,并與主機(jī)地址綁定到一起,隨后置為被動(dòng)監(jiān)聽狀態(tài),等待客戶端連接請求的到來,分別有xilsock_socket()創(chuàng)建一個(gè)套接字,xilsock_bind()綁定,xilsock_listen()監(jiān)聽,xilsock_accept()接收來完成。一旦接收一個(gè)連接,xilsock_accept()會(huì)返回一個(gè)新的套接字描述符,主程序則開辟一個(gè)新的子程序來處理這個(gè)新的連接。這樣系統(tǒng)可以同時(shí)接收多個(gè)客戶端的請求。

如圖2所示,首先創(chuàng)建套接字,將套接字與本地地址和端口綁定,并設(shè)置套接字處于監(jiān)聽狀態(tài)。Web服務(wù)器在接收一個(gè)連接請求后,讀取用戶的請求,根據(jù)用戶的請求進(jìn)行相應(yīng)的處理。

當(dāng)請求位靜態(tài)文本時(shí),文檔直接提交輸出,當(dāng)請求位動(dòng)態(tài)文本時(shí),請求模塊自動(dòng)調(diào)用腳本引擎,將腳本替換位現(xiàn)場數(shù)據(jù),再提交輸出,當(dāng)請求為帶參數(shù)的執(zhí)行命令時(shí),請[LL]求解析器調(diào)用命令執(zhí)行模塊分析命令并控制監(jiān)控前端。

這里并沒有采用通常的CGI(Common Gateway Interface)技術(shù)對請求信息進(jìn)行處理,而是將活動(dòng)頁面由加載進(jìn)Web服務(wù)器的模塊處理,因此處理速度比CGI程序更快、更高效。活動(dòng)頁面還可以處理表單、HTTP會(huì)話和方便的訪問數(shù)據(jù)庫。因此,活動(dòng)頁面對動(dòng)態(tài)Web頁面提供完整的服務(wù)器端支持。

6 結(jié) 語

本文介紹的基于MicroBlaze的嵌入式Web服務(wù)器可以實(shí)現(xiàn)預(yù)期功能,用戶可以通過IE瀏覽器瀏覽存儲(chǔ)到FLASH芯片中的網(wǎng)頁。

CPU本身是以軟核的方式實(shí)現(xiàn),其功能可根據(jù)需要進(jìn)行定制,非常靈活。EDK不但在硬件設(shè)計(jì)上提供了支持,在軟件上也為設(shè)計(jì)者提供了較好的支持,提供了現(xiàn)成的網(wǎng)絡(luò)協(xié)議棧。加上EDK提供的集成開發(fā)環(huán)境使得軟件開發(fā)更加便利。采用這種方式的控制系統(tǒng)具有控制分散、開放性好、使用簡單、穩(wěn)定性好等優(yōu)點(diǎn),而且可以通過瀏覽器進(jìn)行遠(yuǎn)程多點(diǎn)監(jiān)控和遠(yuǎn)程支持,是未來控制系統(tǒng)發(fā)展的一個(gè)趨勢。

參 考 文 獻(xiàn)

[1]Xilinx.MicroBlaze Processor Reference Guide (Revision 5.1).Xilinx,2005.

[2]Xilinx.LibXil Net(v2.00.a).Xilinx,2005.

[3]Paul S Wang,Sanda S Katila.Web設(shè)計(jì)與編程導(dǎo)論[M].邱仲潘,譯.北京:高等教育出版社,2005.

[4]高一沅,黃春暉.基于MicroBlaze的以太網(wǎng)通信系統(tǒng)平臺(tái)設(shè)計(jì)的研究\\[J\\].現(xiàn)代電子技術(shù),2007,30(17):2931.

作者簡介 祁 明 男,廈門大學(xué)信息科學(xué)與技術(shù)學(xué)院自動(dòng)化系檢測與自動(dòng)化裝置專業(yè),碩士研究生。研究方向?yàn)榛贔PGA的嵌入式控制系統(tǒng)。

姚 銘 男,廈門大學(xué)信息科學(xué)與技術(shù)學(xué)院自動(dòng)化系檢測與自動(dòng)化裝置專業(yè),碩士生導(dǎo)師、高級工程師。研究方向?yàn)榍度胧娇刂葡到y(tǒng)。

主站蜘蛛池模板: 在线观看国产黄色| 99尹人香蕉国产免费天天拍| 宅男噜噜噜66国产在线观看| 九九视频免费在线观看| 国产交换配偶在线视频| 国产精品不卡片视频免费观看| 成人午夜精品一级毛片| 免费一极毛片| 国产一级毛片yw| 色婷婷成人网| 免费jjzz在在线播放国产| 波多野结衣在线se| 激情五月婷婷综合网| 免费人欧美成又黄又爽的视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产黄色视频综合| 亚洲第一成网站| 精品人妻一区二区三区蜜桃AⅤ| 国产精品手机在线播放| 久久福利网| 免费全部高H视频无码无遮掩| 国产麻豆va精品视频| 国产成人亚洲欧美激情| 91小视频在线观看免费版高清| 亚洲精品另类| 欧美自慰一级看片免费| 国产高清色视频免费看的网址| 国产在线日本| 亚洲精品成人片在线观看 | 亚洲 欧美 中文 AⅤ在线视频| 中文字幕有乳无码| 熟妇丰满人妻| 午夜a级毛片| 2020国产精品视频| 成人国产精品一级毛片天堂| 国产资源免费观看| 久热中文字幕在线| 中文国产成人久久精品小说| 亚洲人成网址| 999在线免费视频| 中文字幕久久波多野结衣 | 尤物亚洲最大AV无码网站| 国产精品久久久久久影院| 狠狠亚洲五月天| 亚洲综合经典在线一区二区| 亚洲成人在线网| 国产自在线拍| 国国产a国产片免费麻豆| 日本人又色又爽的视频| 国产在线自乱拍播放| 无码区日韩专区免费系列| 国产乱人免费视频| 国产xx在线观看| 婷婷综合亚洲| 日韩精品无码免费一区二区三区 | 国产高清在线观看| 有专无码视频| 国产成人h在线观看网站站| 日韩天堂网| 欧美国产在线精品17p| 欧美精品另类| 国产亚洲精品自在线| 中文字幕永久视频| 日韩在线播放欧美字幕| av天堂最新版在线| 热思思久久免费视频| 国产亚洲欧美在线人成aaaa| 亚洲综合片| 午夜三级在线| 2020国产精品视频| 伊人五月丁香综合AⅤ| 亚洲视频免| 亚洲国产日韩欧美在线| 国产亚洲成AⅤ人片在线观看| 亚洲人成网站18禁动漫无码| 日本色综合网| 免费一极毛片| 丁香婷婷激情综合激情| 亚洲精品欧美重口| 狠狠色香婷婷久久亚洲精品| 免费aa毛片| 美女一级毛片无遮挡内谢|