国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

Xscale PXA255處理器與CF卡的接口設(shè)計(jì)

發(fā)布時(shí)間:2010-9-14 16:23    發(fā)布者:techshare
以導(dǎo)航設(shè)備存儲(chǔ)系統(tǒng)應(yīng)用為例,本文討論了Intel Xscale PXA255嵌入式處理器與CF卡的硬件接口設(shè)計(jì),并以讀寫CF卡扇區(qū)的程序?yàn)槔o出了CF卡軟件編寫的技巧。該設(shè)計(jì)為基于PXA255處理器的嵌入式系統(tǒng)提供了擴(kuò)展存儲(chǔ)空間的一種方法。

  Intel Xscale PXA255處理器是新一代的嵌入式處理器,基于ARMv5TE體系結(jié)構(gòu)的微處理器,性價(jià)比較高、功耗較低,適合于數(shù)字移動(dòng)電話、個(gè)人數(shù)字助理、網(wǎng)絡(luò)路由器等嵌入式系統(tǒng)的應(yīng)用。在采用PXA255處理器開發(fā)諸如車載導(dǎo)航系統(tǒng)時(shí),電子地圖等海量地理信息數(shù)據(jù)需要一個(gè)容量大、體積小、性能優(yōu)異的存儲(chǔ)器。“Compact Flash”卡,簡(jiǎn)稱CF卡,具有高速度、大容量、體積小、重量輕、功耗低和高性價(jià)比等優(yōu)點(diǎn),十分適合嵌入式系統(tǒng)的應(yīng)用。因此,可選擇CF卡作為地理信息數(shù)據(jù)的存儲(chǔ)載體。PXA255處理器提供了PCMCIA/CF卡控制器,可以方便地實(shí)現(xiàn)PXA255處理器與CF卡的接口設(shè)計(jì)。

CF卡結(jié)構(gòu)和工作原理  

Compact Flash技術(shù)是由CF協(xié)會(huì)(CFA)提出的一種與PC機(jī)ATA接口標(biāo)準(zhǔn)兼容的技術(shù)。如圖1,CF卡由兩個(gè)基本部分構(gòu)成:內(nèi)部控制器和閃存模塊。CF卡的閃存模塊基本上都使用NAND型閃存,用于存儲(chǔ)數(shù)據(jù)。內(nèi)部控制器用來實(shí)現(xiàn)CF卡與主機(jī)的接口以及控制數(shù)據(jù)的傳輸。CF卡內(nèi)部控制器的設(shè)計(jì)完全模擬硬盤,使用標(biāo)準(zhǔn)的ATA/IDE接口。



圖1:CF卡結(jié)構(gòu)框圖  

CF卡的存取方式有三種:PC Card Memory模式、PC Card I/O模式以及True IDE模式。PC Card模式與PCMCIA標(biāo)準(zhǔn)兼容。True IDE模式與ATA標(biāo)準(zhǔn)兼容。三種方式相比,在True IDE模式下,CF卡與主機(jī)通信的信號(hào)最少,硬件接口最簡(jiǎn)單、軟件易于實(shí)現(xiàn),因此本設(shè)計(jì)采用了True IDE模式。  

CF卡扇區(qū)尋址有兩種方式:物理尋址方式(CHS)和邏輯尋址方式(LBA)。物理尋址方式使用柱面、磁頭和扇區(qū)號(hào)表示一個(gè)特定的扇區(qū),起始扇區(qū)是0磁道、0磁頭、1扇區(qū),接著是2扇區(qū),一直到EOF扇區(qū);接下來是同一柱面1頭、1扇區(qū)等。邏輯尋址方式將整個(gè)CF卡同一尋址。邏輯塊地址和物理地址的關(guān)系為:LBA地址=(柱面號(hào)×磁頭數(shù)+磁頭號(hào))×扇區(qū)數(shù)+扇區(qū)數(shù)-1。  

