在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

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

電子設計 ? 來源:現代電子技術 ? 作者:童耀南 , 吳光敏 ? 2020-05-20 07:49 ? 次閱讀

技術發展到今天的信息時代,數據的存儲和傳輸在嵌入式系統有了越來越重要的地位。而USB是目前設計成熟、應用廣泛且使用極為簡捷的技術,USB傳輸是一種高效方便的數據傳輸方式。基于上述原因,本文重點論述基于USB的海量存儲(USB Mass Storage)設備功能在ARM嵌入式系統中設計和應用。使用該設備功能,上位機可以像讀寫普通U盤一樣對于系統采集并存儲在FLASH中的數據進行讀寫。

1、 硬件方案

1.1 器件簡介

S3C44B0X是SAMSUNG公司出品的基于ARM7TDMI內核的RISC微處理器,8 kB指令和數據共享的緩存,主頻可達66 MHz,可以運行16位的Thumb指令和32位的ARM指令,且接口豐富,具有通用性。

K9F2808U0C是SAMSUNG公司生產的一款Nand型閃存芯片,容量為16 MB,讀寫速度快,數據保存時間長,可擦寫10萬次,在嵌入式系統中有著廣泛的應用,主要是負責數據存儲。

PDIUSBDl2是PHILIPS公司生產的帶有并行總線和局部DMA傳輸能力的全速USB接口芯片,符合USB1.1版規范,可以與任何外部MCU/MPU實現并行接口,傳輸速度可達2 MB/s。該USB芯片有1個控制端點和2個普通端點。

1.2 硬件連接圖

硬件連接如圖1所示。在該系統中,FLASH芯片K9F2808U0C負責嵌入式系統中的數據存儲;處理器S3C44B0X執行底層固件代碼;USB接口芯片PDIUS-BDl2負責設備與上位機的通訊。這樣系統采集并存儲在閃存芯片中的數據便可以通過USB接口傳輸到上位機。

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

2、 軟件實現

要實現實驗系統與上位機的USB通訊,首先要正確設計PDIUSBD12的底層固件程序。而要實現系統的海量存儲設備功能,還要有FLASH的讀寫操作代碼和實現海量存儲設備類規范的代碼。下面從這3個方面來分析。軟件開發環境為ARM公司的ADS1.2,USB監控和測試軟件為BUS Hound。

2.1 PDIUSBD12固件編程

PDIUSBDl2固件結構和數據流向如圖2所示。結構圖中的硬件提取層是固件中的最底層代碼,負責對處理器與PDIUSBDl2相連接的I/O口進行操作,以通知PDI-USBD12接下來處理器將對其進行命令操作或是數據操作。而命令接口層是基于硬件提取層的一套對PDIUS-BDl2進行操作的子程序,可以方便上層程序的編寫。

當PDIUSBD12向處理器發出中斷請求時,處理器讀取中斷寄存器,根據中斷源調用相應的中斷服務處理程序,中斷服務處理程序設置相應的事件標志,如果有數據傳輸并作相應的數據處理。根據USB協議[4],控制端點0用來負責設備的枚舉,如獲取設備各種描述符、設置地址、獲取海量存儲設備的邏輯單元數目和復位設備等操作。這些操作是通過中斷和主循環共同完成的。這里端點1未用到,可以忽略其中斷。端點2是主端點,用作Bulk-Only傳輸。在端點2的中斷處理程序中實現Bulk-Only傳輸及命令解析和執行。

其中,中斷服務處理程序與主循環通過一個名為ControlData的結構體變量進行通訊。主循環初始化I/O口、事件標志bUSBFlags、建立包數據緩沖區、定時器和中斷,重新連接USB總線后進入一個無限循環,當該循環輪詢到某事件標志被置位時便進行相應的處理。特別是在設備枚舉中當建立標志被置位時,根據設備請求的類型域ControlData,DeviceRequest,bmRequestType來確定是標準設備請求、廠商設備請求還是類型設備請求,再根據請求類型進行相應的調用。

2.2 K9F2808U0C讀寫操作

