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