CF卡沒有機(jī)械結(jié)構(gòu),因此CF卡的扇區(qū)尋址適宜采用邏輯尋址方式。邏輯尋址方式?jīng)]有磁頭和磁道的轉(zhuǎn)換操作,因此在訪問連續(xù)扇區(qū)時(shí),操作速度比物理尋址方式快得多。  

對(duì)于CF卡的操作(如:讀/寫),其實(shí)就是對(duì)CF卡控制器的寄存器進(jìn)行操作。所以,必須對(duì)CF卡的寄存器十分熟悉。這些寄存器統(tǒng)稱為任務(wù)文件(task file)寄存器:

1.?dāng)?shù)據(jù)寄存器(讀/寫),用于CF卡的讀寫操作。主機(jī)通過該寄存器向CF卡數(shù)據(jù)緩沖寫入或從CF卡數(shù)據(jù)緩沖讀出數(shù)據(jù)。

2.錯(cuò)誤寄存器(Read)和特性寄存器(Write)。讀操作時(shí),此寄存器為錯(cuò)誤寄存器,用于指明錯(cuò)誤的原因;寫操作時(shí),此寄存器為特性寄存器。

3.扇區(qū)數(shù)寄存器(讀/寫),用來記錄讀、寫扇區(qū)的數(shù)目。

4.扇區(qū)號(hào)寄存器(讀/寫),用來記錄讀、寫和校驗(yàn)命令指定的起始扇區(qū)號(hào)或邏輯塊地址(LBA)的BIT7:0。

5.柱面號(hào)寄存器(讀/寫),用來記錄讀、寫、校驗(yàn)和尋址命令指定的柱面號(hào)或LBA的BIT23:8。

6.驅(qū)動(dòng)器/磁頭寄存器(讀/寫),記錄讀、寫、校驗(yàn)和尋道命令指定的驅(qū)動(dòng)器號(hào)、磁頭號(hào)或LBA的BIT27:24,其中BIT6(LBA)用來設(shè)置CF卡扇區(qū)的尋址方式(LBA=0,采用CHS模式;LBA=1,采用LBA模式)。

7.狀態(tài)寄存器(讀)和命令寄存器(讀/寫),讀操作時(shí),該寄存器是狀態(tài)寄存器,指示CF卡控制器執(zhí)行命令后的狀態(tài),讀狀態(tài)寄存器則返回CF卡的當(dāng)前狀態(tài);寫操作時(shí),該寄存器是命令寄存器,接收主機(jī)發(fā)送給CF卡的控制命令。

PXA255處理器與CF卡的硬件接口設(shè)計(jì)  

1. PXA255的PC Card/CF卡控制器  

PXA255處理器PC Card/CF卡控制器可以支持一個(gè)PCMCIA卡或CF卡插槽,利用nPSKTSEL引腳可以支持第2個(gè)插槽。寄存器MECR用于向PXA255處理器的PC Card/CF卡控制器指出是否有CF卡插入,以及系統(tǒng)支持的CF卡的插槽數(shù)目。在有卡插入時(shí),軟件必須將MECR的CIT比特位置1;所有的卡拔出時(shí),則必須將之清零。  

PXA255處理器PC Card/CF卡接口支持8、16位外圍設(shè)備,而且可以處理公共存儲(chǔ)器(Common Memory)、I/O和特性存儲(chǔ)器(Attribute Memory)三種方式的存取。每次訪問的時(shí)間取決于MCMEMx、MCATTx和MCIOx寄存器的設(shè)置。圖2給出了PXA255處理器16位PC Card/CF卡地址空間的存儲(chǔ)器映像。16位PC Card/CF卡存儲(chǔ)器映像空間分為8塊。每個(gè)插槽對(duì)應(yīng)其中4塊,分別為公共存儲(chǔ)器、I/O、特性存儲(chǔ)器和保留空間。每個(gè)塊的大小為64M。



圖2:CF卡地址空間存儲(chǔ)映像

每次訪問PC Card /CF卡對(duì)應(yīng)的地址空間,PC Card/CF卡控制器將同時(shí)驅(qū)動(dòng)信號(hào)SA_A25:0、nPREG和nPSKTSEL。(注:PXA255處理器的地址總線為SA_A25:0。)  

