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

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

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

  ICR控制電路硬件原理

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

ICR控制電路原理圖

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

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

  ICR控制電路軟件設計要點

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

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

PS配置方式的時序圖

  數(shù)據(jù)從AT24C256讀出時,可采用讀當前地址、隨機讀和順序讀三種方式。這三種方式中,順序讀的最簡單,速度最快,因為在同一片AT24C256中,僅需要寫入一次讀命令就可以按順序從0地址開始直至讀完整片AT24C256中的全部數(shù)據(jù)。AT24C256順序讀的時序圖如圖3所示。

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

 

AT24C256順序讀的時序圖

  用戶設計的PLD程序經(jīng)MAXPLUS Ⅱ的編繹后將產(chǎn)生一個后綴為.sof的SRAM的SRAM目標文件,該文件含有除配置數(shù)據(jù)以外的控制字符,不能直接寫入到PLD中去,需要利用MAXPLUS Ⅱ的編程文件轉(zhuǎn)化功能使其生成一個后綴為.ttf的表格文本文件,該文件是不帶任何附加符號的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讀出的當前位數(shù)據(jù)就是此時需要配置到PLD中去的當前位數(shù)據(jù)(這是作者為什么采用時鐘頻率較慢的I2C的EEPROM,而沒有采用時鐘頻率相對較快,但沒有順序讀功能的SPI接口的EEPROM的原因),從而達到了縮短ICR控制電路配置時間的目的。

  結(jié)論

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

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

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