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

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

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

3天內不再提示

探究USB-Host的大容量數據采集系統的設計

電子工程師 ? 來源:《單片機與嵌入式系統應 ? 作者:萬天軍 , 徐愛鈞 ? 2021-04-07 17:58 ? 次閱讀

引言

隨著移動數據存儲領域的日益擴大,在嵌入式系統中實現USB主機功能,以實現利用USB存儲設備進行數據存儲的需求變得日益迫切。U盤作為新型移動存儲設備,以體積小、速度高、抗震動、通用性強的特點倍受青睞,因此,在數據采集系統中開發出嵌入式USB主機控制U盤作為數據存儲器,將具有良好的實用價值和應用前景。

1 USB大容量存儲設備協議分析

基于USB的大容量數據采集系統的設計,主要是要實現嵌入式USB-Host。要想設計出能直接讀寫U盤的嵌入式USB-Host,就必須理解USB大容量存儲設備協議。目前USB大容量存儲設備軟件結構如圖1所示。

pIYBAGBtgXqAFw6aAAC_IZ99b30846.png

圖1中,虛線左邊部分是主機的驅動程序結構,也是嵌入式USB-Host所要實現的。左邊最頂層是FAT文件系統層API,用于提供給用戶訪問存儲設備的方法。

U盤中的數據都是以文件格式存儲的,FAT16因具有高度兼容性而被廣泛應用于移動存儲設備中。這里簡要分析一下FAT16文件系統結構和存儲空間的組織原則。

(1)FAT16文件系統結構

FAT格式的磁盤大致可以分5個部分:MBR區、DBR區、FAT區、FDT區和DATA區。

MBR區:又稱主引導記錄,其后為64字節的DPT(Disk Partition Table,磁盤分區表)。由于不需要從U盤啟動,且U盤就一個分區,所以U盤上沒有這個數據區。

DBR區:即操作系統引導記錄區,通常占用分區的第O扇區,共512字節,由跳轉指令、BPB、結束標志幾部分組成。

FAT區:存放文件分配表。文件分配表是一一對應于數據區簇號的列表,反映了所有簇的使用情況。每個表項單元的大小決定了FAT的類型,比如FAT16的表項單元為16位。FAT表一般都有一個備份。

FDT區:存放著文件目錄表,位于備份FAT表之后。FDT由32位的目錄項線性構成,記錄著根目錄下每個文件(子目錄)的起始單元、屬性等。FDT大小為32個扇區,最多可以保存512個目錄項。

DATA區:是真正意義上的數據存儲的地方,位于FDT之后,占據硬盤上的大部分數據空間。

(2)FAT16的存儲空間組織原則

當磁盤空間格式化為FAT分區時,FAT文件系統就將這個分區當成整塊可分配的區域進行規劃,以便數據的存儲。FAT將磁盤空間以一定數目的扇區為單位進行劃分,這樣的單位稱為簇。通常情況下,每扇區512字節的原則是不變的。簇的大小一般是2n(n為整數)個扇區的大小(每個簇的最大存儲空間為32 KB)。一般采用邏輯塊LBA(Logical Block Addressing)尋址方式。

圖1虛線左邊中間的UFI/ATA驅動層將應用程序的訪問轉換成UFI或ATA命令/數據格式,與外部存儲設備之間按照子規范UFI或ATA的定義進行命令/狀態/數據的交換;最底層則是USB傳輸驅動,負責將上層的UFI/ATA數據發送到USB總線上以及接收從存儲設備返回的狀態/數據。CBI/Bulk-Only/ATA/UFI是USB Mass Storage類規范中4個獨立的子類規范的簡稱。前兩個子規范定義了數據/命令/狀態在USB上的傳輸方法。Bulk-Only傳輸規范僅使用Bulk端點傳送數據/命令/狀態,CBI傳輸規范則使用Control/Bulk/Interrupt三種類型的端點進行數據/命令/狀態傳送。后兩個子規范則定義了存儲介質的操作命令。ATA命令規范用于硬盤,UFI命令規范是針對USB移動存儲而制定的。

2 嵌入式USB-HOST設計

2.1 硬件設計

系統采用增強型8051內核的單片機STC89C516RD+作為中央處理芯片,選用南京沁恒電子公司的CH375S作為USB主機控制芯片

STC89C516RD+具有64 KB的Flash程序存儲器,1280字節的RAM(256字節的內部RAM和1KB的外部RAM),支持在系統/在應用可編程(ISP,IAP);CH375S是一款符合USB1.1協議規范的USB總線的通用接口芯片,支持USB-Host主機方式和USB-Device/Slave設備方式。CH375S具有8位數據總線和讀、寫、片選控制線以及中斷輸出,因此CH375S作全速USB-Host主機接口時,外圍元器件只需要晶振和電容,就可以方便地掛接到單片機/DSPMCU/MPU等控制器的系統總線上。

