T-Flash(microSD)卡憑借高性能,小體積,大容量,適中的價格迅速在數碼市場中普及開來,目前已成為手機中最流行的擴展卡類型。
手機設計中常用的TF卡座有Push和 Hinge兩種類型。Hinge型TF卡座需要掀開蓋后才能取放,故通常安裝在電池下方的主板上,拆下電池后才可放入或取出TF卡。而Push型TF卡座可以側面取放,通常用于手機側面開口,可熱插拔TF卡的場合;當電池下方空間緊張,無法使用Hinge型TF卡座時,也可將Push型TF卡座安裝在內部,側面取放。
T卡允許熱插拔,在卡座帶電時也可插入或拔出T卡。為了在帶電插拔時,不對卡造成損壞,T卡及卡座都進行了必需的設計來保證。
T卡背面金手指中,電源腳(4,6)比信號腳(1,2,3,5,7)要長0.3mm,卡座中的電源引腳(4,6)也要長于其他信號腳。這樣,當卡插入時,可以保證電源腳優(yōu)于信號腳提前接觸上電;當卡拔出時,電源腳比其信號腳晚斷電。此舉有效保證了T卡熱插拔的安全。
T卡的幾種探測方法
由于T卡可以熱插拔,用戶在使用過程中,可能主動插拔卡;還可能因為無意的振動、晃動導致T卡松動脫落,這都要求手機界面能及時給用戶指示。這要求對T卡是否存在(指電氣接觸)進行探測。
機械探測 —— 利用卡座中的開關
一種方法是利用T卡的插入拔出的機械事件進行探測,這需要在T卡卡座上設計一種探測開關。存在兩種類型的T卡探測開關:常開型、常閉型。相應定義見如下資料
SanDisk介紹了一種常開型探測開關的實現:
T卡卡座有一狀態(tài)信號連接至處理器(通常作為中斷輸入),用于指示是否有卡插入,狀態(tài)信號外部通過電阻上拉到高電平??ㄗ鶅仍O計一特殊開關,一端連接在狀態(tài)信號上,一端連接到地上。
沒有卡插入時,開關是斷開的,狀態(tài)信號為高電平;當有卡插入時,開關接通,狀態(tài)信號與地信號導航,狀態(tài)信號變?yōu)榈碗娖健8鶕顟B(tài)信號的電平變化即可知道是否有卡插入。
T卡卡座內的特殊開關由機械彈片A和彈片B組成。沒有卡插入時,兩彈片是不接觸的,相當于斷開;當有卡插入時,擠壓彈片B并與彈片A接觸,開關接通.
需要指出的是,TransFlash規(guī)范并沒有規(guī)定卡座必須有探測開關,更沒有規(guī)定探測開關的實現方式。因此在電路設計時,必須查詢所用卡座的規(guī)格書,了解其探測開關的實現方式,根據處理器中斷電平的要求,靈活處理。
電路檢測 —— 利用CD/DAT3
在T卡內部,CD/DAT3(第1腳)信號上有一上拉電阻(50Kohm),可用于卡的探測。在數據傳輸期間,CD/DAT3作為數據線使用,此時處理器應該發(fā)送特定命令(ACMD42)將此上拉電阻disable。
MTK的MT6226型基帶處理器即可實現這樣的探測功能,圖即是其手冊中給出的推薦電路。但該設計需要在電路板上設置一電阻,并且需要利用電子開關對電阻與CD/DAT3信號線的連接進行通斷控制。由于此設計比較復雜,筆者了解到很少有廠家使用這種參考設計。
軟件探測 —— Timeout
處理器對T卡發(fā)出相應的命令,T卡應給予相應的回應。如果響應時間超時(Timeout),則可能T卡不存在或T卡損壞。利用軟件Timeout探測T卡是否存在,需要浪費一定的資源,且反映時間明顯落后于前兩種方法。
實際產品設計中,應該綜合利用以上的探測手法。試想,如果只利用機械探測,用戶插入一張厚紙片,是否也會觸發(fā)界面提示T卡插入呢?提示T卡插入,至少應該是在檢測到T卡插入,并初始化成功后才能進行。
Hinge型T卡的探測
Hinge型T卡一般需要取下電池后才能取放,因此不存在熱插拔的問題,且Hinge型T卡卡座也沒有機械探測的裝置。手機的部分資源無需T 卡也可執(zhí)行,因此用戶開機時,如果沒有安裝T卡,界面無需提示用戶T卡不存在。而當用戶進入一些必須T卡存在才能執(zhí)行的資源時(比如音樂播放、照相),手機可利用電路探測或軟件探測機制判斷T卡是否存在,如果不存在,則應提示用戶插入T卡。
對于必須取下電池后才能取放的Push型T卡,也符合上述討論。
Push型T卡的探測
對于手機側面開口的Push型T卡,由于用戶熱插拔T卡事件的隨機性,探測問題要復雜一些。
用戶在使用無需T卡即可執(zhí)行的資源時,T卡插入拔出,界面應該不給出提示,否則會影響用戶目前資源的使用。
而當而當用戶進入一些必須T卡存在才能執(zhí)行的資源時(比如音樂播放、照相),手機可利用機械、電路、軟件等機制判斷T卡是否存在,如果不存在,則應提示用戶插入T卡。
如果用戶立即插入T卡,則也應立即給與相應提示。如果用戶在資源執(zhí)行過程中,突然拔出T卡,界面也應立即給出相應提示。
由于Push型T卡一般都帶有機械探測開關,故利用機械探測方式,可最迅速的知道用戶插入和拔出卡的事件,及時提示用戶。