利用FPGA解決手持設(shè)備MPU功耗問題
為應(yīng)對上述挑戰(zhàn),越來越多的設(shè)計(jì)人員開始使用FPGA進(jìn)行手持產(chǎn)品的開發(fā)。FPGA的功能日益強(qiáng)大和豐富,而門數(shù)、面積和頻率也在不斷增加。FPGA的開發(fā)和周轉(zhuǎn)時(shí)間要比定制ASIC短得多,可重復(fù)編程的額外優(yōu)勢使得FPGA成為手持嵌入式系統(tǒng)領(lǐng)域中頗具吸引力的解決方案。在基于ASIC或FPGA的設(shè)計(jì)中,設(shè)計(jì)人員必須認(rèn)真考慮某些性能標(biāo)準(zhǔn),他們面臨的挑戰(zhàn)主要體現(xiàn)在面積、速度和功耗方面。
與ASIC一樣,供應(yīng)商在FPGA設(shè)計(jì)中也需要應(yīng)對面積和速度的挑戰(zhàn)。隨著門數(shù)不斷增加,F(xiàn)PGA需要更大的面積和尺寸來適應(yīng)更多的應(yīng)用,設(shè)計(jì)工具需要采用更好的算法以便更有效地利用面積。不斷演進(jìn)的FPGA技術(shù)也給設(shè)計(jì)人員帶來一系列新的挑戰(zhàn),電源利用率就是其中之一,這對于為手持或便攜式設(shè)備設(shè)計(jì)基于FPGA的嵌入式系統(tǒng)來說是急需解決的問題。
嵌入式系統(tǒng)中的FPGA
典型的嵌入式系統(tǒng)由處理器、存儲器、包括USB、SPI、I2C在內(nèi)的標(biāo)準(zhǔn)接口以及液晶顯示器、音頻輸出等外設(shè)組成。設(shè)備的核心仍是處理器和處理器接口,它們通過板載連線連接到各個外設(shè)。系統(tǒng)性能主要取決于處理器性能,而處理器通常具有非常標(biāo)準(zhǔn)的架構(gòu),因而不容易定制。
有時(shí)處理器可能忙于處理來自低速外設(shè)的信息,雖然在這種情況下處理器使用率可能達(dá)到100%,但并不是在做以微處理器為中心的事務(wù),而是工作在特別低的性能水平。不管其內(nèi)核頻率是多少,微處理器必須等待來自低速時(shí)鐘的數(shù)據(jù)。這也會導(dǎo)致較高的功耗,因?yàn)樘幚砥鞯睦寐适?00%。其結(jié)果將縮短電池壽命,并且需要更大的散熱器或風(fēng)扇進(jìn)行冷卻,最終影響整個系統(tǒng)的可靠性。
于是,F(xiàn)PGA在這方面開始發(fā)揮重要作用,因?yàn)樗鼈兡軓奶幚砥餍遁d許多外設(shè)交互任務(wù)。如圖1所示,利用標(biāo)準(zhǔn)千兆TCP/IP網(wǎng)絡(luò)實(shí)現(xiàn)的未壓縮音視頻數(shù)據(jù)流的嵌入式分布系統(tǒng)。它有一個專用DSP處理器,這個處理器通過一個標(biāo)準(zhǔn)總線接口與賽靈思的FPGA相接,F(xiàn)PGA再連接到各個低速外設(shè)。
圖1:用于音頻/視頻分布系統(tǒng)的FPGA架構(gòu)。
作為啟動開發(fā)套件,這個FPGA通過I2S接口連接12位的PCM音頻輸入和12位的PCM音頻輸出;它還連接視頻編碼器和解碼器,并與I2C從器件和RS232器件進(jìn)行通信;連接到FPGA的通用I/O很少。與處理器相連的標(biāo)準(zhǔn)總線工作在高速的66MHz,而音頻外設(shè)工作在低速的1.182MHz;UART和I2C串行接口分別工作在56.6kHz和100kHz。由于數(shù)據(jù)傳輸發(fā)生在多個時(shí)鐘域,因而只有處理器能配置數(shù)據(jù)流。
在這種情況下,處理器不再與低速外設(shè)交互,而由FPGA從低速的PCM ADC音頻器件讀取數(shù)據(jù),并將數(shù)據(jù)存放在FPGA的內(nèi)部緩存中。處理器可以周期性地從這個緩存讀取數(shù)據(jù),或者當(dāng)緩存中有足夠數(shù)據(jù)時(shí),由FPGA向處理器發(fā)送一個中斷。這樣,處理器就有更多的時(shí)間執(zhí)行以處理器為中心的必要工作,在空閑時(shí)則進(jìn)入睡眠模式。
評論