新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM的嵌入式系統CF卡存儲技術

        基于ARM的嵌入式系統CF卡存儲技術

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

        將片選任務寄存器的CS4A 編程為1 則可使能EBI 的復用引腳NCS4/CS、NCS5/CE1、NCS6/CE2 為CompactFlash 信號CFCS、CFCE1、CFCE2,使能NOE/NRD/CFOE、NWR0/NEW/CFWE、NWR1/NBS1/CFIOR、NWR3/NBS3/CFIOW、A25/CFRNW為Compact Flash 信號CFOE、CFWE、CFIOR、CFIOW、CFRNW。這樣就可以通過訪問保留給NCS4 的地址空間來訪問外部的CF 卡。在NCS4 的地址空間中用當前的傳輸地址來分辨I/O 模式,通用模式是標志模式。傳輸地址總線的A23 用作I/O 模式選擇。該文CF 卡用A22/REG 來分離通用模式和標志存儲模式。

        在I/O 模式下,CompactFlash 的邏輯驅動CFIOR與CFIOW 信號上SMC 的讀寫信號,此時CFOE 與CFWE 信號失效。同樣在通用存儲模式和標志存儲模式下驅動CFOE 與CFWE 信號上的SMC,CFIOR與CFIOW 信號失效。該邏輯如圖3 所示。

        CF卡讀寫控制信號

        CFOE 與CFWE 通過CPLD 和CF 卡的OE 與WE連接起來,這是CF 卡在Memory Mode 的讀寫使能。

        CFIOE 與CFIOW 通過是I/O Mode 的使能。除了使能信號外,其他的信號對2 種模式都是相同的。

        CFCE1 與CFCE2 信號使能CF 卡的數據總線由上或是由下訪問,具體信息見表1。只有當NCS4 引腳上的SMC 配置為驅動8 位存儲器時才可進行奇字節訪問,NCS4 地址空間中的片選寄存器必須如表1所示進行設置。

        自上與自下字節訪問

        _CD1、_CD2 為低電平時,CPU 的地址總線的低11 位A[10∶0]于CF 卡的地址總線A[10∶0]連通,CPU的數據總線的低16 位D[15∶0]與CF 卡的地址總線D[15∶0]連通。CPU 的A25/CFRNW 信號是數據流的方向的,NCS4/CFCS 信號是數據總線的傳輸使能。詳細內容請參閱表2。

        數據流向

        CPU 是高速器件,CF 卡是低速器件,在CPU 給CF 卡傳輸數據的時候就會發生因為接收速度慢而丟失數據的情況。所以需要用_WAIT 信號來延遲CPU 的發送,這樣才能使CPU 的發送時序與CF 卡的接受時序匹配,使得數據的傳輸正確無誤。實際電路中CF 卡的_WAIT 信號通過CPLD 來控制CPU 的NWAIT 信號,_WAIT 要接10 kΩ 的上拉電阻。RDY/BSY 是CF 卡的工作狀態信號,當RDY/BSY 為1 時,CF 卡已經做好準備接收新的數據;當RDY/BSY 為0 時,CF 卡正在接受數據,這個信號也要接個10 kΩ上拉電阻。CF 卡的復位RESET 信號也是由的復位nRESET 信號在CPLD 中反相后產生的,以保持和的復位信號同步。

        4 CPLD 程序開發

        CPLD 程序在quartus Ⅱ下用Verilog HDL 語言編寫。程序經過編譯后,下載到CPLD 中固化。連接電路板和CF 卡,對CF 卡進行數據的讀寫操作,測試結果表明數據傳輸正確無誤,且傳輸速率更高。

        5 結束語

        該文重點研究了如何利用CPLD 來連接與CF 卡。其中使用的CPLD 不但簡化了接口電路,使其適合現場編程,同時改進的接口電路還適合產生各種復雜組合邏輯和時序邏輯。這種存儲的正確性已在電路板上得到驗證,它為系統的CF 卡存儲提供了一種有效的解決方案。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 海原县| 江阴市| 新泰市| 吴川市| 曲沃县| 伊金霍洛旗| 营山县| 葫芦岛市| 萨嘎县| 五常市| 荣成市| 马山县| 化州市| 东明县| 新乐市| 阿拉善右旗| 岳阳市| 洛扎县| 海南省| 吴旗县| 恭城| 荔波县| 信阳市| 磐安县| 清水河县| 阿合奇县| 昭通市| 虹口区| 龙胜| 灵璧县| 襄汾县| 望城县| 准格尔旗| 富顺县| 营口市| 湛江市| 喀喇沁旗| 阳东县| 英超| 翁源县| 轮台县|