《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 基于DSP的CompactFlash卡接口設計

基于DSP的CompactFlash卡接口設計

2008-12-30
作者:耿相銘 胡劍凌

  摘? 要: 介紹CompactFlash卡的基本結構和工作原理;結合美國德州儀器(TI)公司的TMS320C54x 系列數(shù)字信號處理器(DSP),詳細地說明了DSP與CompactFlash卡接口設計" title="接口設計">接口設計中的關鍵軟硬件技術;同時以TMS320C549 DSP評估板為基礎,設計完成了DSP與CompactFlash卡之間的接口電路,正確實現(xiàn)了DSP對CompactFlash卡的讀寫及數(shù)據管理等各種功能。

  關鍵詞: DSP? CompactFlash卡? CPLD

?

  隨著半導體技術的發(fā)展,小型化、大容量" title="大容量">大容量、低功耗" title="低功耗">低功耗、智能型是未來存儲技術的發(fā)展方向。近年來,各種小型存儲媒體不斷問世,在便攜式設備中應用廣泛。這些存儲媒體大多以Flash Memory(閃爍存儲器)為主要載體,內部用微處理器進行時序控制和存儲管理,通常做成非易失性存儲卡" title="存儲卡">存儲卡形式。?  

  目前常見的存儲卡類型有:①MultiMedia Card(多媒體卡);②CompactFlash Card(快閃磁盤卡);③SmartMedia Card(智能媒體卡);④MemoryStick(記憶棒)。各存儲卡在功耗、體積、容量等方面各有特色,但它們之間的接口目前還互不兼容。?

  CompactFlash 卡(以下簡稱CF卡)最先由SanDisk 公司于1994年生產,隨后CFA(CompactFlash Association) 協(xié)會(它是一個由國際著名IT公司為了共同利益而成立的非盈利機構)于1995年10月成立并陸續(xù)制訂了詳細的CompactFlash 存儲卡統(tǒng)一規(guī)范,該規(guī)范目前已成為一個工業(yè)標準。?

  由于CF卡容量大、價格低,接口兼容磁盤IDE、ATA及Memory等格式,和其它存儲卡相比,CF卡使用越來越普遍。在大容量便攜式數(shù)據存儲和傳輸過程中,CF卡有著非常廣泛的應用前景,如數(shù)碼相機、MP3播放器、PDA(個人數(shù)字助理)、數(shù)字式錄音機、筆記本電腦、手提電話、機頂盒等。預計今后在其它領域將有更為廣泛的應用。另外,隨著DSP技術的飛速發(fā)展,由DSP快速處理的大量數(shù)據需要大容量的存儲媒體進行數(shù)據的保存、轉移等??紤]到CF卡和DSP相比接口速度較慢,因而DSP不能直接和CF卡接口兼容,為了實現(xiàn)DSP對CF卡的數(shù)據訪問和管理功能,本文給出了基于DSP的CF卡接口設計,該設計在多個科研項目中得到了應用和推廣。?

1 CF卡簡介?

  目前有許多公司生產CF卡產品,由于CF卡已成為工業(yè)標準,各公司生產的CF卡均符合標準規(guī)范,只是存儲容量、扇區(qū)緩沖器大小、訪問速度、平均無故障時間、工作溫度、糾錯編碼等指標略有差異(這些差異在標準范圍內)。CF卡主要技術指標如下:?

  (1)結構先進,以SanDisk公司為代表的CF卡內部結構如圖1所示。外部和主機接口采用50芯雙列0.05英寸間距物理連接。CF卡內部采用一個微控制器(MCU)管理數(shù)據訪問格式、接口控制時序等;一個512Byte以上的雙端口扇區(qū)緩沖器(SRAM BUFFER)和DMA控制器,用于和外部進行快速數(shù)據交換;一個256Byte的固化只讀存儲器(Firmware Storage),放置該CF 卡的特征信息CIS(Card Information Structure),內容包括扇區(qū)總數(shù)、柱面數(shù)、磁頭數(shù)、每磁道扇區(qū)數(shù)、公司序列號等;一個電源管理單元(PMU)可使CF卡在空閑時進入睡眠狀態(tài),進行有效的電源管理,降低系統(tǒng)功耗。先進的內部結構使CF卡能支持多種接口訪問模式,如Memory Card 模式、I/O" title="I/O">I/O Card模式和True IDE模式等。?

?

