FPGA器件在嵌入式系統中的配置方式的探討

發(fā)布時(shí)間:2010-7-30 13:40    發(fā)布者:lavida
關(guān)鍵詞: FPGA , 配置方式 , 嵌入式系統
在當今商業(yè)競爭日益加強的環(huán)境中,產(chǎn)品是否便于現場(chǎng)升級和是否便于靈活運用,成為商家迅速占領(lǐng)市場(chǎng)的關(guān)鍵因素。在這種背景下,Alter公司開(kāi)發(fā)的基于SRAM LUT結構的FPGA器件得到了廣泛應用。  

現場(chǎng)可編程門(mén)陣列FPGA(Field Programmable Gate Array)是一種高密度可編程邏輯器件,其邏輯功能是通過(guò)把設計生成的數據文件配置進(jìn)芯片內部的靜態(tài)配置數據存儲器(SRAM)來(lái)實(shí)現的,具有可重復編程性,可以靈活實(shí)現各種邏輯功能。由于SRAM的易失性,每次系統上電時(shí)必須重新配置數據,即ICR(In-Circuit Reconfigurability)。只有在數據配置正確的情況下,系統才能正常工作。因此需要外接ROM保存其配置數據。FPGA的配置是有時(shí)序要求的,如果FPGA本身不能控制配置時(shí)序,就需要外部配置器件來(lái)進(jìn)行時(shí)序控制。以Altera公司的FPGA為例,因其本身不能控制時(shí)序,就有專(zhuān)用的EPC系列配置器件供其使用。在嵌入式系統中,因為含有微處理器,可以使用微處理器產(chǎn)生配置時(shí)序,將保存在系統ROM中的配置數據存儲到FPGA中。所以沒(méi)有必要使用專(zhuān)用的EPC系列配置器件來(lái)配置FPGA。這樣不僅節約了成本,還有效地縮小了系統體積。本文重點(diǎn)討論在嵌入式系統中FPGA的配置方案。  

2. FPGA器件的配置方式

Altera公司生產(chǎn)的具有ICR功能的FPGA器件有FLEX6000、FLEX10K、APEX和ACEX等系列,它們可以用以下方式進(jìn)行配置:  

1. 使用專(zhuān)用EPC配置器件,如EPC16、EPC8、EPC2、EPC1;  
2. 被動(dòng)串行方式(PS),使用微處理器的串行接口;  
3. 被動(dòng)并行同步方式(PPS),使用微處理器的并行同步接口;  
4. 被動(dòng)并行異步方式(PPA),使用微處理器的并行異步接口;  
5. 邊界掃描方式(JTAG),使用JTAG下載電纜。  

下面詳細分析上述五種配置方式。  

使用EPC配置器件時(shí),首先將配置文件從計算機下載到EPC配置器件中去,然后由EPC配置器件控制配置時(shí)序對FPGA進(jìn)行配置。EPC配置器件有一次可編程和可擦寫(xiě)編程型兩種:一次可編程型芯片只能寫(xiě)入一次,不適于開(kāi)發(fā)階段反復調試、修改及產(chǎn)品的方便升級;可擦除編程型價(jià)格昂貴,且容量有限,對于容量較大的可編程邏輯器件,需要多片配置芯片組成菊花鏈進(jìn)行配置,增加了系統設計的難度。  

使用PS、PPS、PPA方式配置時(shí),配置文件事先是以二進(jìn)制形式保存在系統ROM中,然后通過(guò)微處理器將配置數據送進(jìn)FPGA中。PS是通過(guò)串行方式送到FPGA中,PPS是以并行方式送給FPGA。FPGA在其內部將并行數據轉換成串行數據,該數據轉換時(shí)需要外部配置時(shí)鐘的驅動(dòng)。比較PS和PPS,所用的配置時(shí)間幾乎相同,而PS的接口方式比較簡(jiǎn)單,所以嵌入式系統中通常選擇PS方式配置FPGA。使用PPA方式配置數據時(shí),微處理器將配置數據以并行方式送給FPAG,然后在FPGA內部進(jìn)行數據串行化處理。與PPS不一樣的地方是串行化處理時(shí)不需要配置外部時(shí)鐘的驅動(dòng),但接口更復雜,工程中很少使用。  

邊界掃描方式需要連接計算機,無(wú)法在現場(chǎng)使用,嵌入式系統中很少采用這種方式。  

通過(guò)上述的分析,在嵌入式系統中要使用FPGA時(shí),可以采用專(zhuān)用EPC配置器件、PS、PPS、PPA,但是PS、PPS、PPA比專(zhuān)用EPC配置更具成本和體積優(yōu)勢。在PS、PPS、PPA中,PS又是最優(yōu)的通信方式。所以在嵌入式系統中,通常選擇PS被動(dòng)串行方式來(lái)配置FPGA。  

3. 嵌入式系統中FPGA的配置電路設計

3.1. PS方式配置時(shí)序

在嵌入式系統中,微處理器可以產(chǎn)生配置時(shí)序,能夠和FPGA直接通信,將ROM中的配置文件傳輸到FPGA的SRAM中去。通常使用PS被動(dòng)串行方式進(jìn)行配置FPGA,下面就通信中使用到的五根信號線(xiàn)的配置時(shí)序進(jìn)行說(shuō)明。  

五根信號線(xiàn)分別為nCONFIG、nSTATUS、CONF_DONE、DCLK、DATA,連接微處理器的五個(gè)I/O口和對應的FPGA的引腳。 …   

  
圖1 PS方式配置信號時(shí)序圖  

