當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

摘 要: 提出一種基于ARM和NAND Flash的FPGA加載配置的設(shè)計(jì)。選取Virtex-5系列的XC5VSX95T和ARM11系列的S3C6410處理器作為硬件平臺(tái),研究了利用NAND Flash自啟動(dòng)、以8 bit的SelectMAP模式配置FPGA的流程及實(shí)現(xiàn)。介紹了其配置原理、軟硬件實(shí)現(xiàn)過程以及實(shí)現(xiàn)結(jié)果分析,重點(diǎn)分析了ARM+NAND的控制方法。該方案已在TD-LTE無線綜合測(cè)試儀表中成功應(yīng)用,是一套靈活和高效的FPGA配制方法。
關(guān)鍵詞: FPGA配置;S3C6410;SelectMAP模式;NAND Flash

TD-LTE無線綜合測(cè)試儀平臺(tái)的主要功能是測(cè)試接收端與發(fā)射端信號(hào)的差異,即接收和發(fā)射端信號(hào)的誤碼率等性能的優(yōu)劣,其物理層采用通用的FPGA+DSP+ARM硬件架構(gòu),具有開發(fā)周期短、可擴(kuò)展性好等優(yōu)點(diǎn)。
現(xiàn)場(chǎng)可編程門陣列FPGA是基于門陣列方式為用戶提供可編程資源,其內(nèi)部邏輯結(jié)構(gòu)的形成是由配置數(shù)據(jù)決定的。由于SRAM的易失性,每次上電時(shí),都必須對(duì)FPGA重新進(jìn)行配置、完成下行鏈路OFDM信號(hào)以及底層交互相關(guān)信號(hào)的產(chǎn)生等功能。
對(duì)于FPGA配置,大多數(shù)是采用將配置數(shù)據(jù)存放在FPGA組成的系統(tǒng)上[1-2]或者將配置數(shù)據(jù)存放在使用者自己攜帶的外部存儲(chǔ)器中的實(shí)現(xiàn)方式,后者在系統(tǒng)上電時(shí)需由其他外部控制器讀出配置數(shù)據(jù)再傳送給FPGA進(jìn)行配置。本文提出在TD-LTE無線綜合測(cè)試儀平臺(tái)上,通過嵌入式微處理器ARM將配置數(shù)據(jù)存放于NAND Flash[3]中,由Flash上電啟動(dòng)讀出配置數(shù)據(jù)再對(duì)FPGA進(jìn)行配置。這種方法不但修改、升級(jí)簡(jiǎn)便,而且由于NAND Flash在寫入數(shù)據(jù)時(shí)都需要先擦除再寫入,所以具有很好的保密性[4],并且可以方便地存儲(chǔ)大容量配置數(shù)據(jù)或多個(gè)配置數(shù)據(jù)文件等。本文介紹了TD-LTE無線綜合測(cè)試儀平臺(tái)上電后自動(dòng)加載對(duì)FPGA器件進(jìn)行配置的設(shè)計(jì)與實(shí)現(xiàn)的新方法,對(duì)無線TD-LTE系統(tǒng)的底層控制實(shí)現(xiàn)具有重要意義。
1 配置原理
1.1 配置模式
Xilinx公司為其FPGA系列產(chǎn)品提供了多種數(shù)據(jù)配置方式,在TD-LTE綜合測(cè)試儀的研究中選用的是Virtex-5系列芯片XC5VSX95T。Virtex-5提供了如表1所示的幾種不同的配置模式,其中的從SelectMAP模式最高可以支持32 bit總線寬度[5]。在每次芯片上電初始化完畢后,芯片將以采樣模式引腳M[2:0]決定配置模式。
1.2 配置方案
本文在FPGA+ARM+NAND的硬件環(huán)境下,將ARM作為主控制器,介紹從SelectMAP模式或者從串行模式的配置方案,其中串行模式需要的I/O資源較少,但速度較慢;從SelectMAP模式需要的I/O資源較多,但速度較快。
(1)在串行配置模式下,F(xiàn)PGA在每個(gè)CCLK周期載入一個(gè)比特的數(shù)據(jù),CCLK引腳由外部時(shí)鐘源來驅(qū)動(dòng),而且總是每個(gè)數(shù)據(jù)字節(jié)的最高位先被寫到DIN引腳。從串行配置模式需要用到的配置引腳為模式選擇M[2:0]設(shè)置為111、配置時(shí)鐘CCLK、配置復(fù)位PROGRAM_B、初始化狀態(tài)INIT_B、配置完成DONE和配置數(shù)據(jù)D_IN。其中,ARM除了控制PROGRAM_B、INIT_B外,還需要控制時(shí)鐘CCLK、配置數(shù)據(jù)在CCLK的上升沿采樣一個(gè)比特。通過ARM拉低再拉高相應(yīng)的GPIO產(chǎn)生CCLK上升沿時(shí)序,延時(shí)程序則由for循環(huán)實(shí)現(xiàn),由時(shí)鐘控制和比特文件的載入需要分別控制可以知道串行配置耗時(shí)是比較多的。
(2)SelectMAP模式提供了與 Virtex配置邏輯之間的一個(gè)8 bit雙向數(shù)據(jù)總線接口。從SelectMAP模式支持8、16、32 bit總線寬度。為了利于系統(tǒng)的調(diào)試及檢測(cè)方便,本文選擇8 bit總線寬度。該模式所用到的配置引腳為模式選擇M[2:0]、配置時(shí)鐘CCLK、配置復(fù)位PROGRAM_B、配置完成DONE、配置數(shù)據(jù)8 bit并行輸入DATA[0:7]和CRC[6]校驗(yàn)信號(hào)INIT_B、片選信號(hào)CS_B、回讀信號(hào)BUSY以及從SelectMAP模式使能信號(hào)PDWR_B,其中的時(shí)鐘控制信號(hào)可編程實(shí)現(xiàn)。在綜合測(cè)試儀中,F(xiàn)PGA的數(shù)據(jù)線與雙端口RAM的數(shù)據(jù)線共用,并且將雙端口RAM的寫使能作為CCLK。因此不需要單獨(dú)控制,直接向雙端口RAM中寫數(shù)據(jù)可同時(shí)實(shí)現(xiàn)時(shí)鐘的產(chǎn)生和數(shù)據(jù)的傳送。
在從SelectMAP模式中使用寫使能nWE作為時(shí)鐘線,在傳輸配置信息和時(shí)鐘控制上都節(jié)約了很多時(shí)間。因此,根據(jù)TD-LTE綜合測(cè)試儀的設(shè)計(jì)要求并考慮到測(cè)試的方便性,采用8 bit從SelectMAP模式對(duì)XC5VSX95T進(jìn)行配置是較好選擇。
2 總體實(shí)現(xiàn)及流程
2.1 配置流程
圖1給出了FPGA配置流程框圖。在上電時(shí),PROGRAM_B輸入上的邏輯低電平將會(huì)復(fù)位配置邏輯,并且使FPGA保持在清空配置存儲(chǔ)器的狀態(tài)。只要PROGRAM_B引腳保持低電平,則FPGA將繼續(xù)清空它的配置存儲(chǔ)器并使INIT_B信號(hào)保持為低電平以表明配置存儲(chǔ)器在被清空。當(dāng)PROGRAM_B被釋放時(shí),F(xiàn)PGA將繼續(xù)使INIT_B保持為低電平,直到完成清空所有的配置存儲(chǔ)器。只要INIT_B信號(hào)變?yōu)楦唠娖綍r(shí),表明清除動(dòng)作完成,配置就可以開始了。在INIT_B的上升沿,模式選擇引腳M[2:0]被采樣,以決定配置模式,若為110,則采用從SelectMAP模式。此后配置文件信息在CCLK的控制下由D[0:7]共8個(gè)配置引腳并行輸入XC5VSX95T中。配置數(shù)據(jù)在CCLK的上升沿采樣一個(gè)字節(jié)。在配置期間芯片會(huì)自動(dòng)進(jìn)行CRC錯(cuò)誤檢驗(yàn),若發(fā)生了CRC校驗(yàn)錯(cuò)誤,則INIT_B引腳將被置低。當(dāng)最后的CRC校驗(yàn)成功完成后,F(xiàn)PGA進(jìn)入啟動(dòng)時(shí)序。這個(gè)時(shí)序期間將會(huì)釋放DONE引腳(變?yōu)楦唠娖?,F(xiàn)PGA釋放全局三態(tài)(GTS),激活I(lǐng)/O引腳,釋放全部置位復(fù)位(GSR) 和全局寫使能(GWE)有效,開始執(zhí)行配置區(qū)的邏輯。此后芯片進(jìn)入正常工作狀態(tài)。配置時(shí)序圖如圖2所示。

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

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


