當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]摘要:介紹基于SRAM的可重配置CPLD的原理,通過對多種串行配置的比較,提出了由單片機(jī)和FLASH存儲器組成的串行配置方式,并從系統(tǒng)復(fù)雜度、可靠性和經(jīng)濟(jì)性等方面進(jìn)行了比較和分析。 關(guān)鍵詞:復(fù)雜可編程邏輯器件 靜態(tài)

摘要:介紹基于SRAM的可重配置CPLD的原理,通過對多種串行配置的比較,提出了由單片機(jī)和FLASH存儲器組成的串行配置方式,并從系統(tǒng)復(fù)雜度、可靠性和經(jīng)濟(jì)性等方面進(jìn)行了比較和分析。 關(guān)鍵詞:復(fù)雜可編程邏輯器件 靜態(tài)隨機(jī)存儲器 被動串行 基于SRAM(靜態(tài)隨機(jī)存儲器)的可重配置PLD(可編程邏輯器件)的出現(xiàn),為系統(tǒng)設(shè)計者動態(tài)改變運行電路中PLD的邏輯功能創(chuàng)造了條件。PLD使用 SRAM單元來保存配置數(shù)據(jù)。這些配置數(shù)據(jù)決定了PLD內(nèi)部的互連關(guān)系和邏輯功能,改變這些數(shù)據(jù),也就改變了器件的邏輯功能。由于SRAM的數(shù)據(jù)是易失的,因此這些數(shù)據(jù)必須保存在PLD器件以外的EPROM、EEPROM或FLASH ROM等非易失存儲器內(nèi),以便使系統(tǒng)在適當(dāng)?shù)臅r候?qū)⑵湎螺d到PLD的SRAM單元中,從而實現(xiàn)在電路可重配置ICR(In-Circuit Reconfigurability)。 本文介紹筆者設(shè)計的PLD ICR控制電路,它不但線路結(jié)構(gòu)簡潔、開發(fā)容易、體積小、成本低,并且在圖2介紹的ICR控制電路中,其存儲PLD配置數(shù)據(jù)的FLASH存儲器采用并行總線,交換速度較快。然而PLD配置數(shù)據(jù)較大,通常都在數(shù)十千字節(jié)以上。如何提高圖2介紹的ICR控制電路的配置速度,使系統(tǒng)上電后的最短的時間內(nèi)完成配置而進(jìn)入正常工作狀態(tài),軟件設(shè)計上的一個重點。


1 基于SRAM的可重配置CPLD的結(jié)構(gòu)與原理 早期的可編程邏輯器件大多采用紫外線可擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(EEPROM)方式。如GAL系列、EPF7064、 EPF7128等。由于其結(jié)構(gòu)簡單、規(guī)模小,只能完成簡單數(shù)字邏輯功能。此后,出現(xiàn)了一類結(jié)構(gòu)上稍復(fù)雜的基于SRAM存儲器的可編程芯片,即復(fù)雜可編程邏輯器件(CPLD),它能完成各種數(shù)字邏輯功能。 采用這些結(jié)構(gòu)的可編程邏輯器件有ALTERA公司的FLEX、ACEX、APEX系列,XILINX公司的Spartan、Virtex系列。多年來,ALTERA公司一直致力于CPLD的開發(fā)。近幾年,該公司又推出了很有競爭力的CPLD器件,即靈活的邏輯單元陣列的FLEX(Flexible Logic Element Matrix)系列產(chǎn)品。相對于其它一些廠家的FPGA產(chǎn)品來說,ALTERA公司的FLEX系列產(chǎn)品有其獨特之處。這主要表現(xiàn)在高密度、在線配置功能、高速度和連續(xù)式布線結(jié)構(gòu)等方面。 查找表LUT(Look-Up-Table)是基于SRAM的可重配置PLD的一個重要組成部分,LUT本質(zhì)上就是一個RAM。目前CPLD中多使用4輸入的LUT,所以每一個LUT可以看成個有4位地址線的16%26;#215;1bit的RAM。當(dāng)用戶通過GDF原理圖或VHDL語言描述了一個邏輯電路后,CPLD開發(fā)軟件會自動計算邏輯電路的所有可能結(jié)果,并把結(jié)果事先存入查找表。這樣,當(dāng)多信信號進(jìn)行邏輯運算時就等于輸入一個地址進(jìn)行查表,找出地址所對應(yīng)的內(nèi)容,然后將其輸出即可。