微處理器上的五個(gè)I/O端口連接上述五個(gè)信號線(xiàn)。其中連接nCONFIG、DCLK、DATA端口設置成輸出態(tài),nSTATUS、CONF_DONE端口設置成輸入態(tài)。當微處理器開(kāi)始與FPGA通信時(shí),微處理器首先在nCONFIG上送出一個(gè)大于8μm的負脈沖,并且檢測nSTATUS上的信號。當FPGA接收到nCONFIG上的下降沿時(shí),迅速將nSTATUS和CONF_DONE拉低,并且保持低電平信號一直到nCONFIG抬高電平。當nCONFIG上抬高電平后過(guò)1μm,nSTATUS也將電平抬高,微處理器檢測到nSTATUS上的變化后認為FPGA已經(jīng)做好了接收數據的準備。下一步微處理器將產(chǎn)生配置時(shí)鐘脈沖,配置時(shí)鐘的第一個(gè)上升沿至少要比nSTATUS上升沿晚1μm。又由于配置數據和配置時(shí)鐘上升沿同步,所以在配置時(shí)鐘上升沿發(fā)生之前,數據線(xiàn)必須已經(jīng)有了配置數據信號。配置數據是按照低位在前高位在后的順序把數據送上數據線(xiàn)。當所有數據都傳輸完畢后,CONF_DONE線(xiàn)上電平被抬高以示配置完畢。如果傳輸中出現了異常,FPGA迫使nSTATUS拉低電平,微處理器一旦檢測到了這種現象將重新開(kāi)始配置。由于配置文件中已經(jīng)包含了FPGA初始化的一些代碼,所以傳輸完配置文件后,FPGA就可以正常工作了。  

3.2 配置電路設計  


  
嵌入式系統中FPGA的PS方式配置方式電路設計如圖2所示。左側的微處理器和FLASH、SDRAM組成了一個(gè)最基本的嵌入式系統。FLASH作為程序的存儲器,其中存儲著(zhù)系統的整個(gè)應用程序、配置程序和配置文件。SDRAM作為系統程序運行空間,可以有效地解決微處理器自身SRAM容量小的問(wèn)題。  

4.系統軟件設計

FLASH 中存儲的程序包括系統程序、配置程序、配置文件。系統加電后,微處理器從FLASH的0地址的引導程序開(kāi)始運行,完成系統初始化后,微處理器將FLASH中的應用程序移至到SDRAM中運行。由于目前嵌入式系統大多采用實(shí)時(shí)多任務(wù)操作系統,所以設計時(shí)應將配置程序放置在第一個(gè)運行的任務(wù)中,保證開(kāi)機后就開(kāi)始運行。  

軟件設計時(shí)根據微處理器與FPGA通信信號線(xiàn)上的時(shí)序要求來(lái)設計。首先初始化微處理器的端口,在P0引腳上產(chǎn)生一個(gè)20μm的負脈沖,讀取P4引腳上的信號,如果是高電平就開(kāi)始數據準備,將數據讀出,通過(guò)位移操作以串行比特流把低位的數據送上P1引腳,通過(guò)P2產(chǎn)生一個(gè)時(shí)鐘上升沿。因為時(shí)鐘上升沿與數據傳送是同步的,這樣P1引腳上的信號就傳送到了FPGA。再將讀出的數據右移位,將低位送上P1引腳,在P2上再產(chǎn)生一個(gè)時(shí)鐘上升沿。如此循環(huán)下去,等讀出的一個(gè)字節傳送完畢時(shí)再讀取下一個(gè)字節,按同樣的方式傳送出去。數據傳送的同時(shí)檢測P4(nSTATUS)是否為低,如果傳送過(guò)程中遇到錯誤,P4將為低,這樣系統需要重新配置。等到把數據傳送完畢后檢測P3引腳的狀態(tài),如果是高電平說(shuō)明配置成功,如果是低電平則說(shuō)明配置失敗,系統需要重新配置。  

軟件設計語(yǔ)言可以選擇C,也可用匯編。開(kāi)發(fā)過(guò)程中根據芯片的硬件本身特點(diǎn),注意各方面的優(yōu)化。因為嵌入式系統中從SDRAM中讀取數據的速度很快,所以軟件設計時(shí)無(wú)須考慮從SDRAM到微處理器的傳輸速度問(wèn)題。向FPGA器件寫(xiě)數據時(shí),最低有效位居先。微處理器產(chǎn)生的配置時(shí)序可以通過(guò)給時(shí)序引腳發(fā)送高低電平來(lái)實(shí)現。  

5. 結論

當今嵌入式系統已應用到各個(gè)領(lǐng)域中,因此無(wú)論成本還是體積上的優(yōu)化,都是很有必要的。用嵌入式系統本身的資源優(yōu)勢來(lái)完成其它部件的專(zhuān)用功能,能夠很有效地達到最優(yōu)化集成、降低成本的作用。本文討論的通用方案適用于不同的微處理器和Altera公司所有相關(guān)系列的FPGA產(chǎn)品。由于FPGA具有可重復配置的功能,所以在嵌入式系統中可預先包含多個(gè)不同功能的配置文件,根據現場(chǎng)的需要進(jìn)行相應的配置。這充分顯示出FPGA現場(chǎng)升級、靈活運用的設計理念。
本文地址:http://selenalain.com/thread-18030-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页