《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于微處理器和FPGA的嵌入式配置模式
基于微處理器和FPGA的嵌入式配置模式
摘要: 可編程邏輯器件(PLD)廣泛應用在各種電路設計中。基于查找表技術、SRAM工藝的大規(guī)模PLD/FPGA,密度高且觸發(fā)器多,適用于復雜的時序邏輯,如數(shù)字信號處理和各種算法的設計。類器件使用SRAM單元存儲配置數(shù)據。配置數(shù)據決定了PLD內部互連和功能,改變配置數(shù)據,也就改變了器件的邏輯功能。
關鍵詞: FPGA 微處理器
Abstract:
Key words :

   可編程邏輯器件(PLD)廣泛應用在各種電路設計中。基于查找表技術、SRAM工藝的大規(guī)模PLD/FPGA,密度高且觸發(fā)器多,適用于復雜的時序邏輯,如數(shù)字信號處理和各種算法的設計。類器件使用SRAM單元存儲配置數(shù)據。配置數(shù)據決定了PLD內部互連和功能,改變配置數(shù)據,也就改變了器件的邏輯功能。SRAM編程時間短,為系統(tǒng)動態(tài)改變PLD的邏輯功能創(chuàng)造了條件。但由于SRAM的數(shù)據易失的,配置數(shù)據必須保存在PLD器件以外的非易失存儲器內,才能實現(xiàn)在線可重配置(ICR)。

1 在應用配置(動態(tài)配置)

    同一設備在實現(xiàn)不同的應用時,要求FPGA實現(xiàn)不同的功能。如手持多媒體設備,可拍攝分辨率較高的靜止圖像照,采用JPEG2000壓縮,也可傳送活動圖像,采用H.263,H.264/AVC等。單純使用軟件實現(xiàn)速度慢,需要對算法進行精細的優(yōu)化;而使用硬件實現(xiàn)則速度快,但靈活性差。為此,采用微處理器和FPGA相結合來實現(xiàn)手持多媒體終端,微處理器實現(xiàn)程序控制,F(xiàn)PGA實現(xiàn)大量的規(guī)則運算。此外,手持設備的某些應用(如靜止圖像和活動視頻壓縮)可能并不同時實現(xiàn)。若在一片F(xiàn)PGA同時實現(xiàn)這些功能,不僅布線復雜,功能難以實現(xiàn),而且需要更大規(guī)模的FPGA。若使用不同的配置數(shù)據進行配置,使FPGA在不同時刻實現(xiàn)不同的功能,則FPGA的容量可以顯著降低,從而降低設備的體積、功耗及成本。

 

點擊放大圖片

 

圖 1 APEX FPGA的主動串行(PS)配置時序圖

   使用在應用配置時,首先把應用分集,可能同時運行的應用分成一組,耗時的規(guī)則運算由FPGA實現(xiàn),其它由微處理器實現(xiàn)。把一個FPGA芯片的多個配置文件連續(xù)地存放在系統(tǒng)存儲器中,在程序執(zhí)行時,微處理器把對應特定應用的配置數(shù)據裝載到FPGA中并完成初始化,在FPGA進入用戶模式后就能實現(xiàn)特定的功能了。這種方法可以采用更小規(guī)模的FPGA,不必使用專用的昂貴配置芯片(如ALTERA的EPC1、EPC2等)來存儲配置數(shù)據,因而可顯著地節(jié)省系統(tǒng)成本。

    ALTERA SRAM工藝的FPGA配置方式主要分為兩大類:主動配置和被動配置。主動配置方式由PLD器件引導配置操作過程,它控制著外部存儲器和初始化過程;而被動配置方式則由外部計算機或控制器控制配置過程。根據數(shù)據線的多少又可以將PLD器件配置方式分為并行配置和串行配置兩大類。下面以ALTERA APEX20KC系列器件為例,介紹兩種在微處理器系統(tǒng)里連接簡單且使用方便的配置方式:被動串行配置和被動并行異步配置。

2 被動串行配置(PS)

     被動串行配置的主要配置引腳如下:

nSTATUS:命令狀態(tài)下為器件的狀態(tài)輸出。加電后,F(xiàn)PGA立即驅動該引腳到低電位,然后在5μs內釋放它。NSTATUS經過10kΩ電阻上拉到Vcc,如果配置中發(fā)生錯誤,F(xiàn)PGA將其拉低。在配置或者初始化時,若配置電路將nSTATUS拉低,F(xiàn)PGA進入錯誤狀態(tài)。

