目前,硬盤驅動器采用的主流接口是高技術配置接口標準(ATA),即IDE接口,而且絕大多數硬盤驅動器都采用了并行ATA接口。部分硬盤驅動器同時也支持CF (Compact Flash)規范、安全數字輸入/輸出(SDIO)標準和串行ATA規范。由于并行ATA和CF是便攜手持市場的最普遍的兩個標準,因此本文側重討論這兩個規范。CF 3.0規范能夠在與標準IDE完全相同的真IDE模式下操作。與CF2.1相比,CF3.0增加了極端直接內存訪問(Ultra DMA)模式。 通常,硬盤驅動器并不需要支持所有的模式。目前,1.8英寸硬盤能夠支持所有的模式,1英寸硬盤能支持到UDMA4模式。考慮到便攜消費類市場對尺寸和功耗的要求,因此本文側重于討論1.8英寸或更小尺寸的硬盤驅動器。這些微硬盤實際數據吞吐量遠小于他們的理論值。硬盤的直徑直接影響了數據傳輸率。例如,1英寸硬盤驅動器比2.5英寸硬盤驅動器要慢許多,這是因為硬盤外直徑變小,意味著外圍磁軌的最快線速度也將同樣變小。 圖1主ATA控制與CPLD 主ATA控制與CPLD解決方案:采用一個外部總線接口或GPIO端口和一個用于連接邏輯電路的CPLD,主CPU控制ATA時序和與硬盤相關的任務。 目前,大多數便攜式低功耗嵌入式處理器都支持CF接口,但是缺乏專用的IDE控制器。雖然CF3.0支持真IDE模式和ATA規范的部分標準,但是這種方法必須依靠處理器本身來控制ATA時序和建立數據連接。而且從系統角度來看,這種模式在傳輸大量數據時效率不高。在嵌入式領域,當設計師采用硬盤驅動器技術時,可以選用CF接口、通用I/O端口或者一個帶有用于連接某些邏輯電路的CPLD的外部總線接口等方案來實現連接。這使得他們可以采用現有的主處理器架構和軟件環境來更快地推出產品,取得市場先機。盡管這種方法簡單且經濟,但在采用這種方法前,設計師必須充分理解它對系統性能的影響。因此,在選擇一個特定的系統方案之前,有必要為終端應用確定一個清晰的、可量化的性能目標。因為只有這樣,才能夠應用該目標來指導系統劃分過程和決定是否有必要改善性能。 圖2 局部總線接口和QuickLogic IDE控制 局部總線接口和QuickLogic IDE控制:采用一個外部總線接口或GPIO端口和外部硬件中的專用QuickLogic IDE控制器來加速對硬盤驅動器(HDD)的讀寫。 外部總線接口與CPLD 優點 本方案只需要控制信號和主處理器的部分尋址信號與CPLD連接,來產生硬盤驅動器所需的接口信號。當系統中存在其他設備共享數據總線時,還需要額外的分離邏輯部件將總線與系統的其他部分分離開來。從硬件角度來講,這個方案非常簡單、直接而且提供了應用所需的存儲。然而,系統設計是需要考慮數據吞吐量的可能瓶頸和對主處理器的影響。若要設計一個性價比高和有競爭力的解決方案,需要滿足以下兩條件中至少一個:硬盤讀寫的數據中不包括極大數量的數據文件或豐富的多媒體內容;性能和數據吞吐量不是系統的關鍵性要求。 缺點 當處理器負責產生和控制ATA時序的時候,它將浪費額外的周期來處理時序和數據移動。系統中,性能瓶頸的多少取決于是否存在DMA控制器,以及主處理器在外部總線接口和主內存之間的數據傳輸效率。如果再加上微處理器在每次數據讀寫中對來自硬盤驅動器的IO-RDY信號反應的等待時間,將形成一個很嚴重的性能瓶頸。由于本方案直接與每個驅動器相關的任務掛鉤,因此對CPU占用率產生了很大的影響。主CPU的絕大多數時間將被用來為硬盤服務,而不是執行與應用相關的任務。 外部總線接口和QuickLogic IDE控制器 優點 本方案通過在硬件中增加一個外部IDE控制器,來加速硬盤驅動器數據傳輸和讀寫控制,從而降低了流程中主處理器的負載。在本方案中,只有主處理器的本地存儲器總線連接到IDE橋接設備。外部IDE控制器擁有一片用于數據雙向傳輸緩沖的容量為512字節的嵌入式內存。緩沖內存使得主處理器實現了直接在512 字節扇區內執行讀寫操作而不必等待中斷或外部連接IDE設備的準備。在等待中斷信號或者IDE控制器發送的512字節扇區數據準備完畢信號的同時,主處理器可以不間斷地運行其他任務。 在數據扇區準備好后,再調用中斷機制,這使得系統可以實現比輪流檢測機制更好的性能。與中斷機制不同,輪流檢測在增加了軟件投入的同時也降低了系統的性能。 如果在CPU中,存在供外部設備使用的DMA控制器,通過對主內存數據扇區的DMA操作,可以進一步提升系統性能。由于硬盤消耗大量的靜態電流,因此微瓦 FPGA能夠關閉硬盤的電源來降低不讀取數據時硬盤的功耗。同樣的機理也被iPOD所采用。使用微瓦FPGA來控制硬盤功耗的主要優點是,可以在數據傳輸完成以后,切斷電流關閉硬盤來節省功耗。理論上,它還可以被用來在上電的同時,啟動硬盤驅動器和初始化寄存器。在該流程完成后,它將發送一個中斷信號到 CPU,以減少處理器在處理斷電和上電任務的負載。由于不需要CPU參與這個過程,從而在更高程度上實現了無縫連接。 使用QuickLogic超低功耗IDE控制器設備作為低功耗嵌入式處理器的配套芯片,大大提高了整體的系統吞吐量、降低了硬盤驅動器相關任務的CPU 占用率、通過降低硬盤驅動器的工作時間來降低系統功耗。相對基于SRAM和Flash技術,QuickLogic低功耗Vialink互聯技術大大降低了功耗。采用SRAM和Flash技術方案的設計將消耗幾百mA的電流。對簡單CPLD方案而言,只需要增加少量成本,采用低功耗IDE橋控制器就可以實現提升高能效系統性能,最終改善終端用戶的使用效果。 圖3 采用專用的QuickLogic IDE與SDRAM控制 采用專用的QuickLogic IDE與SDRAM控制:通過對主存儲器的直接存取,采用外部硬件中專用的QuickLogic IDE與SDRAM控制器來加速硬盤驅動器的讀寫速率。 缺點 本硬件方案既簡單又直接,但設計師需要考慮與主微處理器架構和等待時間相關的數據吞吐量的潛在瓶頸。因此必須認真考慮平臺的系統性能。例如,在便攜式媒體處理器中,有可能存在圖像處理器共享同一個總線。因此,如果希望得到更高的性能,可以考慮采用Quick Logic IDE與SDRAM控制器設計方案。 QuickLogic IDE與SDRAM控制器 優點 如果主處理器的本地總線或SDRAM控制器,允許外部設備來控制總線并直接向主存儲器寫入數據,那么橋接器可以向主存儲器直接存取512字節扇區的數據。這樣將大大節省主處理器的周期,消除主處理器對局部總線進行傳輸請求的響應等待時間,并且可以減少微處理器進行磁盤相關數據傳輸操作的執行時間。這使得主處理器可以同時運行其他系統進程或降低操作速度來節省功耗。主處理器并不積極地參與跟硬盤驅動器之間的數據傳輸。預先在主存儲器中寫入數據,可以防止在執行中出現遺漏。主存儲器更快且更有效的數據傳輸,可降低硬盤驅動器的活動時間以及硬盤驅動器的整體功耗。根據具體應用的不同,功耗降低的程度也不相同。一個完整的單芯片配套解決方案是由硬件來控制數據的傳輸,從而大大增強系統的性能。由于基本數據的傳輸都在硬件中進行處理,不必再擔心中斷反應時間和中斷堆棧。UDMA的ATA-66也應能夠在這方案中被實現,而且更能有效地提高系統性能。 缺點 一般情況下,只有一個外部主設備可以對SDRAM進行直接訪問。大部分具有外部圖形協處理器或者其他相關硬件加速器的CPU,都具有專供該外部設備使用的 SDRAM控制,使得IDE失去了用武之地。雖然可編程QuickLogicIDE橋接處理器中使用的某些仲裁邏輯可以允許超過一個總線主控,但是一般情況下,系統要求專用硬件加速器必須具有優先級別和總線讀寫。本方案有利于提升系統性能和驅動程序開發,但是隨著系統內存總線速率的提升和向DDR SDRAM技術的轉移,允許外部內存總線主控的CPU已經不再是主流產品。而且,由于SDRAM控制器和用于控制的外部總線接口,這種方案還需要配備更多的邏輯電路,這就不可避免地增加了該設計的成本。 性能測試 用于低功耗應用領域的嵌入式處理器缺乏硬盤控制器,這使得系統設計師不得不自己解決連接性難題。 支持下一代迷你硬盤的標準如CE-ATA(類似SDIO協議)和iVDR(基于串行ATA)可能進一步延緩在新SoC上硬盤驅動器控制器的出現。 然而,由于處理器和硬盤消耗了大量的系統功耗,因此,要想實現主內存和硬盤驅動之間的更有效的信息傳遞必然會影響電池的壽命。巧妙地采用橋接器,可以提高主內存和硬盤驅動這兩個子系統處于節電狀態的時間百分比,從而實現更高的電池效率。 QuickLogic提供了超低功耗的IDE橋接控制器作為配套芯片來連接低功耗嵌入式處理器,從而在提升系統性能的同時減少了硬盤存儲相關作業的CPU 占用率,最大限度地降低了功耗。QuickLogic提供的IDE橋接器可以在實際應用中實現10Mbps~13Mbps的數據傳輸速率。尤其是該產品基于QuickLogic 微瓦FPGA技術,這意味著移動平臺系統設計師可以跨越基于傳統SRAM的FPGA造成的功耗限制和CPLD性能的挑戰。同時它還遵循正興起的總線標準,并具有整合額外系統功能的能力。 人們越來越意識到,在便攜式系統增加額外系統功能的同時,必須注意其對電池壽命的影響。系統性能和功耗的最佳搭配,是通過在基于可編程邏輯的配套設備中,用硬件方法實現大量的數學算法和數據通道管理,而不是在嵌入式處理器上用軟件的方法來實現。QuickLogic配套芯片方法可以為系統設計師提供更多的工具來權衡系統性能和功耗,從而實現最佳搭配。 |