實用電子學/儲存裝置/CompactFlash

CompactFlash 卡 是一種非常常見的基於快閃記憶體 的可移動儲存技術,於 1994 年首次釋出。它很大程度上基於 PCMCIA 標準。CompactFlash (CF) 卡比大多數其他儲存卡更大,但它們更堅固,並且具有簡單且開放的介面協議的優點,與 SD 卡等裝置不同,SD 卡具有專有介面。
CompactFlash 卡有 50 個引腳,但只有 15 個是絕對必要的,用於最小介面,這意味著許多中檔微控制器有足夠的引腳可以使用一個。CompactFlash 卡之所以有這麼多引腳,部分原因是它們使用並行資料匯流排,一次呈現和輸出 8 位或 16 位,這些位全部一起傳送。像 SD 卡這樣的裝置具有序列介面,使用它需要更復雜的時間控制。
所有基於快閃記憶體的儲存器都以塊為單位工作 - 無法像在 RAM 中那樣訪問單個位元組或字。CF 卡幾乎總是具有 512 位元組的塊大小。如果你想讀取、寫入或更改任何資料,你必須始終處理整個塊。這是所有快閃記憶體的侷限性,但這是為如此巨大的容量所付出的代價。
CF 卡可以用來儲存任何資料,包括原始的未格式化位元組,或完整的檔案系統,如 FAT 或 ext3。我們首先將處理簡單的原始資料操作。如果需要,可以在此基礎上實現檔案系統。
從物理上講,CF 卡是矩形的,側面有插槽,用於在插座中引導,卡上有一個母聯結器,與插座中的公針配合。CF 卡有兩種外形尺寸,Type I 和 Type II,唯一的區別是卡的物理厚度。Type II 卡厚 5mm,Type I 卡厚 3.3mm。其他所有東西都相同,因此 Type I 卡可以安裝在 Type II 插座中,但反過來不行。
CompactFlash 卡通常比其他格式更堅固。它們可以承受 2000G 的衝擊(從三米高的位置掉落到硬表面上),並且至少可以承受 10000 次插拔迴圈。在正常使用情況下,CompactFlash 卡預計可以使用大約一百年。[1]
CompactFlash 卡的引腳以 2×25 的矩形排列,間距為 0.05 英寸(50 毫英寸或 1.27 毫米)。CF 卡兩側都有插槽,用於確保卡不會倒置或反向插入。當面向卡的聯結器時,較寬的插槽在以下影像中定位時位於左側。

引腳的功能可能取決於卡使用的模式。有關引腳圖的完整描述,請點選這裡。
CompactFlash 卡支援三種儲存訪問模式:PC 卡儲存模式、PC 卡 I/O 模式和真 IDE 模式。
在 PC 卡儲存模式(或公共儲存模式)中,任務檔案暫存器被對映到 CompactFlash 卡的公共儲存空間中。
在此模式下,卡可以對任何公共儲存地址執行 8 位或 16 位 I/O 操作。
在 PC 卡 I/O 模式(或 I/O 功能模式)中,任務檔案被對映到 I/O 儲存空間中。
在真 IDE 模式下,任務檔案暫存器被對映到 I/O 儲存空間中,就像在 I/O 模式中一樣。真 IDE 模式的優點是,可以與現有的 IDE 匯流排直接介面,因為 CF 卡看起來與硬碟驅動器完全一樣。
真 IDE 模式透過在加電期間保持ATA SEL(引腳 9)為低電平來指定。有時可以使用一些方法切換到真 IDE 模式,但不能依賴這些方法,因為它們在規範中是可選的。
在真 IDE 模式下,PCMCIA 協議和所有配置都被停用。只允許對任務檔案和資料暫存器進行 I/O 操作,不允許訪問儲存器或屬性暫存器。
CompactFlash 卡可以使用少量的引腳連線到控制器裝置。當微控制器或其他裝置的引腳有限時,這非常有用。缺點是這種方法比使用所有可用引腳的速度慢。這種方法使用 8 位介面,非常適合大多數具有 8 位體系結構的低端到中端微控制器。
在公共儲存模式下,可以使用僅 3 條地址線訪問所有必要的暫存器,並且介面特別簡單。卡讀取和寫入資料所需的資訊首先載入到控制暫存器中,然後以位元組為單位讀出資料。
CompactFlash 卡在其儲存器中沒有內在的檔案系統,它只是原始資料的塊。允許計算機將卡讀取為磁碟的檔案系統,如 FAT、NTFS 或 ext3,被放置到儲存器中,就像任何其他資料一樣,但對讀取它們的計算機具有特殊意義。
當使用格式化為 FAT 的磁碟時,前 512 位元組資料(扇區 0)包含主引導記錄 (MBR),它告訴計算機磁碟有多大,儲存器是如何排列的,以及卡的名稱,以及其他資訊。如果你透過寫入扇區 0 來破壞或刪除此資訊,Windows 將無法識別 CF 卡為可用的儲存器。甚至可能無法識別磁碟,無法正常重新格式化。
在這種情況下,需要進行“無條件”格式化。使用命令提示符,輸入以下內容(將X替換為相關的驅動器號)。
format X: /fs:fat /u
你可能需要執行兩次才能完全將磁碟恢復到 Windows 相容的格式。此方法可能會破壞 CF 卡上的某些資料。為了防止這種情況,始終從扇區 1 或更高的扇區開始對 CF 卡進行索引。如果你盲目寫入,這仍然可能會破壞檔案系統,但你將能夠安裝磁碟,使用 WinHex 等工具檢索資料。
- Winhex: 一款功能強大的磁碟編輯工具,可以讀取儲存裝置(如 CF 卡)的原始位元組。