SelectMAP模式中總線寬度為8 bit的配置方案在TD-LTE綜合測(cè)試儀表中已經(jīng)成功實(shí)現(xiàn)。這種配置方式也可以用在其他具有相似硬件環(huán)境的情況,如果采用16 bit或者32 bit的傳輸,相應(yīng)地時(shí)速會(huì)成倍提高。
本文介紹的系統(tǒng)采用了ARM+NAND Flash的FPGA配置模式,外圍利用SDRAM和DP_RAM的硬件電路,實(shí)現(xiàn)FPGA自動(dòng)加載配置。這種方法靈活且具有保密性,修改、升級(jí)簡(jiǎn)便,可實(shí)現(xiàn)多任務(wù)電路結(jié)構(gòu)重構(gòu)和自動(dòng)重載,滿足自動(dòng)配置的要求,同時(shí)也有益于整個(gè)系統(tǒng)啟動(dòng),方便了整個(gè)系統(tǒng)啟動(dòng)控制,對(duì)無線TD-LTE系統(tǒng)的底層控制實(shí)現(xiàn)具有重要意義,應(yīng)用范圍非常廣泛。
參考文獻(xiàn)
[1] 梅安華,田建生,劉歡,等.基于PCI總線的FPGA配置系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2005,13(4):375-377.
[2] 王爾申,張淑芳,胡青.嵌入式GPS接收機(jī)系統(tǒng)的FPGA配置方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(4):86-88.
[3] 128 M×8 bit NAND flash memory REV 0.2[EB].Samsung Electronics.2008.
[4] 柔性材料.數(shù)據(jù)銷毀背后的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.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