《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于MicroBlaze嵌入式Web服務(wù)器設(shè)計(jì)
基于MicroBlaze嵌入式Web服務(wù)器設(shè)計(jì)
摘要: 本文介紹的基于MicroBlaze的嵌入式Web服務(wù)器可以實(shí)現(xiàn)預(yù)期功能,用戶可以通過(guò)IE瀏覽器瀏覽存儲(chǔ)到FLASH芯片中的網(wǎng)頁(yè)。
關(guān)鍵詞: FPGA MicroBlaze Web服務(wù)器
Abstract:
Key words :

1 引言

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

2 嵌入式軟核處理器MicroBlaze

  MicroBlaze是基于Xilinx公司FPGA的微處理器IP核,和其他外設(shè)IP核一起,可以完成可編程系統(tǒng)芯片(SoPc)的設(shè)計(jì)。MicroBlaze 32位軟處理芯核運(yùn)行速度為150 MHz,性能達(dá)100 D-MIPS。采用RISC架構(gòu)和哈佛結(jié)構(gòu)的獨(dú)立32位指令和數(shù)據(jù)總線,可以全速度執(zhí)行存儲(chǔ)在片上存儲(chǔ)器和外部存儲(chǔ)器中的程序并訪問(wèn)其中的數(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ù)緩存。所有的指令字長(zhǎng)都是32位,有3個(gè)操作數(shù)和2種尋址模式。指令按功能劃分有邏輯運(yùn)算、算術(shù)運(yùn)算、分支、存儲(chǔ)器讀/寫(xiě)和特殊指令等。指令執(zhí)行的流水線是并行流水線,他分為3級(jí)流水:取指、譯碼和執(zhí)行。

  MicroBlaze軟處理器可為您提供不同方法的靈活性。首先可以從處理器內(nèi)核開(kāi)始,構(gòu)建能夠準(zhǔn)確滿足設(shè)計(jì)需要的外設(shè)集合。由于只需要實(shí)現(xiàn)自己所需要的部分,因此避免了芯片資源浪費(fèi)。因?yàn)椴恍枰帉?xiě)代碼關(guān)閉/禁止不需要的處理器功能,因此降低了軟件設(shè)計(jì)復(fù)雜性。創(chuàng)建專(zhuān)用處理器配置的工作也成為一項(xiàng)簡(jiǎn)單的任務(wù),而為了滿足技術(shù)規(guī)格的變化專(zhuān)用處理器配置隨時(shí)可能需要改變。即使在實(shí)際應(yīng)用5~6年后,連FPGA硬件本身可能也已經(jīng)接近其生命期的終點(diǎn)時(shí),只需要簡(jiǎn)單的利用同樣的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)的軟件來(lái)實(shí)現(xiàn)。本文介紹的嵌入式Web服務(wù)器的設(shè)計(jì)則是采用基于FPGA的MicroBlaze軟核處理器,其靈活性大大提高,而成本則可以大大降低,充分體現(xiàn)了可編程片上系統(tǒng)(SoPc)的優(yōu)勢(shì)。系統(tǒng)主要支持CoreConnect總線的標(biāo)準(zhǔn)外設(shè)集合,DDR SDRAM主要用來(lái)存放軟件代碼以及一些需要保存的參數(shù),BRAM用來(lái)在系統(tǒng)運(yùn)行時(shí)的代碼和數(shù)據(jù)存儲(chǔ);網(wǎng)絡(luò)接口芯片采用SMSC公司的IAN91C111芯片作為網(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ò)開(kāi)發(fā)。LCD用來(lái)指示系統(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或者門(mén)級(jí)模型)存在的、具有特定功能的硬件電路。IP核通常分為硬核、固核與軟核3種。根據(jù)系統(tǒng)的硬件開(kāi)發(fā)環(huán)境以及性能需求,本文選擇Xilinx公司開(kāi)發(fā)的一系列軟核產(chǎn)品,他們是用VHDL語(yǔ)言所描述的硬件模塊,允許用戶根據(jù)需要對(duì)各種參數(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可編程邏輯器件集成開(kāi)發(fā)環(huán)境。提供從設(shè)計(jì)輸入到器件編程的全部功能。采用Xilinx公司的EDK開(kāi)發(fā)工具可大大提高系統(tǒng)設(shè)計(jì)效率,他能夠在圖形化界面內(nèi)定制一個(gè)從硬件到軟件的完整系統(tǒng)。在EDK中包含了外設(shè)與MicroBlaze的接口,所以只需定義CPU與外設(shè)的接口即可。設(shè)計(jì)采用的CPU為MicroBlaze僅占用900個(gè)邏輯單元。在EDK下添加對(duì)應(yīng)接口模塊。然后生成對(duì)應(yīng)的VHDL文件。同時(shí),EDK還根據(jù)定制的結(jié)果,自動(dòng)的生成針對(duì)特定硬件環(huán)境的C語(yǔ)言的頭文件以及函數(shù)庫(kù),這在軟件設(shè)計(jì)中會(huì)極大地減少軟件開(kāi)發(fā)人員的工作量。

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

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

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

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

5.1 操作系統(tǒng)

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

5.2 協(xié)議棧

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


5.3 文件系統(tǒng)

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

  調(diào)用mfs_file_open()和mfs_file_wrire()函數(shù)打開(kāi)和創(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ù)器和瀏覽器可以通過(guò)Web交換數(shù)據(jù)。他是一種請(qǐng)求/響應(yīng)協(xié)議,即服務(wù)器等待并響應(yīng)客戶方請(qǐng)求。當(dāng)用戶要瀏覽服務(wù)器上的一個(gè)網(wǎng)頁(yè)時(shí),一個(gè)HTTP請(qǐng)求就會(huì)從用戶的瀏覽器發(fā)到HTTP服務(wù)器。服務(wù)器響應(yīng)這個(gè)請(qǐng)求,把指定的網(wǎng)頁(yè)傳送回來(lái),用戶才看到了網(wǎng)頁(yè)。HTTP協(xié)議不維護(hù)與客戶方的連接,他使用可靠的TCP連接,通常采用TCP的80端口。客戶/服務(wù)器傳輸過(guò)程可分為4個(gè)基本步驟:瀏覽器與服務(wù)器建立連接;瀏覽器向服務(wù)器請(qǐng)求文檔;服務(wù)器響應(yīng)瀏覽器請(qǐng)求;斷開(kāi)連接。

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

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

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

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

6 結(jié) 語(yǔ)

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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品视频网址| 国产视频一区在线| 欧美亚洲免费高清在线观看| 久久激情网站| 亚洲亚洲精品三区日韩精品在线视频| 亚洲国产黄色| 黄色成人在线| 国产精品网站视频| 欧美日韩亚洲一区三区| 中文精品在线| 亚洲人成在线播放| 久久精品二区三区| 亚洲欧美日韩人成在线播放| 一区二区国产在线观看| 91久久久一线二线三线品牌| 在线成人激情| 国产在线精品二区| 国产精品一区久久久| 欧美午夜免费电影| 欧美激情影音先锋| 欧美成人免费在线| 欧美a一区二区| 另类激情亚洲| 翔田千里一区二区| 亚洲图片欧洲图片av| 一本色道久久综合亚洲91| 亚洲精品乱码久久久久久日本蜜臀 | 国产日韩欧美在线观看| 国产精品久久久久久久一区探花| 欧美日韩 国产精品| 欧美激情麻豆| 欧美日韩mv| 欧美日韩一区在线观看| 欧美偷拍一区二区| 欧美视频中文字幕| 国产精品成人观看视频免费| 国产精品久久久久久久久久ktv| 欧美精品在欧美一区二区少妇| 久久久亚洲高清| 久久综合九色综合久99| 久久国产视频网| 久久九九久久九九| 久久男人资源视频| 亚洲免费在线观看| 午夜精品婷婷| 最新日韩在线| 一区二区欧美国产| 亚洲免费视频中文字幕| 欧美在线三级| 欧美xart系列在线观看| 欧美日韩免费在线观看| 国产精品尤物| 在线观看中文字幕不卡| 99精品国产99久久久久久福利| 亚洲欧美日韩国产成人| 91久久精品国产91久久性色tv| 一本色道久久| 欧美专区在线| 欧美精品色网| 国产欧美日韩综合| 亚洲二区视频| 中文在线资源观看网站视频免费不卡| 欧美一区视频| 在线中文字幕一区| 久久精品伊人| 欧美日韩一区在线观看| 国内成人精品视频| 一区二区久久| 亚洲国产精品尤物yw在线观看| 亚洲一区二区三区国产| 开心色5月久久精品| 国产精品久久| 亚洲国产欧美一区二区三区久久 | 国产精品女人网站| 亚洲第一天堂av| 亚洲欧美日韩在线| 一本色道久久综合一区| 久久视频精品在线| 欧美性猛片xxxx免费看久爱 | 欧美制服丝袜第一页| 欧美精品不卡| 狠狠色丁香婷婷综合久久片| 在线一区亚洲| 日韩天堂在线观看| 久久一二三四| 国产欧美日韩不卡免费| 亚洲精选中文字幕| 亚洲国产精品成人综合| 午夜久久资源| 欧美日韩精品久久久| 亚洲电影免费在线| 欧美一区二区视频网站| 亚洲自拍都市欧美小说| 欧美黄色日本| 亚洲第一狼人社区| 久久精品亚洲乱码伦伦中文| 欧美亚洲免费电影| 欧美视频一区二区三区四区| 亚洲国产精品一区| 亚洲国产高清一区二区三区| 欧美在线一区二区三区| 国产精品福利av| 艳女tv在线观看国产一区| 亚洲欧洲视频| 美女视频黄 久久| 黄色精品一区二区| 亚洲欧美怡红院| 亚洲欧美日本国产有色| 欧美日韩精品一区二区在线播放 | 欧美日韩直播| 亚洲狠狠丁香婷婷综合久久久| 久久精品成人一区二区三区| 久久国产婷婷国产香蕉| 国产精品一区二区在线观看不卡| 一本色道久久综合亚洲精品小说| 亚洲美女视频网| 欧美大秀在线观看| 在线日韩视频| 亚洲区第一页| 欧美激情视频网站| 亚洲啪啪91| 亚洲三级视频| 欧美国产精品中文字幕| 在线观看视频一区| 亚洲人成网站在线播| 欧美国产丝袜视频| 亚洲片国产一区一级在线观看| 亚洲精品久久久久久一区二区| 欧美freesex8一10精品| 91久久精品国产| 夜夜嗨一区二区三区| 欧美日韩亚洲国产精品| 中文av一区特黄| 午夜久久久久久久久久一区二区| 国产精品视频免费| 亚洲伊人网站| 久久精品视频播放| 精品福利av| 亚洲国产精品va在线观看黑人| 蜜臀99久久精品久久久久久软件| 亚洲国产欧美在线人成| 亚洲最新在线视频| 国产精品国产精品| 午夜精品一区二区三区在线| 久久久久国产精品人| 亚洲国产二区| 亚洲午夜精品久久久久久浪潮| 国产精品久久久久久户外露出 | 黄色亚洲免费| 亚洲精品久久久久久下一站| 欧美日韩精品一区视频| 亚洲一级黄色片| 久久精品一区二区国产| 亚洲福利视频三区| 中文国产成人精品| 国产精品日韩专区| 久久岛国电影| 欧美日韩国产丝袜另类| 亚洲一级免费视频| 久久婷婷久久一区二区三区| 1024欧美极品| 亚洲午夜免费福利视频| 国产伦精品一区二区三区视频孕妇| 亚洲第一天堂av| 欧美日韩高清在线| 午夜精品久久久久99热蜜桃导演| 美乳少妇欧美精品| 夜夜夜久久久| 久久香蕉国产线看观看网| 亚洲欧洲日本国产| 午夜一区二区三区在线观看| 一区二区三区中文在线观看| 一区二区三区不卡视频在线观看| 国产欧美日韩亚洲精品| 亚洲人www| 国产乱码精品| 亚洲毛片视频| 国产在线不卡| 亚洲一区二区在线播放| 有坂深雪在线一区| 午夜久久久久久| 亚洲激情在线激情| 久久精品国产欧美激情| 亚洲人永久免费| 久久久久久亚洲精品中文字幕| 亚洲精品永久免费精品| 久久久欧美一区二区| 在线亚洲一区观看| 麻豆freexxxx性91精品| 亚洲在线第一页| 欧美美女视频| 久久精品亚洲乱码伦伦中文 | 亚洲香蕉在线观看| 精品av久久久久电影| 亚洲欧美成人一区二区在线电影| 揄拍成人国产精品视频| 午夜精品剧场| 亚洲蜜桃精久久久久久久| 久久久久国产一区二区三区| 中日韩高清电影网|