當前位置:首頁 > 單片機 > 單片機
[導讀]摘    要:本文討論了在單片機下進行CF卡接口設計的方法,根據(jù)PCMCIA制定的ATA標準開發(fā)了直接讀寫CF卡的驅(qū)動程序,并介紹了CF卡驅(qū)動程序的編程技巧。引言CF 卡(compact flash card)是專門為海量存儲而設計的專

摘    要:本文討論了在單片機下進行CF卡接口設計的方法,根據(jù)PCMCIA制定的ATA標準開發(fā)了直接讀寫CF卡的驅(qū)動程序,并介紹了CF卡驅(qū)動程序的編程技巧。

引言

CF 卡(compact flash card)是專門為海量存儲而設計的專用設備,其標準由國際CFA (compact flash association)聯(lián)合會維護和管理。CF卡中不僅有海量存儲專用的Flash芯片,還包括一個片上智能控制器,這樣就為計算機宿主機提供了一個高級的應用接口來方便地對其進行讀寫控制與操作。這個接口讓宿主計算機能夠像讀取硬盤那樣,用硬盤操作專用命令對CF進行控制。CF卡每一個字段(512字節(jié))都有一個強勁的糾錯碼。CF卡具有體積小、存儲量大、安全可靠、價格低廉、讀寫速度快的優(yōu)點,越來越被消費者所認可,眾多的娛樂電子設備生產(chǎn)廠商都支持CF卡接口。目前許多消費類嵌入式系統(tǒng)產(chǎn)品,如數(shù)碼攝像機、數(shù)碼照相機、掌上電腦、PDA、手機、mp3播放器上面都加入了對CF卡的支持。所以,在設計嵌入式系統(tǒng)的時候,加入對CF卡的支持是非常有意義的。CF卡的接口技術(shù)分為MEMORY模式、I/O模式和IDE模式。本文討論了在單片機下進行CF卡接口設計的方法,并利用標準CF卡ATA標準開發(fā)了直接讀寫CF卡的驅(qū)動程序,實現(xiàn)了在單片機下對CF卡的直接讀寫,為海量存儲設備應用于普通的嵌入式系統(tǒng)提供了條件。

CF卡協(xié)議簡介

CFA組織目前推出的CF卡協(xié)議能夠?qū)崿F(xiàn)66MB/s的存取速率。該協(xié)議詳細規(guī)定了CF卡的三種讀寫模式,還規(guī)定了CF卡的幾何尺寸和各種電器參數(shù),從而實現(xiàn)了對CF卡的標準化。

系統(tǒng)設計

本文中選用的是SanDisk公司生產(chǎn)的CF卡,其內(nèi)部的結(jié)構(gòu)框圖如圖1所示。CF卡與單片機的接口設計必須在基于特定功能的前提下進行,主要考慮以下幾個方面的內(nèi)容:CF卡與宿主機之間的電氣兼容性,CF卡傳輸模式的選擇,以及CF卡數(shù)據(jù)位的選擇。

 

 

圖1  CF卡內(nèi)部的結(jié)構(gòu)框圖

硬件設計

硬件設計主要應考慮CF卡的數(shù)據(jù)傳輸、地址選擇,及其讀寫控制信號。在本系統(tǒng)中,宿主機使用了常見的AT89S52。CF卡與單片機之間有著非常標準的接口,4根地址線,8根數(shù)據(jù)線,1根讀信號線和1根寫信號線,總共只需占用單片機的14根I/O口線。硬件CF卡相關的功能框圖如圖2所示。

 

 

圖2  單片機實現(xiàn)CF卡讀寫的硬件結(jié)構(gòu)框圖

這套系統(tǒng)除了包括單片機和CF卡這兩個必不可少的元件以外,另外還包括一個LCD液晶顯示屏,其功能主要是用于顯示程序執(zhí)行中各種參數(shù)的狀態(tài)(如串口是否能正常工作)。液晶顯示屏是一個很好的硬件調(diào)試監(jiān)視器,尤其是在沒有仿真器的條件下,它可以方便地設立程序斷點,監(jiān)視程序的執(zhí)行,實時顯示各個狀態(tài)參數(shù)。

為了更有效地測試CF卡的海量存儲功能,系統(tǒng)中還設置了一個RS-232接口,以便與PC機之間進行通信。另外,考慮到在線調(diào)試CF卡驅(qū)動程序的時候需要多次燒寫單片機的程序存儲器,特別又設置了一個ISP下載線接口。這樣一來,不用仿真器和燒寫器而僅使用ISP并口下載線就可以對整個系統(tǒng)進行在線調(diào)試,大大方便了驅(qū)動程序的開發(fā)與調(diào)試。

軟件設計

