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

Spartan 6上嵌入式網絡服務系統設計實現

2013-04-29 00:44:03楊定定施慧彬錢巨李依桐
電子產品世界 2013年9期

楊定定 施慧彬 錢巨 李依桐

摘要:隨著FPGA在嵌入式領域的快速發展和網絡技術的日益成熟,基于FPGA的網絡開發成為嵌入式系統研究的重要分支。本文系統地研究了FPGA網絡通信,并成功運用Xilinx開發平臺EDK構建一個基于總線AXI4的嵌入式網絡服務系統。系統包括硬件系統設計和軟件程序設計,即采用MicroBlaze微處理器軟核,Xilkernel嵌入式操作系統和lwip以太網協議,實現了通過Web瀏覽器對開發板的實時控制和網絡數據回傳的實時顯示。這一設計在Spartan 6 Atlys開發平臺上得以實現和驗證,為需要使用該系列開發板進行的網絡通信設計提供了很好的指導作用。本文網絡版地址:http://www.eepw.com.cn/article/164385.htm

關鍵詞:FPGA;總線AXI4;lwip以太網;實時控制

DOI: 10.3969/j.issn.1005-5517.2013.9.006

*基金項目:國家自然科學基金項目(NSFC60903026)

引言

隨著嵌入式系統的發展和Internet的普及,越來越多的嵌入式系統引進Web Server和遠程等概念。以太網以其速度快、成本低,成為嵌入式Web Server和遠程文件傳輸接入網絡的主要方式。因此,實現基于以太網的嵌入式Web Server和遠程文件傳輸具有十分重要的實際意義。

本設計采用Spartan 6 XCSLX45芯片Atlys FPGA開發板,其具有容量大、資源多、性價比適中等特點,此外Atlys配備了各種高端接口,包括千兆以太網、HDMI視頻輸入輸出、128MByte DDR2存儲陣列、AC97 Codec及USB接口,其采用的是Marvell公司的千兆以太網(GbE)PHY收發器88E1111,支持GMII接口,GMII接口支持三種速度模式10/100/1000Mbit,這為本文的以太網通信提供了網絡通信條件。同時,AXI總線是ARM高級微控制器總線結構的一部分,擁有高產率、高靈活、廣泛IP可用性等優勢[1]。本文采用AXI4總線結合Atlys上的GMII接口,設計并實現了lwip以太網通信,為今后在嵌入式通信領域的進一步研究奠定了基礎。

系統的設計

本文將會從系統硬軟件兩方面的設計和實現進行闡述,本設計是基于Spartan 6 Atlys硬件開發平臺,利用Xilinx ISE 13.2軟件開發平臺進行硬軟件的設計,由于EDK集成的XPS(Xilinx Platform Studio)硬件設計平臺和SDK(Xilinx Software Development Kit)軟件設計平臺,本文的lwip以太網通信嵌入式系統的設計將會分成硬軟系統設計兩部分進行詳細地介紹。

系統間的數據交互是通過千兆以太網實現的[2],下面對關鍵IP核:AXI_DMA、Ethernet IP核[3]進行簡要的介紹。

E T H E R N E T _ d m a即A X I _ DMA(AXI直接內存訪問),是Xilinx嵌入式開發套件(EDK)中自帶的IP軟核,它為內存和AXI流型目標外圍設備提供高帶寬的直接內存訪問,它通過從CPU上卸載數據移動任務來體現分散/收集功能,如AXI以太網之間提供高速數據移動。

Ethernet核通過32位的AXI4-Lite接口子集為內部寄存器提供了一個控制接口,AXI4-Lite接口支持單拍讀和寫的數據傳輸(無突發傳輸)。發送和接收數據接口都是通過AXI4-Stream接口。AXI Ethernet通過AXI4-Lite總線接口連接到MicroBlaze處理器內核上,允許訪問寄存器,同時32位AXI4-Stream總線可供以太網數據在AXI Ethernet上發送和接收。在硬件沒有負載條件下,該AXI4-Stream總線提供TCP/UDP的部分校驗和。

由于本設計中使用Spartan 6 Atlys系列,本文為該系列的網絡通信研究提供的方法:使用Soft Ethernet IP核,設置使用GMII模式,該IP核是soft TEMAC需要特定的license,可在官方網站上下載。Ethernet核可以計算發送TCP/UDP校驗和以及驗證發送TCP/UDP校驗和,使用此邏輯可以顯著地提高最大以太網總線數據傳輸率,同時降低處理器對以太網任務的利用率。系統的MicroBlaze微處理器通過AXILITE總線接口訪問AXI DMA,分散/收集引擎從MCB_DDR2中查找緩沖區描述符,然后協調AXI Ethernet和MCB_DDR2之間的主要數據傳輸。例如MCB_DDR2中的參數設置:

P A R A M E T E R C _ I N T E R C O N N E C T _ S 0 _ A X I _ MASTERS = microblaze_0.M_AXI_ DC & microblaze_0.M_AXI_IC & ETHERNET_dma.M_AXI_SG & ETHERNET_dma.M_AXI_MM2S & ETHERNET_dma.M_AXI_S2MM