如果訪問公共存儲(chǔ)器和特性存儲(chǔ)器地址空間,PC Card/CF卡控制器驅(qū)動(dòng)地址總線的時(shí)候,同時(shí)驅(qū)動(dòng)nPCE1、nPCE2信號(hào),并使用nPOE和nPWE信號(hào)作為讀寫控制信號(hào)。  

如果是訪問I/O空間,nPCE1、nPCE2的值取決于CF卡的信號(hào)輸出nIOIS16,而且在nIOIS16有效后,nPCE1、nPCE2將有效固定的一段時(shí)間。nIOIS16信號(hào)用來決定傳送的數(shù)據(jù)總線的寬度(8位或16位):nIOIS16=1,表明當(dāng)前的數(shù)據(jù)總線為8位,nPCE1有效;nIOIS16=0表明當(dāng)前的數(shù)據(jù)總線為16位,nPCE1、nPCE2同時(shí)有效。PXA255使用nPCE2向外部設(shè)備指出操作將使用數(shù)據(jù)總線的高8位,使用nPCE1向外部設(shè)備指出操作將使用數(shù)據(jù)總線的低8位。I/O地址空間的訪問使用nPIOW和nPIOR信號(hào)作為讀寫控制信號(hào)。  

2. PXA255與CF卡硬件接口設(shè)計(jì)  

本設(shè)計(jì)僅采用一個(gè)CF卡插槽,使用Socket0的I/O地址空間,而且CF卡采用True IDE模式。則訪問地址空間為0x20000000-0x24000000時(shí),PC Card/CF卡控制器將同時(shí)驅(qū)動(dòng)信號(hào)SA_A25:0、nPREG和nPSKTSEL,并使用nPIOW和nPIOR信號(hào)作為讀寫控制信號(hào)。True IDE模式支持8位存取,也支持16位存取。

在True IDE模式下,某些信號(hào)有特殊的含義,必須采用True IDE模式下特有的設(shè)置方法。如表1所示,nCE1是任務(wù)文件寄存器片選信號(hào),低電平有效;nCE2是交替狀態(tài)(Alternate Status)寄存器和設(shè)備控制(Device Control)寄存器片選信號(hào),也是低電平有效。因?yàn)閷?shí)際操作中,極少使用交替狀態(tài)寄存器和設(shè)備控制寄存器,所以對(duì)CF卡的操作實(shí)際就是對(duì)任務(wù)文件寄存器的操作。因此,一般設(shè)置nCE1=0,nCE2=1。實(shí)現(xiàn)方法:在CPLD中設(shè)置nCE1=SA_A4,nCE2=not SA_A4。這樣設(shè)置是有根據(jù)的。表1是True IDE模式下I/O編碼表。主機(jī)操作CF卡時(shí),系統(tǒng)僅使用地址總線A2:0,用于選擇組成任務(wù)文件寄存器的8個(gè)寄存器之一。而地址總線A10:3由主機(jī)接地。因此,nCE1=SA_A4即nCE1=0;nCE2=not SA_A4即nCE2=1。表1中,-CE1=0時(shí),對(duì)應(yīng)的8個(gè)寄存器統(tǒng)稱為任務(wù)文件寄存器。

需要注意的是,在True IDE模式下,nOE不是讀使能信號(hào),而是CF卡True IED模式的使能信號(hào)。CF卡上電時(shí),若nOE(PIN9)為"0",則CF卡自動(dòng)進(jìn)入True IDE模式;若nOE="1"則進(jìn)入PC Card 模式。當(dāng)電源一直接通時(shí),熱拔插CF卡將會(huì)使其從原來的True IDE模式重新配置成PC Card模式。因此,熱插拔過程中,為了使CF卡工作在True IDE模式,需要在CF卡加電啟動(dòng)的時(shí)侯,同時(shí)將nOE信號(hào)接地。實(shí)現(xiàn)的方法:在CPLD中將nOE置0。True IDE模式下,nWE也不用作寫使能信號(hào),而應(yīng)該由主機(jī)將之接地。處理方法:在CPLD中將其只置為1。  

