《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM和NAND Flash的FPGA加載配置在TD-LTE中的實現
基于ARM和NAND Flash的FPGA加載配置在TD-LTE中的實現
來源:電子技術應用2012年第7期
董宏成,魏 楊
重慶郵電大學 通信與信息工程學院,重慶400065
摘要: 提出一種基于ARM和NAND Flash的FPGA加載配置的設計。選取Virtex-5系列的XC5VSX95T和ARM11系列的S3C6410處理器作為硬件平臺,研究了利用NAND Flash自啟動、以8 bit的SelectMAP模式配置FPGA的流程及實現。介紹了其配置原理、軟硬件實現過程以及實現結果分析,重點分析了ARM+NAND的控制方法。該方案已在TD-LTE無線綜合測試儀表中成功應用,是一套靈活和高效的FPGA配制方法。
中圖分類號: TN929.5
文獻標識碼: A
文章編號: 0258-7998(2012)07-0026-04
Implementation of FPGA configuration based on ARM and NAND Flash in TD-LTE
Dong Hongcheng,Wei Yang
College of Communications and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing 400065,China
Abstract: A kind of FPGA configuration based on ARM and NAND Flash was proposed in this article. Selecting Virtex-5-series XC5VSX95 and ARM11-series S3C6410 processor as the hardware platform and introducing the FPGA configuration process and implementation of 8 bit SelectMAP mode by using NAND Flash. This paper described the configuration principle, hardware and software implementation process and implementation results, and put emphasis on the control method on ARM and NAND Flash. It is a flexible and efficient FPGA configuration method, the final solution has been applied successfully in TD-LTE wireless comprehensive test system.
Key words : FPGA configuration;S3C6410;SelectMAP mode;NAND Flash

    TD-LTE無線綜合測試儀平臺的主要功能是測試接收端與發射端信號的差異,即接收和發射端信號的誤碼率等性能的優劣,其物理層采用通用的FPGA+DSP+ARM硬件架構,具有開發周期短、可擴展性好等優點。

    現場可編程門陣列FPGA是基于門陣列方式為用戶提供可編程資源,其內部邏輯結構的形成是由配置數據決定的。由于SRAM的易失性,每次上電時,都必須對FPGA重新進行配置、完成下行鏈路OFDM信號以及底層交互相關信號的產生等功能。
    對于FPGA配置,大多數是采用將配置數據存放在FPGA組成的系統上[1-2]或者將配置數據存放在使用者自己攜帶的外部存儲器中的實現方式,后者在系統上電時需由其他外部控制器讀出配置數據再傳送給FPGA進行配置。本文提出在TD-LTE無線綜合測試儀平臺上,通過嵌入式微處理器ARM將配置數據存放于NAND Flash[3]中,由Flash上電啟動讀出配置數據再對FPGA進行配置。這種方法不但修改、升級簡便,而且由于NAND Flash在寫入數據時都需要先擦除再寫入,所以具有很好的保密性[4],并且可以方便地存儲大容量配置數據或多個配置數據文件等。本文介紹了TD-LTE無線綜合測試儀平臺上電后自動加載對FPGA器件進行配置的設計與實現的新方法,對無線TD-LTE系統的底層控制實現具有重要意義。
1 配置原理
1.1 配置模式

    Xilinx公司為其FPGA系列產品提供了多種數據配置方式,在TD-LTE綜合測試儀的研究中選用的是Virtex-5系列芯片XC5VSX95T。Virtex-5提供了如表1所示的幾種不同的配置模式,其中的從SelectMAP模式最高可以支持32 bit總線寬度[5]。在每次芯片上電初始化完畢后,芯片將以采樣模式引腳M[2:0]決定配置模式。
