1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>用PDIUSBD12和K9F5608U0A設計USB移動閃存

    用PDIUSBD12和K9F5608U0A設計USB移動閃存

    時間:2023-02-20 22:38:42 電子通信論文 我要投稿
    • 相關推薦

    用PDIUSBD12和K9F5608U0A設計USB移動閃存

      摘要:簡要介紹USB(通用串行總線)大容量存儲設備類,給出USB控制PDIUSBD12和閃存K9F5608U0A的原理框圖,并以這兩個芯片為例設計出存儲設備的電路圖,最后列出程序流程圖。
      
      關鍵詞:USBPDIUSBD12K9F5608U0A移動閃存
      
      引言
      
      自從USB規范發布以來,短短的幾年中得到了極大的發展,基于USB接口的大容量存儲設備(USBMassStorage)應運而生。這類設備主要有:USB移動硬盤、USB外置光驅、USB外置軟驅、USB閃存盤等。但是目前國內介紹這一方面開發的文章并不多。結合作者實踐,本文將以Philips公司的USB控制器PDIUSBD12和Sumsung公司的內存(Flash)K9F5608U0A為例,介紹開發大容量存儲設備的方法。
      
      1USB大容量存儲設備類
      
      USB大容量存儲設備類規范包括四個獨立的子類規范,即:①USBMassStorgageClassControl/Bulk/Interrupt(CBI)Transport;②USBMassStorageClassBulk-OnlyTransport;③USBMassStorageClassATACommandBlock;④USBMassStroageClassUFICommandSpecification.前兩個子規范定義了數據/命令/狀態在USB上的傳輸方法。Bulk-Only傳輸規范僅僅使用Bulk端點傳送數據/命令/狀態,CBI傳輸規范則使用Control/Bulk/Interrupt三種類型的端點進行數據/命令/狀態傳送。后兩個子規范定義了對存儲介質的操作命令。UFI命令規范是針對USB移動存儲而制定的,實際上UFI命令格式是基于SFF-8070i和SCSI-2規范,總共定義了19個12字節長度的操作命令。
      
      批量單獨傳輸在大部分的通信中使用批量傳輸,只有在批量端點上清除一個Stall狀況,以及傳送類別特定請求(class-specificrequest)時才使用控制傳輸。需要注意的是,批量單獨傳輸還支持兩個特定的請求是:
      
      *BulkOnlyMassStorageReset——重置設備;
      
      *GetMaxLun——取得設備支持的邏輯單元數目。
      
      大容量存儲類支持的設備都有不同的內部結構,控制與讀取不同設備需要使用不同的命令區塊群。
      
      2器件簡介
      
      2.1USB控制器PDIUSBD12
      
      PDIUSBD12是一個全速芯片,支持一個控制端點,以及四個額外的端點地址,一個端點的地址可以存儲128個字節,而雙緩沖區可以存256個字節。該芯片完全由軟件控制,在外圍設備的CPU送來一個命令來仿真連接總線之前,芯片都是維持與主機分離的狀態。這樣才能保證在開機后搜尋設備前,芯片有時間來初始化。另外,PDIUSBD12有一個狀態輸出可以連接到液晶顯示器上,在建立USB連接時亮燈,而數據傳輸時閃爍。PDIUSBD12引腳圖和邏輯框圖分別如圖1、2所示。
      
      2.2K9F5608U0A
      
      K9F5608U0A是三星公司生產的K9XXXXXU0A系列閃存中的一種,32MB容量,讀寫速度快,數據保存時間長以及高達10萬次的擦除寫入壽命等優點。該芯片具有一個八位的I/O端口。在CE為低電平時,把WE置低,地址、命令和數據都可通過該端口寫入。數據在WE的上升沿被鎖存,CLE和ALE分別用來控制對命令和地址的鎖存。同進K9F5608U0A具有較強的糾錯功能,能夠最大限度地保護用戶數據。其內部框圖和引腳圖分別如圖3、4所示。
      
      各引腳功能如下:
      
      I/O0——I/O7——數據輸入/輸出;
      
      CLE——命令鎖存使能;
      
      ALE——地址鎖存使能;
      
      CE——片選信號;
      
      WE——寫使能;
      
      WP——定保護;
      
      GND——地輸入使能額外位;
      
      R/B——準備好/忙;
      
      VCC——電源;
      
      VSS——地;
      
      NC——懸空。
      
      3硬件電路設計
      
      USB大容量存儲設備通常使用一個USB接口引擎和MCU(微控制器)一起處理主機發送的命令,以及對存儲設備進行操作。圖5顯示了一個USB大容量存儲設備通常采用的硬件結構。ROM和RAM分別用于存儲數據和程序,USB微控制器通過通用I/O線與閃存設備連接。微控制器除了實現與主機之間的數據/命令傳輸外,還需要根據主機的命令對閃存器件并行讀/寫/格式化,實現邏輯扇區與物理扇區之間的轉換及數據錯誤校正等操作。
      
      實例簡圖如圖6所示。MCU采用內含ROM和RAM的微控制器8051,8051通過數據總線和控制總線與兩個外設進行通信。PDIUSBD12通過8051和K9F5608U0A進行數據傳輸,此處采用PDIUSBD12的并行傳輸方式。
      
      4軟件編寫
      
      USB微控制器除了傳輸處理及UFI命令處理等工作外,還需要處理如存儲介質的尋址/格式化/數據校驗等操作。本例中所需要的基本操作包括:
      
      ①提供USB枚舉信息;
      
      ②USB傳輸管理;
      
      ③根據主機的UFI命令,進行相應的處理;
      
      ④提供閃盤基本信息,如扇區大小、簇大小、閃盤容量等;
      
      ⑤邏輯簇(logicalcluster)到物理塊(physicalblock)的轉換;
      
      ⑥物理塊的讀/寫/更新,其中許多的軟件功能是與閃存的操作相關的。
      
      圖6
      
      本例中用到的傳輸協議為USBMassStorageClassBulk-OnlyTransport和USBMassStorageClassUFICommandSpecification.程序流程圖如圖7所示。源代碼見網站。
      
      圖7
      
      5結論
      
      本文結合實例,給出了一種開發USB移動存儲設備的方法。由于USB移動存儲設備具有使用方便、容量大、數據傳輸速度快等優點,因而具有廣闊的高層前景。

    【用PDIUSBD12和K9F5608U0A設計USB移動閃存】相關文章:

    采用PDIUSBD12的USB系統固件程序設計08-06

    USB OTG設計04-12

    USB On—The-Go在移動領域中的應用04-12

    基于DSP平臺的USB接口設計08-06

    TM1300 PCI-XIO口的UART和USB接口設計04-12

    基于USB接口的數據采集系統設計08-06

    帶USB接口的電子巡更系統的設計08-06

    USB連接技術在測量和控制中的應用08-06

    基于USB的CAN總線適配器設計08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      中文字幕欧美aⅴ字幕 | 日本玖玖资源在线 | 亚洲男人的天堂在线va拉文 | 亚洲aⅴ日韩电影在线观看 午夜成午夜成年片在线观看bd | 一区二区三区在线观看视频 | 亚洲第一天堂国产丝袜熟女 |