當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]Nios II與CF卡的接口設(shè)計

 1 CF卡的特點及應(yīng)用
點 CF卡是最近幾年蓬勃發(fā)展固態(tài)非易失的存儲介質(zhì),由于CF卡具有攜帶方便、易于升級、存儲量大、抗震性好等優(yōu)點,在大容量便攜式數(shù)據(jù)存儲和傳輸過程中,CF 有著非常廣泛的應(yīng)用前景,如數(shù)碼相機、MP3播放器、PDA(個人數(shù)字助理)、數(shù)字式錄音機、筆記本電腦、手提電話、機頂盒等。預(yù)計今后在其他領(lǐng)域?qū)⒂懈鼮閺V泛的應(yīng)用。另外CF卡的兼容性佳,不僅同時支持3.3 V和5 V的電壓,而且不同的CF卡都可以用單一的機構(gòu)讀寫,特別是CF卡升級換代時也可以保證舊設(shè)備的兼容性。而純電子運動的CF卡耗電量很低,僅為IBM 微型硬盤的5%。目前,CF卡容量從最早的2 MB到現(xiàn)今的8 GB,數(shù)據(jù)傳輸從最早的5 MB/s發(fā)展到現(xiàn)在的20 MB/s。
  CF卡由2個基本部分構(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 的存取方式有3種:PC Card Memory模式、PC Card I/O模式以及True IDE模式。PC Card模式與PCMCIA標(biāo)準(zhǔn)兼容。True IDE模式與ATA標(biāo)準(zhǔn)兼容。
  3種方式相比,在True IDE模式下,CF卡與主機通信的信號最少,硬件接口最簡單、軟件易于實現(xiàn),因此本設(shè)計采用True IDE模式。

2 CF卡接口控制器的寄存器的定義
  在設(shè)計中,采用Altera提供的一個CF接口控制器內(nèi)核實現(xiàn)CF卡數(shù)據(jù)的傳輸.該內(nèi)核提供一個連接片外CF卡的Avalon總線接口,通過使用適當(dāng)?shù)臅r序把Avalon總線信號映射到CF卡,提供了對標(biāo)準(zhǔn)的實IDE模式寄存器的訪問,允許設(shè)計者在Nios II系統(tǒng)中簡易連接就可以使用CF卡。圖1所示為CF卡接口控制器內(nèi)核的結(jié)構(gòu)框圖。

圖1 CF卡控制器內(nèi)核結(jié)構(gòu)框圖
  該內(nèi)核提供2個Avalon總線從端口.第一個是為了訪問CF設(shè)備內(nèi)部的寄存器組,第二個是為了訪問控制器內(nèi)核內(nèi)部的寄存器文件,CF核提供2個高有效的中斷請求輸出,一個是CF插入或移除的中斷信號,另一個是把設(shè)備上的中斷信號傳送到Avalon主設(shè)備。
  對于CF卡的操作(如:讀/寫),其實就是對CF卡控制器的寄存器進行操作。所以,必須對CF卡的寄存器十分熟悉。這些寄存器統(tǒng)稱為任務(wù)文件(task file)寄存器:
  (1)數(shù)據(jù)寄存器(讀/寫),用于CF卡的讀寫操作。主機通過該寄存器向CF卡數(shù)據(jù)緩沖寫入或從CF卡數(shù)據(jù)緩沖讀出數(shù)據(jù)。
  (2)錯誤寄存器(讀)和特性寄存器(寫) 讀操作時,此寄存器為錯誤寄存器,用于指明錯誤的原因;寫操作時,此寄存器為特性寄存器。
  (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模式)。
  (7)狀態(tài)寄存器(讀)和命令寄存器(寫),在讀操作時,該寄存器是狀態(tài)寄存器,指示CF卡控制器執(zhí)行命令后的狀態(tài),讀狀態(tài)寄存器則返回CF卡的當(dāng)前狀態(tài);在寫操作時,該寄存器是命令寄存器,接收主機發(fā)送給CF卡的控制命令。 [!--empirenews.page--]

3 Nios II處理器與CF卡的硬件接口設(shè)計
  在Altera公司提供的SoPC軟件中對該軟核進行配置時,選用Nios II CPU、內(nèi)部定時器、CF卡接口控制器、SDRAM 控制器、FLASH 存儲器接口、LCD 接口和EPCS4串行配置器件控制器接口。其框圖如圖2所示。


       
    圖2 硬件接口框圖

