《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種基于以太網加載FPGA和DSP的實現方法
一種基于以太網加載FPGA和DSP的實現方法
來源:微型機與應用2011年第18期
吳湘寧,江 瑾,馮俊濤
(廣州海格通信集團股份有限公司,廣東 廣州510663)
摘要: 介紹了脫離仿真器直接使用外部計算機通過網口進行程序代碼加載的基本原理, 討論分析了網絡接口、FPGA接口和HPI接口的訪問控制等關鍵技術。詳述了在包含CPU、FPGA和DSP的復雜系統設計方案中基于以太網加載FPGA和DSP的實現。該技術在系統工程化的應用中具有很好的前景。
Abstract:
Key words :

摘  要: 介紹了脫離仿真器直接使用外部計算機通過網口進行程序代碼加載的基本原理, 討論分析了網絡接口、FPGA接口和HPI接口的訪問控制等關鍵技術。詳述了在包含CPU、FPGA和DSP的復雜系統設計方案中基于以太網加載FPGA和DSP的實現。該技術在系統工程化的應用中具有很好的前景。
關鍵詞: CPU;以太網;FPGA;DSP;HPI;引導加載


    隨著嵌入式技術的發展,嵌入式系統逐漸演變為由微處理器、大規模集成電路、軟件技術和各種具體的行業應用技術相結合的結果。嵌入式設備已經在航空航天、通信、電子等行業得到廣泛應用。在以微處理器為核心的嵌入式應用系統中,對其中的FPGA和DSP的傳統加載都是通過硬件仿真器來完成的。這在產品的初研階段非常適用,然而在實際工程應用中各種產品組裝成一個龐雜的系統時(如需對系統進行軟件更新和維護時),傳統的加載方式就顯得極其不方便,程序代碼的引導加載就需要一種更加靈活、高效的方法來實現,而基于以太網加載FPGA和DSP的實現方法能很好地解決這個難題。
    本文介紹了基于以太網加載FPGA和DSP的基本原理, 并通過該技術在某嵌入式主控設計中的應用詳述了在包含CPU、FPGA和DSP的復雜系統設計方案中基于以太網加載FPGA和DSP的實現, 討論分析了網絡接口、FPGA接口和HPI接口的訪問控制等關鍵技術。
1 基于以太網加載FPGA和DSP的基本原理
    基于以太網加載FPGA和DSP的實現過程為: 首先,外部計算機通過網絡接口將代碼傳送給微處理器,并存儲到微處理器的Flash存儲器模塊;然后,由微處理器分別通過FPGA的從串加載模式和DSP的主機引導加載(HPI接口)實現對FPGA和DSP程序代碼的引導加載。
    基于TCP/IP協議的以太網是目前使用最廣泛的網絡。網絡協議通常分不同層次進行開發,每一層負責不同的通信功能。嵌入式設備通常根據微處理器的結構特點和系統需要實現的功能,將TCP/IP協議嵌入到微處理器中,從而實現嵌入式系統的網絡接口功能[1-2]。
1.1 FPGA加載
    FPGA常見的配置文件的加載模式有5種:主串加載模式、從串加載模式、主并加載模式、從并加載模式及JTAG加載模式。其中,JTAG加載模式在開發調試階段使用。其余4種加載模式可分為串行加載方式和并行加載方式,而串行加載方式和并行加載方式都有主、從兩種模式。由于主模式的加載同步時鐘(CCLK)由FPGA提供,從模式的加載同步時鐘(CCLK)由外部時鐘源或者外部控制信號提供,為了方便微處理器控制加載過程,一般選擇使用從串模式。
1.2 DSP加載
    DSP常見的三種引導加載方式為仿真器引導加載、ROM引導加載、主機引導加載。
    (1)仿真器引導主要用于調試階段,是一種特殊的主機引導加載方式。
    (2)ROM引導加載:在DSP外部復位信號被釋放后,芯片處于內部復位保持狀態, DSP芯片自動地通過EDMA/QDMA將外部ROM中的1 KB程序搬入地址0處。內部復位完成后,DSP開始從地址0處執行指令。
    (3)主機引導加載:DSP上電復位后, I/O部分將處于激活狀態,可以進行正常的通信,但DSP的內核仍處于復位狀態,一直等待主機向HPI控制寄存器中的DSPINT位置1。這樣,主機就可以通過HPI接口訪問DSP的整個存儲空間,對它們進行初始化。完成相關設置后,向DSPINT位寫入1, DSP內核結束復位狀態,執行地址0處的指令。
