Xscale
發(fā)布時間:2007/8/28 0:00:00 訪問次數(shù):498
以導(dǎo)航設(shè)備存儲系統(tǒng)應(yīng)用為例,本文討論了Intel Xscale PXA255嵌入式處理器與CF卡的硬件接口設(shè)計,并以讀寫CF卡扇區(qū)的程序為例,給出了CF卡軟件編寫的技巧。該設(shè)計為基于PXA255處理器的嵌入式系統(tǒng)提供了擴展存儲空間的一種方法。
圖1:CF卡結(jié)構(gòu)框圖。
Intel Xscale PXA255處理器是新一代的嵌入式處理器,基于ARMv5TE體系結(jié)構(gòu)的微處理器,性價比較高、功耗較低,適合于數(shù)字移動電話、個人數(shù)字助理、網(wǎng)絡(luò)路由器等嵌入式系統(tǒng)的應(yīng)用。在采用PXA255處理器開發(fā)諸如車載導(dǎo)航系統(tǒng)時,電子地圖等海量地理信息數(shù)據(jù)需要一個容量大、體積小、性能優(yōu)異的存儲器!癈ompact Flash”卡,簡稱CF卡,具有高速度、大容量、體積小、重量輕、功耗低和高性價比等優(yōu)點,十分適合嵌入式系統(tǒng)的應(yīng)用。因此,可選擇CF卡作為地理信息數(shù)據(jù)的存儲載體。PXA255處理器提供了PCMCIA/CF卡控制器,可以方便地實現(xiàn)PXA255處理器與CF卡的接口設(shè)計。
CF卡結(jié)構(gòu)和工作原理
Compact Flash技術(shù)是由CF協(xié)會(CFA)提出的一種與PC機ATA接口標(biāo)準(zhǔn)兼容的技術(shù)。如圖1,CF卡由兩個基本部分構(gòu)成:內(nèi)部控制器和閃存模塊。CF卡的閃存模塊基本上都使用NAND型閃存,用于存儲數(shù)據(jù)。內(nèi)部控制器用來實現(xiàn)CF卡與主機的接口以及控制數(shù)據(jù)的傳輸。CF卡內(nèi)部控制器的設(shè)計完全模擬硬盤,使用標(biāo)準(zhǔn)的ATA/IDE接口。
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卡與主機通信的信號最少,硬件接口最簡單、軟件易于實現(xiàn),因此本設(shè)計采用了True IDE模式。
CF卡扇區(qū)尋址有兩種方式:物理尋址方式(CHS)和邏輯尋址方式(LBA)。物理尋址方式使用柱面、磁頭和扇區(qū)號表示一個特定的扇區(qū),起始扇區(qū)是0磁道、0磁頭、1扇區(qū),接著是2扇區(qū),一直到EOF扇區(qū);接下來是同一柱面1頭、1扇區(qū)等。邏輯尋址方式將整個CF卡同一尋址。邏輯塊地址和物理地址的關(guān)系為:LBA地址=(柱面號×磁頭數(shù)+磁頭號)×扇區(qū)數(shù)+扇區(qū)數(shù)-1。
CF卡沒有機械結(jié)構(gòu),因此CF卡的扇區(qū)尋址適宜采用邏輯尋址方式。邏輯尋址方式?jīng)]有磁頭和磁道的轉(zhuǎn)換操作,因此在訪問連續(xù)扇區(qū)時,操作速度比物理尋址方式快得多。
對于CF卡的操作(如:讀/寫),其實就是對CF卡控制器的寄存器進行操作。所以,必須對CF卡的寄存器十分熟悉。這些寄存器統(tǒng)稱為任務(wù)文件(task file)寄存器:
1.?dāng)?shù)據(jù)寄存器(讀/寫),用于CF卡的讀寫操作。主機通過該寄存器向CF卡數(shù)據(jù)緩沖寫入或從CF卡數(shù)據(jù)緩沖讀出數(shù)據(jù)。
2.錯誤寄存器(Read)和特性寄存器(Write)。讀操作時,此寄存器為錯誤寄存器,用于指明錯誤的原因;寫操作時,此寄存器為特性寄存器。
3.扇區(qū)數(shù)寄存器(讀/寫),用來記錄讀、寫扇區(qū)的數(shù)目。
4.扇區(qū)號寄存器(讀/寫),用來記錄讀、寫和校驗命令指定的起始扇區(qū)號或邏輯塊地址(LBA)的BIT7:0。
5.柱面號寄存器(讀/寫),用來記錄讀、寫、校驗和尋址命令指定的柱面號或LBA的BIT23:8。
6.驅(qū)動器/磁頭寄存器(讀/寫),記錄讀、寫、校驗和尋道命令指定的驅(qū)動器號、磁頭號或LBA的BIT27:24,其中BIT6(LBA)用來設(shè)置CF卡扇區(qū)的尋址方式(LBA=0,采用CHS模式;LBA=1,采用LBA模式)。
圖2:CF卡地址空間存儲映像。
7.狀態(tài)寄存器(讀)和命令寄存器(讀/寫),讀操作時,該寄存器是狀態(tài)寄存器,指示CF卡控制器執(zhí)行命令后的狀態(tài),讀狀態(tài)寄存器則返回CF卡的當(dāng)前狀態(tài);寫操作時,該寄存器是命令寄存器,接收主機發(fā)送給CF卡的控制命令。
PXA255處理器與CF卡的硬件接口設(shè)計
1. PXA255的PC Card/CF卡控制器
PXA255處理器PC Card/CF卡控制器可以支持一個PCMCIA卡或CF卡插槽,利用nPSKTSEL引腳可以支持第2個插槽。寄存器MECR用于向PXA255處理器的PC Card/CF卡控制器指出是否有CF卡插入,以及系統(tǒng)支持的CF卡的插槽數(shù)目。在有卡插入時,軟件必須將MECR的CIT比特位置1;所有的卡拔出時,則必須將之清零。
PXA255處理器PC Card/CF卡接口支持8、16位外圍設(shè)備,而且可以處理公共存儲器(Common Memory)、I/O和特性存儲器(Attribute Memory)三種方式的存取。每次訪問的時間取決于MCMEMx、MCATTx和MCIOx寄存器的設(shè)置。圖2給出了PXA255處理器16位PC Card/CF卡地址空間的存儲器映像。16位PC Card/CF卡存儲器映像空間分為8塊。每個插槽對應(yīng)其中4塊,分別為公共存儲器、I/O、特性存儲器和保留空間。每個塊的大小為64M。
每次訪問PC Card /CF卡
以導(dǎo)航設(shè)備存儲系統(tǒng)應(yīng)用為例,本文討論了Intel Xscale A255嵌入式處理器與CF卡的硬件接口設(shè)計,并以讀寫CF卡扇區(qū)的程序為例,給出了CF卡軟件編寫的技巧。該設(shè)計為基于A255處理器的嵌入式系統(tǒng)提供了擴展存儲空間的一種方法。
圖1:CF卡結(jié)構(gòu)框圖。
Intel Xscale A255處理器是新一代的嵌入式處理器,基于ARMv5TE體系結(jié)構(gòu)的微處理器,性價比較高、功耗較低,適合于數(shù)字移動電話、個人數(shù)字助理、網(wǎng)絡(luò)路由器等嵌入式系統(tǒng)的應(yīng)用。在采用A255處理器開發(fā)諸如車載導(dǎo)航系統(tǒng)時,電子地圖等海量地理信息數(shù)據(jù)需要一個容量大、體積小、性能優(yōu)異的存儲器!癈ompact Flash”卡,簡稱CF卡,具有高速度、大容量、體積小、重量輕、功耗低和高性價比等優(yōu)點,十分適合嵌入式系統(tǒng)的應(yīng)用。因此,可選擇CF卡作為地理信息數(shù)據(jù)的存儲載體。A255處理器提供了PCMCIA/CF卡控制器,可以方便地實現(xiàn)A255處理器與CF卡的接口設(shè)計。
CF卡結(jié)構(gòu)和工作原理
Compact Flash技術(shù)是由CF協(xié)會(CFA)提出的一種與PC機ATA接口標(biāo)準(zhǔn)兼容的技術(shù)。如圖1,CF卡由兩個基本部分構(gòu)成:內(nèi)部控制器和閃存模塊。CF卡的閃存模塊基本上都使用NAND型閃存,用于存儲數(shù)據(jù)。內(nèi)部控制器用來實現(xiàn)CF卡與主機的接口以及控制數(shù)據(jù)的傳輸。CF卡內(nèi)部控制器的設(shè)計完全模擬硬盤,使用標(biāo)準(zhǔn)的ATA/IDE接口。
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卡與主機通信的信號最少,硬件接口最簡單、軟件易于實現(xiàn),因此本設(shè)計采用了True IDE模式。
CF卡扇區(qū)尋址有兩種方式:物理尋址方式(CHS)和邏輯尋址方式(LBA)。物理尋址方式使用柱面、磁頭和扇區(qū)號表示一個特定的扇區(qū),起始扇區(qū)是0磁道、0磁頭、1扇區(qū),接著是2扇區(qū),一直到EOF扇區(qū);接下來是同一柱面1頭、1扇區(qū)等。邏輯尋址方式將整個CF卡同一尋址。邏輯塊地址和物理地址的關(guān)系為:LBA地址=(柱面號×磁頭數(shù)+磁頭號)×扇區(qū)數(shù)+扇區(qū)數(shù)-1。
CF卡沒有機械結(jié)構(gòu),因此CF卡的扇區(qū)尋址適宜采用邏輯尋址方式。邏輯尋址方式?jīng)]有磁頭和磁道的轉(zhuǎn)換操作,因此在訪問連續(xù)扇區(qū)時,操作速度比物理尋址方式快得多。
對于CF卡的操作(如:讀/寫),其實就是對CF卡控制器的寄存器進行操作。所以,必須對CF卡的寄存器十分熟悉。這些寄存器統(tǒng)稱為任務(wù)文件(task file)寄存器:
1.?dāng)?shù)據(jù)寄存器(讀/寫),用于CF卡的讀寫操作。主機通過該寄存器向CF卡數(shù)據(jù)緩沖寫入或從CF卡數(shù)據(jù)緩沖讀出數(shù)據(jù)。
2.錯誤寄存器(Read)和特性寄存器(Write)。讀操作時,此寄存器為錯誤寄存器,用于指明錯誤的原因;寫操作時,此寄存器為特性寄存器。
3.扇區(qū)數(shù)寄存器(讀/寫),用來記錄讀、寫扇區(qū)的數(shù)目。
4.扇區(qū)號寄存器(讀/寫),用來記錄讀、寫和校驗命令指定的起始扇區(qū)號或邏輯塊地址(LBA)的BIT7:0。
5.柱面號寄存器(讀/寫),用來記錄讀、寫、校驗和尋址命令指定的柱面號或LBA的BIT23:8。
6.驅(qū)動器/磁頭寄存器(讀/寫),記錄讀、寫、校驗和尋道命令指定的驅(qū)動器號、磁頭號或LBA的BIT27:24,其中BIT6(LBA)用來設(shè)置CF卡扇區(qū)的尋址方式(LBA=0,采用CHS模式;LBA=1,采用LBA模式)。
圖2:CF卡地址空間存儲映像。
7.狀態(tài)寄存器(讀)和命令寄存器(讀/寫),讀操作時,該寄存器是狀態(tài)寄存器,指示CF卡控制器執(zhí)行命令后的狀態(tài),讀狀態(tài)寄存器則返回CF卡的當(dāng)前狀態(tài);寫操作時,該寄存器是命令寄存器,接收主機發(fā)送給CF卡的控制命令。
A255處理器與CF卡的硬件接口設(shè)計
1. A255的PC Card/CF卡控制器
A255處理器PC Card/CF卡控制器可以支持一個PCMCIA卡或CF卡插槽,利用nPSKTSEL引腳可以支持第2個插槽。寄存器MECR用于向A255處理器的PC Card/CF卡控制器指出是否有CF卡插入,以及系統(tǒng)支持的CF卡的插槽數(shù)目。在有卡插入時,軟件必須將MECR的CIT比特位置1;所有的卡拔出時,則必須將之清零。
A255處理器PC Card/CF卡接口支持8、16位外圍設(shè)備,而且可以處理公共存儲器(Common Memory)、I/O和特性存儲器(Attribute Memory)三種方式的存取。每次訪問的時間取決于MCMEMx、MCATTx和MCIOx寄存器的設(shè)置。圖2給出了A255處理器16位PC Card/CF卡地址空間的存儲器映像。16位PC Card/CF卡存儲器映像空間分為8塊。每個插槽對應(yīng)其中4塊,分別為公共存儲器、I/O、特性存儲器和保留空間。每個塊的大小為64M。
每次訪問PC Card /CF卡
熱門點擊
- 六氟化硫開關(guān)與真空開關(guān)的比較
- 電機驅(qū)動用H橋組件LMD18200的應(yīng)用
- 賽普拉斯推出每秒可進行2.5億次搜索的NSE
- L497型高能無缺點點火控制器及應(yīng)用
- 無刷直流電機無傳感器PWM智能控制ML442
- PhaseLink可編程時鐘組件支持頻率達3
- 基于32位微控制器CCM3118DQ的稅控機
- Thelma工藝可創(chuàng)建更靈敏的MEMS結(jié)構(gòu)
- CML高集成度基帶處理器IC具有片上RF合成
- 英特爾網(wǎng)擎系列組合媒體板卡支持多達1,200
推薦技術(shù)資料
- 自制經(jīng)典的1875功放
- 平時我也經(jīng)常逛一些音響DIY論壇,發(fā)現(xiàn)有很多人喜歡LM... [詳細]