0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在微處理器系統(tǒng)里實(shí)現(xiàn)兩種簡單的FPGA配置方式

FPGA設(shè)計(jì)論壇 ? 來源:未知 ? 2023-05-30 11:00 ? 次閱讀

編程邏輯器件(PLD)廣泛應(yīng)用在各種電路設(shè)計(jì)中。基于查找表技術(shù)、SRAM工藝的大規(guī)模PLD/FPGA,密度高且觸發(fā)器多,適用于復(fù)雜的時(shí)序邏輯,如數(shù)字信號處理和各種算法的設(shè)計(jì)。類器件使用SRAM單元存儲配置數(shù)據(jù)。配置數(shù)據(jù)決定了PLD內(nèi)部互連和功能,改變配置數(shù)據(jù),也就改變了器件的邏輯功能。SRAM編程時(shí)間短,為系統(tǒng)動(dòng)態(tài)改變PLD的邏輯功能創(chuàng)造了條件。但由于SRAM的數(shù)據(jù)易失的,配置數(shù)據(jù)必須保存在PLD器件以外的非易失存儲器內(nèi),才能實(shí)現(xiàn)在線可重配置(ICR)。
1 、在應(yīng)用配置(動(dòng)態(tài)配置)
同一設(shè)備在實(shí)現(xiàn)不同的應(yīng)用時(shí),要求FPGA實(shí)現(xiàn)不同的功能。如手持多媒體設(shè)備,可拍攝分辨率較高的靜止圖像照,采用JPEG2000壓縮,也可傳送活動(dòng)圖像,采用H.263,H.264/AVC等。單純使用軟件實(shí)現(xiàn)速度慢,需要對算法進(jìn)行精細(xì)的優(yōu)化;而使用硬件實(shí)現(xiàn)則速度快,但靈活性差。為此,采用
微處理器和FPGA相結(jié)合來實(shí)現(xiàn)手持多媒體終端,微處理器實(shí)現(xiàn)程序控制,F(xiàn)PGA實(shí)現(xiàn)大量的規(guī)則運(yùn)算。此外,手持設(shè)備的某些應(yīng)用(如靜止圖像和活動(dòng)視頻壓縮)可能并不同時(shí)實(shí)現(xiàn)。若在一片F(xiàn)PGA同時(shí)實(shí)現(xiàn)這些功能,不僅布線復(fù)雜,功能難以實(shí)現(xiàn),而且需要更大規(guī)模的FPGA。若使用不同的配置數(shù)據(jù)進(jìn)行配置,使FPGA在不同時(shí)刻實(shí)現(xiàn)不同的功能,則FPGA的容量可以顯著降低,從而降低設(shè)備的體積、功耗及成本。、