以及Ethernet中的接口設置:

BUS_INTERFACE AXI_STR_ TXD = ETHERNET_dma_txd

BUS_INTERFACE AXI_STR_TXC= ETHERNET_dma_txc

BUS_INTERFACE AXI_STR_RXS= ETHERNET_dma_rxs

BUS_INTERFACE AXI_STR_ RXD = ETHERNET_dma_rxd

通過上述設置和IP核的加入,一個基于AXI4總線lwip以太網嵌入式硬件系統搭建完畢,在Xilinx XPS硬件系統設計工具中修改相應的ucf約束文件,即可通過Hardware->Generate Bitstream產生比特流文件供后續軟件系統設計的調用。

軟件系統的設計

本文的軟件系統主要分為三部分:文件系統的建立、FTP遠程傳輸文件設計以及HTP(超文本傳輸協議)服務[4]利用網頁對Atlys開發板進行遠程顯示及實時控制的設計,從而使傳統控制設備轉變為具備了以TCP/ IP為底層通信協議,Web技術為核心[5]的Internet控制設備。軟件系統采用Xilinx ISE集成的Xilkernel系統內核,通過設置選擇相應的庫文件,如本文所需要的lwip130(用于輕量級以太網的通信,TCP/IP協議的一種,并且了解了輕量級TCP/IP協議棧和一般操作系統的TCP/IP協議棧的區別[6])和xilmfs(用于文件存儲系統)的庫文件,設計程序時調用所配置系統的庫文件、系統頭文件以及自定義的一些程序文件,從而設計出完整的lwip以太網通信系統。

以下先介紹Xilkernel系統內核主要參數的設置以及多線程的調用方式:

PARAMETER OS_NAME = xilkernel

PAR AMETER PTHRE AD_ STACK_SIZE = 8192

PA R A M E T E R C O N F I G _ PTHREAD_MUTEX = true

PARAMETER CONFIG_TIME = true

PARAMETER CONFIG_SEMA = true

PARMETER MAX_SEM = 50

PARMETER MAX_SEM_WAITQ= 20

PARAMETER ENHANCED_ FEATURES = true

PARAMETER CONFIG_YIELD = true

P A R A M E T E R S TA T I C _ PTHREAD_TABLE = ((run_kerl,1))//系統訪問入口函數run_kerl()

Xilkernel系統使用多線程通信的方法,通過調用相應的線程來實現對應的功能,如下述建立初始線程,訪問network_thread()函數:

PARAMETER PROC_INSTANCE= microblaze_0

PARAMETER NUMBYTES = 400000

PARAMETER BASE_ADDRESS = 0xC4000000

PARAMETER INIT_TYPE = MFSINIT_IMAGE

PARAMETER NEED_UTILS = true

END

最后,在xmd下執行

d o w - d a t a F : / E D K _ l a b / Ethernet13_2AXI/SDK/memfs/image. mfs 0xc4000000命令,下載文件系統鏡像到指定地址上,在軟件程序中調用xilmfs庫文件中定義的mfs_init_ fs(),mfs_exists_fle()等庫函數即可確定文件系統是否成功建立,同時文件系統也可供后續FTP設計中的文件上傳和下載作存儲器使用。

FTP文件傳輸設計

本文主要是通過以太網上傳和下載文件到MCB_DDR2上的文件系統中,通過調用文件系統中的mfs_file_ open(),mfs_file_read(),mfs_file_ write()以及mfs_fle_close()等庫函數進行文件系統的訪問。

以下是對lwip130庫文件的設置:BEGIN LIBRRY

PARAMETER LIBRARY_NAME = lwip130

PARAMETER LIBRARY_VER = 3.01.a

PARAMETER PROC_INSTANCE= microblaze_0

PARAMETER API_MODE = SOCKET_API

END

由以上的設置可以看出本文是基于Xilkernel內核系統的Socket API編程來實現以太網通信,設置MCB_DDR2作為文件存儲系統的存儲器進行文件的存儲和調用。

case TFTP_RRQ://讀文件

tftp_extract_filename(fname, args->request);printf("TFTP RRQ (read request): %s\r\n", fname);

tftp_process_read(sd, &args->from, fname);break;

case TFTP_WRQ://寫文件

tftp_extract_filename(fname, args->request);printf("TFTP WRQ (write request): %s\r\n", fname);

tfp_process_write(sd, &args->from, fname);break;

上述TFTP上傳和下載程序就是采用Socket API編程,調用lwip130庫中的庫函數編程來實現文件傳輸。

系統的實現與驗證

將主機的I P地址設置為1 9 2 . 1 6 8 . 1 . 1,子網掩碼為255.255.255.0,網關為192.168.1.1,將Atlys FPGA上的以太網口與主機電腦的以太網口使用網線連接,以便進行tftp文件上傳下載操作以及網頁對開發板的遠程動態顯示,同時將開發板上的串口與主機的串口使用串口線進行連接,可以進行串口通信,也可以將相應的操作結果顯示到主機屏幕上,圖3為命令操作界面,圖4為超級終端顯示指示信息和操作反饋信息,通過本機上的瀏覽器訪問192.168.1.10,如圖5為訪問顯示結果。

