基于MicroBlaze嵌入式Web服務(wù)器設(shè)計_第1頁
免費預(yù)覽已結(jié)束,剩余4頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于microblaze嵌入式web服務(wù)器設(shè)計因為internet技術(shù)的滲透,系統(tǒng)正變得越來越智能化并具有越來越多的網(wǎng)絡(luò)友好特性。web技術(shù)的飛快進展,給嵌入式系統(tǒng)進入internet提供絕佳的途徑。在現(xiàn)場儀表和企業(yè)設(shè)備層應(yīng)用嵌入式技術(shù)是企業(yè)監(jiān)控系統(tǒng)的進展趨勢。與現(xiàn)場技術(shù)相比,嵌入式技術(shù)不僅為開發(fā)者提供了大量的工具和函數(shù)庫,而且削減了傳統(tǒng)的客戶端,削減了二次開發(fā)的工作量;而把嵌入式技術(shù)和internet技術(shù)結(jié)合起來,使得囫圇工控網(wǎng)絡(luò)易于和internet實現(xiàn)無縫銜接;現(xiàn)在多數(shù)企業(yè)控制網(wǎng)絡(luò)是通過專用線路舉行數(shù)據(jù)通信,其通信介質(zhì)、通信協(xié)議都是專用的,而internet技術(shù)的滲透使嵌入式設(shè)備的遠程控

2、制和管理方式都有了轉(zhuǎn)變,不再需要專用的通信線路,傳輸?shù)男畔⒁膊辉倬窒抻跀?shù)據(jù)信息。web技術(shù)的進展、通信協(xié)議的藏匿、html語言的標(biāo)準(zhǔn)統(tǒng)一性,使得只要在嵌入式設(shè)備中有一個微型服務(wù)器,通過用隨意一種web掃瞄器,用戶就可以監(jiān)控現(xiàn)場數(shù)據(jù)和設(shè)備。2 嵌入式軟核處理器microblazemicroblaze是基于公司的微處理器ip核,和其他外設(shè)ip核一起,可以完成可編程系統(tǒng)芯片(sopc)的設(shè)計。microblaze 32位軟處理芯核運行速度為150 mhz,性能達100 d-。采納risc架構(gòu)和哈佛結(jié)構(gòu)的自立32位命令和數(shù)據(jù)總線,可以全速度執(zhí)行存儲在片上存儲器和外部存儲器中的程序并拜訪其中的數(shù)據(jù)。支持

3、coreconnect總線的標(biāo)準(zhǔn)外設(shè)集合為microblaze設(shè)計人員提供了兼容性和重利用能力。microblaze內(nèi)部有32個32位通用寄存器和2個32位特別寄存器pc指針和msr狀態(tài)標(biāo)記寄存器。為了提高性能,microblaze還具有命令和數(shù)據(jù)緩存。全部的命令字長都是32位,有3個操作數(shù)和2種尋址模式。命令按功能劃分有規(guī)律運算、算術(shù)運算、分支、存儲器讀寫和特別命令等。命令執(zhí)行的流水線是并行流水線,他分為3級流水:取指、譯碼和執(zhí)行。microblaze軟處理器可為您提供不同辦法的靈便性。首先可以從處理器內(nèi)核開頭,構(gòu)建能夠精確滿足設(shè)計需要的外設(shè)集合。因為只需要實現(xiàn)自己所需要的部分,因此避開了芯

4、片資源鋪張。由于不需要編寫代碼關(guān)閉禁止不需要的處理器功能,因此降低了軟件設(shè)計復(fù)雜性。創(chuàng)建專用處理器配置的工作也成為一項容易的任務(wù),而為了滿足技術(shù)規(guī)格的變幻專用處理器配置隨時可能需要轉(zhuǎn)變。即使在實際應(yīng)用56年后,連fpga硬件本身可能也已經(jīng)臨近其生命期的盡頭時,只需要容易的利用同樣的c代碼將軟處理器內(nèi)核移植到新的fpga硬件中就可以。硬件平臺或許需要一定的修改,但遺留下的代碼仍然是可用的,不需要修改。3 系統(tǒng)結(jié)構(gòu)在系統(tǒng)結(jié)構(gòu)設(shè)計上,考慮現(xiàn)有的各種嵌入式網(wǎng)絡(luò)實現(xiàn)計劃,絕大多數(shù)嵌入式internet都用法微控制器和相應(yīng)的軟件來實現(xiàn)。本文介紹的嵌入式web服務(wù)器的設(shè)計則是采納基于fpga的microbl