圖 1 APEX FPGA的主動(dòng)串行(PS)配置時(shí)序圖
使用在應(yīng)用配置時(shí),首先把應(yīng)用分集,可能同時(shí)運(yùn)行的應(yīng)用分成一組,耗時(shí)的規(guī)則運(yùn)算由FPGA實(shí)現(xiàn),其它由微處理器實(shí)現(xiàn)。把一個(gè)FPGA芯片的多個(gè)配置文件連續(xù)地存放在系統(tǒng)存儲器中,在程序執(zhí)行時(shí),微處理器把對應(yīng)特定應(yīng)用的配置數(shù)據(jù)裝載到FPGA中并完成初始化,在FPGA進(jìn)入用戶模式后就能實(shí)現(xiàn)特定的功能了。這種方法可以采用更小規(guī)模的FPGA,不必使用專用的昂貴配置芯片(如ALTERA的EPC1、EPC2等)來存儲配置數(shù)據(jù),因而可顯著地節(jié)省系統(tǒng)成本。
ALTERA SRAM工藝的FPGA配置方式主要分為兩大類:主動(dòng)配置和被動(dòng)配置。主動(dòng)配置方式由PLD器件引導(dǎo)配置操作過程,它控制著外部存儲器和初始化過程;而被動(dòng)配置方式則由外部計(jì)算機(jī)或控制器控制配置過程。根據(jù)數(shù)據(jù)線的多少又可以將PLD器件配置方式分為并行配置和串行配置兩大類。下面以ALTERA APEX20KC系列器件為例,介紹兩種在微處理器系統(tǒng)里連接簡單且使用方便的配置方式:被動(dòng)串行配置和被動(dòng)并行異步配置。
2、 被動(dòng)串行配置(PS)
被動(dòng)串行配置的主要配置引腳如下:
nSTATUS:命令狀態(tài)下為器件的狀態(tài)輸出。加電后,F(xiàn)PGA立即驅(qū)動(dòng)該引腳到低電位,然后在5μs內(nèi)釋放它。NSTATUS經(jīng)過10kΩ電阻上拉到Vcc,如果配置中發(fā)生錯(cuò)誤,F(xiàn)PGA將其拉低。在配置或者初始化時(shí),若配置電路將nSTATUS拉低,F(xiàn)PGA進(jìn)入錯(cuò)誤狀態(tài)。
NCONFIG:配置控制輸入。低電位使器件復(fù)位,由低到高的電位跳變啟動(dòng)配置。
CONF_DONF:雙向漏極開路;在配置前和配置期間為狀態(tài)輸出,F(xiàn)PGA將其驅(qū)動(dòng)為低。所有配置數(shù)據(jù)無錯(cuò)誤接收并且初始化時(shí)鐘周期開始后,F(xiàn)PGA將其置為三態(tài),由于有上拉電阻,所以將其變?yōu)楦唠娖?,表示配置成功。在配置結(jié)束且初始化開始時(shí),CONF_DONE為狀態(tài)輸入:若配置電路驅(qū)動(dòng)該管腳到低,則推遲初始化工作;輸入高電位則引導(dǎo)器件執(zhí)行初始化過程并進(jìn)入用戶狀態(tài)。
DCLK:時(shí)鐘輸入,為外部數(shù)據(jù)源提供時(shí)鐘。
nCE:FPGA器件使能輸入。nCE為低時(shí),使能配置過程。單片配置時(shí),nCE必須始終為低。
nCEO:輸出(專用于多片器件)。FPGA配置完成后,輸出為低。在多片級聯(lián)配置時(shí),驅(qū)動(dòng)下一片的nCE端。
DATA0:數(shù)據(jù)輸入,在DATA0引腳上的一位配置數(shù)據(jù)。
PORSEL:專用輸入,用來設(shè)置上電復(fù)位(POR)的延時(shí)時(shí)間。


圖 2 使用微處理器的被動(dòng)串行配置方案
nIO_PULLUP:輸入。低電平時(shí),在配置前和配置期間使能內(nèi)部弱的上拉電阻,將用戶管腳拉至VCCIO。
幾乎所有ALTERA FPGA器件都支持被動(dòng)串行配置。被動(dòng)串行配置的是序圖如圖1所示,在這種配置方式中沒有握手信號,配置時(shí)鐘的工作頻率必須在器件允許的范圍,頻率沒有限制。為了開始配置,配置管腳和JTAG管腳所在的bank的VCCINT、VCCIO必需供電。FPGA上電后進(jìn)入復(fù)位狀態(tài)。nCONFIG被置為低電平,使FPGA進(jìn)入復(fù)位狀態(tài);nCONFIG由低到高的電位跳變啟動(dòng)配置過程。整個(gè)配置包括三個(gè)階段:復(fù)位、配置和初始化。當(dāng)nSTATUS或者nCONFIG為低電平時(shí),器件脫離復(fù)位狀態(tài),并且釋放漏極開路的nSTATUS管腳。在nSTATUS釋放后,被外部電阻拉高,這時(shí)nSTATUS和nCONFIG同時(shí)為高電平,F(xiàn)PGA準(zhǔn)備接收配置數(shù)據(jù),配置階段開始。在串行配置過程中,F(xiàn)PGA在DCLK上升沿鎖存DATA0引腳上的數(shù)據(jù)。成功接收到所有數(shù)據(jù)后,釋放CONF_DONE引腳,并被外部電阻拉高。CONF_DONE由低到高的轉(zhuǎn)變標(biāo)志配置結(jié)束,初始化開始。此后,DCLK必須提供幾個(gè)周期的時(shí)鐘(具體周期數(shù)據(jù)與DCLK的頻率有關(guān)),確保目標(biāo)芯片被正確初始化。初始化完成后,F(xiàn)PGA進(jìn)入用戶工作模式。如果使用了可選的INIT_DONE信號,在初始化結(jié)束后,INIT_DONE被釋放,且被外部電阻拉高,這時(shí)進(jìn)入用戶模式。DCLK、DATA、DATA0配置后不能三態(tài),可置高或者置低。
在配置過程中,一旦出現(xiàn)錯(cuò)誤,F(xiàn)PGA將nSTATUS拉低。系統(tǒng)可以實(shí)時(shí)監(jiān)測,當(dāng)識別到這個(gè)信號后,重新啟動(dòng)配置過程。NCONFIG由高變低,再變高可以重新進(jìn)行配置。一旦nCONFIG被置低,nSTATUS和CONF_DONE也將被FPGA置低。當(dāng)nSTATUS和nCONFIG同時(shí)為高電平時(shí),配置開始。