系統的驗證分成兩部分:運用網口通信的驗證和串口通信的驗證。

結束語

本文詳細介紹了利用Atlys開發平臺使用AXI總線設計lwip以太網通信的嵌入式系統,以及在Xilkernel系統上設置lwip130協議棧以及xilmfs文件系統協議棧開發嵌入式FTP以及web服務器的過程,開發的FTP具有遠程傳輸的功能,Web服務器具有遠程動態控制FPGA開發板LED燈亮滅以及動態顯示撥碼開關的狀態的功能,正是由于網絡在嵌入式領域的引入,因此實現基于以太網的嵌入式Web Server和遠程文件傳輸具有十分重要的實際意義,本設計為今后更深入的嵌入式系統遠程監控、遠程傳輸以及控制的研究做準備,也為即將進行的網絡遠程重構的實現提供網絡通信條件,是其中的關鍵技術之一。

參考文獻:

[1] 楊定定,施慧彬.基于AXI總線的MicroBlaze雙核SoPC系統設計[J].電子產品世界,2012,19,(1)

[2] 王長清,陳棟.基于FPGA的千兆以太網通信板的設計與實現[J].河南師范大學學報:自然科學版,2011,39,(1)

[3] Xilinx[Z/OL].Xilinx, http://www.xilinx.com/support/ documentation/ip_documentation/axi_dma_ds781.pdf

[4] 楊俊,呂建平,徐峰柳.基于uC/OS-II和Lwip的嵌入式Web服務器實現[J].電氣自動化:嵌入式系統,2011,33,(3)

[5] 李磊,楊柏林,胡維華.嵌入式Web服務器軟件的設計和實現[J].計算機工程與設計,2003,24,(10)

[6] 李慶江.基于Lwip協議棧的嵌入式Web服務器的設計及實現[J].山東輕工業學院學報,2008,22,(4)

[7] 張亞魁.基于LWIP的嵌入式WEB服務器的研究與實現[D].合肥工業大學碩士論文,2009:32-39

[8] Xilinx[Z/OL].Xilinx, http://www.xilinx.com/support/ documentation/ip_documentation/ds759_axi_ethernet.pdf

主站蜘蛛池模板: 91无码人妻精品一区二区蜜桃| 波多野结衣一区二区三视频| 91久久国产成人免费观看| 老司机久久精品视频| 2021国产在线视频| 国产9191精品免费观看| 日韩天堂网| 91小视频在线观看| 精品国产中文一级毛片在线看| 一级毛片网| 九九热在线视频| 黄色三级毛片网站| 97视频精品全国免费观看| 青青草一区二区免费精品| 99在线视频免费| 亚洲人成网址| 久久国产成人精品国产成人亚洲| 亚洲精品免费网站| 久久综合婷婷| 亚洲欧美另类中文字幕| 国产成人免费高清AⅤ| 丰满少妇αⅴ无码区| 无码在线激情片| 日本在线国产| 人人看人人鲁狠狠高清| 国产免费黄| 又黄又爽视频好爽视频| 国产精品偷伦视频免费观看国产| 久久香蕉国产线看观看式| 欧美综合成人| 中文字幕乱妇无码AV在线| 国产精品妖精视频| 日韩欧美中文| 国产va视频| 真人高潮娇喘嗯啊在线观看| 爽爽影院十八禁在线观看| 香蕉国产精品视频| av在线手机播放| 无码区日韩专区免费系列| 亚洲免费播放| 欧美a√在线| 日韩欧美国产中文| 亚洲精品你懂的| 97综合久久| 国产福利影院在线观看| 久操线在视频在线观看| 久久99蜜桃精品久久久久小说| 国产网站免费观看| 久久99国产综合精品女同| 一级香蕉人体视频| 97av视频在线观看| 亚洲区第一页| 丁香综合在线| 国产精品成人一区二区不卡| 四虎影视无码永久免费观看| 午夜三级在线| 亚洲成aⅴ人在线观看| 欧美精品影院| 亚洲人成网7777777国产| 夜色爽爽影院18禁妓女影院| 在线欧美国产| 狼友av永久网站免费观看| 亚洲香蕉久久| 老司国产精品视频91| 亚洲女人在线| 国产成人亚洲精品色欲AV | 中文字幕66页| 亚洲天天更新| 国内熟女少妇一线天| 992tv国产人成在线观看| 久久综合色播五月男人的天堂| 亚洲国产成人麻豆精品| 黄色在线不卡| 中文字幕无码制服中字| 被公侵犯人妻少妇一区二区三区| 性视频一区| 国产高清不卡视频| 精品成人一区二区| 9啪在线视频| 亚洲欧美成人综合| 69av免费视频| 欧美特级AAAAAA视频免费观看|