1.2 配置方案
    本文在FPGA+ARM+NAND的硬件環境下,將ARM作為主控制器,介紹從SelectMAP模式或者從串行模式的配置方案,其中串行模式需要的I/O資源較少,但速度較慢;從SelectMAP模式需要的I/O資源較多,但速度較快。
    (1)在串行配置模式下,FPGA在每個CCLK周期載入一個比特的數據,CCLK引腳由外部時鐘源來驅動,而且總是每個數據字節的最高位先被寫到DIN引腳。從串行配置模式需要用到的配置引腳為模式選擇M[2:0]設置為111、配置時鐘CCLK、配置復位PROGRAM_B、初始化狀態INIT_B、配置完成DONE和配置數據D_IN。其中,ARM除了控制PROGRAM_B、INIT_B外,還需要控制時鐘CCLK、配置數據在CCLK的上升沿采樣一個比特。通過ARM拉低再拉高相應的GPIO產生CCLK上升沿時序,延時程序則由for循環實現,由時鐘控制和比特文件的載入需要分別控制可以知道串行配置耗時是比較多的。
    (2)SelectMAP模式提供了與 Virtex配置邏輯之間的一個8 bit雙向數據總線接口。從SelectMAP模式支持8、16、32 bit總線寬度。為了利于系統的調試及檢測方便,本文選擇8 bit總線寬度。該模式所用到的配置引腳為模式選擇M[2:0]、配置時鐘CCLK、配置復位PROGRAM_B、配置完成DONE、配置數據8 bit并行輸入DATA[0:7]和CRC[6]校驗信號INIT_B、片選信號CS_B、回讀信號BUSY以及從SelectMAP模式使能信號PDWR_B,其中的時鐘控制信號可編程實現。在綜合測試儀中,FPGA的數據線與雙端口RAM的數據線共用,并且將雙端口RAM的寫使能作為CCLK。因此不需要單獨控制,直接向雙端口RAM中寫數據可同時實現時鐘的產生和數據的傳送。
    在從SelectMAP模式中使用寫使能nWE作為時鐘線,在傳輸配置信息和時鐘控制上都節約了很多時間。因此,根據TD-LTE綜合測試儀的設計要求并考慮到測試的方便性,采用8 bit從SelectMAP模式對XC5VSX95T進行配置是較好選擇。
2 總體實現及流程
2.1 配置流程

    圖1給出了FPGA配置流程框圖。在上電時,PROGRAM_B輸入上的邏輯低電平將會復位配置邏輯,并且使FPGA保持在清空配置存儲器的狀態。只要PROGRAM_B引腳保持低電平,則FPGA將繼續清空它的配置存儲器并使INIT_B信號保持為低電平以表明配置存儲器在被清空。當PROGRAM_B被釋放時,FPGA將繼續使INIT_B保持為低電平,直到完成清空所有的配置存儲器。只要INIT_B信號變為高電平時,表明清除動作完成,配置就可以開始了。在INIT_B的上升沿,模式選擇引腳M[2:0]被采樣,以決定配置模式,若為110,則采用從SelectMAP模式。此后配置文件信息在CCLK的控制下由D[0:7]共8個配置引腳并行輸入XC5VSX95T中。配置數據在CCLK的上升沿采樣一個字節。在配置期間芯片會自動進行CRC錯誤檢驗,若發生了CRC校驗錯誤,則INIT_B引腳將被置低。當最后的CRC校驗成功完成后,FPGA進入啟動時序。這個時序期間將會釋放DONE引腳(變為高電平),FPGA釋放全局三態(GTS),激活I/O引腳,釋放全部置位復位(GSR) 和全局寫使能(GWE)有效,開始執行配置區的邏輯。此后芯片進入正常工作狀態。配置時序圖如圖2所示。

2.2 硬件設計
    本系統采用的嵌入式微處理器為S3C6410[7],將FPGA配置文件下載到ARM的存儲器存放入Flash中,以ARM處理器作為主設備,FPGA作為從設備。系統上電后,ARM通過讀取相應的配置文件對FPGA進行配置,256 MB的DDR SDRAM作為程序運行空間,將NAND Flash中代碼移至SDRAM中運行。
2.2.1 外圍芯片
    (1)S3C6410
    S3C6410基于ARM1176JZF-S處理器核,是一類低功率、高性價比、高性能、用于手持和移動等終端設備的通用RISC處理器。其主頻芯片可達667 MHz,采用64/32 bit的內部總線架構,擁有比S3C2440、S3C2410等更加豐富的接口。
    在S3C6410中,由系統時鐘控制邏輯生成所需要的系統時鐘信號,用于CPU的ARMCLK、AXI/AHB總線外設的HCLK和APB總線外設的PCLK。本系統中,采用12 MHz的外部晶體作為S3C6410的外部時鐘,ARMCLK:HCLK×2:HCLK:PCLK分別設置為553 MHz:266 MHz:133 MHz:66 MHz。
    (2)NAND Flash
    系統采用K9F1G08U0C型的128 MB×8 bit的NAND Flash。該芯片總共有1024塊,每塊有64(頁)×2 GB的容量。額定電壓為3.3 V,支持隨機讀寫功能。
    (3)雙端口RAM
    采用IDT70V28L系列的雙端口RAM,其寫使能nWE作為配置文件加載控制時鐘CCLK。
