基于單片機的現場(chǎng)可編程門(mén)陣列的配置
1 引言
本文引用地址:http://dyxdggzs.com/article/171812.htm在大規模可編程邏輯器件出現以前,把器件焊接在電路板上是設計數字系統的最后一步。當設計存在問(wèn)題并解決后,設計者往往不得不重新設計印制電路板。設計周期長(cháng),設計效率低。CPLD 、FPGA出現后,利用其在系統可編程或可重配置功能,設計者可以在進(jìn)行邏輯設計而未進(jìn)行電路設計時(shí)就把CPLD、FPGA焊接在電路板上,然后在設計調試時(shí)可一次次隨心所欲的改變電路的硬件邏輯關(guān)系,而不用改變電路板的結構。
2基于SRAM的FPGA的結構和原理
可編程邏輯器件從結構上可分為:
⑴ 乘積項結構器件。其基本結構是與-或陣列的器件,大部分簡(jiǎn)單PLD和CPLD多是這種器件。
⑵ 查找表結構器件。由簡(jiǎn)單的查找表組成可編程門(mén),再構成陣列形式。大部分FPGA
器件都采用基于SRAM的查找表結構。如XILINX的XC4000系列pSPATRAN系列,ALTERA的FLEX10K 系列pACEX系列都是基于SRAM查找表的典型FPGA器件。查找表(LUT)是一種函數發(fā)生器,一個(gè)N輸入查找表能實(shí)現N個(gè)輸入變量的任何邏輯功能。目前FPGA中多使用4輸入的LUT,所以每一個(gè)LUT可以看成有4位地址線(xiàn)的16×1bit的RAM。當用戶(hù)通過(guò)GDF原理圖或VHDL語(yǔ)言描述了一個(gè)邏輯電路后,FPGA開(kāi)發(fā)軟件會(huì )自動(dòng)計算邏輯電路的所有可能結果,并把結果事先存入查找表。這樣,當多個(gè)信號進(jìn)行邏輯運算時(shí)就等于輸入一個(gè)地址進(jìn)行查表,找出地址所對應的內容,然后將其輸出即可。
3 FPGA的配置原理
FPGA使用SRAM單元來(lái)保存配置數據。這些配置數據決定了FPGA內部的互連關(guān)系和邏輯功能,改變這些數據,也就改變了器件的邏輯功能。由于SRAM 的數據是易失的,因此這些數據必須保存在FPGA器件以外的EPROM、EEPROM或FLASH ROM等非易失存儲器內,以便使系統在適當的時(shí)候將其下載到FPGA的SRAM單元中,從而實(shí)現在系統可重配置ICR(In-Circuit Reconfigurability)。ALTERA公司的FPGA有兩種配置下載方式:主動(dòng)方式(AS)與被動(dòng)方式(PS)。在實(shí)驗系統中,通常用計算機或控制器進(jìn)行調試,可采用被動(dòng)方式。將在FPGA集成開(kāi)發(fā)環(huán)境(如QUARTUSII)下經(jīng)編譯p仿真后形成的編程文件用下載電纜下載到FPGA中,進(jìn)行硬件調試與驗證。電路設計成功后,將配置數據燒寫(xiě)固化在一個(gè)由ALTERA生產(chǎn)的專(zhuān)用EEPROM(如EPC1441)中。上電時(shí),由這片配置 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與配置電路的互連最簡(jiǎn)單,對配置時(shí)鐘的最小頻率沒(méi)有限制而應用最廣泛,因此在ICR控制電路中通常采用PS配置方式來(lái)實(shí)現ICR功能。FPGA器件有三種工作狀態(tài):配置狀態(tài),初始化狀態(tài),正常工作狀態(tài)(用戶(hù)模式)。其時(shí)序如圖
4 用單片機配置FPGA
目前很多產(chǎn)品都廣泛用了FPGA,雖然品種不同,但編程方式幾乎都一樣:利用專(zhuān)用EPROM對FPGA進(jìn)行配置。專(zhuān)用的EPROM價(jià)格不便宜,且大都是一次性OPT方式編程。一旦更改FPGA設計,代價(jià)不小。而且在FPGA實(shí)際應用中,設計的保密性和可升級性是非常重要的,用單片機來(lái)配置FPGA可以很好的解決上述問(wèn)題。單片機用PS模式配置FPGA的時(shí)序與圖1相同。配置時(shí)關(guān)鍵是用單片機產(chǎn)生合適的時(shí)序。
評論