基于ARM的嵌入式系統(tǒng)CF卡存儲(chǔ)技術(shù)
將片選任務(wù)寄存器的CS4A 編程為1 則可使能EBI 的復(fù)用引腳NCS4/CFCS、NCS5/CFCE1、NCS6/CFCE2 為CompactFlash 信號(hào)CFCS、CFCE1、CFCE2,使能NOE/NRD/CFOE、NWR0/NEW/CFWE、NWR1/NBS1/CFIOR、NWR3/NBS3/CFIOW、A25/CFRNW為Compact Flash 信號(hào)CFOE、CFWE、CFIOR、CFIOW、CFRNW。這樣就可以通過訪問保留給NCS4 的地址空間來訪問外部的CF 卡。在NCS4 的地址空間中用當(dāng)前的傳輸?shù)刂穪矸直鍵/O 模式,通用存儲(chǔ)模式是標(biāo)志存儲(chǔ)模式。傳輸?shù)刂房偩€的A23 用作I/O 模式選擇。該文CF 卡用A22/REG 來分離通用存儲(chǔ)模式和標(biāo)志存儲(chǔ)模式。
在I/O 模式下,CompactFlash 的邏輯驅(qū)動(dòng)CFIOR與CFIOW 信號(hào)上SMC 的讀寫信號(hào),此時(shí)CFOE 與CFWE 信號(hào)失效。同樣在通用存儲(chǔ)模式和標(biāo)志存儲(chǔ)模式下驅(qū)動(dòng)CFOE 與CFWE 信號(hào)上的SMC,CFIOR與CFIOW 信號(hào)失效。該邏輯如圖3 所示。
CFOE 與CFWE 通過CPLD 和CF 卡的OE 與WE連接起來,這是CF 卡在Memory Mode 的讀寫使能。
CFIOE 與CFIOW 通過是I/O Mode 的使能。除了使能信號(hào)外,其他的信號(hào)對(duì)2 種模式都是相同的。
CFCE1 與CFCE2 信號(hào)使能CF 卡的數(shù)據(jù)總線由上或是由下訪問,具體信息見表1。只有當(dāng)NCS4 引腳上的SMC 配置為驅(qū)動(dòng)8 位存儲(chǔ)器時(shí)才可進(jìn)行奇字節(jié)訪問,NCS4 地址空間中的片選寄存器必須如表1所示進(jìn)行設(shè)置。
_CD1、_CD2 為低電平時(shí),CPU 的地址總線的低11 位A[10∶0]于CF 卡的地址總線A[10∶0]連通,CPU的數(shù)據(jù)總線的低16 位D[15∶0]與CF 卡的地址總線D[15∶0]連通。CPU 的A25/CFRNW 信號(hào)是數(shù)據(jù)流的方向的,NCS4/CFCS 信號(hào)是數(shù)據(jù)總線的傳輸使能。詳細(xì)內(nèi)容請(qǐng)參閱表2。
CPU 是高速器件,CF 卡是低速器件,在CPU 給CF 卡傳輸數(shù)據(jù)的時(shí)候就會(huì)發(fā)生因?yàn)榻邮账俣嚷鴣G失數(shù)據(jù)的情況。所以需要用_WAIT 信號(hào)來延遲CPU 的發(fā)送,這樣才能使CPU 的發(fā)送時(shí)序與CF 卡的接受時(shí)序匹配,使得數(shù)據(jù)的傳輸正確無誤。實(shí)際電路中CF 卡的_WAIT 信號(hào)通過CPLD 來控制CPU 的NWAIT 信號(hào),_WAIT 要接10 kΩ 的上拉電阻。RDY/BSY 是CF 卡的工作狀態(tài)信號(hào),當(dāng)RDY/BSY 為1 時(shí),CF 卡已經(jīng)做好準(zhǔn)備接收新的數(shù)據(jù);當(dāng)RDY/BSY 為0 時(shí),CF 卡正在接受數(shù)據(jù),這個(gè)信號(hào)也要接個(gè)10 kΩ上拉電阻。CF 卡的復(fù)位RESET 信號(hào)也是由系統(tǒng)的復(fù)位nRESET 信號(hào)在CPLD 中反相后產(chǎn)生的,以保持和系統(tǒng)的復(fù)位信號(hào)同步。
4 CPLD 程序開發(fā)
CPLD 程序在quartus Ⅱ下用Verilog HDL 語言編寫。程序經(jīng)過編譯后,下載到CPLD 中固化。連接電路板和CF 卡,對(duì)CF 卡進(jìn)行數(shù)據(jù)的讀寫操作,測(cè)試結(jié)果表明數(shù)據(jù)傳輸正確無誤,且傳輸速率更高。
5 結(jié)束語
該文重點(diǎn)研究了如何利用CPLD 來連接基于ARM 的嵌入式系統(tǒng)與CF 卡。其中使用的CPLD 不但簡(jiǎn)化了接口電路,使其適合現(xiàn)場(chǎng)編程,同時(shí)改進(jìn)的接口電路還適合產(chǎn)生各種復(fù)雜組合邏輯和時(shí)序邏輯。這種存儲(chǔ)技術(shù)的正確性已在電路板上得到驗(yàn)證,它為基于ARM 的嵌入式系統(tǒng)的CF 卡存儲(chǔ)提供了一種有效的解決方案。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論