2.2.2 硬件連接
    S3C6410與XC5VSX95T以及雙端口RAM主要通過CCLK、PROGRAM_B、DONE、D[0:7]和INIT_B信號線相連接,如圖3所示。采用S3C6410的通用接口GPN10、GPN12、GPN13分別控制INIT_B、DONE、PRORAM_B,用ARM的外部存儲器雙端口RAM的寫使能信號nWE控制CCLK,同時其數據線DATA[0:7]作為信息輸入的D[0:7]。

 

 

2.3 軟件設計
    根據圖2 FPGA配置時序圖,主設備ARM編程要實現各信號的時序要求。ARM軟件控制設計流程如圖4所示,其中應用代碼包含FPGA 的配置驅動。
2.3.1 比特文件的下載
    對所設計的FPGA在Xilinx公司的ISE10.1軟件平臺上運用Verilog語言編譯運行后產生4.25 MB的.bit文件。將此.bit文件通過ARM仿真器RVDS4.1的調試環境Realview Debugger加載到ARM的一段可用內存中。主要方法:在Target選項中選擇Load Binary,內存選擇為以DDR SDRAM的0x59 000 000作為暫時存放.bit文件起始地址的內存區。這樣做的好處是不需要進行額外的下載電纜連接操作,使芯片系統重構時沒有對電纜的插拔要求,只需要通過相應軟件操作即可。
2.3.2 從NAND啟動
    將初始化代碼和應用代碼燒寫到Flash后,ARM處理器以NAND Flash模式啟動時,內置的NAND Flash控制器將訪問控制接口,將其第0塊前8 KB的代碼自動加載到內部SRAM中,而片內SRAM被映射到地址0x0,上電后運行實現初始化硬件等基本功能。利用片內SRAM中的代碼把NAND Flash中的程序代碼復制到DDR SDRAM以0x51 000 000作為起始地址的內存中去,通過MMU實現0x51 000 000到0x0的映射,采用PC指針實現跳轉至0x0執行應用代碼。
2.3.3 對FPGA發送配置數據
    在S3C6410中,通用接口的大多數引腳都是多功能引腳,可以通過端口配置寄存器選擇相應的引腳功能。對于端口N,控制寄存器GPNCON用于設定引腳的輸入、輸出或者特殊的功能。如圖3硬件連接框圖所示,數據寄存器GPNDAT[10]對應GPN10引腳上的數據,在時鐘產生的同時對其寫1、0、1實現INIT_B的初始時序控制。NAND Flash啟動完成初始化后,應用代碼實現從Flash相應存儲區域讀出FPGA配置信息到一段可用地址(如DDR SDRAM中以0x59 000 000開始的存儲區),然后從將其中的數據寫到雙端口RAM中,由FPGA與雙端口RAM的數據線復用,完成配置數據加載到FPGA,實現配置。
    由于采用了寫使能信號nWE作為配置時鐘CCLK,向雙端口RAM的地址線中寫配置信息即產生時鐘,并且在nWE寫使能信號的上升沿來實現數據采集的功能。
