新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DSP的CompactFlash卡接口設計

        基于DSP的CompactFlash卡接口設計

        作者: 時間:2012-03-14 來源:網絡 收藏

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

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

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

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

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

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

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

        參考文獻
        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 下一頁

        關鍵詞: DSP Compact Flash卡 CPLD

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 德昌县| 和政县| 潞城市| 贵溪市| 福建省| 娄底市| 赤城县| 嵊泗县| 孟州市| 建始县| 白水县| 蒲城县| 泸水县| 伊吾县| 汾阳市| 虹口区| 洪洞县| 上虞市| 灌云县| 卫辉市| 鹿泉市| 土默特左旗| 白水县| 佛冈县| 濮阳市| 丰镇市| 宁国市| 华池县| 宁明县| 高邑县| 隆昌县| 连江县| 固原市| 泰和县| 仁寿县| 密云县| 重庆市| 柞水县| 阿合奇县| 岱山县| 栖霞市|