4 CF卡的接口控制器的軟件操作
  在Nios II系統(tǒng)中,應(yīng)用軟件架構(gòu)在HAL(硬件抽象層)和C標(biāo)準(zhǔn)庫函數(shù)上。在Nios II IDE 中建立新的軟件工程時,IDE會根據(jù)SoPC Builder對系統(tǒng)的硬件配置自動生成一個定制HAL系統(tǒng)庫。這個庫能為程序和底層硬件的通信提供接口驅(qū)動程序,HAL系統(tǒng)庫為CF卡接口控制器內(nèi)核提供了兩組直接訪問設(shè)備寄存器的API函數(shù),其中一個是針對IDE任務(wù)文件(ATA)寄存器的,主要提供了對標(biāo)準(zhǔn)的實IDE模式寄存器的訪問設(shè),另一個是針對CF接口控制寄存器的,主要提供了對電源,復(fù)位,插入或移除檢測和中斷的控制。設(shè)計者只需要調(diào)用這些函數(shù)就可以訪問外部設(shè)備。
  由于CF卡的讀寫是以一個扇區(qū)為基本單位的。在讀寫一個扇區(qū)之前必須先指明當(dāng)前需要讀寫的柱面、頭和扇區(qū)或LBA地址,然后發(fā)送讀寫命令。一個扇區(qū)的512 B需要一次性連續(xù)讀出或?qū)懭?。主機讀/寫CF卡上一個文件的過程是這樣的:
  (1)CF卡檢測。調(diào)用:
IORD_ALTERA_AVALON_CF_CTL_STATUS(CF_CTI_BASE)。
  (2)CF卡內(nèi)部控制器向CF卡某些寄存器填寫必要的信息。如向扇區(qū)號寄存器填寫讀寫數(shù)據(jù)的起始扇區(qū)號或I.BA地址、向扇區(qū)數(shù)寄存器填寫讀寫數(shù)據(jù)所占的扇區(qū)個數(shù)、設(shè)置CF卡的扇區(qū)尋址方式等。調(diào)用:
IOWR_ALTERA_AVALON_CF_IDE_SECTOR_COUNT(CF_IDE_BASE,Sector_cunt);
IOWR_ALTERA_AVALON_CF_IDE_SECTOR_NUMBER(CF_IDE_BASE,Sector_num);
IOWR_ALTERA_AVALON_CF_IDE_CYLINDER_LOW(CF_IDE_BASE,0x00);
IOWR_ALTERA_AVALON_CF_IDE_CYLINDER_HIGH(CF_IDE_BASE,0x00);
IOWR_ALTERA_AVALON_CF_IDE_DEVICE_HEAD(CF_IDE_BASE,0xe0)。
  (3)向CF卡的命令寄存器寫入操作CF卡的命令。如寫操作向CF卡的命令寄存器寫入30H,讀操作向CF卡的命令寄存器寫入20H。調(diào)用:
IOWR_ALTERA_AVALON_CF_IDE_COMMAND(CF_IDE_BASE,0x30);
IOWR_ALTERA_AVALON_CF_IDE_COMMAND(CF_IDE_BASE,0x20)。
  (4)CF卡有數(shù)據(jù)傳輸請求之后,主機讀寫CF卡的數(shù)據(jù)寄存器,從而實現(xiàn)從CF卡數(shù)據(jù)緩沖讀出數(shù)據(jù)或向CF卡數(shù)據(jù)緩沖寫入數(shù)據(jù)。調(diào)用:
IORD_ALTERA_AVAlON_CF_IDE_DATA (CF_IDE_BASE);
IOWR_ALTERA_AVALON_CF_IDE_DATA(CF_IDE_BASE,Data_Write)。
  (5)在執(zhí)行以上操作的過程中,每執(zhí)行一步。都應(yīng)該檢測狀態(tài)寄存器,確定CF卡的當(dāng)前狀態(tài),從而確定下一步應(yīng)該執(zhí)行什么操作(參考狀態(tài)寄存器的BIT位的意義,編寫檢測代碼)。調(diào)用:
IORD_ALTERA_AVALON_CF_IDE_STATUS(CF_IDE_BASE)。
  由于CF卡由ATA控制器和FLASH存儲器2部分構(gòu)成,處理器訪問FLASH存儲器的速度遠遠小于訪問內(nèi)存的速度,如果系統(tǒng)頻繁訪問CF卡,勢必會影響系統(tǒng)的實時性和工作效率。所以必須考慮CF卡讀寫程序的設(shè)計技巧 。根據(jù)存儲器訪問的局部性原理,CPU 存取數(shù)據(jù)所訪問的存儲單元都趨向于聚集在一個較小的連續(xù)區(qū)域。從時間上看,如果一個信息項正在被訪問,那么在近期他很可能還會被再次訪問。從空間上看,在最近將用到的信息很可能與目前正在使用的信息在空間地址上是臨近的。在Nios II硬件系統(tǒng)設(shè)計中,添加了片上的存儲空間,用于存儲最近訪問過的扇區(qū)數(shù)據(jù)。另外還設(shè)置了兩個全局變量:一個保存最近備份的扇區(qū)編號;另一個說明備份數(shù)據(jù)是否與CF卡中的相應(yīng)數(shù)據(jù)一致,如果一致,其值為0,否則為1。這樣不但可以減少讀寫CF卡的次數(shù)。而且提高了訪問速度,通過添加硬件緩沖區(qū),滿足嵌入式操作系統(tǒng)的實時性要求。目前,該設(shè)計已經(jīng)在開發(fā)板上實現(xiàn),運行穩(wěn)定可靠。

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

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

關(guān)鍵字: 阿維塔 塞力斯 華為

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

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

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

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

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

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

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

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

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

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

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

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