還有一點(diǎn)需要注意的是: Reset信號(hào)在True IDE 模式下低電平有效,而在其它模式下高電平有效。將Reset信號(hào)接到PXA255的系統(tǒng)復(fù)位信號(hào)Reset_SYS。  

True IDE模式下,PXA255處理器與CF卡的硬件接口電路如圖3所示。



圖3:硬件接口電路  

在圖3中,D15:0為數(shù)據(jù)總線。RDnWR信號(hào)用來控制數(shù)據(jù)總線的方向(系統(tǒng)處于讀狀態(tài)時(shí),RDnWR=1;系統(tǒng)處于寫狀態(tài)時(shí),RDnWR=0)。nPSKTSEL信號(hào)用作數(shù)據(jù)總線的傳輸使能。SA_A10:0(CF_A10:0)為地址總線。在True IDE 模式下,CF卡的PSKTSEL引腳是主從(Master/Slave)選擇信號(hào):當(dāng)PSKTSEL懸空時(shí),CF卡是Slave設(shè)備;當(dāng)PSKTSEL=0時(shí),CF卡是Master設(shè)備。設(shè)計(jì)僅采用一個(gè)CF卡插槽,所以將PSKTSEL接地。在TRUE IDE模式下,REG信號(hào)沒有用處,應(yīng)該接電源VCC。IREQ是中斷請(qǐng)求信號(hào)。利用IREQ信號(hào),PXA255處理器可以判斷CF卡是否處于讀寫忙狀態(tài),對(duì)CF卡進(jìn)行讀寫之前利用此引腳判斷CF卡是否空閑。nWAIT信號(hào)用于指示讀寫操作正在進(jìn)行,請(qǐng)求處理器等待。  

3. CF卡熱插拔、即插即用功能的實(shí)現(xiàn)  

在自身設(shè)計(jì)上,CF卡注重軟硬件兩方面的配合。軟硬件的協(xié)同設(shè)計(jì)可以實(shí)現(xiàn)CF卡熱插拔、即插即用的功能。

一是硬件提供判斷條件。CF卡硬件電路提供了兩個(gè)用來檢測(cè)CF卡是否存在的引腳(nCD1和nCD2)。nCD1和nCD2的有效電平均為低電平,當(dāng)主機(jī)檢測(cè)到與其相連的nCD1和nCD2引腳同時(shí)為低電平時(shí),可判斷出CF卡與主機(jī)相連;當(dāng)主機(jī)檢測(cè)到與其相連的nCD1和nCD2兩個(gè)引腳不同時(shí)為低電平,則可判斷出CF卡未與主機(jī)相連。  

表1:True IDE模式I/O編碼



二是軟件。首先定義全局變量(如:Cf_IsInsert),用于記錄CF卡是否與主機(jī)相連:當(dāng)Cf_IsInsert為0時(shí)表示CF卡未與主機(jī)相連;當(dāng)Cf_IsInsert為1時(shí)表示CF卡與主機(jī)相連。然后,在每次操作CF卡之前都先檢測(cè)CF卡的nCD1和nCD2引腳。當(dāng)檢測(cè)到nCD1和nCD2引腳同時(shí)為低電平(有卡插入)且Cf_IsInsert為0時(shí),復(fù)位CF卡,重新檢測(cè)CF卡的FAT表,統(tǒng)計(jì)還有多少剩余空間可以分配。檢測(cè)完畢后,置變量Cf_IsInsert為1,然后設(shè)置MECR寄存器CIT比特位。當(dāng)檢測(cè)到nCD1和nCD2引腳同時(shí)為低電平,且Cf_IsInsert為1時(shí),設(shè)置MECR寄存器CIT比特位,繼續(xù)CF卡的正常操作。當(dāng)檢測(cè)到nCD1和nCD2引腳為高時(shí)(無卡插入),停止CF卡操作,清除MECR寄存器CIT比特位,置變量Cf_IsInsert為0。  

讀/寫CF卡扇區(qū)程序的編寫方法