嚴格遵循ATA標準的CF卡設備對軟件的編制有非常標準化的方法,而且基于CFA的協(xié)議,CF卡硬件上的向下兼容性也保證了軟件設計上的兼容性。CF卡工作在內(nèi)存映射下的讀寫程序邏輯框圖如圖3所示。值得指出的是,不同于一般的Flash存儲器,CF卡采用IDE標準的讀寫方式,它的尋址方式、讀寫方式,甚至命令都與普通的ATA硬盤相符合。也就是說,CF是在模擬硬盤的讀寫,按照扇區(qū)、磁道、柱面來尋址。同硬盤一樣,CF卡不能夠?qū)ξ徊僮?,它的一次性吞吐量為一個扇區(qū),也就是512個字節(jié)。CF卡在設計之初,之所以要采取類似硬盤的讀寫方式,是因為這種方法的存儲速度快、可靠,并能節(jié)省資源。本設計并不需要在CF上面建立文件系統(tǒng),這樣可以充分利用CF卡存儲量大、速度快的特點,同時也可使軟件的編制更為簡化。

 

 

圖3 讀寫CF卡程序的邏輯框圖

實驗步驟與結(jié)果

測試讀寫CF卡是否成功的方法是:先用串口調(diào)試助手把PC機上的一個ASCII文件通過串口發(fā)送到CF卡的特定扇區(qū),然后將剛剛寫入的數(shù)據(jù)讀出,并通過串口發(fā)送到PC機的串口調(diào)試助手的終端上。如果發(fā)送與接收到的文件數(shù)據(jù)是一致的,那么就說明對CF卡的讀寫操作成功。

首先要測試串口是否能正常工作,因為只有在串口正常工作的前提下,才能對CF卡的讀寫功能程序進行測試。先將一個簡單的串口調(diào)試程序用ISP下載線下載到單片機上運行,通過串口調(diào)試助手的終端顯示測試結(jié)果,確定串口調(diào)試助手發(fā)送到單片機上的數(shù)據(jù)能夠被正確返回。

在確定串口在電氣特性上沒有問題了之后,就可以通過ISP接口,將事先編好的CF卡讀寫測試程序下載到單片機上運行。在PC機上選擇一個約4M大小的 ASCII碼文件,預計它將充滿CF卡的8000個扇區(qū),將其通過串口調(diào)試助手發(fā)送到單片機上。在單片機上運行的這個小程序是一個伺服進程,它一直在檢測是否有數(shù)據(jù)通過串口傳過來。一旦有數(shù)據(jù)過來,它就會調(diào)用中斷,將接收到的數(shù)據(jù)存入CF卡相鄰的扇區(qū)內(nèi)。這樣就完成了對CF卡的寫操作。寫操作之后可以立即對同一地址進行讀操作,這也正是CF卡的讀寫機制與其它普通Flash存儲器不同的地方,單片機從先前存入扇區(qū)的首地址開始,讀出剛剛寫入的數(shù)據(jù),并將其送出到串口,發(fā)送到PC機的串口調(diào)試助手終端上。經(jīng)過驗證,原先發(fā)送的數(shù)據(jù)和反饋回來的內(nèi)容一致,由此判定, CF卡程序編寫正確。

CF 卡讀寫設計的難點主要在于對扇區(qū)的訪問,由于CF卡由ATA控制器和Flash存儲器兩部分構(gòu)成,系統(tǒng)訪問Flash存儲器的速度遠遠小于訪問內(nèi)存的速度,如果系統(tǒng)頻繁訪問CF卡,勢必會影響系統(tǒng)的實時性和工作效率,所以必須考慮CF卡讀寫程序的設計技巧。根據(jù)存儲器訪問的局部性原理,CPU存取數(shù)據(jù)所訪問的存儲單元都趨向于聚集在一個較小的連續(xù)區(qū)域。從時間上看,如果一個信息項正在被訪問,那么在近期它很可能還會被再次訪問。從空間上看,在最近將用到的信息很可能與目前正在使用的信息在空間地址上是臨近的。在本系統(tǒng)的程序設計中,開辟了一個扇區(qū)的內(nèi)存空間TempSect,用于存儲最近訪問過的扇區(qū)數(shù)據(jù)。另外還設置了兩個全局變量SaveSectorNum和SectorDirty:SaveSectorNum保存最近備份的扇區(qū)編號; SectorDirty說明備份數(shù)據(jù)是否與CF卡中的相應數(shù)據(jù)一致,如果一致,其值為0,否則為1。這樣不但可以減少讀寫CF卡的次數(shù),而且提高了訪問速度,滿足嵌入式操作系統(tǒng)的實時性要求。

結(jié)語

本文對單片機直接讀寫CF卡進行了介紹,重點闡述了軟硬件的實現(xiàn)思路、測試方法以及一些針對CF卡的編程思想。隨著嵌入式處理器在通信、航空航天、醫(yī)療設備、消費類電子產(chǎn)品等領域的蓬勃發(fā)展,基于CF卡的嵌入式數(shù)據(jù)存儲系統(tǒng)的應用前景一定會十分廣闊。

本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術(shù)
關閉
關閉