www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

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

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

圖1 CF卡控制器內(nèi)核結(jié)構(gòu)框圖
  該內(nèi)核提供2個(gè)Avalon總線從端口.第一個(gè)是為了訪問(wèn)CF設(shè)備內(nèi)部的寄存器組,第二個(gè)是為了訪問(wèn)控制器內(nèi)核內(nèi)部的寄存器文件,CF核提供2個(gè)高有效的中斷請(qǐng)求輸出,一個(gè)是CF插入或移除的中斷信號(hào),另一個(gè)是把設(shè)備上的中斷信號(hào)傳送到Avalon主設(shè)備。
  對(duì)于CF卡的操作(如:讀/寫),其實(shí)就是對(duì)CF卡控制器的寄存器進(jìn)行操作。所以,必須對(duì)CF卡的寄存器十分熟悉。這些寄存器統(tǒng)稱為任務(wù)文件(task file)寄存器:
  (1)數(shù)據(jù)寄存器(讀/寫),用于CF卡的讀寫操作。主機(jī)通過(guò)該寄存器向CF卡數(shù)據(jù)緩沖寫入或從CF卡數(shù)據(jù)緩沖讀出數(shù)據(jù)。
  (2)錯(cuò)誤寄存器(讀)和特性寄存器(寫) 讀操作時(shí),此寄存器為錯(cuò)誤寄存器,用于指明錯(cuò)誤的原因;寫操作時(shí),此寄存器為特性寄存器。
  (3)扇區(qū)數(shù)寄存器(讀/寫)。用來(lái)記錄讀、寫扇區(qū)的數(shù)目。
  (4)扇區(qū)號(hào)寄存器(讀/寫),用來(lái)記錄讀、寫和校驗(yàn)命令指定的起始扇區(qū)號(hào)或邏輯塊地址(LBA)的BIT7:0。
  (5)柱面號(hào)寄存器(讀/寫),用來(lái)記錄讀、寫、校驗(yàn)和尋址命令指定的柱面號(hào)或LBA的BIT23:8。
  (6)驅(qū)動(dòng)器/磁頭寄存器(讀/寫),記錄讀、寫、校驗(yàn)和尋道命令指定的驅(qū)動(dòng)器號(hào)、磁頭號(hào)或LBA的BIT27:24,其中BIT6(LBA)用來(lái)設(shè)置CF卡扇區(qū)的尋址方式(LBA=0,采用CHS模式;LBA=1。采用LBA模式)。
  (7)狀態(tài)寄存器(讀)和命令寄存器(寫),在讀操作時(shí),該寄存器是狀態(tài)寄存器,指示CF卡控制器執(zhí)行命令后的狀態(tài),讀狀態(tài)寄存器則返回CF卡的當(dāng)前狀態(tài);在寫操作時(shí),該寄存器是命令寄存器,接收主機(jī)發(fā)送給CF卡的控制命令。 [!--empirenews.page--]

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


       
    圖2 硬件接口框圖

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

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

云頂新耀宣布其合作伙伴Providence Therapeutics Holdings Inc.的mRNA新冠候選疫苗PTX-COVID19-B在評(píng)估其安全性、耐受性和免疫原性的II期研究中取得了積極的頂線結(jié)果。云頂新耀...

關(guān)鍵字: VI OV IDE CE

為增進(jìn)大家對(duì)控制器的認(rèn)識(shí),本文將對(duì)影響控制器可靠性的因素以及控制器的常見(jiàn)故障和維修方法予以介紹。

關(guān)鍵字: 控制器 指數(shù) 集成電路

為增進(jìn)大家對(duì)控制器的認(rèn)識(shí),本文將對(duì)溫度控制器的分類以及溫度控制器的功能予以介紹。

關(guān)鍵字: 溫度控制器 指數(shù) 控制器

為增進(jìn)大家對(duì)控制器的認(rèn)識(shí),本文將對(duì)控制器結(jié)構(gòu)類異常以及常見(jiàn)的幾種電機(jī)控制器予以介紹。

關(guān)鍵字: 控制器 指數(shù) 電機(jī)

深圳2022年10月8日 /美通社/ -- 日前,TUV南德受邀參與亞馬遜全球個(gè)人防護(hù)設(shè)備(PPE)合規(guī)管理線上峰會(huì),為企業(yè)分享歐盟、英國(guó)、美國(guó)及日本的個(gè)人防護(hù)設(shè)備...

關(guān)鍵字: 亞馬遜 防護(hù) BSP NIOS

一直以來(lái),MCU微控制器都是大家的關(guān)注焦點(diǎn)之一。因此針對(duì)大家的興趣點(diǎn)所在,小編將為大家?guī)?lái)MCU微控制器的相關(guān)介紹,詳細(xì)內(nèi)容請(qǐng)看下文。

關(guān)鍵字: MCU 微控制器 控制器

pwm控制器將是下述內(nèi)容的主要介紹對(duì)象,通過(guò)這篇文章,小編希望大家可以對(duì)pwm控制器的相關(guān)情況以及信息有所認(rèn)識(shí)和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: pwm 控制器 mppt

在這篇文章中,小編將對(duì)運(yùn)動(dòng)控制器的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對(duì)運(yùn)動(dòng)控制器的了解程度,和小編一起來(lái)閱讀以下內(nèi)容吧。

關(guān)鍵字: 運(yùn)動(dòng)控制系統(tǒng) 運(yùn)動(dòng)控制器 控制器

上海2022年9月23日 /美通社/ -- 富士膠片株式會(huì)社榮譽(yù)宣布,在由美國(guó)工業(yè)設(shè)計(jì)師協(xié)會(huì)(IDSA)主辦的設(shè)計(jì)大獎(jiǎng)、2022國(guó)際設(shè)計(jì)卓越獎(jiǎng)"IDEA獎(jiǎng)"(International Design...

關(guān)鍵字: EMI IDE 富士 變焦

旗芯微近日發(fā)布了最新一代Hyper控制器家族產(chǎn)品,全系列對(duì)標(biāo)英飛凌 TC家族控制器,覆蓋智能底盤、功能安全控制器、域控制器等應(yīng)用領(lǐng)域。超融合HPU(Hyper Processing Unit)FC7300系列芯片的性能媲...

關(guān)鍵字: 嵌入式 控制器

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