新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP的CompactFlash卡接口設(shè)計

基于DSP的CompactFlash卡接口設(shè)計

作者: 時間:2012-03-14 來源:網(wǎng)絡(luò) 收藏

2.2 簡介
隨著數(shù)字信號處理器()在理論上和技術(shù)上的快速發(fā)展,其技術(shù)已廣泛應(yīng)用于數(shù)字通信、雷達(dá)、聲納、語音合成、圖像處理、多媒體技術(shù)、生物醫(yī)學(xué)等各個領(lǐng)域。隨著科學(xué)技術(shù)的發(fā)展,其研究范圍和應(yīng)用領(lǐng)域還在不斷地發(fā)展和擴(kuò)大。本系統(tǒng)采用TI公司的TMS320C54x系列定點高性能低功耗型數(shù)字信號處理器實現(xiàn)和CF卡的連接。TMS320C54x 芯片的主要特點 2~4 如下:
(1)40~160MIPS的運算速度。
(2)先進(jìn)的多總線結(jié)構(gòu)(1條程序總線、3條數(shù)據(jù)總線和4條地址總線)。
(3)40位算術(shù)邏輯運算單元(ALU)。
(4)17×17位并行乘法器。
(5)192K字可尋址存儲空間(64K字程序存儲器,64K字?jǐn)?shù)據(jù)存儲器以及64K字I/O空間),其中C548、C549和有些C54x x程序存儲空間可擴(kuò)展至8M字。
(6)高效的并行指令系統(tǒng)。
(7)多種外圍接口方式。
(8)軟件可控的低功耗工作模式。
DSP具有很強(qiáng)的數(shù)據(jù)處理能力,有多種外部接口形式,如有三組并行16位的數(shù)據(jù)接口(數(shù)據(jù)總線共用)和多個帶緩沖的串行接口。但這些端口不能和CF卡直接相連,本文采用一個復(fù)雜可編程邏輯器件() 5 配合DSP和CF卡之間的邏輯控制和時序關(guān)系。

2.3 硬件接口
TMS320C54x對外有I/O、程序及數(shù)據(jù)3個并行16位訪問空間,分別由對應(yīng)的空間選擇信號線選通,本設(shè)計選用I/O空間和CF卡接口,如圖2所示。

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

3 軟件設(shè)計
3.1 CF卡指令及訪問格式
CF卡共有30條命令,在memory模式下16位訪問時存儲器映射格式如表2所示。

無論以何種方式工作,數(shù)據(jù)讀寫的最小單位為一個扇區(qū),8位格式訪問時對應(yīng)一個扇區(qū)的數(shù)據(jù)量為512個字節(jié),16位時對應(yīng)一個扇區(qū)的數(shù)據(jù)量為256個字。為簡化程序設(shè)計,DSP用邏輯塊地址LBA Lgical Block Addressing 格式訪問CF卡數(shù)據(jù)。LBA地址分段輸入,對應(yīng)的偏移地址分別為02H、04H、06H。CF卡最大存儲空間為137Gbyte =228×512 。Sec_count表示一次可訪問幾個扇區(qū),偏移地址06H高8位 Command 為命令輸入。數(shù)據(jù)從偏移地址08H連續(xù)讀出或?qū)懭胍粋€扇區(qū)長度。0CH、0EH空間顯示CF卡的狀態(tài)信息或?qū)懭胩卣髅睢?BR>3.2 常用命令編程
CF卡的30條命令在文獻(xiàn) 1 中有詳細(xì)描述,限于篇幅,本文僅介紹CF卡的讀寫、CF卡信息獲取及刪除一個扇區(qū)命令的編程。另外需注意,盡管CF卡可在Burst方式下達(dá)到很高的數(shù)據(jù)傳輸速度,但與DSP相比還比較慢,在硬件設(shè)計時應(yīng)確保速度和時序的匹配。
3.2.1 數(shù)據(jù)讀寫
存儲器讀寫流程如圖3所示,上電后,可由DSP經(jīng)RESET腳對CF卡軟件復(fù)位,等CF卡準(zhǔn)備就緒后,寫入扇區(qū)數(shù)、LBA地址、讀(20H)或?qū)?30H)命令字。CF卡認(rèn)可后,連續(xù)從扇區(qū)緩沖器中讀出或?qū)懭?56個字。注意一點,CF卡要求主機(jī)對扇區(qū)緩沖器連續(xù)讀寫,否則,在15ms后,CF卡會自動進(jìn)入睡眠狀態(tài),使數(shù)據(jù)讀寫出錯。

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

3.2.3 擦除一個扇區(qū)
DSP先檢查CF卡狀態(tài),當(dāng)CF卡寫入有效時,輸入指定扇區(qū)、LBA地址及擦除命令(0C0H),毋需檢查結(jié)果狀態(tài),該扇區(qū)被有效刪除后,扇區(qū)讀出值均為0。
本文介紹的基于DSP的接口設(shè)計,首先在TMS320c549 EVM 開發(fā)板上成功實現(xiàn)了DSP對CF卡的各種常用命令的操作,并通過設(shè)置CPLD的邏輯關(guān)系,正確實現(xiàn)了對CF卡采用8位或16位格式的操作,多種訪問格式提高了應(yīng)用系統(tǒng)設(shè)計的靈活性。本文設(shè)計的接口電路具有廣泛的應(yīng)用價值,并已經(jīng)在數(shù)字語音錄音系統(tǒng)中獲得成功應(yīng)用。

參考文獻(xiàn)
1 CF+and Flash Specification Revision 1.4.
Flash 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 lnc.September
15 1999


上一頁 1 2 下一頁

關(guān)鍵詞: DSP Compact Flash卡 CPLD

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