《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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电影| 亚洲开发第一视频在线播放| 亚洲激情国产| 亚洲人成在线观看网站高清| 亚洲国产精品久久久久婷婷884| 欧美一级一区| 欧美一区二区| 欧美一区二区在线视频| 欧美一区二区三区在线观看视频 | 一区二区欧美在线| 一区二区三区国产盗摄| 一区二区三区欧美日韩| 在线一区二区日韩| 亚洲深爱激情| 亚洲欧美激情一区| 欧美一区二区三区另类 | 久久国产精品久久久久久| 久久高清一区| 久久香蕉精品| 欧美不卡视频| 欧美精品久久99久久在免费线| 欧美精品在线免费播放| 欧美三级乱人伦电影| 国产精品成人一区二区艾草| 国产精品视频精品| 国产自产女人91一区在线观看| 在线观看日韩精品| 亚洲精品中文字幕有码专区| 亚洲视频日本| 性久久久久久久久久久久| 久久精品99国产精品| 亚洲精品欧美激情| 亚洲午夜激情网页| 久久成人免费网| 六月婷婷一区| 欧美日韩精品一区二区天天拍小说| 欧美四级电影网站| 国产亚洲欧洲997久久综合| 在线欧美日韩国产| av成人毛片| 久久精品免费电影| 亚洲深夜福利网站| 久久久99国产精品免费| 欧美精品二区三区四区免费看视频| 国产精品成av人在线视午夜片| 国产一区香蕉久久| 亚洲精品免费一二三区| 亚洲欧美激情一区二区| 亚洲国产精品久久久久婷婷884| 激情五月综合色婷婷一区二区| 久久精品国亚洲| 亚洲国产精品va在线看黑人| 亚洲视频第一页| 国产一区二区三区高清在线观看 | 国产日韩欧美综合| 亚洲黑丝一区二区| 亚洲欧美成人网| 亚洲三级影片| 欧美在线视频一区二区三区| 欧美刺激性大交免费视频| 国产精品久久久久久亚洲调教| 激情成人在线视频| 中文在线不卡| 亚洲人精品午夜在线观看| 亚洲欧美日韩国产一区二区三区| 久久综合给合| 国产精品入口66mio| 亚洲国产视频一区二区| 午夜精品成人在线| 中文在线资源观看网站视频免费不卡| 久久精品视频在线| 欧美日韩一区二区在线观看| 影音先锋久久久| 亚洲永久免费精品| 亚洲高清网站| 欧美一区二区三区免费观看 | 久久综合九色综合欧美狠狠| 日韩视频一区二区三区在线播放免费观看 | 亚洲精品一区二区三区蜜桃久 | 亚洲一区bb| 久久精品三级| 亚洲欧美偷拍卡通变态| 欧美激情一区二区三区在线视频| 国产婷婷色一区二区三区四区| 一本久道久久综合狠狠爱| 91久久嫩草影院一区二区| 久久激情视频久久| 国产精品稀缺呦系列在线| 亚洲精品日产精品乱码不卡| 久久精品天堂| 久久久精品999| 国产精品一二三四区| 亚洲开发第一视频在线播放| 亚洲国产精品一区二区尤物区 | 亚洲国产成人精品久久| 午夜视频一区在线观看| 亚洲自拍另类| 欧美视频中文在线看 | 午夜精品国产更新| 欧美特黄a级高清免费大片a级| 亚洲人成亚洲人成在线观看| 亚洲高清在线精品| 久久久中精品2020中文| 国产欧美日韩一区| 亚洲免费在线视频| 亚洲一区视频| 欧美日韩在线视频一区二区| 亚洲欧洲日本专区| 亚洲人屁股眼子交8| 另类国产ts人妖高潮视频| 国产一区清纯| 亚洲大胆视频| 久久一区国产| 一区二区三区在线高清| 久久精品视频亚洲| 噜噜噜久久亚洲精品国产品小说| 国内伊人久久久久久网站视频| 翔田千里一区二区| 欧美在线国产精品| 国产欧美一区二区三区久久人妖| 亚洲欧美另类在线| 午夜视频久久久久久| 国产精品亚洲欧美| 午夜欧美精品久久久久久久| 久久gogo国模啪啪人体图| 国产一区二区三区在线观看视频| 久久本道综合色狠狠五月| 久久一区二区三区国产精品 | 亚洲欧美网站| 久久精品国产第一区二区三区最新章节| 国产精品乱码久久久久久| 亚洲午夜91| 欧美一区二区三区免费看| 国产一区二区观看| 久久精品视频免费| 欧美极品在线视频| 99国产一区| 欧美在线free| 狠狠色综合播放一区二区| 亚洲国产黄色片| 欧美韩国在线| 亚洲视频在线播放| 欧美中文字幕在线播放| 狠狠88综合久久久久综合网| 亚洲黄色尤物视频| 欧美久久九九| 亚洲欧美韩国| 欧美成人a∨高清免费观看| 9国产精品视频| 欧美一二三视频| 一区二区在线看| 一区二区国产在线观看| 国产精品亚洲综合色区韩国| 欧美在线观看视频一区二区| 欧美成人免费播放| 这里只有精品视频在线| 欧美中文在线观看| 亚洲国产高清aⅴ视频| 亚洲视屏在线播放| 国产午夜精品一区理论片飘花 | 国产综合色产在线精品| 亚洲精品自在久久| 国产精品家教| 亚洲电影在线播放| 欧美日韩一区二区在线观看| 欧美一区二区三区四区高清 | 亚洲主播在线观看| 激情六月婷婷久久| 亚洲一区二区欧美| 国产在线观看91精品一区| 日韩午夜一区| 国产婷婷色一区二区三区在线| 亚洲人人精品| 国产精品综合久久久| 最新亚洲视频| 国产精品亚洲产品| 日韩视频第一页| 国产欧美日韩综合一区在线播放 | 欧美日韩中文字幕日韩欧美| 欧美一级日韩一级| 欧美女人交a| 欧美一区二区视频在线| 欧美日韩精品免费看| 欧美中文日韩| 国产精品国产三级欧美二区| 亚洲高清资源| 国产欧美三级| 亚洲一区二区免费视频| 亚洲第一天堂av| 欧美综合国产精品久久丁香| 亚洲精品国产精品国产自| 久久久福利视频| 亚洲午夜国产成人av电影男同| 男男成人高潮片免费网站| 亚洲女人av| 欧美日韩视频一区二区三区| 亚洲电影在线免费观看| 国产女人精品视频|