硬盤(pán)驅動(dòng)器接口技術(shù)與嵌入式應用技術(shù)介紹
目前,硬盤(pán)驅動(dòng)器采用的主流接口是高技術(shù)配置接口標準(ATA),即IDE接口,而且絕大多數硬盤(pán)驅動(dòng)器都采用了并行ATA接口。部分硬盤(pán)驅動(dòng)器同時(shí)也支持CF (Compact Flash)規范、安全數字輸入/輸出(SDIO)標準和串行ATA規范。由于并行ATA和CF是便攜手持市場(chǎng)的最普遍的兩個(gè)標準,因此本文側重討論這兩個(gè)規范。CF 3.0規范能夠在與標準IDE完全相同的真IDE模式下操作。與CF2.1相比,CF3.0增加了極端直接內存訪(fǎng)問(wèn)(Ultra DMA)模式。
本文引用地址:http://dyxdggzs.com/article/149214.htm通常,硬盤(pán)驅動(dòng)器并不需要支持所有的模式。目前,1.8英寸硬盤(pán)能夠支持所有的模式,1英寸硬盤(pán)能支持到UDMA4模式??紤]到便攜消費類(lèi)市場(chǎng)對尺寸和功耗的要求,因此本文側重于討論1.8英寸或更小尺寸的硬盤(pán)驅動(dòng)器。這些微硬盤(pán)的實(shí)際數據吞吐量遠小于他們的理論值。硬盤(pán)的直徑直接影響了數據傳輸率。例如,1英寸硬盤(pán)驅動(dòng)器比2.5英寸硬盤(pán)驅動(dòng)器要慢許多,這是因為硬盤(pán)外直徑變小,意味著(zhù)外圍磁軌的最快線(xiàn)速度也將同樣變小。
![]() |
圖1主ATA控制與CPLD解決方案:采用一個(gè)外部總線(xiàn)接口或GPIO端口和一個(gè)用于連接邏輯電路的CPLD,主CPU控制ATA時(shí)序和與硬盤(pán)相關(guān)的任務(wù)。
目前,大多數便攜式低功耗嵌入式處理器都支持CF接口,但是缺乏專(zhuān)用的IDE控制器。雖然CF3.0支持真IDE模式和ATA規范的部分標準,但是這種方法必須依靠處理器本身來(lái)控制ATA時(shí)序和建立數據連接。而且從系統角度來(lái)看,這種模式在傳輸大量數據時(shí)效率不高。在嵌入式領(lǐng)域,當設計師采用硬盤(pán)驅動(dòng)器技術(shù)時(shí),可以選用CF接口、通用I/O端口或者一個(gè)帶有用于連接某些邏輯電路的CPLD的外部總線(xiàn)接口等方案來(lái)實(shí)現連接。這使得他們可以采用現有的主處理器架構和軟件環(huán)境來(lái)更快地推出產(chǎn)品,取得市場(chǎng)先機。盡管這種方法簡(jiǎn)單且經(jīng)濟,但在采用這種方法前,設計師必須充分理解它對系統性能的影響。因此,在選擇一個(gè)特定的系統方案之前,有必要為終端應用確定一個(gè)清晰的、可量化的性能目標。因為只有這樣,才能夠應用該目標來(lái)指導系統劃分過(guò)程和決定是否有必要改善性能。
![]() |
圖2 局部總線(xiàn)接口和QuickLogic IDE控制:采用一個(gè)外部總線(xiàn)接口或GPIO端口和外部硬件中的專(zhuān)用QuickLogic IDE控制器來(lái)加速對硬盤(pán)驅動(dòng)器(HDD)的讀寫(xiě)。
外部總線(xiàn)接口與CPLD
優(yōu)點(diǎn)
本方案只需要控制信號和主處理器的部分尋址信號與CPLD連接,來(lái)產(chǎn)生硬盤(pán)驅動(dòng)器所需的接口信號。當系統中存在其他設備共享數據總線(xiàn)時(shí),還需要額外的分離邏輯部件將總線(xiàn)與系統的其他部分分離開(kāi)來(lái)。從硬件角度來(lái)講,這個(gè)方案非常簡(jiǎn)單、直接而且提供了應用所需的存儲。然而,系統設計是需要考慮數據吞吐量的可能瓶頸和對主處理器的影響。若要設計一個(gè)性?xún)r(jià)比高和有競爭力的解決方案,需要滿(mǎn)足以下兩條件中至少一個(gè):硬盤(pán)讀寫(xiě)的數據中不包括極大數量的數據文件或豐富的多媒體內容;性能和數據吞吐量不是系統的關(guān)鍵性要求。
缺點(diǎn)
當處理器負責產(chǎn)生和控制ATA時(shí)序的時(shí)候,它將浪費額外的周期來(lái)處理時(shí)序和數據移動(dòng)。系統中,性能瓶頸的多少取決于是否存在DMA控制器,以及主處理器在外部總線(xiàn)接口和主內存之間的數據傳輸效率。如果再加上微處理器在每次數據讀寫(xiě)中對來(lái)自硬盤(pán)驅動(dòng)器的IO-RDY信號反應的等待時(shí)間,將形成一個(gè)很?chē)乐氐男阅芷款i。由于本方案直接與每個(gè)驅動(dòng)器相關(guān)的任務(wù)掛鉤,因此對CPU占用率產(chǎn)生了很大的影響。主CPU的絕大多數時(shí)間將被用來(lái)為硬盤(pán)服務(wù),而不是執行與應用相關(guān)的任務(wù)。實(shí)際應用中,數據傳輸的最大速率請參見(jiàn)表1。
外部總線(xiàn)接口和QuickLogic IDE控制器
優(yōu)點(diǎn)
本方案通過(guò)在硬件中增加一個(gè)外部IDE控制器,來(lái)加速硬盤(pán)驅動(dòng)器數據傳輸和讀寫(xiě)控制,從而降低了流程中主處理器的負載。在本方案中,只有主處理器的本地存儲器總線(xiàn)連接到IDE橋接設備。外部IDE控制器擁有一片用于數據雙向傳輸緩沖的容量為512字節的嵌入式內存。緩沖內存使得主處理器實(shí)現了直接在512字節扇區內執行讀寫(xiě)操作而不必等待中斷或外部連接IDE設備的準備。在等待中斷信號或者IDE控制器發(fā)送的512字節扇區數據準備完畢信號的同時(shí),主處理器可以不間斷地運行其他任務(wù)。
在數據扇區準備好后,再調用中斷機制,這使得系統可以實(shí)現比輪流檢測機制更好的性能。與中斷機制不同,輪流檢測在增加了軟件投入的同時(shí)也降低了系統的性能。
如果在CPU中,存在供外部設備使用的DMA控制器,通過(guò)對主內存數據扇區的DMA操作,可以進(jìn)一步提升系統性能。由于硬盤(pán)消耗大量的靜態(tài)電流,因此微瓦FPGA能夠關(guān)閉硬盤(pán)的電源來(lái)降低不讀取數據時(shí)硬盤(pán)的功耗。同樣的機理也被iPOD所采用。使用微瓦FPGA來(lái)控制硬盤(pán)功耗的主要優(yōu)點(diǎn)是,可以在數據傳輸完成以后,切斷電流關(guān)閉硬盤(pán)來(lái)節省功耗。理論上,它還可以被用來(lái)在上電的同時(shí),啟動(dòng)硬盤(pán)驅動(dòng)器和初始化寄存器。在該流程完成后,它將發(fā)送一個(gè)中斷信號到CPU,以減少處理器在處理斷電和上電任務(wù)的負載。由于不需要CPU參與這個(gè)過(guò)程,從而在更高程度上實(shí)現了無(wú)縫連接。
使用QuickLogic超低功耗IDE控制器設備作為低功耗嵌入式處理器的配套芯片,大大提高了整體的系統吞吐量、降低了硬盤(pán)驅動(dòng)器相關(guān)任務(wù)的CPU占用率、通過(guò)降低硬盤(pán)驅動(dòng)器的工作時(shí)間來(lái)降低系統功耗。相對基于SRAM和Flash技術(shù),QuickLogic低功耗Vialink互聯(lián)技術(shù)大大降低了功耗。采用SRAM和Flash技術(shù)方案的設計將消耗幾百mA的電流。對簡(jiǎn)單CPLD方案而言,只需要增加少量成本,采用低功耗IDE橋控制器就可以實(shí)現提升高能效系統性能,最終改善終端用戶(hù)的使用效果。
![]() |
圖3 采用專(zhuān)用的QuickLogic IDE與SDRAM控制:通過(guò)對主存儲器的直接存取,采用外部硬件中專(zhuān)用的QuickLogic IDE與SDRAM控制器來(lái)加速硬盤(pán)驅動(dòng)器的讀寫(xiě)速率。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論