那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在微處理器系統里實現兩種簡單的FPGA配置方式

電子設計 ? 來源:網絡整理 ? 作者:佚名 ? 2020-01-15 07:57 ? 次閱讀

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

1 、在應用配置(動態配置)

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

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

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

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

2、 被動串行配置(PS)

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

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

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

CONF_DONF:雙向漏極開路;在配置前和配置期間為狀態輸出,FPGA將其驅動為低。所有配置數據無錯誤接收并且初始化時鐘周期開始后,FPGA將其置為三態,由于有上拉電阻,所以將其變為高電平,表示配置成功。在配置結束且初始化開始時,CONF_DONE為狀態輸入:若配置電路驅動該管腳到低,則推遲初始化工作;輸入高電位則引導器件執行初始化過程并進入用戶狀態。

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

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

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

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

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

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

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

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

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

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

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

3、 被動并行異步配置

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

4 、配置數據文件的生成

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

責任編輯:gt


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21798

    瀏覽量

    606051
  • 微處理器
    +關注

    關注

    11

    文章

    2274

    瀏覽量

    82779
  • PLD
    PLD
    +關注

    關注

    6

    文章

    230

    瀏覽量

    59504
收藏 人收藏

    評論

    相關推薦

    處理器微處理器系統

    結構,微處理器系統可以分為馮·諾依曼結構(也稱普雷斯頓結構)和哈佛結構,其區別是程序與數據的存放方式不同,同樣地,MCU芯片也可以分為這兩種結構,靈活地滿足需要。MPU
    發表于 02-07 11:41

    求一基于FPGA微處理器的IP的設計方法

    本文根據FPGA的結構特點,圍繞在FPGA上設計實現八位微處理器軟核設計方法進行探討,研究了片上系統的設計方法和設計復用技術,并給出了指令集
    發表于 04-29 06:38

    處理器與外部通信的兩種方式

    處理器與外部通信的兩種方式并行通信數據各個位同時傳輸,速度快,占用引腳資源多串行通信數據按位順序傳輸,占用引腳資源少,速度相對比較慢1.按照數據傳送方向可以分為:單工:數據傳輸只支持
    發表于 08-18 08:06

    嵌入式系統FPGA 的被動串行配置方式

    介紹一嵌入式系統中使用微處理器被動串行配置方式實現
    發表于 04-15 11:02 ?13次下載

    基于FPGA的通用微處理器設計

    本文詳細介紹了一借助VHDL 硬件描述性語言實現基于FPGA 硬件平臺的通用微處理器設計的完整方案。該型CPU 具有實現
    發表于 11-30 15:41 ?20次下載

    ALTERA FPGA微處理器系統中的應用配置

    摘要: ALTERA公司SRAM工藝可編程器件應用廣泛,專用配置器件比較昂貴。具有微處理器系統中,使用微處理器
    發表于 06-20 10:33 ?701次閱讀
    ALTERA <b class='flag-5'>FPGA</b><b class='flag-5'>在</b><b class='flag-5'>微處理器</b><b class='flag-5'>系統</b>中的<b class='flag-5'>在</b>應用<b class='flag-5'>配置</b>

    微處理器系統中連接簡單的被動串行配置方法和被動并行異步配置方法

    成本。微處理器根據不同的程序應用,采用不同的配置數據對FPGA進行配置,使FPGA實現與該應用有
    發表于 11-06 11:10 ?1次下載

    基于FPGA器件EP20K200E芯片的配置方式嵌入式系統中的應用研究

    介紹一嵌放式系統中使用微處理器被動串行配置方式實現
    發表于 09-29 17:05 ?1107次閱讀
    基于<b class='flag-5'>FPGA</b>器件EP20K200E芯片的<b class='flag-5'>配置</b><b class='flag-5'>方式</b><b class='flag-5'>在</b>嵌入式<b class='flag-5'>系統</b>中的應用研究

    FPGA和DSP兩種處理器之間實現SRIO協議的方法

    摘要: 現代 信號 處理系統通常需要在不同處理器之間實現高速數據 通信 ,SRIO協議由于高效率、低延時的特性被廣泛使用。本文研究了 FPGA
    的頭像 發表于 03-20 15:00 ?2280次閱讀

    微處理器系統實現兩種簡單FPGA配置方式

    單元存儲配置數據。配置數據決定了PLD內部互連和功能,改變配置數據,也就改變了器件的邏輯功能。SRAM編程時間短,為系統動態改變PLD的邏輯功能創造了條件。但由于SRAM的數據易失的,
    的頭像 發表于 05-30 11:00 ?917次閱讀

    微處理器系統實現兩種簡單FPGA配置方式

    存儲配置數據。配置數據決定了PLD內部互連和功能,改變配置數據,也就改變了器件的邏輯功能。SRAM編程時間短,為系統動態改變PLD的邏輯功能創造了條件。但由于SRAM的數據易失的,
    的頭像 發表于 05-30 10:59 ?811次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>微處理器</b><b class='flag-5'>系統</b><b class='flag-5'>里</b><b class='flag-5'>實現</b><b class='flag-5'>兩種</b><b class='flag-5'>簡單</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b><b class='flag-5'>方式</b>

    嵌入式微處理器有哪兩種架構?區別是什么?

    嵌入式微處理器是一專門設計用于控制嵌入式系統微處理器。它集成了處理器核心、存儲、輸入輸出接
    的頭像 發表于 04-21 09:41 ?746次閱讀

    嵌入式微處理器有哪兩種架構?區別是什么?

    嵌入式微處理器是一專門用于嵌入式系統中的微處理器。它具有高度集成、低功耗、低成本和高性能等特點,廣泛應用于電子產品、通信設備、汽車電子、工控設備等各個領域。嵌入式
    的頭像 發表于 05-04 11:16 ?1082次閱讀

    嵌入式微處理器如何選擇 嵌入式微處理器體系結構有哪兩種

    討如何選擇嵌入式微處理器以及嵌入式微處理器兩種體系結構。 一、嵌入式微處理器的選擇方法 定義應用需求:選擇嵌入式
    的頭像 發表于 05-04 15:04 ?1027次閱讀

    簡單高效配置FPGA的方法

    本文描述了一簡單高效配置FPGA的方法,該方法利用微處理器從串行外圍接口(SPI)閃存配置
    的頭像 發表于 10-24 14:57 ?809次閱讀
    一<b class='flag-5'>種</b><b class='flag-5'>簡單</b>高效<b class='flag-5'>配置</b><b class='flag-5'>FPGA</b>的方法
    百家乐官网网上赌博网| 百家乐官网有无规律可循| 百家乐官网视频游戏注册| 百家乐游戏客户端| bet365合作计划| 百家乐官网技巧心| 六合彩150期| 开心8百家乐现金网| 噢门百家乐官网玩的技巧| 网上百家乐官网软件大全酷| 网上百家乐游戏哪家信誉度最好| 半圆百家乐官网桌布| 名仕百家乐的玩法技巧和规则 | 总玩百家乐有赢的吗| 百家乐官网赌博规| 川宜百家乐官网注册号| 云顶国际娱乐开户| 百家乐喜牛| 百家乐官网技巧开户| 宝丰县| 德州扑克边池| 老虎机派通娱乐| 百家乐赢钱皇冠| 凯旋门百家乐官网娱乐城| 德州扑克发牌规则| 百家乐波音独家注册送彩| 武汉百家乐庄闲和| 8运24山风水图解| 百家乐官网娱乐城网站| 南华县| 7080棋牌| 金濠娱乐城| 百家乐骗局视频| 百家乐游戏网上投注| 太阳百家乐官网娱乐| 介绍百家乐官网赌博技巧| 祁门县| 真人百家乐官网在线玩| 威尼斯人娱乐城注册送彩金| 百家乐平台注册送现金| 棋牌百家乐赢钱经验技巧评测网|