5、aze軟核處理器,其靈便性大大提高,而成本則可以大大降低,充分體現(xiàn)了可編程片上系統(tǒng)(sopc)的優(yōu)勢。系統(tǒng)主要支持coreconnect總線的標(biāo)準(zhǔn)外設(shè)集合,ddr sdram主要用來存放軟件代碼以及一些需要保存的參數(shù),bram用來在系統(tǒng)運行時的代碼和數(shù)據(jù)存儲;網(wǎng)絡(luò)接口芯片采納smsc公司的ian91c111芯片作為網(wǎng)絡(luò)接口。該器件是一個以太網(wǎng)控制器,實現(xiàn)了網(wǎng)絡(luò)7層協(xié)議棧中的物理層和mac層的功能。他具有10 m100 m自適應(yīng)、雙工半工自適應(yīng)等功能,十分適合嵌入式網(wǎng)絡(luò)開發(fā)。用來指示系統(tǒng)運行狀態(tài)。囫圇系統(tǒng)的結(jié)構(gòu)1所示。4 硬件設(shè)計本文在舉行硬件設(shè)計的時候采納基于ip核的設(shè)計辦法,并將大部分功能在

6、單個fpga芯片上予以實現(xiàn)。設(shè)計原理圖之前,必需按照系統(tǒng)需求挑選合適的ip核。所謂ip核,是指那些以硬件形式(硅片版圖)或者軟件形式(用、描述的rtl或者門級模型)存在的、具有特定功能的硬件電路。ip核通常分為硬核、固核與軟核3種。按照系統(tǒng)的硬件開發(fā)環(huán)境以及性能需求,本文挑選xilinx公司開發(fā)的一系列軟核產(chǎn)品,他們是用vhdl語言所描述的硬件模塊,允許用戶按照需要對各種參數(shù)舉行配置,如數(shù)據(jù)通路帶寬、優(yōu)先舉行速度優(yōu)化還是資源優(yōu)化等,因而應(yīng)用十分靈便。系統(tǒng)所用到的軟ip核產(chǎn)品有microblaze,bram、定時器、通用異步uart,以及用于外部功能擴展的opb總線模塊。硬件設(shè)計用法的是ise可

7、編程規(guī)律器件集成開發(fā)環(huán)境。提供從設(shè)計輸入到器件編程的所有功能。采納xilinx公司的edk開發(fā)工具可大大提高系統(tǒng)設(shè)計效率,他能夠在圖形化界面內(nèi)定制一個從硬件到軟件的完整系統(tǒng)。在edk中包含了外設(shè)與microblaze的接口,所以只需定義cpu與外設(shè)的接口即可。設(shè)計采納的cpu為microblaze僅占用900個規(guī)律單元。在edk下添加對應(yīng)接口模塊。然后生成對應(yīng)的vhdl文件。同時,edk還按照定制的結(jié)果,自動的生成針對特定硬件環(huán)境的的頭文件以及函數(shù)庫,這在軟件設(shè)計中會極大地削減軟件開發(fā)人員的工作量。本文采納的是xilinx公司virtex4系列fpga芯片,最多能提供200 000個規(guī)律單元和