NCONFIG:配置控制輸入。低電位使器件復位,由低到高的電位跳變啟動配置。

CONF_DONF:雙向漏極開路;在配置前和配置期間為狀態(tài)輸出,F(xiàn)PGA將其驅動為低。所有配置數(shù)據無錯誤接收并且初始化時鐘周期開始后,F(xiàn)PGA將其置為三態(tài),由于有上拉電阻,所以將其變?yōu)楦唠娖剑硎九渲贸晒ΑT谂渲媒Y束且初始化開始時,CONF_DONE為狀態(tài)輸入:若配置電路驅動該管腳到低,則推遲初始化工作;輸入高電位則引導器件執(zhí)行初始化過程并進入用戶狀態(tài)。

DCLK:時鐘輸入,為外部數(shù)據源提供時鐘。

nCE:FPGA器件使能輸入。nCE為低時,使能配置過程。單片配置時,nCE必須始終為低。

nCEO:輸出(專用于多片器件)。FPGA配置完成后,輸出為低。在多片級聯(lián)配置時,驅動下一片的nCE端。

DATA0:數(shù)據輸入,在DATA0引腳上的一位配置數(shù)據。

PORSEL:專用輸入,用來設置上電復位(POR)的延時時間。

 

點擊放大圖片

 

圖 2 使用微處理器的被動串行配置方案

   nIO_PULLUP:輸入。低電平時,在配置前和配置期間使能內部弱的上拉電阻,將用戶管腳拉至VCCIO。

     幾乎所有ALTERA FPGA器件都支持被動串行配置。被動串行配置的是序圖如圖1所示,在這種配置方式中沒有握手信號,配置時鐘的工作頻率必須在器件允許的范圍,最低頻率沒有限制。為了開始配置,配置管腳和JTAG管腳所在的bank的VCCINT、VCCIO必需供電。FPGA上電后進入復位狀態(tài)。nCONFIG被置為低電平,使FPGA進入復位狀態(tài);nCONFIG由低到高的電位跳變啟動配置過程。整個配置包括三個階段:復位、配置和初始化。當nSTATUS或者nCONFIG為低電平時,器件脫離復位狀態(tài),并且釋放漏極開路的nSTATUS管腳。在nSTATUS釋放后,被外部電阻拉高,這時nSTATUS和nCONFIG同時為高電平,F(xiàn)PGA準備接收配置數(shù)據,配置階段開始。在串行配置過程中,F(xiàn)PGA在DCLK上升沿鎖存DATA0引腳上的數(shù)據。成功接收到所有數(shù)據后,釋放CONF_DONE引腳,并被外部電阻拉高。CONF_DONE由低到高的轉變標志配置結束,初始化開始。此后,DCLK必須提供幾個周期的時鐘(具體周期數(shù)據與DCLK的頻率有關),確保目標芯片被正確初始化。初始化完成后,F(xiàn)PGA進入用戶工作模式。如果使用了可選的INIT_DONE信號,在初始化結束后,INIT_DONE被釋放,且被外部電阻拉高,這時進入用戶模式。DCLK、DATA、DATA0配置后不能三態(tài),可置高或者置低。

     在配置過程中,一旦出現(xiàn)錯誤,F(xiàn)PGA將nSTATUS拉低。系統(tǒng)可以實時監(jiān)測,當識別到這個信號后,重新啟動配置過程。NCONFIG由高變低,再變高可以重新進行配置。一旦nCONFIG被置低,nSTATUS和CONF_DONE也將被FPGA置低。當nSTATUS和nCONFIG同時為高電平時,配置開始。

    圖2是采用微處理器的FPGA被動串行配置方案的簡化電路圖。配置過程為:由微處理器將nCONFIG置低再置高來初始化配置;檢測到nSTATUS變高后,就將配置數(shù)據和移位時鐘分別送到DATA0和DCLK管腳;送完配置數(shù)據后,檢測CONF_DONE是否變高,若未變高,說明配置失敗,應該重新啟動配置過程。在檢測CONF_DONE變高后,根據器件的定時數(shù)再送一定數(shù)量的時鐘到DCLK管腳;待FPGA初始化完畢后進入用戶模式。如果單片機具有同步串口,DATA0、DCLK使用同步串口的串行數(shù)據輸出和時鐘輸出,這時只需要簡單把數(shù)據字節(jié)或字鎖存到發(fā)送緩沖器就可以了。在使用普通I/O線輸出數(shù)據時,每輸出1個比特,就要將DCLK置低再置高產生一個上升沿。它比ALTERA公司手冊給出的電路連接圖更有效地使用了存儲器。

