單片機(jī)CF卡接口設(shè)計(jì)
發(fā)布時(shí)間:2008/9/2 0:00:00 訪問(wèn)次數(shù):532
摘 要:本文討論了在單片機(jī)下進(jìn)行cf卡接口設(shè)計(jì)的方法,根據(jù)pcmcia制定的ata標(biāo)準(zhǔn)開發(fā)了直接讀寫cf卡的驅(qū)動(dòng)程序,并介紹了cf卡驅(qū)動(dòng)程序的編程技巧。
引言
cf 卡(compact。妫欤幔螅琛。悖幔颍洌┦菍iT為海量存儲(chǔ)而設(shè)計(jì)的專用設(shè)備,其標(biāo)準(zhǔn)由國(guó)際cfa (compact。妫欤幔螅琛。幔螅螅铮悖椋幔簦椋铮睿┞(lián)合會(huì)維護(hù)和管理。cf卡中不僅有海量存儲(chǔ)專用的flash芯片,還包括一個(gè)片上智能控制器,這樣就為計(jì)算機(jī)宿主機(jī)提供了一個(gè)高級(jí)的應(yīng)用接口來(lái)方便地對(duì)其進(jìn)行讀寫控制與操作。這個(gè)接口讓宿主計(jì)算機(jī)能夠像讀取硬盤那樣,用硬盤操作專用命令對(duì)cf進(jìn)行控制。cf卡每一個(gè)字段(512字節(jié))都有一個(gè)強(qiáng)勁的糾錯(cuò)碼。cf卡具有體積小、存儲(chǔ)量大、安全可靠、價(jià)格低廉、讀寫速度快的優(yōu)點(diǎn),越來(lái)越被消費(fèi)者所認(rèn)可,眾多的娛樂(lè)電子設(shè)備生產(chǎn)廠商都支持cf卡接口。目前許多消費(fèi)類嵌入式系統(tǒng)產(chǎn)品,如數(shù)碼攝像機(jī)、數(shù)碼照相機(jī)、掌上電腦、pda、手機(jī)、mp3播放器上面都加入了對(duì)cf卡的支持。所以,在設(shè)計(jì)嵌入式系統(tǒng)的時(shí)候,加入對(duì)cf卡的支持是非常有意義的。cf卡的接口技術(shù)分為memory模式、i/o模式和ide模式。本文討論了在單片機(jī)下進(jìn)行cf卡接口設(shè)計(jì)的方法,并利用標(biāo)準(zhǔn)cf卡ata標(biāo)準(zhǔn)開發(fā)了直接讀寫cf卡的驅(qū)動(dòng)程序,實(shí)現(xiàn)了在單片機(jī)下對(duì)cf卡的直接讀寫,為海量存儲(chǔ)設(shè)備應(yīng)用于普通的嵌入式系統(tǒng)提供了條件。
。悖婵▍f(xié)議簡(jiǎn)介
。悖妫峤M織目前推出的cf卡協(xié)議能夠?qū)崿F(xiàn)66mb/s的存取速率。該協(xié)議詳細(xì)規(guī)定了cf卡的三種讀寫模式,還規(guī)定了cf卡的幾何尺寸和各種電器參數(shù),從而實(shí)現(xiàn)了對(duì)cf卡的標(biāo)準(zhǔn)化。
系統(tǒng)設(shè)計(jì)
本文中選用的是sandisk公司生產(chǎn)的cf卡,其內(nèi)部的結(jié)構(gòu)框圖如圖1所示。cf卡與單片機(jī)的接口設(shè)計(jì)必須在基于特定功能的前提下進(jìn)行,主要考慮以下幾個(gè)方面的內(nèi)容:cf卡與宿主機(jī)之間的電氣兼容性,cf卡傳輸模式的選擇,以及cf卡數(shù)據(jù)位的選擇。
圖1 cf卡內(nèi)部的結(jié)構(gòu)框圖
硬件設(shè)計(jì)
硬件設(shè)計(jì)主要應(yīng)考慮cf卡的數(shù)據(jù)傳輸、地址選擇,及其讀寫控制信號(hào)。在本系統(tǒng)中,宿主機(jī)使用了常見的at89s52。cf卡與單片機(jī)之間有著非常標(biāo)準(zhǔn)的接口,4根地址線,8根數(shù)據(jù)線,1根讀信號(hào)線和1根寫信號(hào)線,總共只需占用單片機(jī)的14根i/o口線。硬件cf卡相關(guān)的功能框圖如圖2所示。
圖2 單片機(jī)實(shí)現(xiàn)cf卡讀寫的硬件結(jié)構(gòu)框圖
這套系統(tǒng)除了包括單片機(jī)和cf卡這兩個(gè)必不可少的元件以外,另外還包括一個(gè)lcd液晶顯示屏,其功能主要是用于顯示程序執(zhí)行中各種參數(shù)的狀態(tài)(如串口是否能正常工作)。液晶顯示屏是一個(gè)很好的硬件調(diào)試監(jiān)視器,尤其是在沒(méi)有仿真器的條件下,它可以方便地設(shè)立程序斷點(diǎn),監(jiān)視程序的執(zhí)行,實(shí)時(shí)顯示各個(gè)狀態(tài)參數(shù)。
為了更有效地測(cè)試cf卡的海量存儲(chǔ)功能,系統(tǒng)中還設(shè)置了一個(gè)rs-232接口,以便與pc機(jī)之間進(jìn)行通信。另外,考慮到在線調(diào)試cf卡驅(qū)動(dòng)程序的時(shí)候需要多次燒寫單片機(jī)的程序存儲(chǔ)器,特別又設(shè)置了一個(gè)isp下載線接口。這樣一來(lái),不用仿真器和燒寫器而僅使用isp并口下載線就可以對(duì)整個(gè)系統(tǒng)進(jìn)行在線調(diào)試,大大方便了驅(qū)動(dòng)程序的開發(fā)與調(diào)試。
軟件設(shè)計(jì)
嚴(yán)格遵循ata標(biāo)準(zhǔn)的cf卡設(shè)備對(duì)軟件的編制有非常標(biāo)準(zhǔn)化的方法,而且基于cfa的協(xié)議,cf卡硬件上的向下兼容性也保證了軟件設(shè)計(jì)上的兼容性。cf卡工作在內(nèi)存映射下的讀寫程序邏輯框圖如圖3所示。值得指出的是,不同于一般的flash存儲(chǔ)器,cf卡采用ide標(biāo)準(zhǔn)的讀寫方式,它的尋址方式、讀寫方式,甚至命令都與普通的ata硬盤相符合。也就是說(shuō),cf是在模擬硬盤的讀寫,按照扇區(qū)、磁道、柱面來(lái)尋址。同硬盤一樣,cf卡不能夠?qū)ξ徊僮,它的一次性吞吐量為一個(gè)扇區(qū),也就是512個(gè)字節(jié)。cf卡在設(shè)計(jì)之初,之所以要采取類似硬盤的讀寫方式,是因?yàn)檫@種方法的存儲(chǔ)速度快、可靠,并能節(jié)省資源。本設(shè)計(jì)并不需要在cf上面建立文件系統(tǒng),這樣可以充分利用cf卡存儲(chǔ)量大、速度快的特點(diǎn),同時(shí)也可使軟件的編制更為簡(jiǎn)化。
圖3 讀寫cf卡程序的邏輯框圖
實(shí)驗(yàn)步驟與結(jié)果
測(cè)試讀寫cf卡是否成功的方法是:先用串口調(diào)試助手把pc機(jī)上的一個(gè)ascii文件通過(guò)串口發(fā)送到cf卡的特定扇區(qū),然后將剛剛寫入的數(shù)據(jù)讀出,并通過(guò)串口發(fā)送到pc機(jī)的串口調(diào)試助手的終端上。如果發(fā)送與接收到的文件數(shù)
摘 要:本文討論了在單片機(jī)下進(jìn)行cf卡接口設(shè)計(jì)的方法,根據(jù)pcmcia制定的ata標(biāo)準(zhǔn)開發(fā)了直接讀寫cf卡的驅(qū)動(dòng)程序,并介紹了cf卡驅(qū)動(dòng)程序的編程技巧。
引言
。悖妗】ǎǎ悖铮恚穑幔悖簟。妫欤幔螅琛。悖幔颍洌┦菍iT為海量存儲(chǔ)而設(shè)計(jì)的專用設(shè)備,其標(biāo)準(zhǔn)由國(guó)際cfa。ǎ悖铮恚穑幔悖簟。妫欤幔螅琛。幔螅螅铮悖椋幔簦椋铮睿┞(lián)合會(huì)維護(hù)和管理。cf卡中不僅有海量存儲(chǔ)專用的flash芯片,還包括一個(gè)片上智能控制器,這樣就為計(jì)算機(jī)宿主機(jī)提供了一個(gè)高級(jí)的應(yīng)用接口來(lái)方便地對(duì)其進(jìn)行讀寫控制與操作。這個(gè)接口讓宿主計(jì)算機(jī)能夠像讀取硬盤那樣,用硬盤操作專用命令對(duì)cf進(jìn)行控制。cf卡每一個(gè)字段(512字節(jié))都有一個(gè)強(qiáng)勁的糾錯(cuò)碼。cf卡具有體積小、存儲(chǔ)量大、安全可靠、價(jià)格低廉、讀寫速度快的優(yōu)點(diǎn),越來(lái)越被消費(fèi)者所認(rèn)可,眾多的娛樂(lè)電子設(shè)備生產(chǎn)廠商都支持cf卡接口。目前許多消費(fèi)類嵌入式系統(tǒng)產(chǎn)品,如數(shù)碼攝像機(jī)、數(shù)碼照相機(jī)、掌上電腦、pda、手機(jī)、mp3播放器上面都加入了對(duì)cf卡的支持。所以,在設(shè)計(jì)嵌入式系統(tǒng)的時(shí)候,加入對(duì)cf卡的支持是非常有意義的。cf卡的接口技術(shù)分為memory模式、i/o模式和ide模式。本文討論了在單片機(jī)下進(jìn)行cf卡接口設(shè)計(jì)的方法,并利用標(biāo)準(zhǔn)cf卡ata標(biāo)準(zhǔn)開發(fā)了直接讀寫cf卡的驅(qū)動(dòng)程序,實(shí)現(xiàn)了在單片機(jī)下對(duì)cf卡的直接讀寫,為海量存儲(chǔ)設(shè)備應(yīng)用于普通的嵌入式系統(tǒng)提供了條件。
。悖婵▍f(xié)議簡(jiǎn)介
。悖妫峤M織目前推出的cf卡協(xié)議能夠?qū)崿F(xiàn)66mb/s的存取速率。該協(xié)議詳細(xì)規(guī)定了cf卡的三種讀寫模式,還規(guī)定了cf卡的幾何尺寸和各種電器參數(shù),從而實(shí)現(xiàn)了對(duì)cf卡的標(biāo)準(zhǔn)化。
系統(tǒng)設(shè)計(jì)
本文中選用的是sandisk公司生產(chǎn)的cf卡,其內(nèi)部的結(jié)構(gòu)框圖如圖1所示。cf卡與單片機(jī)的接口設(shè)計(jì)必須在基于特定功能的前提下進(jìn)行,主要考慮以下幾個(gè)方面的內(nèi)容:cf卡與宿主機(jī)之間的電氣兼容性,cf卡傳輸模式的選擇,以及cf卡數(shù)據(jù)位的選擇。
圖1 cf卡內(nèi)部的結(jié)構(gòu)框圖
硬件設(shè)計(jì)
硬件設(shè)計(jì)主要應(yīng)考慮cf卡的數(shù)據(jù)傳輸、地址選擇,及其讀寫控制信號(hào)。在本系統(tǒng)中,宿主機(jī)使用了常見的at89s52。cf卡與單片機(jī)之間有著非常標(biāo)準(zhǔn)的接口,4根地址線,8根數(shù)據(jù)線,1根讀信號(hào)線和1根寫信號(hào)線,總共只需占用單片機(jī)的14根i/o口線。硬件cf卡相關(guān)的功能框圖如圖2所示。
圖2 單片機(jī)實(shí)現(xiàn)cf卡讀寫的硬件結(jié)構(gòu)框圖
這套系統(tǒng)除了包括單片機(jī)和cf卡這兩個(gè)必不可少的元件以外,另外還包括一個(gè)lcd液晶顯示屏,其功能主要是用于顯示程序執(zhí)行中各種參數(shù)的狀態(tài)(如串口是否能正常工作)。液晶顯示屏是一個(gè)很好的硬件調(diào)試監(jiān)視器,尤其是在沒(méi)有仿真器的條件下,它可以方便地設(shè)立程序斷點(diǎn),監(jiān)視程序的執(zhí)行,實(shí)時(shí)顯示各個(gè)狀態(tài)參數(shù)。
為了更有效地測(cè)試cf卡的海量存儲(chǔ)功能,系統(tǒng)中還設(shè)置了一個(gè)rs-232接口,以便與pc機(jī)之間進(jìn)行通信。另外,考慮到在線調(diào)試cf卡驅(qū)動(dòng)程序的時(shí)候需要多次燒寫單片機(jī)的程序存儲(chǔ)器,特別又設(shè)置了一個(gè)isp下載線接口。這樣一來(lái),不用仿真器和燒寫器而僅使用isp并口下載線就可以對(duì)整個(gè)系統(tǒng)進(jìn)行在線調(diào)試,大大方便了驅(qū)動(dòng)程序的開發(fā)與調(diào)試。
軟件設(shè)計(jì)
嚴(yán)格遵循ata標(biāo)準(zhǔn)的cf卡設(shè)備對(duì)軟件的編制有非常標(biāo)準(zhǔn)化的方法,而且基于cfa的協(xié)議,cf卡硬件上的向下兼容性也保證了軟件設(shè)計(jì)上的兼容性。cf卡工作在內(nèi)存映射下的讀寫程序邏輯框圖如圖3所示。值得指出的是,不同于一般的flash存儲(chǔ)器,cf卡采用ide標(biāo)準(zhǔn)的讀寫方式,它的尋址方式、讀寫方式,甚至命令都與普通的ata硬盤相符合。也就是說(shuō),cf是在模擬硬盤的讀寫,按照扇區(qū)、磁道、柱面來(lái)尋址。同硬盤一樣,cf卡不能夠?qū)ξ徊僮,它的一次性吞吐量為一個(gè)扇區(qū),也就是512個(gè)字節(jié)。cf卡在設(shè)計(jì)之初,之所以要采取類似硬盤的讀寫方式,是因?yàn)檫@種方法的存儲(chǔ)速度快、可靠,并能節(jié)省資源。本設(shè)計(jì)并不需要在cf上面建立文件系統(tǒng),這樣可以充分利用cf卡存儲(chǔ)量大、速度快的特點(diǎn),同時(shí)也可使軟件的編制更為簡(jiǎn)化。
圖3 讀寫cf卡程序的邏輯框圖
實(shí)驗(yàn)步驟與結(jié)果
測(cè)試讀寫cf卡是否成功的方法是:先用串口調(diào)試助手把pc機(jī)上的一個(gè)ascii文件通過(guò)串口發(fā)送到cf卡的特定扇區(qū),然后將剛剛寫入的數(shù)據(jù)讀出,并通過(guò)串口發(fā)送到pc機(jī)的串口調(diào)試助手的終端上。如果發(fā)送與接收到的文件數(shù)
熱門點(diǎn)擊
- 單片機(jī)與RS232串口通信C51程序
- 單片機(jī)簡(jiǎn)介與單片機(jī)的發(fā)展歷史
- 基于控制專用單片機(jī)的無(wú)刷直流電機(jī)控制器
- 單片機(jī)通信協(xié)議處理
- 采用混合信號(hào)高電壓?jiǎn)纹瑱C(jī)實(shí)現(xiàn)LED降壓-升壓
- MCS-51單片機(jī)的指令時(shí)序
- MCS51系列單片機(jī)軟件復(fù)位的方法
- 小型單片機(jī)系統(tǒng)延時(shí)關(guān)機(jī)電路
- 單片機(jī)通用模擬串口C程序
- SPCE061A型單片機(jī)在土木工程測(cè)溫儀中的
推薦技術(shù)資料
- 硬盤式MP3播放器終級(jí)改
- 一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
- 電源管理 IC (PMIC)&
- I2C 接口和 PmBUS 以及 OTP/M
- MOSFET 和柵極驅(qū)動(dòng)器單
- 數(shù)字恒定導(dǎo)通時(shí)間控制模式(CO
- Power Management Buck/
- 反激變換器傳導(dǎo)和輻射電磁干擾分析和抑制技術(shù)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究