精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于USB控制器和FLASH存儲器實現USB移動存儲設備的系統設計

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:董鮮宏,許洪光,林 ? 2020-05-25 08:03 ? 次閱讀

引言

自從USB規范發布以來,短短的幾年中得到了極大的發展,基于USB接口的大容量存儲設備(USB Mass Storage)應運而生。這類設備主要有:USB移動硬盤、USB外置光驅、USB外置軟驅、USB閃存盤等。但是目前國內介紹這一方面開發的文章并不多。結合作者實踐,本文將以Philips公司的USB控制器PDIUSBD12和Sumsung公司的閃存(Flash)K9F5608U0A為例,介紹開發大容量存儲設備的方法。

1、USB大容量存儲設備類

USB大容量存儲設備類規范包括四個獨立的子類規范,即:①USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport;②USB Mass Storage Class Bulk-Only Transport;③USB Mass Storage Class ATA Command Block; ④USB Mass Storage Class UFI Command Specification。前兩個子規范定義了數據/命令/狀態在USB上的傳輸方法。Bulk-Only傳輸規范僅僅使用Bulk端點傳送數據/命令/狀態,CBI傳輸規范則使用Control/Bulk/Interrupt三種類型的端點進行數據/命令/狀態傳送。后兩個子規范定義了對存儲介質的操作命令。UFI命令規范是針對USB移動存儲而制定的,實際上UFI命令格式是基于SFF-8070i和SCSI-2規范,總共定義了19個12字節長度的操作命令。

批量單獨傳輸在大部分的通信中使用批量傳輸,只有在批量端點上清除一個Stall狀況,以及傳送類別特定請求(class-specific request)時才使用控制傳輸。需要注意的是,批量單獨傳輸還支持兩個特定的請求是:

◆ Bulk Only Mass Storage Reset——重置設備;

◆ Get Max Lun——取得設備支持的邏輯單元數目。

大容量存儲類支持的設備都有不同的內部結構,控制與讀取不同設備需要使用不同的命令區塊群。表1列出大部分常用命令區塊群命令的結構。

表1 大部分常用的命令結構

基于USB控制器和FLASH存儲器實現USB移動存儲設備的系統設計

2、器件簡介

2.1 USB控制器PDIUSBD12

PDIUSBD12是一個全速芯片,支持一個控制端點,以及四個額外的端點地址,一個端點的地址可以存儲到128個字節,而雙緩沖區可以存到256個字節。該芯片完全由軟件控制,在外圍設備的CPU送來一個命令來仿真連接總線之前,芯片都是維持與主機分離的狀態。這樣才能保證在開機后搜尋設備前,芯片有時間來初始化。另外,PDIUSBD12有一個狀態輸出可以連接到液晶顯示器上,在建立USB連接時亮燈,而數據傳輸時閃爍。PDIUSBD12引腳圖和邏輯框圖分別如圖1、2所示。

圖1 PDIUSBD12引腳圖

圖2 PDIUSBD12邏輯框圖

2.2 K9F5608U0A

K9F5608U0A是三星公司生產的K9XXXXXU0A系列閃存中的一種,32MB容量,讀寫速度快,數據保存時間長以及高達10萬次的擦除寫入壽命等優點。該芯片具有一個八位的I/O端口。在為低電平時,把置低,地址、命令和數據都可通過該端口寫入。數據在的上升沿被鎖存,CLE和ALE分別用來控制對命令和地址的鎖存。同時K9F5608U0A具有較強的糾錯功能,能夠最大限度地保護用戶數據。其內部框圖和引腳圖分別如圖3、4所示。

圖3 K9F5608U0A內部框圖

圖4 K9F5608U0A引腳圖

各引腳功能如下:

I/O0 ~ I/O7——數據輸入/輸出;

CLE——命令鎖存使能;

ALE——地址鎖存使能;

——片選信號;

——寫使能;

——寫保護;

GND——地輸入使能額外位;

R/B——準備好/忙;

VCC——電源;

VSS——地;

NC——懸空。

3、硬件電路設計

USB大容量存儲設備通常使用一個USB接口引擎和MCU微控制器)一起處理主機發送的命令,以及對存儲設備進行操作。圖5顯示了一個USB大容量存儲設備通常采用的硬件結構。ROMRAM分別用于存儲數據和程序, USB微控制器通過通用I/O線與閃存設備連接。微控制器除了實現與主機之間的數據/命令傳輸外,還需要根據主機的命令對閃存器件進行讀/寫/格式化,實現邏輯扇區與物理扇區之間的轉換及數據錯誤校正等操作。

圖5 USB大容量存儲設備硬件結構框圖

實例簡圖如圖6所示。MCU采用內含ROM和RAM的微控制器8051,8051通過數據總線和控制總線與兩個外設進行通信。PDIUSBD12通過8051和K9F5608U0A進行數據傳輸,此處采用PDIUSBD12的并行傳輸方式。

圖6 USB大容量存儲設備硬件結構實例簡圖

4、軟件編寫

USB微控制器除了傳輸處理及UFI命令處理等工作外,還需要處理如存儲介質的尋址/格式化/數據校驗等操作。本例中所需要的基本操作包括:

① 提供USB枚舉信息;

② USB傳輸管理;

③ 根據主機的UFI命令,進行相應的處理;

④ 提供閃盤基本信息,如扇區大小、簇大小、閃盤容量等;

⑤ 邏輯簇(logical cluster)到物理塊(physical block)的轉換;

