《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于SRAM的可重配置電路PLD
基于SRAM的可重配置電路PLD
摘要: 基于SRAM的可重配置PLD(可編程邏輯器件)的出現(xiàn),為系統(tǒng)設(shè)計(jì)者動(dòng)態(tài)改變運(yùn)行電路中PLD的邏輯功能創(chuàng)造了條件。PLD使用SRAM單元來保存字的配置數(shù)據(jù)決定了PLD內(nèi)部互連和功能,,改變這些數(shù)據(jù),也就改變了器件的邏輯功能,。
關(guān)鍵詞: CPLD SRAM AT24C256 PLD
Abstract:
Key words :

  基于SRAM的可重配置PLD(可編程邏輯器件)的出現(xiàn),為系統(tǒng)設(shè)計(jì)者動(dòng)態(tài)改變運(yùn)行電路中PLD的邏輯功能創(chuàng)造了條件,。PLD使用SRAM單元來保存字的配置數(shù)據(jù)決定了PLD內(nèi)部互連和功能,,改變這些數(shù)據(jù),,也就改變了器件的邏輯功能。由于SRAM的數(shù)據(jù)是易失的,,因此這些數(shù)據(jù)必須保存在PLD器件以外的EPROM,,EEPROM或FLASH ROM等非易失存儲(chǔ)器內(nèi),以便系統(tǒng)在適當(dāng)?shù)臅r(shí)候?qū)⑵湎螺d到PLD中,,從而實(shí)現(xiàn)在電路可重配置ICR(In-Circuit Reconfigurability,,在電路可重配置)。

  如何實(shí)現(xiàn)ICR,?ALTER公司的應(yīng)用方案AN88中詳細(xì)介紹一種基于DS87C520微控制器的ISP&ICR設(shè)計(jì)方法,,并鈄其源代碼放在ALTERA的網(wǎng)上,供用戶免費(fèi)下載,。作者在設(shè)計(jì)一要求具有ICR功能的電子裝置時(shí),,在詳細(xì)分析了AN88介紹的方法之后,發(fā)現(xiàn)該應(yīng)用方案中介紹的電路結(jié)構(gòu)復(fù)雜,,對(duì)微控制器性能及微控制器的開發(fā)裝置的要求和成本都較高,,且只適用于工作電壓為5V的PLD電路。本文介紹的是作者設(shè)計(jì)的PLD ICR控制電路,,它和ALTERA介紹的方法相比,,不但線路結(jié)構(gòu)簡潔、開發(fā)容易,、體積小,、成本低,而且只需改變ICR控制電路的電源電壓,,就能實(shí)現(xiàn)工作電壓為3.3V或5V的PLD器件的電路內(nèi)重配置。

  ICR控制電路硬件原理

  ICR控制電路原理圖如圖1所示,。圖中的U1是ICR控制電路的核心器件,,它是PHILIPS公司在1999年底推出的20引腳低成本的微控制器P87LPC762,該微控制器具有2K字節(jié)的程序存儲(chǔ)器,、128字節(jié)的RAM,、18/15個(gè)I/O、WATCHDOG,、通用串行接口UART和一個(gè)硬件I2C總線控制器,。P87LPC762采用的是80C51加速處理器結(jié)構(gòu),其指令和80C51兼容,,但指令的執(zhí)行速度在相同時(shí)鐘下,,是標(biāo)準(zhǔn)80C51微控制器的兩倍。因它采用的是硬件I2C總線控制器節(jié)省大量的軟硬件資源,。U2,、U3是ATMEL公司的串行EEPROM AT24C256,,其串行通信協(xié)議為I2C,容量為32K字節(jié),。在電路中,,U2和U3有來存儲(chǔ)PLD的配置數(shù)據(jù)。