2 可編程邏輯器件的配置原理 首先在開發(fā)軟件MAX+PLUS II的ASSIGN菜單下選擇將要采用的基于SRAM的器件名稱。經(jīng)過編譯、優(yōu)化、邏輯綜合、仿真等步驟達(dá)到設(shè)計要求后,軟件會自動產(chǎn)生一個編程文件(擴(kuò)展名為.SOF文件)。對于基于SRAM工藝的可編程邏輯器件(如ALTERA的所有FLEX、ACEX、APEX系列,XILINX的Sparten、 Vertex系列),由于SRAM存儲器的特點,掉電后數(shù)據(jù)會消失,因此在調(diào)試期間可以采用并口ByteblasteMV下載電纜多次重復(fù)配置PLD器件。當(dāng)電路設(shè)計成功,調(diào)試完成后,需要將配置數(shù)據(jù)燒寫固化在一個由ALTERA生產(chǎn)的專用EEPROM(如EPC1441)中。上電時,由這片配置 EEPROM先對PLD加載數(shù)據(jù),幾十毫秒后,PLD即可正常工作。 CPLD器件的工作狀態(tài)分為三種:首先是上電配置狀態(tài)(Configuration Mode),將編程的數(shù)據(jù)裝入CPLD器件的過程,也可稱之為構(gòu)造;然后是初始化狀態(tài)(Initialization Mode),在配置完成后,CPLD器件復(fù)位內(nèi)部各類寄存器,讓I/O引腳為邏輯器件正常工作做準(zhǔn)備;最后是用戶狀態(tài)(User Mode),指電路中CPLD器件正常工作時的狀態(tài)。 ALTERA公司具有ICR功能的PLD器件有FLEX8000、FLEX10K、APEX和ACEX系列,它們的配置方式可分為PS、PPS和 JTAG(Joint Test Action Group)等方式。PS方式因PLD與配置電路的互連最簡單,對配置時鐘的最小頻率沒有限制而應(yīng)用最廣泛,因此在ICR控制電路中通常采用PS配置方式來實現(xiàn)ICR功能。 被動串行(PS)配置方式:在該配置方式下,由ByteblasteMV下載電纜產(chǎn)生一個由低到高的跳變送到nCONFIG引腳腳復(fù)位PLD,然后將配置數(shù)據(jù)送到DATA0引腳,直到CONF_DONE引腳變?yōu)楦唠娖?。圖1是PS配置方式的時序圖。CONF_DONE變成高電平后,DCLK必須多余十個周期來初始化該器件。器件的初始化由下載電纜自動執(zhí)行。在PS方式中沒有握手信號,所以配置時鐘的工作頻率必須低于10MHz。在多器件PS配置方式中,第一片PLD的nCEO引腳級聯(lián)到下一片PLD的nCE引腳。在配置完第一個器件后,nCEO輸出為低,使第二個PLD器件的nCE有效,開始對第二塊器件進(jìn)行配置。 3 用WINBOND78E58單片機(jī)配置可編程邏輯器件 用單片機(jī)配置可編程邏輯器件與上述PS配置方式原理一致,只需模擬PS配置方式中DATA0、DCLK、nCONFIG、CONF_DONE、 nSTATUS引腳的配置時序,將配置數(shù)據(jù)串行移入PLD。配置引腳的功能如表1所示。 3.1 硬件設(shè)計 用單片機(jī)配置PLD,可以使用普通輸入輸出口或單行口。使用普通I/O口(如P1口),向PLD發(fā)送1Bit數(shù)據(jù)至少需要4個指令周期。一個指令給 DATA0賦值,兩個指令產(chǎn)生DCLK時鐘,一個指令移位取數(shù)據(jù)。如果晶振為fosc,一個指令周期為12/fosc,因此它的下載速率為fosc /48。然而如果采用串行口方式0,其下載速率提高為fosc/12。考慮到PLD配置文件數(shù)據(jù)比較大,通常都在數(shù)十千字節(jié)以上(其配置文件大小如表 2),為了加快配置速度,并適合各種不同規(guī)模的PLD,采用了WINBOND78E58單片機(jī)。 表1 配置引腳功能說明 DATA0 輸出配置數(shù)據(jù) DCLK 輸出配置時鐘 nCONFIG 輸出器件復(fù)位腳(該信號線的上升沿使配置開始) CONF_DONE 輸入狀態(tài)位(在配置完成后,該信號線為高) nSTATUS 輸入狀態(tài)位(如果該信號線為低,表明在配置過程中出現(xiàn)錯誤,需重新配置)表2 各種CPLD配置文件大小 器 件配置數(shù)據(jù)大小(Bits)配置文件大小(Kbytes) APEX 0K1000E APEX 20K600E APEX 20K400E APEX 20K300E APEX 20K200E APEX20K100 EPF10K100E EPF10K70 EPF10K40 EPF10K30 EPF10K20 EPF10K10 8,938,000 5,564,000 3,878,000 2,733,000 1,950,000 985,000 1,336,000 892,000 498,000 376,000 231,000 118,000 1,029 680 474 333 238 121 164 109 61 46 29 15 注:配置文件大小由.rbf文件決定 該單片機(jī)外接晶振最大頻率為40MHz,它在串行口方式0下波特率可設(shè)置為fosc/4。另外通過設(shè)置特殊功能寄存器CKCON的MD0、MD1、MD2 三位,可以將MOVX、MOVC等指令周期縮短至2個機(jī)器周期。與普通單片機(jī)相比,可使配置時間大為縮短。WINBOND78E58單片機(jī)內(nèi)部擁有 32KB FLASH ROM.由配置文件數(shù)據(jù)表2可知,只需一片單片機(jī)就可以對EPF10K20系列以下的PLD進(jìn)行配置了。本系統(tǒng)中使用了一片APEX20K300E,因此在硬件電路設(shè)計中,擴(kuò)展了一片WINBOND29C040 FLASH存儲器(容量為512KB),其電路如圖2。DATA0與RXD、DCLK與TXD、nCONF與P15、CONFIG_DONE與P16、 nSTATUS與P17分別相連。 3.2 軟件設(shè)計 在軟件編程時,使用了串行口移位寄存器輸入輸出方式。本系統(tǒng)只需用到輸出方式,串行數(shù)據(jù)通過RXD引腳輸出,而在TXD引腳輸出移位時鐘。當(dāng)一字節(jié)數(shù)據(jù)寫入串行數(shù)據(jù)緩沖器SBUF時,就開始發(fā)送。在此期間,發(fā)送控制器送出移位信號,使發(fā)送移位寄存器的內(nèi)容右移一位,直至最高位(D7位)數(shù)字移出后,停止發(fā)送數(shù)據(jù)和移位時鐘脈沖。RXD、TXD時序如圖3。由圖3可知,它可以用來模擬配置時序。發(fā)送完一字節(jié)數(shù)據(jù)后,硬件置發(fā)送標(biāo)志位TI為1,向CPU申請中斷。若CPU響應(yīng)中斷,則從0023H單元開始執(zhí)行串行中斷服務(wù)程序。 為了提高配置速度,單片機(jī)程序用匯編語言編寫。單片機(jī)上電后使nCONFIG腳由低到高復(fù)位待配置PLD;當(dāng)判斷到nSTATUS為高后,開始從外部 FLASH存儲器取數(shù)據(jù)串行移位。配置過程中,查詢CONF_DONE。一旦為高,配置完成,但還要送40個DCLK脈沖,PLD才能進(jìn)入用戶工作狀態(tài)。 用戶設(shè)計PLD程序經(jīng)MAXPLUS II或QUARTUS編譯后將產(chǎn)生后綴后為.sof的SRAM目標(biāo)文件。該文件含有除配置數(shù)據(jù)以外的控制字符,不能直接寫入到PLD中去,需要利用軟件的編程文件轉(zhuǎn)換功能將文件轉(zhuǎn)換成.rbf(Raw Binary File)十六進(jìn)制文件。把.rbf文件燒寫到存儲器中,單片機(jī)通過MOVX指令讀入后,串行移位到PLD。