?

  (2)訪問速度快,寫入FLASH速度可維持在1.4MByte/s。?

  (3)體積小,尺寸為36.4mm×42.8mm×3.3mm。?

  (4)容量大,常見的有8、12、16、24、32、48、64、96、128、256、348、512MByte等,隨著超大規(guī)模集成電路的快速發(fā)展,目前CF卡的TYPE II型容量已經達到了1.2GByte。?

  (5)無機械結構,抗沖擊(達2000G),耐震動(達15G)。?

  (6)可靠性高,有效的數(shù)據保護及糾錯編碼技術,使得CF卡平均無故障工作時間達一百萬小時。?

  (7)供電靈活,支持5V或3.3V電源電壓。?

  (8)具有熱插拔、掉電時數(shù)據不丟失、保存數(shù)據時間長、可重復擦寫(一百萬次)等特點。?

2 CF卡與DSP接口硬件設計?

2.1 CF卡接口簡述?

  CF卡采用50腳雙列0.05英寸細間距標準接口,管腳排列如表1所示。其電氣特性符合ATA/IDE磁盤接口規(guī)范,可直接插入PCMCIA TypeII適配卡中。支持5V和3.3V電源工作,允許不同系統(tǒng)對硬件和軟件的設計要求。數(shù)據訪問以512Byte為一個扇區(qū)單元,完全和磁盤接口兼容,可用Memory mapped、IDE等格式進行訪問。由于IDE 訪問模式涉及到復雜的文件管理,為了節(jié)省系統(tǒng)資源及簡化設計,本系統(tǒng)由DSP實現(xiàn)嵌入式設計并采用Memory mapped訪問方式。另外,CF卡的上電缺省模式即是Memory mapped,免去了繁瑣的寄存器設置。CF卡的數(shù)據總線寬度為16bits,由-CE1和-CE2腳控制,可允許8位或16位訪問。其詳細的管腳定義見參考文獻[1]。?

?

?

2.2 DSP簡介?

  隨著數(shù)字信號處理器(DSP)在理論上和技術上的快速發(fā)展,其技術已廣泛應用于數(shù)字通信、雷達、聲納、語音合成、圖像處理、多媒體技術、生物醫(yī)學等各個領域。隨著科學技術的發(fā)展,其研究范圍和應用領域還在不斷地發(fā)展和擴大。本系統(tǒng)采用TI公司的TMS320C54x系列定點高性能低功耗型數(shù)字信號處理器實現(xiàn)和CF卡的連接。TMS320C54x DSP芯片的主要特點[2~4]如下:?

  (1)40~160MIPS的運算速度。?

  (2)先進的多總線結構(1條程序總線、3條數(shù)據總線和4條地址總線)。?

  (3)40位算術邏輯運算單元(ALU)。?

  (4)17×17位并行乘法器。?

  (5)192K字可尋址存儲空間(64K字程序存儲器,64K字數(shù)據存儲器以及64K字I/O空間),其中C548、C549和有些C54xx程序存儲空間可擴展至8M字。?

  (6)高效的并行指令系統(tǒng)。?

  (7)多種外圍接口方式。?

  (8)軟件可控的低功耗工作模式。?

  DSP具有很強的數(shù)據處理能力,有多種外部接口形式,如有三組并行16位的數(shù)據接口(數(shù)據總線共用)和多個帶緩沖的串行接口。但這些端口不能和CF卡直接相連,本文采用一個復雜可編程邏輯器件(CPLD)[5]配合DSP和CF卡之間的邏輯控制和時序關系。?

2.3 硬件接口?

  TMS320C54x對外有I/O、程序及數(shù)據3個并行16位訪問空間,分別由對應的空間選擇信號線選通,本設計選用I/O空間和CF卡接口,如圖2所示。主要由DSP、CF卡和CPLD組成memory連接模式,A3~A0為數(shù)據、命令或狀態(tài)寄存器地址線。D15~D0為數(shù)據總線,可16位或8位訪問,當片選信號-CE1和-CE2同時有效時,為16位訪問格式;當-CE2置高,-CE1單獨有效時,為8位訪問格式。CD1、CD2為CF卡存在性硬件檢測腳,內部和地相連,當CF卡有效插入卡座時,對應卡座上的CD1和CD2拉低,經CPLD邏輯轉換可由硬件或軟件判斷CF卡是否存在。RDY/-BSY為CF卡狀態(tài)信號,當CF卡忙時,該腳置低,此時DSP不能對其訪問及進行其它操作。-WE、-OE為讀寫有效信號。-REG為寄存器選擇信號線,-REG為高時訪問數(shù)據存儲器(命令或數(shù)據),為低時訪問屬性存儲器。上電時,CF卡自動完成復位,并在缺省狀態(tài)下進入memory模式,也可由外部主機經RESET腳對CF卡重新復位。DSP的A15~A12、-IOSTRB、-IS、R/-W腳輸出到CPLD,作為I/O空間的讀寫信號選通和地址譯碼。?