⑥ 物理塊的讀/寫/更新,其中許多的軟件功能是與閃存的操作相關的。

本例中用到的傳輸協議為USB Mass Storage Class Bulk-Only Transport和USB Mass Storage Class UFI Command Specification。總程序流程圖如圖7所示。

圖7 程序流程圖

5、結論

本文結合實例,給出了一種開發USB移動存儲設備的方法。由于USB移動存儲設備具有使用方便、容量大、數據傳輸速度快等優點,因而具有廣闊的市場前景。

責任編輯:gt


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16204

    瀏覽量

    177420
  • 存儲器
    +關注

    關注

    38

    文章

    7453

    瀏覽量

    163608
  • usb
    usb
    +關注

    關注

    60

    文章

    7897

    瀏覽量

    264000
收藏 人收藏

    評論

    相關推薦

    求助 數據存儲器 FLASH程序存儲器 FLASH數據存儲器的區別

    數據存儲器 FLASH程序存儲器 FLASH數據存儲器 片內RAM數據存儲器16M字節外部數據
    發表于 11-29 09:50

    基于USB接口的移動存儲設備構建微型操作系統

    供對主板、顯卡、網卡、聲卡、存儲器USB 設備等驅動的支持。由于是移動系統,面臨硬件平臺多樣性的問題,所以需要將一些常用基本驅動和
    發表于 06-10 05:00

    基于FPGA的USB2.0控制器設計

    /A。1 控制器結構原理USB2.0控制器結構框圖如圖2所示。控制器主要由兩個部分組成,其一為與外設的接口,另一個是內部協議層邏輯PL(Protocol Layer)。內部
    發表于 06-29 07:30

    基于USB移動存儲的鋼絲繩探傷報警系統設計

    針對鋼絲繩探傷檢測中的數據存儲,提出了一種用單片機實現USB 移動存儲控制的方案。設計了一個
    發表于 08-06 10:15 ?15次下載

    PowerPC 60x總線的存儲器控制器的設計與實現

    章介紹了PowerPC 60x 處理的總線接口和操作,詳細闡述了60x 總線存儲器 控制器在CPLD 上的設計與實現過程。此存儲器
    發表于 08-26 10:38 ?58次下載

    LM3S 系列微控制器Flash 存儲器應用

    LM3S 系列微控制器Flash 存儲器應用 在眾多的單片機中都集成了 Flash 存儲器系統
    發表于 03-27 15:29 ?48次下載

    LM3S 系列微控制器Flash 存儲器應用

    LM3S 系列微控制器Flash 存儲器應用
    發表于 07-23 17:07 ?43次下載

    Flash存儲器的內建自測試設計

    內建自測試是一種有效的測試存儲器的方法。分析了NOR型flash存儲器的故障模型和測試存儲器的測試算法,在此基礎上,設計了flash
    發表于 07-31 17:08 ?35次下載

    Symwave推出USB 3.0 RAID存儲控制器

    Symwave推出USB 3.0 RAID存儲控制器 Symwave(芯微科技)宣布,SW6318現在已經可以立即供貨,SW6318為單芯片USB 3.0到雙SATA
    發表于 12-29 17:40 ?1255次閱讀

    Flash存儲器概述

      Flash 存儲器的簡介   在眾多的單片機中都集成了 Flash 存儲器系統,該存儲器
    發表于 11-11 18:25 ?4942次閱讀
    <b class='flag-5'>Flash</b><b class='flag-5'>存儲器</b>概述

    快閃存儲器控制器選擇技巧

    現代快閃存儲器控制器中的磨損平衡技術已經有顯著進步,能夠克服快閃存儲器儲存介質固有的弱點,并幫助發揮出快閃存儲器的優勢。對于現代快閃存儲器
    發表于 03-07 09:45 ?1399次閱讀

    基于USB海量存儲設備實現FLASH數據采集和存儲系統的設計

    基于USB的海量存儲USB Mass Storage)設備功能在ARM嵌入式系統中設計和應用。使用該
    的頭像 發表于 05-20 07:49 ?1878次閱讀
    基于<b class='flag-5'>USB</b>海量<b class='flag-5'>存儲</b><b class='flag-5'>設備</b><b class='flag-5'>實現</b><b class='flag-5'>FLASH</b>數據采集和<b class='flag-5'>存儲系統</b>的設計

    瑞薩科技Flash存儲器控制器,可為工業應用實現200MHz等功能

    瑞薩科技公司宣布推出SH7216系列32-位片上Flash存儲器控制器Flash控制器)。這個系列是32位SuperH RISC系列的
    發表于 08-30 09:59 ?754次閱讀

    盤點芯邦科技存儲主控芯片 USB控制器芯片 SD卡控制器芯片

    盤點芯邦科技存儲主控芯片 USB控制器芯片 SD卡控制器芯片 存儲主控芯片是一種集成電路芯片,用于控制
    的頭像 發表于 10-25 12:43 ?2624次閱讀
    盤點芯邦科技<b class='flag-5'>存儲</b>主控芯片 <b class='flag-5'>USB</b><b class='flag-5'>控制器</b>芯片 SD卡<b class='flag-5'>控制器</b>芯片

    控制器內部的存儲器有哪些

    控制器(MCU)內部的存儲器是微控制器系統的重要組成部分,它負責存儲程序代碼、數據以及控制邏輯
    的頭像 發表于 08-22 10:41 ?667次閱讀