圖 3 使用微處理器的被動(dòng)并行異步配置電路
3、 被動(dòng)并行異步配置
如同被動(dòng)串行配置一樣,被動(dòng)并行異步配置也包括三個(gè)階段:復(fù)位、配置和初始化。被動(dòng)并行異步配置電路圖如圖3所示。當(dāng)nSTATUS或者nCONFIG為低電平時(shí),器件處于復(fù)位狀態(tài)。微處理器在nCONFIG管腳產(chǎn)生一個(gè)由低到高的跳變啟動(dòng)FPGA的配置。當(dāng)nCONFIG變高后,器件脫離復(fù)位狀態(tài),并且釋放漏極開路的nSTATUS管腳,F(xiàn)PGA準(zhǔn)備接收配置數(shù)據(jù),配置階段開始。在配置階段,微處理器FPGA當(dāng)作存儲器,進(jìn)行寫操作,即微處理器先使片選有效,然后把8比特?cái)?shù)據(jù)送到Data[0:7]管腳上,并配置管腳RDYnBSY到低電平,表示FPGA正忙于處理配置數(shù)據(jù),微處理器可執(zhí)行其它功能。在RDYnBSY低電平期間,F(xiàn)PGA使用內(nèi)部
振蕩器時(shí)鐘處理配置數(shù)據(jù)。當(dāng)FPGA準(zhǔn)備接收下一字節(jié)的配置數(shù)據(jù)時(shí),它驅(qū)動(dòng)RDYnBSY到高電平。微處理器檢測到這一高電平,便送下一字節(jié)數(shù)據(jù)到配置管腳。為了節(jié)省一根用來檢測RDYnBSY的I/O線,可采用讀存儲器的方法讀FPGA,其中nRS為存儲器讀信號,在nRS有效期間,RDYnBSY信號被送到數(shù)據(jù)線D7上。也可以不檢測RDYnBSY,也不讀FPGA,簡單地等待延時(shí)tBUSY(max)+tRDY2WS+tW2SB之后就寫下一個(gè)配置數(shù)據(jù)字節(jié)。FPGA每處理一字節(jié)配置數(shù)據(jù)后,若發(fā)現(xiàn)錯(cuò)誤就會(huì)將nSTATUS拉低,暗示配置出錯(cuò)。微處理器可以檢測這一錯(cuò)誤,并重新進(jìn)行配置。如同被動(dòng)串行配置一樣,F(xiàn)PGA在正確接收所有配置數(shù)據(jù)后,將釋放CONF_DONE信號,于是該管腳被外部上拉電阻拉高,表示配置結(jié)束,初始化開始。
4 、配置數(shù)據(jù)文件的生成
Altera的MAX+PLUS II或Quartus II
開發(fā)工具可以生成多種格式的配置文件,用于不同配置方法。不同目標(biāo)器件,配置數(shù)據(jù)的大小不同。配置文件的大小一般由二進(jìn)制文件(擴(kuò)展名為.rbf)決定。Altera提供的軟件工具不自動(dòng)生成.rbf文件,需要按照下面的步驟生成:①在MAX+PLUS II編譯狀態(tài),選擇文件菜單中的變換SRAM目標(biāo)文件命令;②在變換SRAM目標(biāo)文件對話框,指定要轉(zhuǎn)換的文件并且選擇輸出文件格式為.rbf(Sequential),然后予以確定。



