|
1 引言 隨著應用需求的不斷提高,許多嵌入式系統在應用時都要求帶有擴展的大容量存儲器來存儲數據。CF 卡(Compact Flsah Card)由于價格便宜、存儲容量大、體積小、兼容性好等優點被廣泛應用于嵌入式產品。然而現有的CF 卡接口電路存在接口復雜,穩定性不高等缺點,不能滿足客戶的需求。通過深入研究ARM 處理器AT91RM9200 的外部總線接口(EBI)、CF 卡和CPLD 的工作原理,提出利用CPLD來改進CF 卡接口電路以解決現有接口電路中存在的缺點。 2 器件簡介 2.1 外部總線接口 系統采用了以ARM920T 為內核的AT91RM9200作為微處理器,它是完全圍繞ARM920T Thumb 處理器構建的系統。它有豐富的系統與應用外設及標準的接口,包括一個高速片上SRAM 工作區及一個低等待時間的外部總線接口(EBI)以完成應用所要求的片外存儲區和內部存儲器映射外設配置的無縫連接。外部總線接口結構如圖1 所示。
2.2 CF 卡 CF 卡(Compact Flash Card)是采用Flash Memory技術的存儲卡,具有體積小、價格低廉、兼容性強、存儲量大等優點。CF 卡支持三種接口模式,分別是PCCard Memory Mode、PC Card I/O Mode、True IDEMode。因為True IDE Mode 不經常使用,故接口電路以PC Card Memory Mode 和PC Card I/O Mode設計。 2.3 CPLD CPLD(Complex Programmable Logic Device)是一種較PLD 復雜的邏輯元件[2],是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是借助集成開發軟件平臺,用原理圖、硬件描述語言等方法,生成相應的目標文件,通過下載電纜(“在系統”編程)將代碼傳送到目標芯片中,實現設計的數字系統。 該文采用的CPLD 是Altera 公司的MAX7000S系列的EPM7128SQL100-10。它有84 個引腳,其中5 根用于ISP(IN System Programmable)下載,可方便的對其進行“在系統”編程。EPM7128SQL100-10支持對電壓工作,可以利用Altera 公司的第四代開發平臺quartus Ⅱ方便地進行仿真、綜合和下載。 3 硬件接口電路設計 硬件接口電路的電路圖如圖2 所示。在此電路中用CPLD 來實現一般CF 卡接口電路中的雙向緩沖器和與非門等一些邏輯器件的邏輯功能,使接口電路變的更為簡單、穩定、高速,而且可以通過現場修改程序來實現不同的功能。
將片選任務寄存器的CS4A 編程為1 則可使能EBI 的復用引腳NCS4/CFCS、NCS5/CFCE1、NCS6/CFCE2 為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 所示。
CFIOE 與CFIOW 通過是I/O Mode 的使能。除了使能信號外,其他的信號對2 種模式都是相同的。 CFCE1 與CFCE2 信號使能CF 卡的數據總線由上或是由下訪問,具體信息見表1。只有當NCS4 引腳上的SMC 配置為驅動8 位存儲器時才可進行奇字節訪問,NCS4 地址空間中的片選寄存器必須如表1所示進行設置。
4 CPLD 程序開發 CPLD 程序在quartus Ⅱ下用Verilog HDL 語言編寫。程序經過編譯后,下載到CPLD 中固化。連接電路板和CF 卡,對CF 卡進行數據的讀寫操作,測試結果表明數據傳輸正確無誤,且傳輸速率更高。 5 結束語 該文重點研究了如何利用CPLD 來連接基于ARM 的嵌入式系統與CF 卡。其中使用的CPLD 不但簡化了接口電路,使其適合現場編程,同時改進的接口電路還適合產生各種復雜組合邏輯和時序邏輯。這種存儲技術的正確性已在電路板上得到驗證,它為基于ARM 的嵌入式系統的CF 卡存儲提供了一種有效的解決方案。 來源:電子工程網 |