ICR控制電路原理圖

  ICR控制電路的工作過程為:經(jīng)MAXPLUS Ⅱ編譯生產(chǎn)的PLD配置文件經(jīng)過預(yù)處理后,,通過PC機(jī)的串行通訊口下載到U1中,,并在U1的控制下存儲(chǔ)在EEPROM U2和U3中,U1再根據(jù)系統(tǒng)的要求通過P0.2,、P0.3,、P0.4、P0.6和P0.7等5個(gè)I/O口,,將其存儲(chǔ)在U2和U3中的PLD配置數(shù)據(jù)下載到電路中的PLD,。

  因作者設(shè)計(jì)電路中的PLD是ALTERA公司的ACEX系列的EP1K30,其配置文件的容量為52K字節(jié),,故電路中采用了兩片AT24C256存儲(chǔ)PLD的配置數(shù)據(jù),。如果配置的PLD是EPF10K10或EPF10K20,則只需要一片AT24C256,,此時(shí)整個(gè)ICR控制電路僅僅只有兩片IC,,這可以說它是目前結(jié)構(gòu)最簡單、成本最低的ICR控制電路了,。讀者在應(yīng)用該電路時(shí),,可根據(jù)其PLD文件的大小(PLD的配置文件的大小可參考ALTERR公司的應(yīng)用方案AN116)采用1~4片AT24C256,。

  ICR控制電路軟件設(shè)計(jì)要點(diǎn)

  在圖1介紹的ICR控制電路中,,其存儲(chǔ)PLD配置數(shù)據(jù)的EEPROM AT24C256采用I2C串行總線進(jìn)行數(shù)據(jù)交換,其數(shù)據(jù)交換速度較慢(當(dāng)工作電壓為5V時(shí),,其最大I2C總線時(shí)鐘為1MHz),,而PLD配置數(shù)據(jù)又比較大,通常都在數(shù)十K字節(jié)以上,。因此如何提高圖1介紹的ICR控制電路的配置速度,,這將是軟件設(shè)計(jì)上的一個(gè)重點(diǎn)。

  ALTERA公司生產(chǎn)且具有ICR功能的PLD器件有FLEX6000,、FLEX10K,、APEX和ACEX系列,它們的配置方式可分為PS(無源串行),、PPS(無源并行同步),、PSA(無源并行異步)、PSA(無源串行異步)和JTAG(Joint Test Action)等四種方式,在這四種方式,,PS方式因PLD與配置電路的互連最簡單,,對(duì)配置時(shí)鐘的最小頻率沒有限制而應(yīng)用最廣泛,因此在圖1介紹的ICR控制電路中也采用PS配置方式來實(shí)現(xiàn)ICR功能,。圖2是PS配置方式的時(shí)序圖,。

PS配置方式的時(shí)序圖

  數(shù)據(jù)從AT24C256讀出時(shí),可采用讀當(dāng)前地址,、隨機(jī)讀和順序讀三種方式,。這三種方式中,順序讀的最簡單,,速度最快,,因?yàn)樵谕黄珹T24C256中,僅需要寫入一次讀命令就可以按順序從0地址開始直至讀完整片AT24C256中的全部數(shù)據(jù),。AT24C256順序讀的時(shí)序圖如圖3所示,。

  比較圖2和圖3,可以看出PLD的PS配置時(shí)序圖和AT24C256順序讀時(shí)序圖有很多相似之處,,其唯一的差別在于:在PS配置方式中,,其數(shù)據(jù)配置順序是序列的最低位最先輸入,而I2C總線讀過程則是其序列的最高位最先輸出,,它們之間的輸入和輸出順序剛好相反,。如果將PLD的配置文件通過一定的預(yù)處理,使其配置數(shù)據(jù)的最低位存儲(chǔ)在EEPROM的最高位上,,則在配置過程中,,從EEPROM I2C總線上讀出的當(dāng)前位數(shù)據(jù)正好是PS配置時(shí)需要輸入到PLD中去的當(dāng)前位,這將是提高ICR的配置速度,,縮短配置時(shí)間的最有效措施,,其具體過程如下:

 

AT24C256順序讀的時(shí)序圖

  用戶設(shè)計(jì)的PLD程序經(jīng)MAXPLUS Ⅱ的編繹后將產(chǎn)生一個(gè)后綴為.sof的SRAM的SRAM目標(biāo)文件,該文件含有除配置數(shù)據(jù)以外的控制字符,,不能直接寫入到PLD中去,,需要利用MAXPLUS Ⅱ的編程文件轉(zhuǎn)化功能使其生成一個(gè)后綴為.ttf的表格文本文件,該文件是不帶任何附加符號(hào)的PLD配置文件,,可以直接配置到PLD中去。該文件中每一字節(jié)在下載到ICR控制電路的EEPROM之前,,將D7 D6 D5 D4 D3 D2 D1 D0變換為D0 D1 D3 D4 D5 D6 D7之后再寫入EEPROM中,,則在PLD配置過程中,其配置數(shù)據(jù)不經(jīng)任何處理,,從EEPROM讀出的當(dāng)前位數(shù)據(jù)就是此時(shí)需要配置到PLD中去的當(dāng)前位數(shù)據(jù)(這是作者為什么采用時(shí)鐘頻率較慢的I2C的EEPROM,,而沒有采用時(shí)鐘頻率相對(duì)較快,但沒有順序讀功能的SPI接口的EEPROM的原因),從而達(dá)到了縮短ICR控制電路配置時(shí)間的目的,。

  結(jié)論

  本文介紹了一種基于微控制器的PLD ICR控制電路,,該控制電路結(jié)構(gòu)簡單、占用空間小,、性價(jià)比較高,,適用于需要ICR功能的電子裝置中,該ICR控制電路是為配置ALTERR系列PLD器件來設(shè)計(jì)的,,稍加屐也適用于XILINX公司的FPGA器件,。這個(gè)配置電路的主要弱點(diǎn)在于配置速率較慢,只能適應(yīng)用于配置速率要求不高的應(yīng)用,。

  注:文中的一個(gè)概念是ICR(In-Circuit Reconfigurability,,在電路可重配置),ICR是ALTERA提出的概念,,它和目前ISP(In System Programmabled,,在系統(tǒng)編程)相并列的一個(gè)概念與IAP(In Application re-Programmable)的意義相差不大。但筆者使用的是ALTERA的PLD,,因此在文中采用了ICR這個(gè)概念,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。