3 實現結果及分析
    實現結果如圖5、圖6所示,圖中解釋了FPGA的CCLK、INIT_B、PROGRAM_B幾個控制信號的變化以及部分配置數據。其中,橫縱坐標分別表示時間變化和在相應時間變化中的信號采樣值,縱坐標D9、D10、D11分別表示CCLK、INIT_B、PROGRAM_B,D0:D7作為數據線D[0:7]。其中時鐘的產生可以通過向雙端口RAM某個可用地址中寫數據來實現(這里寫的是0x8)。圖5中,D10一段連續低電平是FPGA自動CRC校驗過程,在CRC校驗完畢,D10拉高后開始傳送配置信息。圖6為FPGA配置部分波形展開圖。


    SelectMAP模式中總線寬度為8 bit的配置方案在TD-LTE綜合測試儀表中已經成功實現。這種配置方式也可以用在其他具有相似硬件環境的情況,如果采用16 bit或者32 bit的傳輸,相應地時速會成倍提高。
    本文介紹的系統采用了ARM+NAND Flash的FPGA配置模式,外圍利用SDRAM和DP_RAM的硬件電路,實現FPGA自動加載配置。這種方法靈活且具有保密性,修改、升級簡便,可實現多任務電路結構重構和自動重載,滿足自動配置的要求,同時也有益于整個系統啟動,方便了整個系統啟動控制,對無線TD-LTE系統的底層控制實現具有重要意義,應用范圍非常廣泛。
