基于ARM的嵌入式系統(tǒng)CF卡存儲技術(shù)
摘要:針對當前現(xiàn)有的CF 卡接口電路存在接口復(fù)雜、穩(wěn)定性不高、存儲速度緩慢等缺點,通過深入研究ARM 處理器AT91RM9200 的外部總線接口(EBI)及CF 卡、CPLD 的工作原理,設(shè)計了新的CF 卡接口電路。新的CF 卡接口電路中采用了CPLD 來代替一般CF 卡接口電路中的雙向緩沖器、與非門等所有邏輯器件,通過現(xiàn)場對CPLD 編程來實現(xiàn)不同的邏輯功能。實驗表明,該電路更加簡單、靈活、穩(wěn)定、高速,對接口電路的設(shè)計有重要的參考價值。
本文引用地址:http://cafeforensic.com/article/149510.htm關(guān)鍵詞:嵌入式系統(tǒng);總線接口技術(shù);CF 卡存儲技術(shù);CPLD 編程;高速存儲
1 引言
隨著應(yīng)用需求的不斷提高,許多嵌入式系統(tǒng)在應(yīng)用時都要求帶有擴展的大容量存儲器來存儲數(shù)據(jù)。CF 卡(Compact Flsah Card)由于價格便宜、存儲容量大、體積小、兼容性好等優(yōu)點被廣泛應(yīng)用于嵌入式產(chǎn)品。然而現(xiàn)有的CF 卡接口電路存在接口復(fù)雜,穩(wěn)定性不高等缺點,不能滿足客戶的需求。通過深入研究ARM 處理器AT91RM9200 的外部總線接口(EBI)、CF 卡和CPLD 的工作原理,提出利用CPLD來改進CF 卡接口電路以解決現(xiàn)有接口電路中存在的缺點。
2 器件簡介
2.1 外部總線接口
系統(tǒng)采用了以ARM920T 為內(nèi)核的AT91RM9200作為微處理器,它是完全圍繞ARM920T Thumb 處理器構(gòu)建的系統(tǒng)。它有豐富的系統(tǒng)與應(yīng)用外設(shè)及標準的接口,包括一個高速片上SRAM 工作區(qū)及一個低等待時間的外部總線接口(EBI)以完成應(yīng)用所要求的片外存儲區(qū)和內(nèi)部存儲器映射外設(shè)配置的無縫連接。外部總線接口結(jié)構(gòu)如圖1 所示。
EBI 通過集成電路支持CF 卡與SmartMedia 協(xié)議,從而極大地降低了對外部組件的需求。此外,EBI可處理多達8 個外設(shè)的數(shù)據(jù)傳輸,每個外設(shè)分配8 個在內(nèi)置存儲控制器中定義的地址空間。數(shù)據(jù)通過16 位或32 位數(shù)據(jù)總線進行傳輸,地址總線高達26位,8個芯片選擇口(NCS[7:0])和在不同外部存儲控制器間復(fù)用的多個控制引腳進行復(fù)用。
2.2 CF 卡
CF 卡(Compact Flash Card)是采用Flash Memory技術(shù)的存儲卡,具有體積小、價格低廉、兼容性強、存儲量大等優(yōu)點。CF 卡支持三種接口模式,分別是PCCard Memory Mode、PC Card I/O Mode、True IDEMode。因為True IDE Mode 不經(jīng)常使用,故接口電路以PC Card Memory Mode 和PC Card I/O Mode設(shè)計。
2.3 CPLD
CPLD(Complex Programmable Logic Device)是一種較PLD 復(fù)雜的邏輯元件[2],是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應(yīng)的目標文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標芯片中,實現(xiàn)設(shè)計的數(shù)字系統(tǒng)。
該文采用的CPLD 是Altera 公司的MAX7000S系列的EPM7128SQL100-10。它有84 個引腳,其中5 根用于ISP(IN System Programmable)下載,可方便的對其進行“在系統(tǒng)”編程。EPM7128SQL100-10支持對電壓工作,可以利用Altera 公司的第四代開發(fā)平臺quartus Ⅱ方便地進行仿真、綜合和下載。
3 硬件接口電路設(shè)計
硬件接口電路的電路圖如圖2 所示。在此電路中用CPLD 來實現(xiàn)一般CF 卡接口電路中的雙向緩沖器和與非門等一些邏輯器件的邏輯功能,使接口電路變的更為簡單、穩(wěn)定、高速,而且可以通過現(xiàn)場修改程序來實現(xiàn)不同的功能。
CF 卡中的_CD1、_CD2 是CF 卡是否安裝的狀態(tài)檢測信號,在CF 卡中接地。當CF 卡沒有安裝時,電路中_CD1、_CD2 由上拉電阻將其輸出拉為高電平;當CF 卡安裝時,_CD1、_CD2 由CF 卡接地輸出為低電平,_CD1、_CD2 相當于CF 卡的總開關(guān)。在實際接口電路中_CD1、_CD2 要接10 kΩ 的上拉電阻。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論