1 引言
ACEX 1K 系列器件是Altera 公司近期推出的新型CPLD 產(chǎn)品。該器件基于SRAM,結(jié)合查找表(LUT)和嵌入式陣列塊(EAB)提供了高密度結(jié)構(gòu),可提供10 000 到100 000 可用門,每個嵌入式陣列塊增加到16 位寬可實(shí)現(xiàn)雙端口,RAM 位增加到49125 個。其多電壓引腳可以驅(qū)動2.5V、3.3V、5.0V 器件,也可以被這些電壓所驅(qū)動;雙向I/O 引腳執(zhí)行速度可達(dá)250MHz。該器件還應(yīng)用Altera 專利技術(shù)進(jìn)行了重要的生產(chǎn)改進(jìn),進(jìn)一步降低了器件的成本,提高了產(chǎn)品的性能價(jià)格比。因此,ACEX 1K 器件可用來實(shí)現(xiàn)許多邏輯復(fù)雜、信息量大的系統(tǒng)。但是在器件操作過程中,ACEX 1K 系列器件的配置數(shù)據(jù)存儲在SRAM 單元中,由于SRAM的易失性,配置數(shù)據(jù)在每次上電時必須被重新載入SRAM。
2 配置ACEX 1K 系列器件三種方
法的比較
對于ACEX 1K 系列器件,目前實(shí)現(xiàn)加載的方法有以下3 種:①采用PROM 并行加載;②采用單片機(jī)控制實(shí)現(xiàn)加載;③通過JTAG 口直接一次性實(shí)現(xiàn)編程數(shù)據(jù)加載。第一種方式需要占用較多的CPLD 管腳資源,雖然這些資源在加載完成后可用作一般的I/O 口,但在加載時不允許這些管腳有其他任何外來信號源;另外數(shù)據(jù)存儲在PROM 與CPLD 之間的大量固定連線,如8 位數(shù)據(jù)線以及大量訪問PROM 的地址線等,使得PCB 板設(shè)計(jì)不便。但是這種方式有一個好處,即PROM 的容量較大、容易購置、價(jià)格低、技術(shù)支持(編程器)較好。第二種方式采用單片機(jī)控制,由PROM 中讀取并行數(shù)據(jù),然后串行送出。由于涉及到單片機(jī)編程,對于開發(fā)者來說較為不便;另外,如果單片機(jī)僅用來實(shí)現(xiàn)該任務(wù),較為浪費(fèi)硬件資源。CPLD 的一個最大優(yōu)點(diǎn)是采用計(jì)算機(jī)專用開發(fā)工具,通過JTAG 口直接一次性實(shí)現(xiàn)編程數(shù)據(jù)加載,但是由于ACEX 1K 器件SRAM 的易失性使數(shù)據(jù)無法永久保存,為調(diào)試帶來很大的不便,特別是從事野外作業(yè)者。
目前,Altera 公司推出了相應(yīng)的配置器件。在CPLD 器件配置過程中,配置數(shù)據(jù)存儲在配置器件的EPROM 中,通過配置器件內(nèi)部振蕩器產(chǎn)生的時鐘控制數(shù)據(jù)輸出。本文以20 腳EPC2 器件(以下簡稱EPC2)為例闡述配置器件與ACEX 1K 系列器件的連接。
3 EPC2 器件簡介
EPC2 具有Flash 配置存儲器,可用來配置5.0V、3.3V、2.5V 器件。通過內(nèi)置的IEEE Std.1149. 1 JTAG 接口EPC2 可以在5.0V 和3.3V 電壓下進(jìn)行在系統(tǒng)編程(ISP)。 系統(tǒng)編程后,調(diào)入JTAG 配置指令初始化ACEX 1K 器件。EPC2 的ISP 能力使ACEX 1K 器件的初始和更新更容易。當(dāng)用EPC2 配置ACEX 1K器件時,在配置器件的內(nèi)部發(fā)生帶電復(fù)位延遲,最大值為200ms。Alterat 公司的QuartusⅡ和MAX+PLUSⅡ軟件均支持配置器件的編程,設(shè)計(jì)中軟件自動為每一個配置器件產(chǎn)生POF。多器件設(shè)計(jì)中,對于多個ACEX 1K 器件,軟件可以將編程文件與一個或多個配置器件聯(lián)合。軟件允許用戶選擇適當(dāng)?shù)呐渲闷骷浞值貎Υ婷恳粋€ACEX 1K器件的配置數(shù)據(jù)。
4 器件連接及工作原理
當(dāng)用一片EPC2 配置ACEX 1K 器件時,EPC2 的控制信號nCS、OE、DCLK 直接和ACEX 1K系列器件的控制信號連接。圖1 給出了ACEX 1K 器件和一片EPC2 的連接關(guān)系。
EPC2 的nCS 和OE 引腳控制DATA 輸出引腳的三態(tài)緩沖器,使能地址計(jì)數(shù)器和EPC2 的振蕩器。nCS 引腳控制配置器件的輸出。當(dāng)OE 引腳接低電平時,不論nCS 為何狀態(tài),地址計(jì)數(shù)器復(fù)位,DATA 引腳輸出為高阻狀態(tài)。當(dāng)OE 引腳接高電平時,如果nCS 保持高電平,則計(jì)數(shù)器停止計(jì)數(shù),DATA 引腳保持高阻狀態(tài);如果nCS 接低電平,則計(jì)數(shù)器和DATA 引腳正常工作。EPC2 允許用戶將nINIT_CONF 引腳與PLD 器件的nCONFIG 引腳相連來初始化PLD 器件的配置。EPC2 的DATA 引腳與ACEX 1K 系列器件的DATA0 或DATA 引腳相連。存儲在EPC2 器件中的數(shù)據(jù)在其內(nèi)部時鐘的控制下順序輸出到DATA 腳,然后在控制信號的控制下輸出到CPLD 器件的DATA0 或DATA 引腳。當(dāng)配置數(shù)據(jù)的大小超過一片EPC2 的容量時,可以采用多片這時候器的nCASC 和nCS 引腳做器件間的握手信號。器件連接如圖1 虛線所示。
用級聯(lián)EPC2 配置ACEX 1K 器件時,EPC2 的操作與其在級聯(lián)鏈中的位置有關(guān)。當(dāng)級聯(lián)鏈中的第一個即主EPC2 加電或復(fù)位,且nCS 腳為低電平時,主EPC2 控制配置進(jìn)行。配置過程中主EPC2 向其后的從屬EPC2 和CPLD 器件提供所有的時鐘脈沖,并向PLD 器件提供第一個數(shù)據(jù)流。當(dāng)主EPC2 中配置數(shù)據(jù)發(fā)送完畢,器件的nCASC 腳變?yōu)榈碗娖?/p>
,使第一個從屬EPC2的nCS 腳變?yōu)榈碗娖?,從而使從屬EPC2 向外發(fā)送配置數(shù)據(jù)。每一片EPC2 中數(shù)據(jù)全部輸出且nCASC 引腳為低電平時,器件的DATA 引腳置為高阻狀態(tài)以避免和其他配置器件發(fā)生競爭。一旦所有的配置數(shù)據(jù)傳送完畢,且基于查找表的CPLD 器件的CONF_DONE 腳驅(qū)動主EPC2 的nCS 腳為高電平,主EPC2 器件將額外增加16 個時鐘周期來初始化CPLD 器件。隨后主EPC2器件進(jìn)入空閑狀態(tài)。當(dāng)需要另外加入EPC2 器件時,可以將欲加入的EPC2 的nCASC 引腳和級聯(lián)鏈中的從屬EPC2 的nCS 相連,DCLK、DATA 和OE 引腳并聯(lián)。
5 結(jié)論
從上述的闡述中,我們可以看到:采用Altera 公司的專用配置器件加載數(shù)據(jù)時,配置器件與CPLD 之間的接口線非常少,且直接連接不需要外加智能控制器;通過器件內(nèi)置JTAG口能夠?qū)?shù)據(jù)一次性寫入EPROM 中加以保存,而且當(dāng)CONFIG 數(shù)據(jù)量較大時,可以采用多片級聯(lián);器件可多次寫入,當(dāng)需要下載新數(shù)據(jù)時不需事先擦除器件中原有數(shù)據(jù),只需將新數(shù)據(jù)直接寫入即可。由此可見采用配置器件加載數(shù)據(jù)方便、可靠、易學(xué)易用。