CF卡的IDE總線適配器設(shè)計(jì)
CF卡的全稱為“Compact Flash”卡,意為“標(biāo)準(zhǔn)閃存卡”,是最早由Sandisk公司于1994年 推出的,Compact Flash技術(shù)是由Compact Flash協(xié)會(CFA)提出的一種與PC機(jī)ATA接口標(biāo)準(zhǔn) 兼容的技術(shù),與計(jì)算機(jī)系統(tǒng)的連接非常方便。CF卡具有高速度、大容量、體積小、重量輕、 功耗低等優(yōu)點(diǎn),得到了廣泛的應(yīng)用,相機(jī)、掌上電腦、隨身聽上都可能用到閃存卡。如今以 柯達(dá)、佳能、尼康、奧林巴斯等影像巨頭為核心組成的CF卡標(biāo)準(zhǔn)組織現(xiàn)有成員約250家,涵蓋了幾乎所有數(shù)碼相機(jī)生產(chǎn)廠商,使用CF卡的數(shù)碼相機(jī)產(chǎn)品已經(jīng)超過300款。
CF卡使用FLASH作為存儲媒介,無需供電也能保存資料,而且工作時(shí)耗電量也很低,3.3 V,5 V外電壓通用,其耗電量只相當(dāng)于傳統(tǒng)存儲設(shè)備如磁帶、硬盤的3%或更低,適合用在移 動設(shè)備上。CF卡容量不斷提升,目前CF卡存儲容量達(dá)到2 G,存取速度也不斷提高,目前最快的CF卡約可以達(dá)到5 MB/s讀和4 MB/s寫的速度。
1CF卡工作原理及接口標(biāo)準(zhǔn)
CF卡由2個(gè)基本部分組成,如圖1所示:控制芯片和閃存模塊組,控制芯片用來實(shí)現(xiàn)與主機(jī)的連 接及控制數(shù)據(jù)在閃存模塊中的傳輸,閃存用于存儲信息。CF卡內(nèi)部控制器設(shè)計(jì)完全模擬硬盤,最大的特色是兼容性好,無論采用多大容量的閃存芯片組,其外部接口都是標(biāo)準(zhǔn)的ATA/ID E接口,可以很容易地通過IDE接口與電腦連接,而且早已實(shí)現(xiàn)無驅(qū)動設(shè)計(jì),使用非常方便。 由于CF卡內(nèi)置控制器和仿硬盤的設(shè)計(jì),也簡化了CF卡適配器的設(shè)計(jì)。
CF卡控制器中包含2組寄存器:命令寄存器和控制寄存器。當(dāng)CF卡工作在存儲器方式時(shí),按照ATA 標(biāo)準(zhǔn)以寄存器方式傳送數(shù)據(jù)、命令和地址,命令寄存器用來接受命令和傳輸數(shù)據(jù),控 制寄存器用來進(jìn)行磁盤控制,命令寄存器組的地址空間為1F0H~1FFH;當(dāng)CF卡工作在I/O方 式時(shí),控制寄存器組主要用于控制CF卡的工作方式,命令寄存器組被分配在與ATA標(biāo)準(zhǔn)兼容 的地址空間,地址空間為IF0H~1F7H和3F6H~3F7H。
CF卡與硬盤相似,但他沒有機(jī)械結(jié)構(gòu),沒有磁頭和磁道的轉(zhuǎn)換操作,因此在訪問連續(xù)扇區(qū)時(shí),操作速度比物理尋址方式快,操作以虛擬方式進(jìn)行。CF卡的寄存器包括以下7種:
數(shù)據(jù)寄存器(R/W)用于對扇區(qū)的讀寫操作,主機(jī)通過該寄存器向CF卡卡控制器寫入或從CF卡控制寄存器讀出扇區(qū)緩沖區(qū)的數(shù)據(jù);
錯誤寄存器(R)和特性寄存器(W)錯誤寄存器反映控制寄存器在診斷方式或操作方式下的錯誤原因。特性寄存器一般情況下不使用。
扇區(qū)數(shù)寄存器(R/W)記錄讀、寫命令的扇區(qū)數(shù)目。
扇區(qū)號寄存器(R/W)記錄讀、寫和校驗(yàn)命令指定的起始扇區(qū)號。
柱面號寄存器(R/W)記錄讀、寫、校驗(yàn)和尋址命令指定的柱面號。
驅(qū)動器/磁頭寄存器(R/W)記錄讀、寫、校驗(yàn)和尋道命令指定的驅(qū)動器號、磁頭號和尋址方式(CHS模式或LBA模式)。?
狀態(tài)寄存器(R)和命令寄存器(W)狀態(tài)寄存器反映CF卡驅(qū)動器執(zhí)行命令后的狀態(tài),讀該寄存器要清除中斷請求信號,命令寄存器接收主機(jī)發(fā)送的CF卡工作的控制命令。
CF卡的扇區(qū)尋址有2種方式:物理尋址方式(CHS)和邏輯尋址方式(LBA)。物理尋址方式使用柱面、磁頭和扇區(qū)號表示一個(gè)特定的扇區(qū),起始扇區(qū)是0磁道、0磁頭、1扇區(qū),接下來是2扇區(qū),一直到EOF扇區(qū);接下來是同一柱面1頭、1扇區(qū)等。邏輯尋址方式將整個(gè)CF卡統(tǒng)一尋址。邏輯塊地址和物理地址的關(guān)系為:
LBA地址=(柱面號×磁頭數(shù)+磁頭號)×扇區(qū)數(shù)+扇區(qū)數(shù)-1Compact Flash協(xié)會制定的CF+/Compact Flash標(biāo)準(zhǔn)接口是50引腳,分成2排,每排25個(gè)。CF卡不是硬盤那樣的針型接口而是50 mil(1.27 mm)的孔型接口,因此不容易被損壞,表1為 CF卡引腳定義。CF+是Compact Flash的衍生技術(shù)規(guī)格,物理規(guī)格和CF完全相同。但CF+卡并不是CF卡那樣的ATA閃存存儲器,而主要是I/O設(shè)備,如CF串口卡、CF藍(lán)牙、CF USB卡、CF網(wǎng)卡、CF GPS卡、CF GPRS卡等。 CF卡分為2類:Type I和Type II,二者只在物理外型上有所區(qū)別(見圖2為Type II型)。
2CF卡IDE總線接口適配器設(shè)計(jì)與制作
適配器電原理如圖3所示。適配器主要由2個(gè)部分組成,K1是IDE BUS的聯(lián)接器,K2是CF卡片的聯(lián)接器。CF卡允許在3個(gè)不同的模式中使用,當(dāng)CF卡聯(lián)結(jié)器K2中引腳 9連接于GND時(shí),CF卡是“真實(shí) IDE”模式,在這個(gè)模式中,CF卡的外部特性同硬盤機(jī)的IDE 接口類似。
發(fā)光二極管D1使CF卡的讀寫過程可見,R1決定流過D1的電流,通常限定在10 mA左右。CF卡連接器引腳39經(jīng)由電阻R2被連接到+5 V,這時(shí)CF卡在IDE BUS上當(dāng)作mas ter使用。如果引腳39經(jīng)由JP1置于地,CF卡片將會當(dāng)作slave用在IDE BUS上。C1和C2為去耦電容器。
K3用來連接電源電壓。CF卡只需要+5 V電壓接地,可連接在PC機(jī)內(nèi)開關(guān)電源剩余的電源連線上。
制作完成后,JP1應(yīng)根據(jù)需要設(shè)置,如果在本機(jī)IDE接口上已經(jīng)接有硬盤或CDROM,并且被配置成master,那么CF卡應(yīng)配置成slave,否則CF卡應(yīng)配置成master。
余下的問題是在計(jì)算機(jī)面板上選取一個(gè)空白的位置,設(shè)法固定適配器板。為防止CF卡插反,應(yīng)選用帶定位槽的CF卡插座。
3CF卡的使用
由于Windows 95以上的所有操作系統(tǒng)都內(nèi)置PCMCIA接口的IDE硬盤控制器驅(qū)動程序,WindowsMe以上的操作系統(tǒng)也加入了對USB,IEEE1394接口移動磁盤的支持,所以只要為簡單的接口控制器(轉(zhuǎn)接器)加上CF卡,就可以直接在電腦上使用。
當(dāng)?shù)谝淮卧谟?jì)算機(jī)上連接CF卡片時(shí),Windows會報(bào)告一個(gè)Driver新的裝置正被安裝,將會出現(xiàn)驅(qū)動器圖標(biāo),而且驅(qū)動程序是自動安裝的。在驅(qū)動器被安裝后,Windows會自動識別CF卡片,如一種硬盤磁碟機(jī),而且能以平常的方式讀寫文件。為了安全起見,只有當(dāng)個(gè)人計(jì)算機(jī)斷電時(shí),才可插入或除去CF卡。