新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機的現場可編程門陣列的配置

        基于單片機的現場可編程門陣列的配置

        作者: 時間:2012-03-22 來源:網絡 收藏

        1 引言

        本文引用地址:http://www.104case.com/article/171812.htm

        在大規模邏輯器件出現以前,把器件焊接在電路板上是設計數字系統的最后一步。當設計存在問題并解決后,設計者往往不得不重新設計印制電路板。設計周期長,設計效率低。CPLD 、FPGA出現后,利用其在系統或可重功能,設計者可以在進行邏輯設計而未進行電路設計時就把CPLD、FPGA焊接在電路板上,然后在設計調試時可一次次隨心所欲的改變電路的硬件邏輯關系,而不用改變電路板的結構。

        2SRAM的FPGA的結構和原理

        邏輯器件從結構上可分為:

        ⑴ 乘積項結構器件。其基本結構是與-或的器件,大部分簡單PLD和CPLD多是這種器件。

        ⑵ 查找表結構器件。由簡單的查找表組成可編程門,再構成形式。大部分FPGA

        器件都采用SRAM的查找表結構。如XILINX的XC4000系列pSPATRAN系列,ALTERA的FLEX10K 系列pACEX系列都是SRAM查找表的典型FPGA器件。查找表(LUT)是一種函數發生器,一個N輸入查找表能實現N個輸入變量的任何邏輯功能。目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成有4位地址線的16×1bit的RAM。當用戶通過GDF原理圖或VHDL語言描述了一個邏輯電路后,FPGA開發軟件會自動計算邏輯電路的所有可能結果,并把結果事先存入查找表。這樣,當多個信號進行邏輯運算時就等于輸入一個地址進行查表,找出地址所對應的內容,然后將其輸出即可。

        3 FPGA的原理

        FPGA使用SRAM單元來保存數據。這些配置數據決定了FPGA內部的互連關系和邏輯功能,改變這些數據,也就改變了器件的邏輯功能。由于SRAM 的數據是易失的,因此這些數據必須保存在FPGA器件以外的EPROM、EEPROM或FLASH ROM等非易失存儲器內,以便使系統在適當的時候將其下載到FPGA的SRAM單元中,從而實現在系統可重配置ICR(In-Circuit Reconfigurability)。ALTERA公司的FPGA有兩種配置下載方式:主動方式(AS)與被動方式(PS)。在實驗系統中,通常用計算機或控制器進行調試,可采用被動方式。將在FPGA集成開發環境(如QUARTUSII)下經編譯p仿真后形成的編程文件用下載電纜下載到FPGA中,進行硬件調試與驗證。電路設計成功后,將配置數據燒寫固化在一個由ALTERA生產的專用EEPROM(如EPC1441)中。上電時,由這片配置 EEPROM先對FPAG加載數據,幾十毫秒后,FPGA即可正常工作。

        ALTERA的FPGA有六種配置模式:配置器件pPS(Passive Serial)模式pPPS(Passive

        Parallel Synchronous)模式pPPA(Passive Parallel Asynchronous)模式、PSA(Passive Serial Asynchronous)模式pJTAG(Joint Test Action Group)模式。其中,PS模式因FPGA與配置電路的互連最簡單,對配置時鐘的最小頻率沒有限制而應用最廣泛,因此在ICR控制電路中通常采用PS配置方式來實現ICR功能。FPGA器件有三種工作狀態:配置狀態,初始化狀態,正常工作狀態(用戶模式)。其時序如圖

        3.gif

        4 用配置FPGA

        目前很多產品都廣泛用了FPGA,雖然品種不同,但編程方式幾乎都一樣:利用專用EPROM對FPGA進行配置。專用的EPROM價格不便宜,且大都是一次性OPT方式編程。一旦更改FPGA設計,代價不小。而且在FPGA實際應用中,設計的保密性和可升級性是非常重要的,用來配置FPGA可以很好的解決上述問題。用PS模式配置FPGA的時序與圖1相同。配置時關鍵是用單片機產生合適的時序。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沁水县| 镇安县| 昌邑市| 民丰县| 贺州市| 信丰县| 榆林市| 广平县| 林州市| 巴南区| 柯坪县| 塔城市| 土默特右旗| 桂平市| 河池市| 贵阳市| 平武县| 台山市| 田阳县| 于都县| 涟水县| 宁晋县| 盐津县| 广饶县| 泽州县| 石棉县| 定南县| 延川县| 鲁山县| 府谷县| 嫩江县| 志丹县| 浦东新区| 安宁市| 竹北市| 肇源县| 安福县| 玉林市| 吉首市| 祁东县| 衡山县|