掃描二維碼獲取

更多精彩

FPGA設(shè)計(jì)論壇







精彩推薦




至芯科技-FPGA就業(yè)培訓(xùn)來襲!你的選擇開啟你的高薪之路!5月30號西安中心開課、歡迎咨詢!
簡談FPGA verilog中的repeat和while用法與例子
簡談CPU、MCU、FPGA、SoC這些芯片異同之處
FPGA復(fù)位設(shè)計(jì)的常見問題






歡迎關(guān)注至芯科技

至芯官網(wǎng):www.zxopen.com

至芯科技技術(shù)論壇:www.fpgaw.com

至芯科技淘寶網(wǎng)址:

https://zxopen.taobao.com

至芯科技FPGA初級課程(B站):

https://space.bilibili.com/521850676

至芯科技FPGA在線課程(騰訊課堂):

https://zxopenbj.ke.qq.com/

至芯科技-FPGA 交流群(QQ):282124839


掃碼加入FPGA學(xué)習(xí)交流群




歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!


點(diǎn)個(gè)


在看

你最好看






原文標(biāo)題:在微處理器系統(tǒng)里實(shí)現(xiàn)兩種簡單的FPGA配置方式

文章出處:【微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600467
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式系統(tǒng)中常用的五微處理器類型

    本文介紹了嵌入式系統(tǒng)中常用的五微處理器類型:微處理器單元(MPU)、微控制(MCU)、數(shù)字信號處理器
    的頭像 發(fā)表于 07-25 09:29 ?1327次閱讀

    嵌入式系統(tǒng)微處理器選擇

    作者:DigiKey Editor 任何一個(gè)電子系統(tǒng)都需要一個(gè)微處理器(MPU)內(nèi)核,當(dāng)然也有些系統(tǒng)會(huì)選擇微控制(MCU),或是數(shù)字信號處理器
    的頭像 發(fā)表于 05-05 09:41 ?532次閱讀
    嵌入式<b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>微處理器</b>選擇

    嵌入式微處理器如何選擇 嵌入式微處理器體系結(jié)構(gòu)有哪兩種

    討如何選擇嵌入式微處理器以及嵌入式微處理器兩種體系結(jié)構(gòu)。 一、嵌入式微處理器的選擇方法 定義應(yīng)用需求:選擇嵌入式
    的頭像 發(fā)表于 05-04 15:04 ?819次閱讀

    嵌入式微處理器有哪兩種架構(gòu)?區(qū)別是什么?

    嵌入式微處理器是一專門用于嵌入式系統(tǒng)中的微處理器。它具有高度集成、低功耗、低成本和高性能等特點(diǎn),廣泛應(yīng)用于電子產(chǎn)品、通信設(shè)備、汽車電子、工控設(shè)備等各個(gè)領(lǐng)域。嵌入式
    的頭像 發(fā)表于 05-04 11:16 ?826次閱讀

    什么是嵌入式微處理器? 嵌入式微處理器的區(qū)別

    嵌入式微處理器(Embedded Microprocessor)是一被用于控制和操作特定嵌入式系統(tǒng)微處理器。嵌入式系統(tǒng)是指內(nèi)部集成了特定
    的頭像 發(fā)表于 04-21 15:44 ?1357次閱讀

    嵌入式微處理器有哪兩種架構(gòu)? 嵌入式微處理器技術(shù)的優(yōu)缺點(diǎn)

    嵌入式微處理器是一專門設(shè)計(jì)用于嵌入式系統(tǒng)應(yīng)用的微處理器,通常集成了計(jì)算、控制和通信等功能。目前市場上存在兩種主要的嵌入式
    的頭像 發(fā)表于 04-21 09:54 ?911次閱讀

    dsp和嵌入式微處理器的區(qū)別和聯(lián)系 嵌入式微處理器應(yīng)用領(lǐng)域分析

    嵌入式微處理器(Embedded Microprocessor)和數(shù)字信號處理器(Digital Signal Processor,簡稱DSP)是兩種常見的微處理器架構(gòu)。它們
    的頭像 發(fā)表于 04-21 09:50 ?1300次閱讀

    嵌入式微處理器和單片機(jī)的區(qū)別在哪 嵌入式微處理器技術(shù)的優(yōu)缺點(diǎn)有哪些

    嵌入式微處理器和單片機(jī)是兩種常見的嵌入式系統(tǒng)應(yīng)用技術(shù)。雖然它們某些方面有一些相似之處,但它們體系結(jié)構(gòu)、功能、應(yīng)用領(lǐng)域和使用
    的頭像 發(fā)表于 04-21 09:43 ?886次閱讀

    嵌入式微處理器有哪兩種架構(gòu)?區(qū)別是什么?

    嵌入式微處理器是一專門設(shè)計(jì)用于控制嵌入式系統(tǒng)微處理器。它集成了處理器核心、存儲、輸入輸出接
    的頭像 發(fā)表于 04-21 09:41 ?513次閱讀

    dsp是嵌入式微處理器的一設(shè)備嗎 ARM嵌入式微處理器有何特點(diǎn)?

    DSP(Digital Signal Processor)不是一嵌入式微處理器的設(shè)備。DSP是一專門用于數(shù)字信號處理微處理器,它具有高
    的頭像 發(fā)表于 04-21 09:37 ?816次閱讀

    dsp和嵌入式微處理器的區(qū)別和聯(lián)系

    DSP(Digital Signal Processor,數(shù)字信號處理器)和嵌入式微處理器兩種常見的處理器,用于不同的應(yīng)用領(lǐng)域。 首先,讓我們了解一下DSP和嵌入式
    的頭像 發(fā)表于 04-21 09:35 ?795次閱讀

    嵌入式微處理器和單片機(jī)的區(qū)別

    電子工程的世界,嵌入式微處理器和單片機(jī)(MCU)是兩種常用的核心處理元件。
    的頭像 發(fā)表于 04-07 17:11 ?822次閱讀

    dsp和嵌入式微處理器的區(qū)別是什么

    DSP(數(shù)字信號處理器)和嵌入式微處理器兩種針對不同應(yīng)用優(yōu)化的處理器類型。本文將深入探討它們之間的技術(shù)差異、應(yīng)用場景以及它們各自的優(yōu)勢和局限。
    的頭像 發(fā)表于 04-07 15:11 ?1106次閱讀

    什么是嵌入式微處理器?嵌入式微處理器有哪些?

    嵌入式微處理器是指嵌入到特定應(yīng)用系統(tǒng)中的微處理器,它是整個(gè)嵌入式系統(tǒng)的核心,由通用處理器演變而來,具有體積小、重量輕、成本低、可靠性高等優(yōu)點(diǎn)
    的頭像 發(fā)表于 03-29 11:39 ?863次閱讀

    串口接收數(shù)據(jù)的兩種方式是什么

    上方是發(fā)送數(shù)據(jù)的例子,那么串口接收又該如何配置,又要在串口發(fā)送的例子上做哪些更改呢? 這里我們可以通過查詢或者中斷的方式來進(jìn)行接收數(shù)據(jù)的兩種方式。 查詢
    的頭像 發(fā)表于 11-10 16:20 ?2072次閱讀
    串口接收數(shù)據(jù)的<b class='flag-5'>兩種</b><b class='flag-5'>方式</b>是什么