2 嵌入式數字處理系統設計與實現
2.1 硬件設計

    嵌入式數字處理系統采用微處理器PowerPC作為主控CPU,主要執行網絡控制等各種控制任務,其程序代碼相對固定,存儲在Flash中。如圖1所示,選用Xilinx公司的XC3S1000和XC4VSX35這兩種FPGA分別做邏輯和變頻[3-4],選用兩片TI公司的DSP TMS320C6416芯片完成數據處理與算法實現,這些FPGA和DSP的程序代碼需實時更新[5]。

    (1)網絡接口設計
    以太網PHY采用Marvell公司PHY協議層千兆網卡88E1111[6]。88E1111是高性能千兆以太網收發芯片,可以完成所有PHY(物理層)功能,支持全雙工或半雙工的10/100/1 000 Mb/s三速以太網,支持8 bit數據總線。CPU和以太網PHY、FPGA及DSP的接口基本電路如圖2所示。CPU的網絡接口引腳和以太網PHY的網絡接口相連接,通過硬件配置模式HWCFG MODE[3:0]來確定88E1111的操作模式,從而確定需要連接的引腳,如圖2所示,該設計選擇了RGMII模式,以太網PHY通過網絡隔離濾波器HX5008與外部以太網接口相連。

    (2)FPGA接口設計
    在從串模式下進行FPGA程序加載僅需要使用CCLK、PROG_B、INIT_B、DONE、DIN這5個信號引腳,微處理器使用通用IO管腳來配置FPGA。此外還需要設置M[2:0]信號以選擇配置模式,根據芯片XC3S1000和XC4VSX35的模式設置其從串模式的配置均為M[2:0]=111。
    (3)HPI 接口設計
    引導配置引腳BEA[19∶18]決定了TMS320C6416的引導加載模式,將DSP的EMIFB接口引腳BEA[19∶18]通過上下拉電阻配置成BEA[19∶18]=01,即選擇DSP為HPI加載方式。HPI接口電路如圖2所示,主控CPU的數據總線、地址總線及控制I/O連接到FPGA上,DSP的HPI接口數據總線和控制線也連接到FPGA上,通過FPGA的接口邏輯設計將CPU和DSP連接起來。
2.2 軟件設計
2.2.1 網絡接口程序設計

      (1)網絡通信協議設計
      網絡通信協議設計主要是實現TCP/IP 協議。根據嵌入式系統結構特點和系統設計實現的功能需求,在TCP/IP 協議的基礎上實現系統所需功能。
      (2)網絡接口的訪問控制
      驅動程序設計包括以太網PHY芯片的初始化、數據包的發送和接收。Freescale的MPC8377自帶了三速以太網控制器ETSEC,作為以太網接口與外部的PHY芯片相連接[7]。本設計中主控CPU與PHY之間是RGMII模式接口。88E1111可以實現多種數據速率和訪問控制模式,通過HWCFG MODE[3:0]確定其操作模式,設定DIS_FC為0,可以自適應地選擇FIBER、COPPER接口。
    Linux網絡驅動程序的實現主要是在Linux內核中提供的網絡設備接口及以上層次的代碼基礎上,移植或編寫特定網絡硬件的驅動程序工作,也就是完成設備驅動功能層,主要包括數據的接收、發送等控制。