K9F2808U0C共有1 024塊,每塊32頁,每頁528 B,其中512 B用于存放數據,另外16 B用于存放信息,如塊的好壞標記、塊邏輯地址和ECC校驗和等。FLASH讀寫有其自身的特點,讀寫都以頁為單位,可以隨機讀,但無法隨機寫,寫操作前必須把寫單元所在的塊擦除。因此,對于該閃存的讀操作可以采取直接讀取來處理;而對于寫操作,則通過設置塊 緩沖來解決,以減輕系統的任務和對FLASH的擦除次數。寫操作的基本思想是:設置一個塊緩沖區,待寫數據先寫入緩沖區對應的頁地址,當緩沖區中待寫數據的頁地址到達31或者頁地址未滿31但傳輸已經結束時,先將目標塊中待寫頁以外的有關數據保存到緩沖區對應的頁地址,然后擦除整塊,最后將緩沖區的數據拷貝到該塊。寫操作流程如圖3所示。

2.3 海量存儲規范實現

海量存儲設備必須符合海量存儲設備類規范,該規范包括4個獨立的子類規范,本設計中用到其中的2個子類規范:一是USB Mass Storage Class Bulk-Only Transport規范[5];二是USB Mass Storage Class UFI Command規范。前者定義了數據/命令/狀態在USB總線上的傳輸方法,Bulk-Only傳輸規范僅僅使用Bulk端點傳送數據/命令/狀態。后者定義了對存儲介質的操作命令,UFI命令規范基于SCSI-2和SFF-8070i命令集。這里根據SCSI-2規范[6]針對該類設備的操作命令規范,總共編寫了9個命令執行函數,見下文。

海量存儲規范的實現有2個地方要注意:一是設備描述符、配置描述符、接口描述符和端點描述符要正確設置,主機是通過控制端點(端點0)獲取這一些描述符的;二是BULK端點(端點2)的中斷處理,其中的BULK OUT中斷處理較BULK IN復雜,由于篇幅所限,下面只討論BULK OUT的中斷處理。

BULK OUT的中斷處理要對主機發送的CBW(Com-mand Block Wrapper)和數據進行解析和處理。偽代碼結構如下:

其中pSCSI是傳遞給讀寫函數的有關讀寫地址和數據傳輸長度等參數的結構體。數據的處理在讀寫函數中進行。Write( )函數的流程如圖3。讀函數以頁為單位,一次可以讀取連續的若干頁,在此不再列出其流程圖。其他函數可根據SCSI-2命令規范來編寫。

3、結 語

經測試,通過USB總線主機能夠穩定的讀寫設備中的FLASH,讀數據的速度可達600 kB/s,寫數據的速度可達400 kB/s。該設備功能使用方便,性能穩定,已在具體項目中有實際應用,根據硬件情況稍做修改便可以應用到其他嵌入式系統中。

責任編輯:gt


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

    關注

    10

    文章

    1637

    瀏覽量

    148124
  • usb
    usb
    +關注

    關注

    60

    文章

    7951

    瀏覽量

    264904
  • 數據采集
    +關注

    關注

    39

    文章

    6131

    瀏覽量

    113720