?

?

3 軟件設計?

3.1 CF卡指令及訪問格式?

  CF卡共有30條命令,在memory模式下16位訪問時存儲器映射格式如表2所示。無論以何種方式工作,數(shù)據讀寫的最小單位為一個扇區(qū),8位格式訪問時對應一個扇區(qū)的數(shù)據量為512個字節(jié),16位時對應一個扇區(qū)的數(shù)據量為256個字。為簡化程序設計,DSP用邏輯塊地址LBA(Logical Block Addressing)格式訪問CF卡數(shù)據。LBA地址分段輸入,對應的偏移地址分別為02H、04H、06H。CF卡最大存儲空間為137GByte(=228×512)。Sec_count表示一次可訪問幾個扇區(qū),偏移地址06H的高8位(Command)為命令輸入。數(shù)據從偏移地址08H連續(xù)讀出或寫入一個扇區(qū)長度。0CH、0EH空間顯示CF卡的狀態(tài)信息或寫入特征命令。?

?

?

3.2 常用命令編程?

  CF卡的30條命令在文獻[1]中有詳細描述,限于篇幅,本文僅介紹CF卡的讀寫、CF卡信息獲取及刪除一個扇區(qū)命令的編程。另外需注意,盡管CF卡可在Burst方式下達到很高的數(shù)據傳輸速度,但與DSP相比還比較慢,在硬件設計時應確保速度和時序的匹配。?

3.2.1 數(shù)據讀寫?

  存儲器讀寫流程如圖3所示,上電后,可由DSP經RESET腳對CF卡軟件復位,等CF卡準備就緒后,寫入扇區(qū)數(shù)、LBA地址、讀(20H)或寫(30H)命令字。CF卡認可后,連續(xù)從扇區(qū)緩沖器中讀出或寫入256個字。注意一點,CF卡要求主機對扇區(qū)緩沖器連續(xù)讀寫,否則,在15ms后,CF卡會自動進入睡眠狀態(tài),使數(shù)據讀寫出錯。?

?

?

3.2.2 讀出CF卡信息 ?

  CF卡中有256Byte EPROM專門存放該卡的特征信息,主要包括磁盤柱面數(shù)、磁頭數(shù)、每磁道扇區(qū)數(shù)、扇區(qū)總數(shù)、緩沖區(qū)大小、緩沖區(qū)類型、糾錯碼位數(shù)、公司序列號等,詳細內容見參考文獻[1]。各公司的CF卡信息內容有一定的差別,以該公司的數(shù)據手冊為準,命令格式和讀寫一樣,命令字為0ECH,當CF卡收到讀信息命令字時,會自動忽略寫入扇區(qū)數(shù)及LBA地址,直接從EPROM中讀CF卡信息到扇區(qū)緩沖器。?

3.2.3 擦除一個扇區(qū)?

  DSP先檢查CF卡狀態(tài),當CF卡寫入有效時,輸入指定扇區(qū)、LBA地址及擦除命令(0C0H),毋需檢查結果狀態(tài),該扇區(qū)被有效刪除后,扇區(qū)讀出值均為0。?

  本文介紹的基于DSP的CompactFlash卡接口設計,首先在TMS320C549 EVM 開發(fā)板上成功實現(xiàn)了DSP對CF卡的各種常用命令的操作,并通過設置CPLD的邏輯關系,正確實現(xiàn)了對CF卡采用8位或16位格式的操作,多種訪問格式提高了應用系統(tǒng)設計的靈活性。本文設計的接口電路具有廣泛的應用價值,并已經在數(shù)字語音錄音系統(tǒng)中獲得成功應用。?

?

參考文獻?

1 CF+ and CompactFlash Specification Revision 1.4.CompactFlash Association, 1999.7?

2 TMS320C54x DSP Reference Set Volume 1:CPU and??Peripherals. Texas Instruments Incorporated,April 1999?

3 TMS320C54x DSP Reference Set Volume 4:Applications?Guide. Texas Instruments Incorporated.October 1996?

4 TMS320C54x DSP Reference Set Volume 5:Enhanced?Peripherals.Texas Instruments Incorporated,June 1999?

5 XC9500 In-System Programmable.CPLD Family.Xilinx Inc.September?15, 1999?

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。