摘??? 要:本文研究并開發(fā)了一款針對手持設備、內嵌arm7tdmi內核的系統芯片。在設計這款芯片的過程中,mp3算法的軟硬件分割和芯片的低功耗設計是主要挑戰(zhàn)。本文介紹了該系統芯片的結構,并著重介紹了軟硬件分割和低功耗設計技術。
關鍵詞:系統芯片;低功耗;arm;mp3引言
隨著半導體技術的進步和芯片設計方法—ip重用技術的出現,soc在消費類電子產品中已經越來越普遍。本課題組去年啟動了稱為garfield的soc項目。garfield定義為一款面向中低端pda的嵌入式處理器,支持顯示器件接口、存儲控制器、通訊控制器和多媒體應用等。多目標圓片(mpw)試驗和測試結果表明,garfield基本達到設計要求,各項性能指標也符合原來的定義。
在garfield開發(fā)過程中,克服了許多挑戰(zhàn)。首先是驗證工作,60%以上的開發(fā)時間都是用來保證芯片沒有功能性問題。其次,低功耗對于電池供電的手持終端而言是一個關鍵問題,必須采用大量低功耗技術來保證系統不損耗不必要的功率和運行更長的時間。第三,由于arm7tdmi內核的速度限制和mp3的算法復雜度,mp3軟解碼無法在基于arm7tdmi的平臺上實現實時播放。因此必須在芯片內包含mp3硬件加速引擎,確認mp3哪一部分的算法需要在硬件加速引擎中實現,這就需要軟硬件分割并在系統級評估其性能,使用最少的硬件資源實現mp3的實時播放。
garfield結構
其體系結構包括cpu內核、片上總線和其它的外設。
arm公司不僅提供微處理器內核,還提供各種易用的工具,比如調試工具、軟件開發(fā)包、原型樣機開發(fā)包等,其微處理器內核以低功耗見長。目前amba最新的版本是amba 3.0,但amba 2.0的標準相對而言更加成熟,并且有很多成功案例,所以選擇amba 2.0作為garfield的片上總線。amba包含高速總線ahb和低速總線apb。ahb是為高速、高性能的外設設計的骨干總線,garfield通過ahb把存儲器控制器、內核、片上sram、顯示控制器、多媒體加速引擎和dma等模塊連接起來。apb是為低速、低功耗的外設設計的,它不提供“突發(fā)”模式的數據傳輸,所有其它不需要高數據帶寬的外設都通過apb連接。在ahb和apb之間則通過一個橋(bridge)連接。
在嵌入式微處理器中,外存控制器必須支持多種不同類型的外存。此外,嵌入式設備還經常使用一些卡(比如cf卡、mmc卡等)來備份或者擴展存儲器系統。目前市場上還出現了一種不同于傳統nor-flash結構的nand-flash,nand-flash具有容量大、便宜等優(yōu)點,因此支持nand-flash有助于降低系統成本,提高競爭力。
盡管純軟件解碼的mp3可以在28mhz的arm7tdmi平臺上完成實時解碼,但是這類mp3解碼程序需要高度優(yōu)化的解碼軟件和大容量的零等待存儲器。對于garfield這類面向中低端、低成本手持設備的嵌入式微處理器而言,要集成大容量的片上sram是不可能的。而在garfield中只有20k的片上sram用于存儲常用的mp3解碼子程序、中斷服務程序等。mp3解碼之后得到的音頻數據pcm碼通過dma傳輸到ac97控制器,最后送到片外的codec中播放音樂。
lcd在嵌入式系統中得到了廣泛的應用,所以garfield支持黑白、灰度和彩色的lcd屏。lcd控制器中內嵌了一個優(yōu)化的灰度調制算法,因此在較低刷新頻率(68hz)下,也可以消除灰度顯示中的“紋波”和“漂移”等不穩(wěn)定現象。
garfield支持高速的usb通訊,也支持低速的串口通訊和紅外通訊。
低功耗
低功耗設計對于電池供電的手持終端而言至關重要。cmos數字電路的功耗有兩類:一是由于電路節(jié)點翻轉對節(jié)點電容充放電引起的動態(tài)功耗;二是由于電路漏電流帶來的靜態(tài)功耗。在cmos電路中,動態(tài)功耗是功耗的主要來源,另外系統處于sleep模式下的靜態(tài)功耗也是影響電池壽命的一個重要因素。為了降低系統動態(tài)功耗,必須使得那些不需要翻轉的節(jié)點盡可能地少翻轉以節(jié)省功耗。在garfield中使用了兩種降低動態(tài)功耗的手段:一是關閉當前不使用的模塊并截斷其時鐘樹;二是使用門控時鐘降低節(jié)點的翻轉速率。
當系統沒有用戶進程需要服務時,系統會處于停頓(idle)狀態(tài),但此時系統仍然會消耗大量的無用功耗。garfield使用四種功耗模式(normal, idle, slow和sleep),根據系統應用,系統會選擇進入不同的功耗模式以節(jié)省功耗。如果當前應用需要復雜的計算或者控制,garfield會進入normal模式,此時所有工作模塊通過一個高速時鐘(來自于pll)來同步其操作。當系統處于該模式下時,由于高速的節(jié)點翻轉,系統可能消耗大量的動態(tài)功耗。如果系統認為已經在相當長時間內沒有用戶任務需要處理,garfield則會進入idle模式,關閉arm7tdmi內核,但是其它工作模塊(如lcd,觸摸屏等)仍然打開。idle模式除了節(jié)省內核功耗外,更重要的是由于內核關閉,它能節(jié)省大量的外存功耗。如果系統有一些經常性但計算量較輕的任務,系統可以進入slow模式,在此模式下,garfield使用一個外部晶體振蕩器產生的低速時鐘(10mhz)。slow模式對于某些應用來說非常