收藏 人收藏

    評論

    相關推薦

    基于單片機的高精度海量數據采集存儲系統

    為滿足在某些惡劣實驗環境條件下數據的高精度采集海量存儲以便事后分析的需要,設計出了以MSP430F1611單片機為主控單元,采用16位高精度A/D轉換芯片ADS1146
    發表于 06-08 14:51 ?3141次閱讀
    基于單片機的高精度<b class='flag-5'>海量</b><b class='flag-5'>數據采集</b>與<b class='flag-5'>存儲系統</b>

    基于U盤的單片機海量存儲方案

    基于U盤的單片機海量存儲方案隨著Flash Memory非易失存儲技術的發展,基于USB接口的閃存即U盤現已得到廣泛應用。從理論上講,以U盤
    發表于 11-30 08:59

    求:基于FPGA的數據采集存儲系統的sch原理圖

    設計高溫環境下(最高120°)基于FPGA的數據采集存儲系統,就是通過傳感器采集數據,通過FPGA來控制,把數據存儲
    發表于 10-29 21:29

    基于FPGA的數據采集存儲系統

    設計高溫環境下(最高120°)基于FPGA的數據采集存儲系統,就是通過傳感器采集數據,通過FPGA來控制,把數據存儲
    發表于 10-29 21:37

    常見的幾種不同的高速數據采集存儲系統介紹

    、衛星、無線電、光電、激光等高頻物理信號),因試驗、監測及裝備的需要,對于原始信號的長時間捕捉與存儲需求也日益增強。做為實現這些需求的手段,一般搭建一套高速數據采集存儲系統是比較常規的
    發表于 07-04 06:08

    求一種多路數據采集存儲系統的設計方法

    本文介紹了一種基于FPGA的多路數據采集存儲系統的設計方法及其可靠性結構設計。
    發表于 05-07 06:27

    基于DSP的USB海量存儲設備的設計及實現

    數據采集記錄系統的處理速率越來越快,系統數據量已相當龐大,因此在數據采集系統中有必要使用
    發表于 12-18 13:15 ?33次下載

    基于套接字的Flash存儲系統研究和實現

    本文主要針對兩種不同Flash 的特征,在研究目前的Flash 存儲技術基礎之上,設計了一種數據存儲系統
    發表于 01-20 14:52 ?4次下載

    基于FPGA的多通道同步數據采集存儲系統

    設計一種基于FPGA的多通道同步數據采集存儲系統,分為多通道同步數據采集模塊和數據存儲模塊。系統
    發表于 12-27 15:31 ?70次下載

    基于SAR系統的高速數據采集存儲系統

      合成孔徑雷達(SAR)是主動式微波成像雷達,近年來隨著合成孔徑雷達的高速發展,對作為重要部分的數據采集存儲系統的要求越來越高,比如對數據采集系統的采樣率、分辨
    發表于 11-29 10:24 ?1350次閱讀
    基于SAR<b class='flag-5'>系統</b>的高速<b class='flag-5'>數據采集</b>和<b class='flag-5'>存儲系統</b>

    基于DSP的視頻采集存儲系統設計

    摘要:介紹了視頻采集存儲系統的硬件設計及主要模塊的數據處理流程、系統測試結果。采集制式為PAL的視頻信。號,經過視頻解碼器TVP5150轉換
    發表于 02-28 00:59 ?93次下載

    高速數據采集存儲系統技術方案

    本內容詳細介紹了高速數據采集存儲系統技術方案
    發表于 07-07 17:43 ?69次下載
    高速<b class='flag-5'>數據采集</b>與<b class='flag-5'>存儲系統</b>技術方案

    基于SATA硬盤和FPGA的高速數據采集存儲系統

    為解決現有采集存儲系統不能同時滿足高速率采集,大容量脫機且長時間持續存儲的問題,設計了一種基于SATA硬盤和FPGA的數據采集
    發表于 11-15 11:35 ?169次下載
    基于SATA硬盤和FPGA的高速<b class='flag-5'>數據采集</b><b class='flag-5'>存儲系統</b>

    Tera-Store高速數據采集存儲系統

    Tera-Store高速數據采集存儲系統
    發表于 10-24 09:28 ?4次下載

    WDS分布式存儲系統軟件助力電信工程海量數據存儲項目

    WDS分布式存儲系統軟件助力電信工程海量數據存儲項目
    的頭像 發表于 11-11 09:59 ?198次閱讀
    WDS分布式<b class='flag-5'>存儲系統</b>軟件助力電信工程<b class='flag-5'>海量</b><b class='flag-5'>數據</b><b class='flag-5'>存儲</b>項目
    主站蜘蛛池模板: 午夜亚洲精品| 狼色在线视频| www.亚洲免费| 亚洲国产女人aaa毛片在线| 夜夜视频| 亚洲aa视频| 天堂在线中文| 8050午夜一级二级全黄| 成人国产在线视频| 又长又大又粗又硬3p免费视| 加勒比综合网| 韩国三级理论在线观看视频| 日韩欧美色| 超h高h文污肉| 亚洲 欧美 丝袜 制服 在线| 国产黄在线观看| 成人在线黄色| 免费视频www| 狠狠狠狠干| 婷婷激情综合五月天| 一级特黄aa大片一又好看| 亚洲精品成人久久久影院| 三级网站视频| 国模爱爱| 天天干天天碰| 天天色天天草| 国产美女主播一级成人毛片 | 91黄视频在线观看| 久久精品国产精品亚洲精品| 亚洲视频在线播放| 2021av网站| 三级黄色在线视频中文| 国产又黄又免费aaaa视频| 午夜毛片免费观看视频| 成人在线黄色| 成年人污视频| 国产性老妇女做爰在线| 特级一级毛片免费看| 久久久免费| 激情在线视频| 天天玩天天操|