<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇VxWorks專區VxWorks 應用開發 → 基于FPGA片上PowerPC和VxWorks的TCP/IP通信


      共有8429人關注過本帖樹形打印

    主題:基于FPGA片上PowerPC和VxWorks的TCP/IP通信

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    基于FPGA片上PowerPC和VxWorks的TCP/IP通信  發帖心情 Post By:2010-12-1 11:07:23

    引言

      隨著應用的不斷普及和深入,在設計嵌入式系統時,往往需要同時優化眾多因素,如成本、功率、尺寸、性能、靈活性、產品上市時間、設計開發周期,以及可靠性等。Xilinx 公司推出的嵌入式處理器設計平臺Virtex-II Pro和Virtex-4系列器件可以滿足上述要求,其高性能的設計工具為設計者提供了完善的軟硬件協同設計能力。本文以Virtex-II Pro P20 芯片內嵌POWERPC405硬核為處理器,選用目前廣泛使用的VxWorks操作系統,闡述了內嵌PowerPC嵌入式設計的過程和要點,詳細介紹了TCP/IP實時傳輸的整個設計過程,實驗結果表明這種構架模式具有很好的應用前景。

    基于FPGA片上PowerPC

    的嵌入式系統開發

      隨著嵌入式技術的發展,針對當前嵌入式處理器的應用,Xilinx公司推出了兩款基于FPGA的32位嵌入式處理器內核。一種是采用先進IP植入技術實現的嵌入在Virtex-II Pro和Virtex-4器件中的POWERPC405處理器內核(這是業界目前唯一的嵌入式硬核),另一種是MicroBlaze 32位嵌入式處理器軟核。硬核的好處是能夠提供更快的數據處理能力,而軟核則具有更好的靈活性,在目標器件中可以進行任意配置。由于硬核在速度和資源上具有優勢,因此本文采用了POWERPC405處理器,它支持復雜嵌入式的應用模式。由于同時需要嵌入式RTOS VxWorks,而FPGA內部的BlockRAM往往不能滿足提供較大存儲空間的要求,因而一般要由外部的存儲器陣列實現。

      該體系結構主要應用于需要RTOS支持的數據處理、軟件、控制等實時系統以及以FPGA為核心的復雜應用中。Virtex-II Pro系列器件采用IBM CoreConnect總線技術,該總線包括:處理器局部總線(PLB)、片上外設總線(OPB)和設備控制寄存器總線(DCR)。PLB總線為片內的高速數據通道,通常連接高速外設、DMA存儲控制器等,OPB總線則通常用于連接速率較低的片上外設,二者通過總線橋接器與處理器總線連接,從而保證PLB總線的高速特性。DCR總線用于實現POWERPC405的通用寄存器與邏輯設備控制寄存器的數據通信。

      針對基于POWERPC405的平臺FPGA設計,Xilinx公司推出了完整的軟硬件協同設計工具EDK (Embedded Development Kit),它是一個專用于FPGA內部32位嵌入式處理器的集成化開發工具包,并提供硬件和軟件協同設計的能力,從而極大地縮短了設計周期。在軟硬件協同設計開發平臺上,嵌入式軟件工程師仍然可以獨立地進行軟件設計,硬件邏輯工程師也就可以繼續采用過去的設計方法。

      在實際的軟硬件協同開發時,如果不使用嵌入式RTOS,POWERPC405可以起到類似單片機的作用,軟件開發就變得相對簡單。而在一些大型項目的開發過程中,嵌入式RTOS往往是必需的,因此,研究嵌入式RTOS應用開發及其BSP的移植具有關鍵意義。

    基于POWERPC405的

    VxWorks下的TCP/IP通信

    整體系統設計??

      VxWorks提供了豐富而標準的socket編程接口,可以方便地實現TCP/IP通信,同時,其多任務機制可以高效地完成實時任務的產生、調度、資源分配機制。本文在Virtex-II Pro開發平臺上利用POWERPC405內嵌處理器和PC機進行TCP/IP通信,在底層使用100Mbps以太網作為傳輸媒介,實現了Vxworks嵌入式系統控制的文件實時傳輸。

      可以利用EDK中的BaseSystem BuilderWizard來快速構建基于POWERPC405的系統。首先設定參考時鐘頻率、處理器時鐘、總線時鐘,如果在設計中包含有100M網口,那么總線時鐘必須選擇100M以上的頻率。然后選取相應的外設, RS232串口、100M以太網口、SDRAM等,其中plb_bram_if_cntrl外設是必選的,該控制器完成對BlockRAM的控制,保持CPU處于一個確定的狀態。系統設計架構如圖3所示,這里用到了EDK內帶的Ethernet MAC LogiCore(圖中的EMAC)。

    BSP開發和移植

      嵌入式操作系統開發中一項非常重要的任務,就是BSP (板級支持包)的開發。這是一項非常復雜而繁瑣的工作,Xilinx公司提供的EDK套件,可以在很大程度上減輕開發者的工作。EDK中的BSP生成器(BSPgen)可以根據不同的微處理器、外設和RTOS組合自動產生用戶可裁剪的BSP。它包含了系統所必需的支持軟件,包括Boot代碼、設備驅動和RTOS的初始化。利用BSPgen可以把Xilinx器件驅動打包到BSP的子目錄下,并且把Xilinx器件驅動與VxWorks及其Tornado集成開發環境無縫集成,充分減少開發周期。

      但是,BSPgen生成的BSP只是一個固定的BSP模板文件,不能自動設置RAM/ROM的存儲器映射,不支持用戶通過BSPgen流程自定義的核/驅動,不能自動集成總線錯誤檢測,而且,Caches在缺省情況下被禁止的。

      對于BSP開發人員來講,借助EDK的BSPgen,還必須要做以下幾項工作:

    1) 準確定義RAM/ROM邊界地址,修改configure.h和makefile文件(兩者的地址定義必須相匹配);

    2) 增加不能與VxWorks無縫集成的其他器件的驅動文件,如總線錯誤檢測及報告、關鍵性中斷、GPIO接口、I2C接口、SPI接口等;

    3) 配置以太網參數,設置缺省的IP地址、MAC地址(sysNet.c文件中);

    4) 配置內核服務選項,禁止/使能Cache和RAM,設置TCP/UDP/IP參數等;

    5) 增加總線錯誤檢測報告和關鍵中斷支持文件。

      經過以上修改之后,將BSPgen產生的BSP放在Tornado的安裝目錄…\target\config下,在Tornado集成環境下生成Bootloader,然后就可以進行一般的嵌入式操作系統開發過程了。在這里,對BSP的修改只有config.h和makefile文件的RAM/ROM地址定義,修改如下:

    #define ROM_BASE_ADRS?? 0xff800000?????????

    ?? #define ROM_TEXT_ADRS?? (ROM_BASE_ADRS)????

    ?? #define ROM_WARM_ADRS?? (ROM_TEXT_ADRS+8)??

    ?? #define ROM_SIZE??????? 0x00400000?????????

    ?? #define RAM_HIGH_ADRS?? 0x00200000?????????

    ?? #define RAM_LOW_ADRS??? 0x00100000???????

    TCP/IP通信實驗

      本文建立的實驗環境包括:一塊Virtex-II Pro開發板DS-BD-2VP20-FF1152(客戶端),一臺Pentium4計算機主機(服務器端),一根RS232串口線、網線,parallel IV下載線。基于TCP/IP的Socket應用框架原理如圖4所示,經過實際測試得知,網絡吞吐效率可超過30%。????????

    客戶端程序:

    sFd=socket (AF_INET, SOCK_STREAM,0);

    optval = 60000;

    setsockopt (sFd, SOL_SOCKET-p.htm" target="_blank" title="SOCKET貨源和PDF資料">SOCKET, SO_SNDBUF, (char *)&optval, sizeof (optval));

    sockAddrSize=sizeof (struct sockaddr_in);

    bzero((char *)&serverAddr , sockAddrSize);

    serverAddr.sin_family=AF_INET;  serverAddr.sin_len=(u_char) sockAddrSize;

    serverAddr.sin_port=htons (SERVER_PORT_NUM);

    serverAddr.sin_addr.s_addr = inet_addr ("128.0.43.102");

    connect(sFd, (struct sockaddr *)&serverAddr,sockAddrSize);

    send (sFd ,(char *)&myrequest. message, REQUEST_MSG_SIZE,0);

    服務器端的程序可以由VC類庫來實現,這里就不再給出。

    結語

      開發基于FPGA的嵌入式系統是邁向最終SoC的必由之路,傳統的FPGA廠商紛紛涉足嵌入式領域,FPGA所具有的低成本、低功耗、小尺寸、高性能、開發周期短等優勢,必將使其在當今嵌入式開發的熱潮中具有廣闊的應用前景


    支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

    返回版面帖子列表

    基于FPGA片上PowerPC和VxWorks的TCP/IP通信








    簽名
    主站蜘蛛池模板: 日日噜噜噜夜夜爽爽狠狠视频| 免费看国产曰批40分钟| 大香网伊人久久综合网2020| 国语free性xxxxxhd| 国产欧美精品区一区二区三区 | 国产精品视频白浆免费视频| 国产成人无码免费视频97| 啊好深好硬快点用力别停免费视频 | 青青草偷拍视频| 精品真实国产乱文在线| 老子午夜伦费影视在线观看| 激情综合色综合啪啪开心| 欧美亚洲国产一区二区三区 | 激情内射日本一区二区三区 | 欧美freesex黑人又粗超长| 撕开老师的丝袜白丝扒开粉嫩的小| 女人与大拘交口述| 国产精品9999久久久久仙踪林| 四虎影视永久免费观看地址| 亚洲高清毛片一区二区| 亚洲av日韩综合一区在线观看| 中文字幕无码不卡在线| √新版天堂资源在线资源| 高h全肉动漫在线观看最新| 男女免费观看在线爽爽爽视频| 欧美日韩亚洲成人| 无码免费一区二区三区免费播放| 在线看无码的免费网站| 国产成人精品2021| 亚洲酒色1314狠狠做| 久久不射电影院| 91资源在线观看| 精品免费人成视频APP| 日韩精品一区二区三区国语自制| 天天色天天操综合网| 国产特级毛片aaaaaa高潮流水| 又粗又长又黄又爽视频| 乱中年女人伦av一区二区| CAOPORN视频在线观看| 精品人妻无码专区在中文字幕| 欧美videosex性欧美成人|