• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Flash存儲芯片的文件存儲系統(tǒng)設(shè)計

      2015-12-20 01:10:18
      電子科技 2015年5期
      關(guān)鍵詞:列表指令芯片

      彭 濤

      (西安電子科技大學(xué)電子信息攻防對抗與仿真技術(shù)教育部重點實驗室,陜西西安 710071)

      在多數(shù)數(shù)據(jù)采集系統(tǒng)中,都需要將采集到的數(shù)據(jù)進(jìn)行處理,以文件形式存儲于存儲介質(zhì)中,并且在需要時下載到計算機(jī)上,通過高性能計算機(jī)來分析數(shù)據(jù)。根據(jù)這一需求,本文提供了一套完整的數(shù)據(jù)存儲,下載軟硬件方案;本方案具有自動化程度高,硬件電路簡單等優(yōu)點。系統(tǒng)以Xilinx公司Airtex-7系列FPGA為主控芯片,三星公司的Nand Flash芯片K9NCG08U5M作為文件存儲介質(zhì),Cypress公司的USB微控制器芯片CY7C68013A作為USB橋接芯片實現(xiàn)了數(shù)據(jù)存儲系統(tǒng)與計算機(jī)的通信。

      1 硬件系統(tǒng)介紹

      圖1 硬件方案框圖

      系統(tǒng)硬件框圖如圖1所示。其中,D/C表示數(shù)據(jù)總線與控制總線,USB Cable為普通USB下載線。通過該接口實現(xiàn)存儲系統(tǒng)與計算機(jī)的連接。

      Airtex-7是Xilinx公司推出的FPGA芯片。其高性價比、低功耗,硬件可編程的優(yōu)點,使它成為在電池供電,可擴(kuò)展系統(tǒng)中的首選。方案使用的具體型號為XC7A100T。該芯片具體參數(shù)如下:(1)101 440個邏輯單元,能夠?qū)崿F(xiàn)復(fù)雜的數(shù)字邏輯。(2)4 860 kB的RAM資源可以作為雙端口RAM實現(xiàn)大容量緩存、FIFO。(3)6個時鐘管理模塊,可以實現(xiàn)片上高精度多時鐘域系統(tǒng)。(4)300個可配置IO,可實現(xiàn)多通道數(shù)據(jù)采集。K9NCG08U5M是三星公司推出的Nand Flash存儲芯片,其容量達(dá)到8 GB,能夠滿足大多數(shù)數(shù)據(jù)采集系統(tǒng)的需求。Flash芯片中的數(shù)據(jù)尋址分為片地址,塊地址和頁地址。方案使用的Flash芯片內(nèi)部分為4個片,每一片通過芯片的片選信號使能,片地址需要2 bit實現(xiàn);每一片中有8 192個塊,所以塊地址需要13 bit來實現(xiàn);每一塊中有64頁,所以頁地址需要6 bit來實現(xiàn);所以需要21位地址來確定頁的物理位置。每一頁中可以存儲4 096 Byte數(shù)據(jù),所以整片K9NCG08U5M的容量為8 GB。

      CY7C68013A為Cypress公司推出的高速USB外設(shè)控制器,其內(nèi)部集成了USB 2.0收發(fā)器、智能串行接口引擎和增強(qiáng)型8051微處理器。在本方案中CY7C68013A作為USB橋芯片,被配置為一個異步FIFO來作為存儲系統(tǒng)與計算機(jī)之間的通信接口,其使用簡易方便,大幅簡化了設(shè)計難度。本系統(tǒng)有兩種供電方式:系統(tǒng)供電方式與USB供電方式。在系統(tǒng)進(jìn)行數(shù)據(jù)采集任務(wù)時使用系統(tǒng)供電方式;在使用計算機(jī)訪問文件系統(tǒng)時使用USB供電方式。

      2 文件管理

      系統(tǒng)的文件管理通過在Flash芯片的最后一個片選信號中的最后一個存儲塊中的第一頁建立一個文件列表來實現(xiàn)。文件列表格式如表1所示。

      表1 文件列表存儲格式

      其中文件個數(shù)信息存放在文件列表頁中的前2 Byte中,頁里的其余位置均用于存放文件信息;每一個文件的文件信息占用11 Byte的空間;由于頁大小的限制,本方案支持的文件數(shù)量最大為372個。

      圖2 文件信息存儲格式

      其中,D表示該文件是否被刪除。計算機(jī)讀取文件列表時通過該位判斷該文件是否已被刪除。FileNum:為文件序號,范圍為1~512。SCS/ECS:存放文件存儲起始/結(jié)束地址的片地址,范圍為0~3。SBA/EBA:存放文件存儲起始/結(jié)束地址的塊地址,范圍為0~8 191。SPA/EPA:存放文件存儲起始/結(jié)束地址的頁地址,范圍為0~63。FileSize:存放文件大小,單位為64 kB。

      3 USB指令協(xié)議

      通過向FPGA發(fā)送指令的方式來實現(xiàn)計算機(jī)對文件的訪問。CY7C68013A芯片將這一操作簡化為對異步FIFO的讀寫。當(dāng)計算機(jī)需要發(fā)送指令至FPGA時,F(xiàn)PGA直接從CY7C68013A的異步FIFO中讀取指令;當(dāng)FPGA向計算機(jī)回傳數(shù)據(jù)時,直接將數(shù)據(jù)發(fā)送至CY7C68013A中的異步FIFO中即可。

      USB指令由5 Byte:1 Byte的幀頭,1 Byte的指令,2 Byte的數(shù)據(jù),1 Byte幀尾組成。USB指令包括:請求文件列表指令,下載文件指令,刪除文件指令,格式化指令等。

      3.1 請求文件列表指令

      請求文件列表指令格式如圖3所示。

      圖3 請求文件列表指令格式

      當(dāng)FPGA接收到來自計算機(jī)的指令碼0x01時,將文件列表回傳至計算機(jī),回傳數(shù)據(jù)格式如圖4所示。

      圖4 文件列表回傳格式

      其中文件個數(shù)為文件列表中的文件個數(shù),數(shù)值等于文件列表中的前2 Byte;每個文件信息由5 Byte組成,其中文件序號2 Byte,文件大小3 Byte,所以文件信息字段的大小為文件個數(shù)乘以5。

      3.2 下載文件指令

      下載文件指令格式如圖5所示。

      圖5 下載文件指令格式

      當(dāng)FPGA接收到來自計算機(jī)的指令碼0x02時,將緩存文件序號字段,并且將字段與對應(yīng)文件的數(shù)據(jù)回傳至計算機(jī);回傳數(shù)據(jù)格式如圖6所示。

      圖6 文件數(shù)據(jù)回傳格式

      刪除文件指令的指令碼為0x03,格式化指令的指令碼為0x04,其余字段與上述類似。

      4 FPGA邏輯設(shè)計

      系統(tǒng)FPGA邏輯包括5個模塊:數(shù)據(jù)緩存模塊,控制器模塊,壞塊列表管理模塊,USB管理模塊,F(xiàn)lash管理模塊。如圖7所示,控制器模塊為系統(tǒng)中的控制中心與其他幾個模塊交互。

      圖7 FPGA邏輯框圖

      4.1 數(shù)據(jù)緩存模塊

      當(dāng)系統(tǒng)工作在采集模式時,前端采集的數(shù)據(jù)緩存于本模塊。本模塊中例化了128 kB的雙口RAM作為數(shù)據(jù)緩存,以64 kB為單位做乒乓操作。當(dāng)?shù)偷刂房臻g64 kB存時,向控制器模塊發(fā)送存儲請求信號,并等待數(shù)據(jù)存儲,當(dāng)?shù)?4 kB成功存入Flash后,等待高地址空間64 kB存滿,存滿后再次向控制器模塊發(fā)送存儲請求信號,并等待數(shù)據(jù)存儲;依次重復(fù)工作。

      4.2 USB管理模塊

      USB管理模塊主要功能是與外部USB芯片通信,并且確定當(dāng)前系統(tǒng)工作模式。當(dāng)使用USB供電方式時為USB模式,否則為采集存儲模式。外部USB芯片配置為異步FIFO,計算機(jī)發(fā)送的指令將寫入此FIFO中,USB管理模塊從此FIFO中讀取該指令并將其發(fā)送至控制器模塊,控制器譯碼該指令后做出相應(yīng)響應(yīng)。

      4.3 Flash管理模塊

      閃存管理模塊主要實現(xiàn)了與外部閃存芯片接口的交互,以及接收并執(zhí)行來自控制器模塊的讀寫指令??刂破髂K發(fā)送來的指令格式如圖8所示。

      圖8 Flash指令格式

      其中,CMD:讀寫指令,00表示讀指令,01表示寫指令。STCS:起始片地址,8 GB容量Flash片地址范圍為00~11,對應(yīng)片地址譯碼為1110~0111。STBLK:起始塊地址,每個片地址下有8 192個塊,對應(yīng)13位塊地址。STPG:起始頁地址,每個Flash塊中有64頁,對應(yīng)6位頁地址。EDCS,EDBLK,EDPG:分別對應(yīng)結(jié)束片地址,塊地址,頁地址。

      4.4 壞塊管理模塊

      Flash芯片在出廠時,內(nèi)部就會有一些無法正常讀寫的壞塊,在對Flash進(jìn)行讀寫操作時,需要跳過這些壞塊。壞塊管理模塊的主要功能,就是給控制器模塊和Flash管理模塊提供了查詢板上Flash芯片的壞塊地址的接口,其中包含了一個16 bit×32的ROM,支持的最大壞塊數(shù)為32個。

      4.5 控制器模塊

      控制器模塊主要實現(xiàn)了存儲數(shù)據(jù)的文件管理,接收并譯碼來自USB模塊的指令,并作出響應(yīng)。發(fā)送指令至Flash管理模塊,讀寫外部Flash芯片,以及接收來自數(shù)據(jù)緩存模塊的數(shù)據(jù)。

      控制器模塊實現(xiàn)了簡易文件列表系統(tǒng),能夠?qū)崿F(xiàn)文件的寫入、刪除、下載和格式化等功能,并在模塊內(nèi)部建立映射文件列表的RAM。每次上電初始化時,先將Flash中存入的文件列表加載到內(nèi)部RAM中,以便后續(xù)對文件列表操作。對文件列表進(jìn)行操作時,先修改模塊內(nèi)部RAM數(shù)據(jù),再在需要時發(fā)送Flash寫指令至Flash管理模塊,將文件列表寫入Flash中文件列表所分配的固定位置。控制器模塊中的狀態(tài)轉(zhuǎn)移圖如圖9所示。

      圖9 控制器狀態(tài)轉(zhuǎn)移圖

      其中 LoadFileList、LoadInfo、ModeSelect、UpdataFileList的4個狀態(tài)為初始化狀態(tài)。系統(tǒng)上電后,首先將文件列表讀入內(nèi)部RAM中,并且將文件列表中攜帶的一些關(guān)鍵信息加載到系統(tǒng)內(nèi)部寄存器中;然后根據(jù)USB管理模塊反饋的信息來確定目前的工作模式。若工作在USB模式則直接跳轉(zhuǎn)至Parsing狀態(tài);相反則跳轉(zhuǎn)至UpdataFileList狀態(tài),建立新文件的文件信息,隨后進(jìn)入Parsing狀態(tài)等待數(shù)據(jù)緩存模塊的數(shù)據(jù)。

      在數(shù)據(jù)采集模式下,當(dāng)數(shù)據(jù)緩存模塊的數(shù)據(jù)已準(zhǔn)備好時進(jìn)入BadBlockSkip狀態(tài),跳過壞塊管理模塊中的壞塊,保證寫入數(shù)據(jù)的存儲塊為好的存儲塊;并將新文件列表信息寫入RAM中,然后將更新的文件列表回寫至Flash,最后將數(shù)據(jù)緩存模塊中的數(shù)據(jù)寫入Flash中的對應(yīng)位置并完成一次寫入操作。數(shù)據(jù)寫完成后回到Parsing狀態(tài)等待下一次數(shù)據(jù)寫入。

      在USB工作模式下,控制器將依次完成指令譯碼與指令執(zhí)行,等待下一個指令到來。

      5 結(jié)束語

      本文介紹的這種文件存儲系統(tǒng)適用于大多數(shù)情況?;贔PGA多端口的特點,本方案可以用于多通道的數(shù)據(jù)采集任務(wù),避免了使用額外芯片管理文件的問題。

      [1]Xilinx.7 Series FPGAs configuration user guide[M].USA:Xilinx,2013.

      [2]Xilinx.7 Series FPGAs clocking resources user guide[M].USA:Xilinx,2014.

      [3]潘松.EDA技術(shù)使用教程[M].北京:科學(xué)出版社,2007.

      [4]Bhasker J.Static timing analysis for nanometer designs[M].USA:Springer,2009

      [5]Xilinx.PLBV46 Slave Single[M].USA:Xilinx,2008.

      [6]李志敏.USB虛擬串口通信實現(xiàn)[J].電子科技,2014,27(3):120-122.

      [7]張文強(qiáng).基于 CY7C68013單片機(jī) USB接口[J].制作天地,2010(2):19-24.

      [8]張勝勇.基于FPGA的NAND Flash壞塊處理方法[J].計算機(jī)工程,2010(6):239-243.

      [9]李慶誠.基于NAND型閃存的嵌入式文件系統(tǒng)設(shè)計[J].計算機(jī)應(yīng)用研究,2006(4):231-239.

      [10]陳育智.嵌入式系統(tǒng)中的Flash文件系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002(1):19-22.

      猜你喜歡
      列表指令芯片
      巧用列表來推理
      聽我指令:大催眠術(shù)
      學(xué)習(xí)運用列表法
      擴(kuò)列吧
      ARINC661顯控指令快速驗證方法
      LED照明產(chǎn)品歐盟ErP指令要求解讀
      電子測試(2018年18期)2018-11-14 02:30:34
      芯片測試
      多通道采樣芯片ADS8556在光伏并網(wǎng)中的應(yīng)用
      不含3-圈的1-平面圖的列表邊染色與列表全染色
      坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
      拉萨市| 闸北区| 潮州市| 巴楚县| 阜新市| 周至县| 秦皇岛市| 寿阳县| 石棉县| 天气| 吉木乃县| 平安县| 昔阳县| 宁化县| 老河口市| 甘洛县| 天津市| 临夏市| 长兴县| 台南市| 温州市| 江川县| 宁乡县| 德钦县| 卢湾区| 长宁县| 嘉善县| 理塘县| 遂溪县| 惠东县| 元氏县| 当涂县| 布尔津县| 长寿区| 桦南县| 济宁市| 巴彦淖尔市| 进贤县| 湖南省| 瑞丽市| 垫江县|