CF卡的讀寫是以一個(gè)扇區(qū)為基本單位的。在讀寫一個(gè)扇區(qū)之前必須先指明當(dāng)前需要讀寫的柱面、頭和扇區(qū)或LBA地址,然后發(fā)送讀寫命令。一個(gè)扇區(qū)的512字節(jié)需要一次性連續(xù)讀出或者寫入。主機(jī)讀/寫CF卡上一個(gè)文件的過程是這樣的:

1.CF卡初始化。CF卡上電復(fù)位和統(tǒng)計(jì)剩余空間的大小。
2.CF卡內(nèi)部控制器向CF卡某些寄存器填寫必要的信息。如向扇區(qū)號(hào)寄存器填寫讀寫數(shù)據(jù)的起始扇區(qū)號(hào)或LBA地址、向扇區(qū)數(shù)寄存器填寫讀寫數(shù)據(jù)所占的扇區(qū)個(gè)數(shù)、設(shè)置CF卡的扇區(qū)尋址方式等。
3.向CF卡的命令寄存器寫入操作CF卡的命令。如寫操作向CF卡的命令寄存器寫入30H,讀操作向CF卡的命令寄存器寫入20H。
4.CF卡有數(shù)據(jù)傳輸請(qǐng)求之后,主機(jī)讀寫CF卡的數(shù)據(jù)寄存器,從而實(shí)現(xiàn)從CF卡數(shù)據(jù)緩沖讀出數(shù)據(jù)或向CF卡數(shù)據(jù)緩沖寫入數(shù)據(jù)。
5.在執(zhí)行以上操作的過程中,每執(zhí)行一步,都應(yīng)該檢測(cè)狀態(tài)寄存器,確定CF卡的當(dāng)前狀態(tài),從而確定下一步應(yīng)該執(zhí)行什么操作(參考狀態(tài)寄存器的BIT位的意義,編寫檢測(cè)代碼)。  

本文小結(jié)  

前面詳細(xì)介紹了CF卡的工作原理、PXA255處理器的PCCard/CF卡控制器的特性,給出了基于PXA255處理器的嵌入式導(dǎo)航設(shè)備存儲(chǔ)系統(tǒng)的一種實(shí)現(xiàn)方案。目前,該設(shè)計(jì)已經(jīng)在印刷電路板上實(shí)現(xiàn),運(yùn)行穩(wěn)定可靠。
本文地址:http://m.qingdxww.cn/thread-26714-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點(diǎn)宏來節(jié)省時(shí)間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項(xiàng)目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進(jìn)行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99热在这里只有精品 | 欧美日韩国产高清 | 女人18毛片视频一级毛片容 | 国产美女白嫩嫩在线观看 | 国产亚洲欧美在线视频 | 久久丁香视频 | 日韩在线视频播放 | ww欧洲ww欧洲视频 | 亚瑟天堂久久一区二区影院 | 国产成人91高清精品免费 | 国产精品欧美一区喷水 | 国产精品乡下勾搭老头 | 亚洲综合激情六月婷婷在线观看 | 五月天婷婷在线播放 | 精品一区二区三区四区五区六区 | 日本又黄又裸一级大黄裸片 | 国产一二视频 | a黄视频| 亚欧日韩毛片在线看免费网站 | 精品在线观看国产 | 精品麻豆视频 | 亚洲三级在线播放 | 日韩高清在线日韩大片观看网址 | 五月天婷婷网亚洲综合在线 | 暴雨夜被公侵犯078在线观看 | 朋友的妻子免费观看 | 久久尹人 | 久久精品国产在热亚洲完整版 | 在线亚洲网站 | 国产午夜精品理论片 | 国内自拍中文字幕 | 日本免费不卡视频 | 香蕉视频网站在线播放 | 久久久这里只有精品加勒比 | 日本美女一区二区 | 色婷婷精品视频 | 羞羞视频入口 | 欧美亚洲一区二区三区 | 2019国产开嫩苞视频 | 欧洲女人性行为免费视频 | 日本一区二区三区在线 视频 |