8、多達64 kb的bram存儲空間。因為fpga芯片具有可反復(fù)更改的特性,因此有助于硬件系統(tǒng)的改進和不斷升級。因為在fpga芯片上構(gòu)造以太網(wǎng)物理層、mac層電路較困難,本文將這些功能放到fpga芯片的外面,用法lan91c111芯片來實現(xiàn)以太網(wǎng)硬件接口功能。smsc公司的lan91c111是為了便利嵌入式應(yīng)用系統(tǒng)銜接到迅速以太網(wǎng)而特地設(shè)計的,他實現(xiàn)csmacd協(xié)議的物理層和媒體拜訪控制層(mac)兩個部分,并可以很便利地與許多嵌入式處理器舉行數(shù)據(jù)交換。5 軟件設(shè)計軟件設(shè)計包括:操作系統(tǒng)移植、網(wǎng)絡(luò)協(xié)議棧設(shè)計、文件系統(tǒng)生成、應(yīng)用級代碼編寫等部分。5.1 操作系統(tǒng)為了簡化設(shè)計,本文中的web服務(wù)器采納

9、單一線程,無需rtos(實時操作系統(tǒng))的支持。故采納edk提供的僅支持單進程的standalone板支持包即可。5.2 協(xié)議棧系統(tǒng)采納的是edk中包含針對microblaze的網(wǎng)絡(luò)協(xié)議棧,躲藏了低層硬件詳情,以類似于unix套接字的方式實現(xià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é)議,一個文件系統(tǒng)是必不行少的。本設(shè)計用法edk提供的xilmfs文件系統(tǒng)對網(wǎng)頁的靜態(tài)頁面和舉行組織和存儲。調(diào)用mfs_file_open()和mfs_file_wrire()函數(shù)打開

10、和創(chuàng)建文件系統(tǒng)??紤]到有限的系統(tǒng)資源,文件存放在ddr sdram中。5.4 http協(xié)議及其實現(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ù)器上的一個網(wǎng)頁時,一個http哀求就會從用戶的掃瞄器發(fā)到http服務(wù)器。服務(wù)器響應(yīng)這個哀求,把指定的網(wǎng)頁傳送回歸,用戶才看到了網(wǎng)頁。http協(xié)議不維護與客戶方的銜接,他用法牢靠的tcp銜接,通常采納tcp的80端口??蛻舴?wù)器傳輸過程可分為4個基本步驟:掃瞄器與服務(wù)器建立銜接;掃瞄器向服

11、務(wù)器哀求文檔;服務(wù)器響應(yīng)掃瞄器哀求;斷開銜接。服務(wù)器程序開頭運行時,主進程就創(chuàng)建一個套接字,并與主機地址綁定到一起,隨后置為被動*狀態(tài),等待客戶端銜接哀求的到來,分離有xilsock_socket()創(chuàng)建一個套接字,xilsock_bind()綁定,xilsock_listen()*,xilsock_accept()接收來完成。一旦接收一個銜接,xilsock_acept()會返回一個新的套接字描述符,主程序則開拓一個新的子程序來處理這個新的銜接。這樣系統(tǒng)可以同時接收多個客戶端的哀求。2所示,首先創(chuàng)建套接字,將套接字與本地地址和端口綁定,并設(shè)置套接字處于*狀態(tài)。web服務(wù)器在接收一個銜接哀求后

12、,讀取用戶的哀求,按照用戶的哀求舉行相應(yīng)的處理。當(dāng)哀求位靜態(tài)文本時,文檔挺直提交輸出,當(dāng)哀求位動態(tài)文本時,哀求模塊自動調(diào)用腳本引擎,將腳本替換位現(xiàn)場數(shù)據(jù),再提交輸出,當(dāng)哀求為帶參數(shù)的執(zhí)行指令時,哀求解析器調(diào)用指令執(zhí)行模塊分析指令并控制監(jiān)控前端。這里并沒有采納通常的cgi(common gateway interface)技術(shù)對哀求信息舉行處理,而是將活動頁面由加載進web服務(wù)器的模塊處理,因此處理速度比cgi程序更快、更高效。活動頁面還可以處理表單、http會話和便利的拜訪數(shù)據(jù)庫。因此,活動頁面向動態(tài)web頁面提供完整的服務(wù)器端支持。6 結(jié) 語本文介紹的基于microblaze的嵌入式web服務(wù)器可以實現(xiàn)預(yù)期功能,用戶可以通過ie掃瞄器掃瞄存儲到flash芯片中的網(wǎng)頁

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論