2.2.2 FPGA接口程序設計
    FPGA從串模式的配置過程將配置比特流載入到FPGA,有4個主要階段: (1)清除配置內存;(2)初始化;(3)載入配置數據;(4)設備啟動。其配置時序流程圖如圖3所示。

 

 

    系統上電后,將PROG_B拉低以復位FPGA內部邏輯重新配置FPGA,充分復位內部邏輯后,將PROG_B置高。
    INIT_B為低電平,在PROG_B拉高保持一定時間后,FPGA將INIT_B置高。在INIT_B由低向高跳變的瞬間,采樣配置模式M[2:0]。此系統采用從串配置模式。在FPGA采樣配置模式后,微處理器就可以向FPGA配置時鐘CCLK和數據,在CCLK的上升沿,傳輸數據至DIN,數據字節先發送低位,再發送高位。配置過程中若發生錯誤,則INIT_B為低電平。
    當DONE為高電平時,FPGA釋放全局三態(GTS),激活I/O引腳,釋放全部置位復位(GSR)和全局寫使能(GWE)有效,開始執行配置區的邏輯。因此在所有的配置數據傳送完成,CRC校驗無誤時,DONE為高電平,否則為低電平[6]。
    微處理器從串配置FPGA的時序圖如圖4所示。

2.2.3 HPI 接口程序設計
    本文的嵌入式數字處理系統設計中, 主控CPU通過FPGA訪問HPI接口的HPIC、HPIA 、HPIDA 和HPIDF這4個寄存器,實現與TMS320C6416的通信,從而完成引導加載DSP程序代碼。圖5為DSP的HPI加載流程圖。
    本設計中采用HPI16模式,16根數據線通過FPGA邏輯與主控CPU數據總線的低16位相連,將HPI的控制信號通過FPGA連接到主控CPU上。

    對DSP進行HPI接口加載首先要對DSP進行復位,主控CPU對DSP的全部存儲空間進行訪問,先對HPIC寄存器初始化,主要針對HPI16模式最低位HHWIL位設置,決定數據傳輸格式是按高半字在前(設置為0),還是低半字在前(設置為1),該位對于HPI32模式無效,可不設置;然后,對HPIA寄存器初始化,設置訪問單元的地址;最后通過讀寫數據寄存器(HPIDA、HPIDF)實現數據讀寫操作,其中讀寫HPIDA寄存器是完成連續地址單元讀寫操作,讀寫HPIDF寄存器是完成固定地址單元讀寫操作。數據線、地址線定義如圖6所示。

    LD、LA分別表示主控CPU的數據和地址,addr表示FPGA內部地址,HPIX表示DSP的HPI控制器數據。
    CSEL:0表示選擇FPGA,1表示選擇主DSP,2表示選擇從DSP,3作為備用選擇。
    BSEL:0表示HPIX的低16位,1表示HPIX的高16位。
    HCNTL:0表示HPIC,1表示HPIA,2表示HPID(HPIA自動遞增),3表示HPID(HPIA保持不變)。
    在軟件編程時, HPI 接口寄存器的定義如下所示:
    /* HPI FPGA registers */
    #define HPI_HCNTL_HPIC        (0x0<<11)
    #define HPI_HCNTL_HPIA        (0x1<<11)
    #define HPI_HCNTL_HPIDINC    (0x2<<11)
    #define HPI_HCNTL_HPIDFIX    (0x3<<11)
    #define HPI_BSEL_LOW            (0x0<<13)
    #define HPI_BSEL_HIGH        (0x1<<13)
    #define HPI_CSEL_FPGA        (0x0<<14)
    #define HPI_CSEL_HPI1            (0x1<<14)
    #define HPI_CSEL_HPI2            (0x2<<14)
    #define HPI_FPGA_MEM_SIZE (2<<16)   /* bytes */
2.3 HPI 程序加載代碼的生成
    在CCS開發環境下生成的目標文件是“.out”,即通用目標文件格式(COFF)。該代碼文件不是DSP中實際運行的程序代碼,需用Hex工具進行轉換,然后使用自編程序將可執行的程序代碼提取出來,封裝成幀,通過以太網加載到DSP中。HPI引導完成后, DSP從地址0開始執行,而DSP 程序的入口是_c_int00,所以要在地址0處添加一條跳轉指令到程序入口[7]。
