在設計可支持CompactFlash+++(或CF+)插槽的接口時,有兩個主要因素需要考慮,即供電及熱插拔。為支持CF或CF+規范,在上電復位(POR)及請求的過程中,必須具有100mA的最大電流。這樣,宿主便可執行專門的命令以檢驗該部件有足夠的功率。
該信息可通過一個卡信息結構(CIS,Card Information Structure)讀命令或識別設備(Identify Device)命令來獲得。然后,宿主可確定是否能驅動該部件。如果能,則一個CF+部件可承受的最大電流為500mA(稱為Power Level 1)。諸如閃存等許多CF部件可工作于100mA供電電流。新的CF+宿主設計應該能支持500mA電流。在下文,我們將初步探討如何降低便攜式設備的功耗以延長其電池壽命。
要完全控制CF+部件,其宿主應能控制其插槽的電源供給。如果CF+部件不希望被拔掉且不是用電池供電,則不需要這種可變控制(如存儲器件嵌入到線路板上的情況)。CF+插槽的供電控制并不復雜,就跟FET開關與供電器件(如MICREL MIC2026)或控制器芯片(如Maxim 1601或4370)串聯一樣簡單。
在控制CF+部件的供電時,宿主必須確知該部件已為關閉電源做好準備。某些部件,如日立Microdrive等存儲驅動器具有寫入高速緩存。將Caching使能并將讀寫頭置于媒體上方后,Microdrive就會將“READY”狀態報告給一個寫命令(命令結束后解釋),即使仍有數據在寫入驅動器。在這種情況下,關閉驅動器電源之前,宿主必須執行“STANDBY IMMEDIATE”命令,并等待“READY”狀態的出現。驅動器將一直保持“READY”狀態,直到高速緩存被騰空且讀寫頭已停好。然后,宿主便可關閉驅動器的電源。
除了上述的電源問題外,切忌故意將CF+部件插入帶電插槽中,即使該插槽的設計允許這種在發出信號前連接電源線的操作。但是意外情況的確會發生,因此驅動器最好具備熱插拔功能。
熱插拔的設計問題是,在CF+設備進行上電復位(POR)或對小的引腳電容充電時,應避免地址或數據總線受到由其引起的瞬態沖擊。隔離這些總線的最好方法是使用驅動器/接收器(如圖1所示)。單向地址總線只需使用驅動器。數據線及一些控制線則需要使用接收器將信號與宿主隔離開來。在對插槽供電之前,接收器應在OUTPUT(至CF部件)進行預設置。這可確保在“讀選通”期間CF+部件與宿主處理器隔離,并且只與數據總線相連。由于許多宿主總線采用時分多路復用總線設計,因此地址總線通常使用一個簡單的驅動器(如74244)進行隔離。另一方面,數據總線是雙向總線,可與低階地址總線進行時分多路復用。
圖1:隔離地址或數據總線的最好方法是使用驅動器/接收器。
因此,74373或類似器件可提供適當的隔離。當CF+插槽為空、熱插拔并非真正的熱插拔時,宿主會定期輪詢CD線,檢查CF卡的存在,然后中斷處理器,從而調用CF激活進程。該進程由通過上述的控制電路進行加電開始,然后必須等待至少300ms使該部件準備好執行命令。等待過程分兩個階段:0-100ms為第一個階段,只是等待;100-300ms為第二階段,此時應檢查“READY”狀態是否已出現,如果沒有,則繼續等待。準備好后即可繼續。如果超過300ms還沒出現“READY”狀態,則報告CF卡出錯。如果在第二階段準備好,宿主必須從CF部件讀取狀態字節。該過程的大部分由驅動器軟件處理,不過這里是被用于沒有商用操作系統的嵌入式設計。因此,這種卡實際上并不真正具備熱插拔功能,盡管在用戶看來它具有。
若CD信號消失,這表明CF卡已被拔掉。宿主檢測到這一狀態后,會關閉電源并重新尋找等待CD信號以便再次激活。
責任編輯:gt
-
處理器
+關注
關注
68文章
19408瀏覽量
231187 -
驅動器
+關注
關注
53文章
8271瀏覽量
147068 -
接口
+關注
關注
33文章
8691瀏覽量
151920
發布評論請先 登錄
相關推薦
評論