參考文獻
[1] 梅安華,田建生,劉歡,等.基于PCI總線的FPGA配置系統的設計[J].計算機測量與控制,2005,13(4):375-377.
[2] 王爾申,張淑芳,胡青.嵌入式GPS接收機系統的FPGA配置方法研究[J].計算機工程與應用,2009,45(4):86-88.
[3] 128 M×8 bit NAND flash memory REV 0.2[EB].Samsung Electronics.2008.
[4] 柔性材料.數據銷毀背后的16條法則[EB/OL].(2010-04-16)[2012-1-9].http://www.mcplive.cn/index.php/article/index/id/5347/page/4.htm.
[5] Xilinx, Inc.Virtex-5 FPGA Configuration User Guide[EB].UG191(v3.1) April 25,2008.
[6] Yang Wenlong,Wang Lingli,Zhou Xuegong.CRC circuit design for SRAM-Based FPGA configuration bit correction[J].IEEE,2010(11).
[7] S3C6410X RISC Microprocessor User's Manual[EB].Samsung Electronics.REV 1.10.2008.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区二区三区你懂的| 久久综合九色综合欧美就去吻| 欧美亚洲日本一区| 亚洲天堂av在线免费| 亚洲区中文字幕| 亚洲国产精品va在看黑人| 国内精品一区二区| 国产主播精品| 国产日韩一区在线| 国产亚洲视频在线观看| 国产精品天天看| 国产精品一区免费观看| 国产精品爽爽爽| 国产精品亚洲成人| 国产伦一区二区三区色一情| 欧美日韩伦理在线免费| 欧美精品免费在线| 欧美韩日一区| 女仆av观看一区| 亚洲女同在线| 亚洲综合日韩| 亚洲一区二区三区免费在线观看| 亚洲精品欧洲精品| 亚洲高清成人| 欧美在线一区二区| 羞羞答答国产精品www一本| 亚洲桃花岛网站| 艳妇臀荡乳欲伦亚洲一区| 亚洲欧洲在线视频| 精品88久久久久88久久久| 国产毛片精品国产一区二区三区| 欧美午夜精品一区二区三区| 欧美日韩123| 欧美国产综合一区二区| 美女主播精品视频一二三四| 久久久久久尹人网香蕉| 欧美一级淫片aaaaaaa视频| 亚洲一区二区三区影院| 一本色道久久综合亚洲精品高清| 日韩网站在线看片你懂的| 91久久夜色精品国产九色| 久久爱91午夜羞羞| 欧美专区日韩视频| 欧美亚洲综合网| 西西人体一区二区| 欧美亚洲在线播放| 久久精品国产亚洲一区二区三区| 欧美伊人久久大香线蕉综合69| 一区二区三区视频免费在线观看| 一区二区三区免费看| 99视频一区二区| 一区二区三区精品视频在线观看| 中文一区二区| 亚洲免费在线视频一区 二区| 亚洲视频高清| 亚洲欧美精品在线观看| 午夜久久电影网| 久久成人精品无人区| 亚洲激情在线观看视频免费| 亚洲精选在线观看| 亚洲最新视频在线| 亚洲一区欧美一区| 欧美一区二区视频在线观看2020| 香蕉成人啪国产精品视频综合网| 亚洲永久字幕| 亚洲欧美日本另类| 久久精品一区蜜桃臀影院| 久久综合九色综合欧美就去吻| 欧美成ee人免费视频| 欧美日韩天天操| 国产日韩精品一区二区三区| 激情av一区| 亚洲精品你懂的| 亚洲一区二区在线看| 欧美亚洲一区二区三区| 91久久精品视频| 夜夜嗨av一区二区三区| 亚洲欧美网站| 美女主播一区| 欧美性大战久久久久久久蜜臀| 国产欧美精品一区| 影音先锋成人资源站| 99热在线精品观看| 欧美在线观看网址综合| 亚洲免费av观看| 欧美一级成年大片在线观看| 老妇喷水一区二区三区| 欧美日韩高清在线一区| 国产欧美欧美| 最新热久久免费视频| 亚洲一区二区三区高清不卡| 亚洲国产欧美一区二区三区丁香婷| 一本色道久久加勒比88综合 | 亚洲一区国产视频| 亚洲电影天堂av| 亚洲女性喷水在线观看一区| 免费视频一区二区三区在线观看| 国产精品进线69影院| 永久久久久久| 亚洲——在线| 99国产麻豆精品| 久久精品国产亚洲aⅴ| 欧美日本亚洲| 极品日韩av| 一本色道综合亚洲| 亚洲国产精品va在线看黑人动漫 | 最新日韩中文字幕| 午夜视频久久久久久| 欧美成人dvd在线视频| 国产日产欧美一区| 在线播放日韩欧美| 亚洲无吗在线| 亚洲国产精品一区二区第一页 | 欧美www视频在线观看| 国产欧美二区| 在线性视频日韩欧美| 亚洲精品在线观看免费| 久久九九精品99国产精品| 欧美三级网址| 亚洲国产天堂网精品网站| 亚洲一区二区久久| 久久精品一区二区三区不卡牛牛| 夜夜嗨av一区二区三区四季av| 欧美在线观看日本一区| 欧美美女福利视频| 在线观看日韩国产| 久久成人精品一区二区三区| 亚洲一区视频| 欧美日韩另类国产亚洲欧美一级| 伊人久久亚洲热| 久久av资源网| 欧美在线观看视频在线| 国产精品久久二区| 日韩天堂av| 99re66热这里只有精品4| 免费观看成人| 激情久久久久久久久久久久久久久久 | 欧美高清视频在线播放| 在线看片一区| 亚洲风情亚aⅴ在线发布| 久久久精品日韩| 国产美女精品免费电影| 中日韩午夜理伦电影免费| 亚洲天堂第二页| 欧美三级视频在线播放| 日韩一区二区精品葵司在线| 日韩网站在线| 欧美日韩精品免费观看视一区二区 | 亚洲欧美国产毛片在线| 国产精品qvod| 亚洲天天影视| 亚洲欧美国产三级| 国产精品日韩在线观看| 亚洲在线一区| 欧美中文字幕久久| 国产精品久久久久一区二区三区共| 亚洲高清视频一区二区| 欧美一区二区免费视频| 欧美一区二区三区视频| 欧美精品午夜视频| 亚洲激情欧美| 亚洲欧洲日产国产综合网| 欧美激情一级片一区二区| 亚洲伦理网站| 亚洲伊人一本大道中文字幕| 国产精品扒开腿爽爽爽视频 | 亚洲精品欧美| 欧美日韩一区二区在线观看| 一区二区三区福利| 性做久久久久久久久| 国产区亚洲区欧美区| 欧美在线黄色| 免费成人黄色av| 日韩视频第一页| 午夜久久一区| 国产揄拍国内精品对白| 最新国产成人在线观看| 欧美日韩成人在线| 亚洲一区在线免费| 久久久噜噜噜久久人人看| 在线国产日韩| 亚洲图中文字幕| 国产精品视频一区二区高潮| 亚洲卡通欧美制服中文| 亚洲欧美国产不卡| 国内精品久久久久久久果冻传媒 | 亚洲国产精品一区二区www| 欧美日韩成人激情| 亚洲在线不卡| 模特精品在线| 夜夜嗨av一区二区三区免费区| 久久国产精品色婷婷| 在线观看的日韩av| 亚洲色诱最新| 国产视频亚洲精品| 亚洲理论在线| 国产精品中文字幕欧美| 久久精品国产99国产精品澳门| 欧美v亚洲v综合ⅴ国产v| 日韩天堂av|