點擊放大圖片

 

圖 3 使用微處理器的被動并行異步配置電路

3 被動并行異步配置

    如同被動串行配置一樣,被動并行異步配置也包括三個階段:復位、配置和初始化。被動并行異步配置電路圖如圖3所示。當nSTATUS或者nCONFIG為低電平時,器件處于復位狀態(tài)。微處理器在nCONFIG管腳產生一個由低到高的跳變啟動FPGA的配置。當nCONFIG變高后,器件脫離復位狀態(tài),并且釋放漏極開路的nSTATUS管腳,F(xiàn)PGA準備接收配置數(shù)據,配置階段開始。在配置階段,微處理器FPGA當作存儲器,進行寫操作,即微處理器先使片選有效,然后把8比特數(shù)據送到Data[0:7]管腳上,并配置管腳RDYnBSY到低電平,表示FPGA正忙于處理配置數(shù)據,微處理器可執(zhí)行其它功能。在RDYnBSY低電平期間,F(xiàn)PGA使用內部振蕩器時鐘處理配置數(shù)據。當FPGA準備接收下一字節(jié)的配置數(shù)據時,它驅動RDYnBSY到高電平。微處理器檢測到這一高電平,便送下一字節(jié)數(shù)據到配置管腳。為了節(jié)省一根用來檢測RDYnBSY的I/O線,可采用讀存儲器的方法讀FPGA,其中nRS為存儲器讀信號,在nRS有效期間,RDYnBSY信號被送到數(shù)據線D7上。也可以不檢測RDYnBSY,也不讀FPGA,簡單地等待延時tBUSY(max)+tRDY2WS+tW2SB之后就寫下一個配置數(shù)據字節(jié)。FPGA每處理一字節(jié)配置數(shù)據后,若發(fā)現(xiàn)錯誤就會將nSTATUS拉低,暗示配置出錯。微處理器可以檢測這一錯誤,并重新進行配置。如同被動串行配置一樣,F(xiàn)PGA在正確接收所有配置數(shù)據后,將釋放CONF_DONE信號,于是該管腳被外部上拉電阻拉高,表示配置結束,初始化開始。

4 配置數(shù)據文件的生成

    Altera的MAX+PLUS II或Quartus II開發(fā)工具可以生成多種格式的配置文件,用于不同配置方法。不同目標器件,配置數(shù)據的大小不同。配置文件的大小一般由二進制文件(擴展名為.rbf)決定。Altera提供的軟件工具不自動生成.rbf文件,需要按照下面的步驟生成:①在MAX+PLUS II編譯狀態(tài),選擇文件菜單中的變換SRAM目標文件命令;②在變換SRAM目標文件對話框,指定要轉換的文件并且選擇輸出文件格式為.rbf(Sequential),然后予以確定。

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 成人无码精品一区二区三区| 欧美午夜在线视频| 国产av无码专区亚洲av毛片搜 | 色综合合久久天天综合绕视看| 国产浮力影院第一页| 91香蕉视频污污| 太粗太长岳受不了了| 中文在线天堂网| 无码天堂va亚洲va在线va| 久久精品人人做人人爽电影蜜月| 欧美三级免费观看| 亚洲日产韩国一二三四区| 波多野结衣家庭教师奇优| 全部三片在线观看直播| 美女扒开尿口让男人操 | 久久精品国产精品亚洲毛片| 欧美va亚洲va在线观看| 亚洲国产综合在线| 精品欧美日韩一区二区三区| 国产三级手机在线| 57pao国产成视频免费播放| 多女多p多杂交视频| japanesexxxxhd熟睡直播| 小屁孩cao大人免费网站| 丁香狠狠色婷婷久久综合| 成年人看的免费视频| 丰满白嫩大屁股ass| 欧美videos欧美同志| 亚洲成在人线在线播放无码| 欧美综合色另类图片区| 亚洲精品无码久久久久 | 国产特级毛片aaaaaa毛片| 巨胸喷奶水视频www免费视频 | 天天操天天插天天干| www.日韩av.com| 婷婷五月深深久久精品| 一本色综合久久| 少妇饥渴XXHD麻豆XXHD骆驼| 一级毛片免费毛片毛片| 少妇被躁爽到高潮无码文| 一区二区视频在线观看|