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