考慮到讀/寫U盤或移動硬盤時一般都是以扇區模式進行的,所以要加磁盤數據緩沖區和文件數據緩沖區(都是512字節的整數倍),并且緩沖區越大,執行的效率越高,所以外擴了32 KB的RAM。

USB-Host電路如圖2所示。

pIYBAGBtgY2ADfRjAACNZ9WdmP8953.png

根據以上分析,即可設計如下文件操作:

①創建文件。在FDT中申請新目錄項。

②寫文件。當寫一新文件時,需在FAT表中查找未使用的簇,并將該簇號寫入文件對應目錄數據結構中的起始簇號位置。當此文件長度大于一簇時,還需在FAT表中對應的起始簇號位置填入下一可用簇的簇號,直到文件的最后一簇(FAT表中的相應位置填FFFF)。若磁盤有備份FAT,則須在備份FAT表的相應位置填入正確的內容。

③刪除文件。除了將FDT中對應的目錄項置相應標志外,還要修改FAT表及備份FAT表。將此文件使用的簇號位置清0,表示此簇當前未被使用。

由于在FAT16中子目錄被視為特殊的文件,對其操作類似于文件操作,所以不再贅述。

構建的FAT16文件系統對用戶提供文件級API函數,如CH375_Creat_File()、CH375_write_File()、CH375_Delete_File()等,當執行文件級API函數時,將調用Seck_Empty_Cluster()尋找一個空簇、Link_Cluster_List()建立簇鏈、Seck_Sector()定位文件指針等中間函數。這些中間函數在調用CH375S專用于海量存儲設備類對應的命令,如SET_USB_MODE、DISK_READ、DISK_WRITE等。下面以創建ADC.TXT,并向其中寫入A/D采樣數據為例,其工作流程如圖3所示。

用FAT16文件系統存儲文件時最小單元為簇。即使一個很小的文件也會占用一簇,所以,為了節約存儲空間,在圖3中將創建同名文件并向其中寫入數據轉換為向原文件追加數據。

pIYBAGBtgZyAatJgAAD-oL7nzvw216.png

3 大容量數據采集系統設計

利用已設計好的嵌入式USB-Host搭建起大容量數據采集系統,系統的框圖如圖4所示。

pIYBAGBtgamAFUXOAAB5A5U6qAs104.png

溫度傳感器采用DS18B20。它是單總線數字溫度傳感器,測量范圍為-55~+125℃,可編程9~12位A/D轉換精度,測溫分辨率可達O.0625℃。液晶采用TM320240ECCW,它是320×240點陣液晶,顯示控制芯片是SED1335,既可以以文本模式顯示所測溫度數據,也可以自建平面坐標以曲線模式顯示溫度數據。外擴了4×5鍵盤,用于設定采集的時間間隔、時間長度;系統所允許的高、低溫容限;設定采集時的時間以及輸入自己想查看數據的存儲區域。

鍵盤用8279管理,目的是減輕單片機的負擔。因為單片機處理溫度采集及溫度數據在液晶上顯示時已經耗去一些時間,再加上定時和不定時的讀/寫U盤,負荷已經很重了,所以鍵盤掃描與處理交給8279來做。單片機采用查詢方式查詢8279的中斷。

驅動程序包括液晶驅動、DS18820驅動和8279驅動。其中主要的工作是液晶驅動程序的編寫。液晶驅動包括初始化液晶、讀寫參數子程序、寫命令子程序、建坐標子程序、繪點子程序、漢字寫入子程序等。液晶在系統初始化和對U盤初始化與枚舉時顯示提示信息,在采集過程中,以曲線模式顯示溫度數據。

結語

基于CH375S實現的USB-Host接口,其硬件結構便于在其他開發平臺上擴充,其核心的文件層協議棧采用標準的C語言編寫,具有良好的移植性。類似的基于USB的大容量數據采集方案已用于輕軌鐵路、無紙記錄儀的數據存儲系統中。隨著USB OTG時代的到來,基于USB的大容量數據采集將會有非常廣闊的應用前景。

編輯:jq

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

    關注

    6023

    文章

    44376

    瀏覽量

    628389
  • 驅動
    +關注

    關注

    12

    文章

    1790

    瀏覽量

    84910
  • 移動硬盤
    +關注

    關注

    2

    文章

    173

    瀏覽量

    44207