部分asm語言源程序如下: NCONFIG BIT P1.5 CONFDONE BIT P.6 NSTATUS BIT P1.7 ORG 000h …… CLR SM0 CLR SM1 ;SM0,SM1為0,串口工作于方式0 CLR SM2 ;串口波特率為fosc/4 CLR REN ANL 8EH,#0f8h ;地址8EH是CKCON單元,MD0、MD1、MD2清0 CLR EA WJRESTART:CLR NCONFIG SETB NCONFIG ;上升沿復(fù)位PLD WAIT:JNB NSTATUS,WAIT ;NSTATUS為高,可進(jìn)行配置 WJPEIZHI:MOV P1,COUNTER3 MOV DPH,COUNTER2 MOV DPL,COUNTER1 ;配置數(shù)據(jù)大,需3個單元作地址記數(shù) MOVX A,@DPTA MOV SBUF,A ;串行移位 NOP NOP ;采用填充2個空指令,正好使一個字節(jié)發(fā)送完成,可發(fā)送下一個字節(jié) INC COUNTER1 ;地址加 MOV A,COUNTER1 JB CONFDONE,WJEND1 CJNE A,#0,WJPEIZHI INC COUNTER2 NOV A,COUNTER2 CJNE A,#0,WJPEIZHI INC COUNTER3 LJMP WJPEIZHI WJEND1:MOV R0,#60 WJEND:WOV A,#55H …… MOV SBUF,A ;由此產(chǎn)生40個DCLK時鐘 DJNZ R0,WJEND WERE:LJMP HERE ;配置完成,進(jìn)入用戶工作模式 使用OTP(One Time Programming)器件配置CPLD具有一定的冒險性,一次簡單的代碼更換就可能意味著更換OTP器件,并重新開始所有的程序。被動串行微處理器(Passive Serial With Processor)配置方式以EEPROM為基礎(chǔ),允許對這些存儲器進(jìn)行多次編程,所有其它芯片都無需從已裝配的印制電路板上拆卸下來。高速讀寫周期的 FLASH存儲器能確保1萬次編程,而且能對任何以SRAM為基礎(chǔ)的PLD下載。該方式除了在加電期間能承載配置數(shù)據(jù)外,還有許多方便之處。例如,用戶可以將多個配置文件.rbf分區(qū)編程到外部存儲器的未用區(qū)段,通過單片機(jī)讀取不同存儲區(qū)可以將可編程邏輯器件在線配置成多種不同的工作模式。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