3 工程應用
    以前研制的數字處理系統采用CPU+DSP或CPU+FPGA,在研制階段和應用過程中需采用仿真器進行程序加載,無法實現遠程加載。然而在產品組裝成品進行系統聯調時需要多次對FPGA、DSP程序進行優化和完善,在對FPGA、DSP程序進行更新時極其不方便,每次更新程序都需要先解除系統連接,然后拆卸產品再用仿真器對該主控單元進行FPGA、DSP程序進行升級更新,整個過程繁瑣并且費時費力,嚴重制約研制進程,而且后續工程應用的維護工作難度也較大。
    本文所述嵌入式數字處理系統基于以太網加載FPGA和DSP,只要將需要進行更新程序的產品通過網絡接口和外部計算機連接起來進行數據交換,FPGA和DSP程序的加載與啟動直接由外部計算機控制,無需拆卸系統和產品,擺脫了仿真器。這種方式使得整個加載簡單方便,易于操作,而且可以實現對復雜系統的多個FPGA和多個DSP進行基于以太網接口的加載。
    隨著現在數字技術的高速發展,數字系統設計的功能越來越強大,設計中綜合微處理器、FPGA、DSP也越來越常見,本文提出了一種基于以太網加載FPGA和DSP的實現方法, 文中嵌入式數字處理系統實現了多個FPGA、DSP的程序加載進行軟件更新,證實了該技術簡單方便、可實現遠距離加載,且具有良好的可靠性。該技術在工程應用領域具有獨特的優越性和良好的應用前景。