收藏 人收藏

    評論

    相關推薦

    多通道數據采集系統的設計的意義

    多通道數據采集系統(Multi-channel Data Acquisition System, 簡稱MDAS)是一種能夠同時采集、處理和存儲多個信號源數據的電子設備。這種
    的頭像 發表于 07-02 09:00 ?376次閱讀

    多通道數據采集系統的轉換誤差怎么算

    多通道數據采集系統是一種廣泛應用于工業、科研、醫療等領域的高精度數據采集設備。它通過多個通道同時采集信號,并對信號進行處理、轉換和存儲,以實現對信號的實時監測和分析。在多通道
    的頭像 發表于 07-01 16:36 ?404次閱讀

    多通道數據采集系統的優缺點

    多通道數據采集系統是一種廣泛應用于工業、科研、醫療等領域的技術,它能夠同時采集多個通道的信號,實現對多種物理量的實時監測和分析。本文將詳細介紹多通道數據采集
    的頭像 發表于 07-01 15:58 ?543次閱讀

    數據采集系統分為幾類

    數據采集系統是大數據生態系統中的重要組成部分,它負責從各種數據源收集、整合和存儲數據。根據不同
    的頭像 發表于 07-01 15:44 ?1036次閱讀

    DAS數據采集系統的作用是什么

    DAS(Data Acquisition System,數據采集系統)是一種用于收集、存儲和處理各種類型數據系統。它在許多領域都有廣泛的應用,如工業自動化、科學研究、環境監測、醫療健
    的頭像 發表于 07-01 15:41 ?562次閱讀

    GPIB轉USB采集卡在儀器控制和數據采集中的應用

    USB采集卡的應用案例,展示了它在儀器控制和數據采集領域的重要性和價值。 實驗室儀器控制和數據采集: GPIB轉USB
    的頭像 發表于 04-12 09:36 ?504次閱讀

    什么是USB HOSTUSB Slave和USB OTG?它們之間有什么區別?

    什么是USB HOSTUSB Slave和USB OTG?它們之間有什么區別? USB(通用串行總線)是一種用于連接設備的通信接口標準,它
    的頭像 發表于 02-02 15:32 ?9246次閱讀

    PLC遠程監控與數據采集系統的原理及組成

    PLC遠程監控與數據采集系統的原理及組成 PLC遠程監控與數據采集系統是一種可以遠程監控和采集設備運行
    的頭像 發表于 01-22 16:46 ?1072次閱讀
    PLC遠程監控與<b class='flag-5'>數據采集</b><b class='flag-5'>系統</b>的原理及組成

    數據采集卡怎么用 數據采集卡怎么讀取數據

    將物理量(如溫度、壓力、光強等)轉換為數字信號,供電腦進行處理和分析。 以下是使用和讀取數據采集卡的詳細步驟: 1. 硬件連接: 首先,確保數據采集卡與電腦通過適當的接口連接,如USB、PCI等。根據
    的頭像 發表于 12-15 09:50 ?1397次閱讀

    數據采集網關:工業數據采集上云

    數據采集網關,以其高效、便捷的特點,成為了現代工業物聯網數據采集處理的重要工具。它是連接不同數據源和數據接收設備的橋梁,將各種形式和格式的數據
    的頭像 發表于 12-12 16:46 ?620次閱讀
    <b class='flag-5'>數據采集</b>網關:工業<b class='flag-5'>數據采集</b>上云

    專注數據采集分析系統研發 做設備與MES系統中轉站

    數據采集是實現MES系統與設備對接的核心環節。通過采集設備產生的實時數據,將其傳輸給MES系統進行處理和分析。
    發表于 12-01 17:09

    阿爾泰數據采集數據采集——穩定可靠

    USB數據采集卡 簡介 USB數據采集卡體積小巧,流行外觀設計,外型小巧美觀,攜帶方便,能夠即插即用,支持熱插拔,帶有先進的USB2.0高速
    的頭像 發表于 11-23 14:35 ?665次閱讀
    阿爾泰<b class='flag-5'>數據采集</b>卡 <b class='flag-5'>數據采集</b>——穩定可靠

    流式細胞儀數據采集系統USB接口設計

    電子發燒友網站提供《流式細胞儀數據采集系統USB接口設計.pdf》資料免費下載
    發表于 10-23 09:30 ?0次下載
    流式細胞儀<b class='flag-5'>數據采集</b><b class='flag-5'>系統</b>的<b class='flag-5'>USB</b>接口設計

    基于FPGA的高速數據采集系統該怎么設計?

    點擊上方 藍字 關注我們 目前,在數據采集系統的硬件設計方案中,有采用通用單片機和USB相結合的方案,也有采用DSP和USB相結合的方案,前者雖然硬件成本低,但是時鐘頻率較低,難以滿足
    的頭像 發表于 10-06 14:55 ?1879次閱讀
    基于FPGA的高速<b class='flag-5'>數據采集</b><b class='flag-5'>系統</b>該怎么設計?

    基于ARM與線性CCD的高速數據采集系統設計

    接口,它使電路工作在更加平穩、簡潔而易丁控制,同時也提高了ARM的工作效率。為了提高通信速度,這里采用通用申行總線(USB)技術米與PC進行通信。ARM是用來控制主處理器的數據采集數據的計算和
    發表于 09-26 07:41