基于FPGA片上PowerPC和VxWorks的TCP/IP通信
發(fā)布時(shí)間:2008/5/28 0:00:00 訪問次數(shù):1526
摘??? 要:本文以xilinx公司virtex-ii pro器件為開發(fā)平臺(tái),介紹了其內(nèi)嵌powerpc405處理器設(shè)計(jì)的原理和軟硬件協(xié)同設(shè)計(jì)方法。結(jié)合典型的tcp/ip通信實(shí)驗(yàn),文中詳細(xì)描述了系統(tǒng)設(shè)計(jì)方法以及vxworks系統(tǒng)下bsp的開發(fā)和移植過(guò)程,并給出了實(shí)驗(yàn)結(jié)果。
關(guān)鍵詞:powerpc405;edk;bsp;tcp/ip通信
引言
隨著應(yīng)用的不斷普及和深入,在設(shè)計(jì)嵌入式系統(tǒng)時(shí),往往需要同時(shí)優(yōu)化眾多因素,如成本、功率、尺寸、性能、靈活性、產(chǎn)品上市時(shí)間、設(shè)計(jì)開發(fā)周期,以及可靠性等。xilinx 公司推出的嵌入式處理器設(shè)計(jì)平臺(tái)virtex-ii pro和virtex-4系列器件可以滿足上述要求,其高性能的設(shè)計(jì)工具為設(shè)計(jì)者提供了完善的軟硬件協(xié)同設(shè)計(jì)能力。本文以virtex-ii pro p20 芯片內(nèi)嵌powerpc405硬核為處理器,選用目前廣泛使用的vxworks操作系統(tǒng),闡述了內(nèi)嵌powerpc嵌入式設(shè)計(jì)的過(guò)程和要點(diǎn),詳細(xì)介紹了tcp/ip實(shí)時(shí)傳輸?shù)恼麄(gè)設(shè)計(jì)過(guò)程,實(shí)驗(yàn)結(jié)果表明這種構(gòu)架模式具有很好的應(yīng)用前景。
基于fpga片上powerpc
的嵌入式系統(tǒng)開發(fā)
隨著嵌入式技術(shù)的發(fā)展,針對(duì)當(dāng)前嵌入式處理器的應(yīng)用,xilinx公司推出了兩款基于fpga的32位嵌入式處理器內(nèi)核。一種是采用先進(jìn)ip植入技術(shù)實(shí)現(xiàn)的嵌入在virtex-ii pro和virtex-4器件中的powerpc405處理器內(nèi)核(這是業(yè)界目前唯一的嵌入式硬核),另一種是microblaze 32位嵌入式處理器軟核。硬核的好處是能夠提供更快的數(shù)據(jù)處理能力,而軟核則具有更好的靈活性,在目標(biāo)器件中可以進(jìn)行任意配置。由于硬核在速度和資源上具有優(yōu)勢(shì),因此本文采用了powerpc405處理器,它支持復(fù)雜嵌入式的應(yīng)用模式。由于同時(shí)需要嵌入式rtos vxworks,而fpga內(nèi)部的blockram往往不能滿足提供較大存儲(chǔ)空間的要求,因而一般要由外部的存儲(chǔ)器陣列實(shí)現(xiàn)。
該體系結(jié)構(gòu)主要應(yīng)用于需要rtos支持的數(shù)據(jù)處理、軟件、控制等實(shí)時(shí)系統(tǒng)以及以fpga為核心的復(fù)雜應(yīng)用中。virtex-ii pro系列器件采用ibm coreconnect總線技術(shù),該總線包括:處理器局部總線(plb)、片上外設(shè)總線(opb)和設(shè)備控制寄存器總線(dcr)。plb總線為片內(nèi)的高速數(shù)據(jù)通道,通常連接高速外設(shè)、dma存儲(chǔ)控制器等,opb總線則通常用于連接速率較低的片上外設(shè),二者通過(guò)總線橋接器與處理器總線連接,從而保證plb總線的高速特性。dcr總線用于實(shí)現(xiàn)powerpc405的通用寄存器與邏輯設(shè)備控制寄存器的數(shù)據(jù)通信。
針對(duì)基于powerpc405的平臺(tái)fpga設(shè)計(jì),xilinx公司推出了完整的軟硬件協(xié)同設(shè)計(jì)工具edk (embedded development kit),它是一個(gè)專用于fpga內(nèi)部32位嵌入式處理器的集成化開發(fā)工具包,并提供硬件和軟件協(xié)同設(shè)計(jì)的能力,從而極大地縮短了設(shè)計(jì)周期。在軟硬件協(xié)同設(shè)計(jì)開發(fā)平臺(tái)上,嵌入式軟件工程師仍然可以獨(dú)立地進(jìn)行軟件設(shè)計(jì),硬件邏輯工程師也就可以繼續(xù)采用過(guò)去的設(shè)計(jì)方法。
在實(shí)際的軟硬件協(xié)同開發(fā)時(shí),如果不使用嵌入式rtos,powerpc405可以起到類似單片機(jī)的作用,軟件開發(fā)就變得相對(duì)簡(jiǎn)單。而在一些大型項(xiàng)目的開發(fā)過(guò)程中,嵌入式rtos往往是必需的,因此,研究嵌入式rtos應(yīng)用開發(fā)及其bsp的移植具有關(guān)鍵意義。
基于powerpc405的
vxworks下的tcp/ip通信
整體系統(tǒng)設(shè)計(jì)??
vxworks提供了豐富而標(biāo)準(zhǔn)的socket編程接口,可以方便地實(shí)現(xiàn)tcp/ip通信,同時(shí),其多任務(wù)機(jī)制可以高效地完成實(shí)時(shí)任務(wù)的產(chǎn)生、調(diào)度、資源分配機(jī)制。本文在virtex-ii pro開發(fā)平臺(tái)上利用powerpc405內(nèi)嵌處理器和pc機(jī)進(jìn)行tcp/ip通信,在底層使用100mbps以太網(wǎng)作為傳輸媒介,實(shí)現(xiàn)了vxworks嵌入式系統(tǒng)控制的文件實(shí)時(shí)傳輸。
可以利用edk中的basesystem builderwizard來(lái)快速構(gòu)建基于powerpc405的系統(tǒng)。首先設(shè)定參考時(shí)鐘頻率、處理器時(shí)鐘、總線時(shí)鐘,如果在設(shè)計(jì)中包含有100m網(wǎng)口,那么總線時(shí)鐘必須選擇100m以上的頻率。然后選取相應(yīng)的外設(shè), rs232串口、100m以太網(wǎng)口、sdram等,其中plb_bram_if_cntrl外設(shè)是必選的,該控制器完成對(duì)blockram的控制,保持cpu處于一個(gè)確定的狀態(tài)。系統(tǒng)設(shè)計(jì)架構(gòu)如圖3所示,這里用到了edk內(nèi)帶的ethernet mac logicore(圖中的emac)。
bsp開發(fā)和移植
嵌入式操作系統(tǒng)開發(fā)中一項(xiàng)非常重要的任務(wù),就是bsp (板級(jí)支持包)的開發(fā)。這是一項(xiàng)非常復(fù)雜而繁瑣的工作,xilinx公司提供的edk套件,可以在很大程度上減輕開發(fā)者的工作。edk中的bsp生成器(bspgen)可以根據(jù)不同的微處理器、外設(shè)和rtos組合自動(dòng)產(chǎn)生用戶可裁剪的bsp。它包含了系統(tǒng)所必需的支持軟件,包括boot代碼、設(shè)備驅(qū)動(dòng)和rtos的初始化。利用bspgen可以把xilinx器件驅(qū)動(dòng)打包到bsp的子目錄下,并且把xilinx器件驅(qū)動(dòng)與vxworks及其tornado集成開發(fā)環(huán)境無(wú)縫集成,充分減少開發(fā)周期。
但是,bspgen生成的bsp只是一個(gè)固定的bsp模板文件,不能自動(dòng)設(shè)置ram/rom的存儲(chǔ)器映射,不支持用戶通過(guò)bspgen流程自定義的核/驅(qū)動(dòng),不能自動(dòng)集成總線錯(cuò)誤檢測(cè),而且,caches在缺省情況下被禁止的。
對(duì)于bsp開發(fā)人員來(lái)講,借助edk的bspgen,還必
摘??? 要:本文以xilinx公司virtex-ii pro器件為開發(fā)平臺(tái),介紹了其內(nèi)嵌powerpc405處理器設(shè)計(jì)的原理和軟硬件協(xié)同設(shè)計(jì)方法。結(jié)合典型的tcp/ip通信實(shí)驗(yàn),文中詳細(xì)描述了系統(tǒng)設(shè)計(jì)方法以及vxworks系統(tǒng)下bsp的開發(fā)和移植過(guò)程,并給出了實(shí)驗(yàn)結(jié)果。
關(guān)鍵詞:powerpc405;edk;bsp;tcp/ip通信
引言
隨著應(yīng)用的不斷普及和深入,在設(shè)計(jì)嵌入式系統(tǒng)時(shí),往往需要同時(shí)優(yōu)化眾多因素,如成本、功率、尺寸、性能、靈活性、產(chǎn)品上市時(shí)間、設(shè)計(jì)開發(fā)周期,以及可靠性等。xilinx 公司推出的嵌入式處理器設(shè)計(jì)平臺(tái)virtex-ii pro和virtex-4系列器件可以滿足上述要求,其高性能的設(shè)計(jì)工具為設(shè)計(jì)者提供了完善的軟硬件協(xié)同設(shè)計(jì)能力。本文以virtex-ii pro p20 芯片內(nèi)嵌powerpc405硬核為處理器,選用目前廣泛使用的vxworks操作系統(tǒng),闡述了內(nèi)嵌powerpc嵌入式設(shè)計(jì)的過(guò)程和要點(diǎn),詳細(xì)介紹了tcp/ip實(shí)時(shí)傳輸?shù)恼麄(gè)設(shè)計(jì)過(guò)程,實(shí)驗(yàn)結(jié)果表明這種構(gòu)架模式具有很好的應(yīng)用前景。
基于fpga片上powerpc
的嵌入式系統(tǒng)開發(fā)
隨著嵌入式技術(shù)的發(fā)展,針對(duì)當(dāng)前嵌入式處理器的應(yīng)用,xilinx公司推出了兩款基于fpga的32位嵌入式處理器內(nèi)核。一種是采用先進(jìn)ip植入技術(shù)實(shí)現(xiàn)的嵌入在virtex-ii pro和virtex-4器件中的powerpc405處理器內(nèi)核(這是業(yè)界目前唯一的嵌入式硬核),另一種是microblaze 32位嵌入式處理器軟核。硬核的好處是能夠提供更快的數(shù)據(jù)處理能力,而軟核則具有更好的靈活性,在目標(biāo)器件中可以進(jìn)行任意配置。由于硬核在速度和資源上具有優(yōu)勢(shì),因此本文采用了powerpc405處理器,它支持復(fù)雜嵌入式的應(yīng)用模式。由于同時(shí)需要嵌入式rtos vxworks,而fpga內(nèi)部的blockram往往不能滿足提供較大存儲(chǔ)空間的要求,因而一般要由外部的存儲(chǔ)器陣列實(shí)現(xiàn)。
該體系結(jié)構(gòu)主要應(yīng)用于需要rtos支持的數(shù)據(jù)處理、軟件、控制等實(shí)時(shí)系統(tǒng)以及以fpga為核心的復(fù)雜應(yīng)用中。virtex-ii pro系列器件采用ibm coreconnect總線技術(shù),該總線包括:處理器局部總線(plb)、片上外設(shè)總線(opb)和設(shè)備控制寄存器總線(dcr)。plb總線為片內(nèi)的高速數(shù)據(jù)通道,通常連接高速外設(shè)、dma存儲(chǔ)控制器等,opb總線則通常用于連接速率較低的片上外設(shè),二者通過(guò)總線橋接器與處理器總線連接,從而保證plb總線的高速特性。dcr總線用于實(shí)現(xiàn)powerpc405的通用寄存器與邏輯設(shè)備控制寄存器的數(shù)據(jù)通信。
針對(duì)基于powerpc405的平臺(tái)fpga設(shè)計(jì),xilinx公司推出了完整的軟硬件協(xié)同設(shè)計(jì)工具edk (embedded development kit),它是一個(gè)專用于fpga內(nèi)部32位嵌入式處理器的集成化開發(fā)工具包,并提供硬件和軟件協(xié)同設(shè)計(jì)的能力,從而極大地縮短了設(shè)計(jì)周期。在軟硬件協(xié)同設(shè)計(jì)開發(fā)平臺(tái)上,嵌入式軟件工程師仍然可以獨(dú)立地進(jìn)行軟件設(shè)計(jì),硬件邏輯工程師也就可以繼續(xù)采用過(guò)去的設(shè)計(jì)方法。
在實(shí)際的軟硬件協(xié)同開發(fā)時(shí),如果不使用嵌入式rtos,powerpc405可以起到類似單片機(jī)的作用,軟件開發(fā)就變得相對(duì)簡(jiǎn)單。而在一些大型項(xiàng)目的開發(fā)過(guò)程中,嵌入式rtos往往是必需的,因此,研究嵌入式rtos應(yīng)用開發(fā)及其bsp的移植具有關(guān)鍵意義。
基于powerpc405的
vxworks下的tcp/ip通信
整體系統(tǒng)設(shè)計(jì)??
vxworks提供了豐富而標(biāo)準(zhǔn)的socket編程接口,可以方便地實(shí)現(xiàn)tcp/ip通信,同時(shí),其多任務(wù)機(jī)制可以高效地完成實(shí)時(shí)任務(wù)的產(chǎn)生、調(diào)度、資源分配機(jī)制。本文在virtex-ii pro開發(fā)平臺(tái)上利用powerpc405內(nèi)嵌處理器和pc機(jī)進(jìn)行tcp/ip通信,在底層使用100mbps以太網(wǎng)作為傳輸媒介,實(shí)現(xiàn)了vxworks嵌入式系統(tǒng)控制的文件實(shí)時(shí)傳輸。
可以利用edk中的basesystem builderwizard來(lái)快速構(gòu)建基于powerpc405的系統(tǒng)。首先設(shè)定參考時(shí)鐘頻率、處理器時(shí)鐘、總線時(shí)鐘,如果在設(shè)計(jì)中包含有100m網(wǎng)口,那么總線時(shí)鐘必須選擇100m以上的頻率。然后選取相應(yīng)的外設(shè), rs232串口、100m以太網(wǎng)口、sdram等,其中plb_bram_if_cntrl外設(shè)是必選的,該控制器完成對(duì)blockram的控制,保持cpu處于一個(gè)確定的狀態(tài)。系統(tǒng)設(shè)計(jì)架構(gòu)如圖3所示,這里用到了edk內(nèi)帶的ethernet mac logicore(圖中的emac)。
bsp開發(fā)和移植
嵌入式操作系統(tǒng)開發(fā)中一項(xiàng)非常重要的任務(wù),就是bsp (板級(jí)支持包)的開發(fā)。這是一項(xiàng)非常復(fù)雜而繁瑣的工作,xilinx公司提供的edk套件,可以在很大程度上減輕開發(fā)者的工作。edk中的bsp生成器(bspgen)可以根據(jù)不同的微處理器、外設(shè)和rtos組合自動(dòng)產(chǎn)生用戶可裁剪的bsp。它包含了系統(tǒng)所必需的支持軟件,包括boot代碼、設(shè)備驅(qū)動(dòng)和rtos的初始化。利用bspgen可以把xilinx器件驅(qū)動(dòng)打包到bsp的子目錄下,并且把xilinx器件驅(qū)動(dòng)與vxworks及其tornado集成開發(fā)環(huán)境無(wú)縫集成,充分減少開發(fā)周期。
但是,bspgen生成的bsp只是一個(gè)固定的bsp模板文件,不能自動(dòng)設(shè)置ram/rom的存儲(chǔ)器映射,不支持用戶通過(guò)bspgen流程自定義的核/驅(qū)動(dòng),不能自動(dòng)集成總線錯(cuò)誤檢測(cè),而且,caches在缺省情況下被禁止的。
對(duì)于bsp開發(fā)人員來(lái)講,借助edk的bspgen,還必
熱門點(diǎn)擊
- PLC和PLD的區(qū)別與聯(lián)系
- Xilinx FPGA全局時(shí)鐘和第二全局時(shí)鐘
- 基于FPGA片上PowerPC和VxWork
- 使用C編譯器+ICD2調(diào)試程序需要注意的問題
- Altera發(fā)布低成本低功耗CPLD EPM
- 基于VHDL的彩燈控制
- 32位單精度浮點(diǎn)乘法器的FPGA實(shí)現(xiàn)
- 用CAM實(shí)現(xiàn)OC-48線速字符串匹配的FPG
- FPGA與DDR3 SDRAM的接口設(shè)計(jì)
- DesignWare® USB 2.
推薦技術(shù)資料
- 聲道前級(jí)設(shè)計(jì)特點(diǎn)
- 與通常的Hi-Fi前級(jí)不同,EP9307-CRZ這臺(tái)分... [詳細(xì)]
- 超低功耗角度位置傳感器參數(shù)技術(shù)
- 四路輸出 DC/DC 降壓電源
- 降壓變換器和升降壓變換器優(yōu)特點(diǎn)
- 業(yè)界首創(chuàng)可在線編程電源模塊 m
- 可編程門陣列 (FPGA)智能 電源解決方案
- 高效先進(jìn)封裝工藝
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究