參考文獻
[1] 朱偉,王廣君.基于ARM的嵌入式系統中從串配置FPGA的實現[J].儀表技術,2007(5):13-15.
[2] 李文祿,蔣宇中.一種基于以太網的 TMS320C6713B程序加載技術[J].海軍工程大學學報,2008,20(6):35-39.
[3] Spartan-3 FPGA Family Data Sheet[S].Xilinx.2009.
[4] Virtex-4 User Guide v2.3[S].Xilinx.2008.
[5] TMS320C6416 fixed-point digital signal processor[S].Texas  Instruments.2005.
[6] 88E1111 Datasheet INTEGRATED 10/100/1000 ULTRA[S]. Marvell.2009.
[7] MPC8379E PowerQUICCTM II Pro integrated host processor  family Reference manual[S].Freescale Semiconductor.2009.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产91精品在线观看| 羞羞漫画18久久大片| 亚洲一区久久| 亚洲精品视频一区| 亚洲第一福利社区| 国内在线观看一区二区三区| 国产女人水真多18毛片18精品视频| 欧美日韩亚洲一区在线观看| 欧美精品色网| 欧美精品激情blacked18| 欧美电影打屁股sp| 免费看成人av| 欧美二区乱c少妇| 欧美va日韩va| 欧美国产精品日韩| 欧美国产成人在线| 欧美精品一区二区在线播放| 欧美极品在线播放| 欧美精品色综合| 欧美日韩免费一区| 欧美视频成人| 国产精品va在线播放我和闺蜜| 欧美视频免费在线| 国产精品都在这里| 国产精品一区二区你懂得| 国产免费成人在线视频| 国产一区二区欧美日韩| 激情久久综艺| 亚洲福利国产精品| 亚洲精品1234| 一级日韩一区在线观看| 亚洲永久在线| 欧美一区二区三区在| 亚洲国产精品国自产拍av秋霞| 亚洲欧洲另类| 日韩一区二区久久| 亚洲欧美成aⅴ人在线观看| 校园春色国产精品| 久久精品国产综合精品| 久久字幕精品一区| 欧美激情精品久久久久久黑人| 欧美日韩国产综合视频在线| 欧美午夜www高清视频| 国产伦精品一区二区三区视频孕妇 | 亚洲天堂网站在线观看视频| 亚洲欧美在线免费| 亚洲国产精品久久久久秋霞不卡| 99av国产精品欲麻豆| 亚洲欧美日韩爽爽影院| 久久久久久久久蜜桃| 欧美顶级少妇做爰| 国产精品美女诱惑| 精品999成人| 99视频精品| 久久电影一区| 一区二区三区导航| 久久久精品一区二区三区| 欧美精品啪啪| 国产午夜精品久久久久久久| 亚洲精品乱码久久久久久蜜桃91 | 亚洲福利视频二区| 一区二区三区成人| 久久激情婷婷| 欧美精品国产| 国产一区二区无遮挡| 亚洲日本中文| 性欧美1819性猛交| 在线视频一区观看| 久久久久久久97| 欧美日韩国产精品一卡| 国产亚洲精品bv在线观看| 亚洲乱码国产乱码精品精可以看| 午夜激情一区| 99这里只有精品| 久久激情久久| 国产精品二区二区三区| 亚洲国产女人aaa毛片在线| 亚洲欧美激情视频| 日韩亚洲欧美在线观看| 久久精品亚洲国产奇米99| 欧美肉体xxxx裸体137大胆| 极品少妇一区二区三区| 亚洲一区图片| 一区二区三区免费网站| 免费h精品视频在线播放| 国产欧美日本一区视频| 99热这里只有精品8| 亚洲精品一品区二品区三品区| 久久精品日韩一区二区三区| 国产精品久久久久999| 亚洲欧洲精品成人久久奇米网 | 欧美午夜精品久久久久久超碰| 一区免费在线| 午夜欧美精品久久久久久久| 亚洲天天影视| 欧美精品一卡二卡| 伊人伊人伊人久久| 欧美一区二区三区日韩| 欧美一区二区三区视频免费| 欧美色欧美亚洲高清在线视频| 亚洲激情视频在线| 亚洲大片在线观看| 久久久国产精品亚洲一区 | 国产精品久久久久秋霞鲁丝 | 一区二区电影免费观看| 亚洲美女黄色片| 欧美成人一区二免费视频软件| 国内精品国语自产拍在线观看| 午夜精品久久| 欧美在线亚洲| 国产精品一级| 亚洲欧美在线x视频| 销魂美女一区二区三区视频在线| 欧美午夜精品一区| 夜夜精品视频| 亚洲伊人色欲综合网| 欧美日韩一区二区三区四区五区| 亚洲欧洲一区二区三区| 日韩视频不卡| 欧美精品久久99| 亚洲精品欧美精品| 99在线精品视频在线观看| 欧美日韩国产免费| 99国产精品自拍| 亚洲色图自拍| 国产精品高潮久久| 亚洲在线观看视频网站| 亚洲欧美在线看| 国产伦精品一区二区三区免费 | 欧美视频一区二区三区四区 | 亚洲图片在线观看| 午夜激情一区| 国产区精品视频| 久久爱www.| 欧美成人免费小视频| 91久久国产精品91久久性色| 夜色激情一区二区| 欧美日韩在线高清| 亚洲一区二区在线播放| 欧美一区二区三区视频在线观看| 国产精品资源| 久久国产色av| 欧美福利视频网站| 99国产精品视频免费观看| 午夜久久福利| 国产一区三区三区| 91久久国产综合久久| 欧美精品一区二区三| 亚洲图片在线| 久久精品在线观看| 亚洲国产精品尤物yw在线观看| 99re成人精品视频| 欧美午夜视频一区二区| 午夜一区二区三视频在线观看| 久久久水蜜桃| 亚洲精品三级| 亚洲欧美中文日韩在线| 国产一区二区激情| 亚洲乱码精品一二三四区日韩在线 | 亚洲免费视频观看| 久久精品人人| 亚洲精品乱码视频| 亚洲在线视频| 国语自产偷拍精品视频偷 | 欧美一区二区三区四区在线观看地址| 国产亚洲欧美激情| 夜夜嗨av色综合久久久综合网| 欧美一区亚洲| 亚洲第一色中文字幕| 亚洲午夜激情网页| 国产毛片精品视频| 亚洲精品中文字幕女同| 国产精品激情偷乱一区二区∴| 久久爱www久久做| 欧美日本国产一区| 午夜精品久久久久久久蜜桃app | 亚洲理论在线观看| 性欧美激情精品| 在线观看免费视频综合| 中文精品视频一区二区在线观看| 国产日韩欧美二区| 99视频国产精品免费观看| 国产精品久久久久高潮| 亚洲黄一区二区| 国产精品美女久久久久av超清| 久久精品人人做人人综合| 欧美日韩一区成人| 久久精品人人做人人综合 | 99精品欧美| 国产日韩精品视频一区二区三区| 日韩一级黄色av| 国产自产2019最新不卡| 中文在线资源观看网站视频免费不卡| 精品91久久久久| 亚洲在线观看视频网站| 亚洲大胆人体在线| 欧美专区福利在线| 一本大道久久a久久综合婷婷| 久久久美女艺术照精彩视频福利播放| 99re6这里只有精品|