99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內(nèi)不再提示

USB-HOST嵌入式模塊的實現(xiàn)方案及應(yīng)用研究分析

電子設(shè)計 ? 來源:微計算機信息 ? 作者:黃櫻,趙巾幗,羅慶 ? 2020-05-28 08:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

隨著數(shù)據(jù)采集系統(tǒng)、工控行業(yè)和嵌入式用戶對移動存儲的需求越來越大,傳統(tǒng)的通過軟盤、串行口(RS232/RS485)或以太網(wǎng)等傳輸數(shù)據(jù)的方式已不能滿足當前數(shù)據(jù)存儲和交換的需求。如何在嵌入式模塊中實現(xiàn)USB移動存儲已成為急需解決的問題。

本文提出利用SL811HS和8位單片機實現(xiàn)USB-HOST嵌入式模塊的一種方案。它帶有標準USB數(shù)據(jù)總線接口,完全遵守USB 1.1協(xié)議和大規(guī)模存儲協(xié)議規(guī)范。移動存儲設(shè)備的文件操作方式支持FAT16文件系統(tǒng)。

1、USB-HOST嵌入式模塊原理

USB技術(shù)規(guī)范將使用USB進行數(shù)據(jù)傳輸?shù)碾p方劃分為兩種角色――Host和Slave,并且規(guī)定,數(shù)據(jù)傳輸只能發(fā)生在Host和Slave之間。目前,絕大多數(shù)Host功能角色被集成在各種類型的PC機上,如筆記本電腦、臺式機、Mac機及服務(wù)器等;而各種各樣的基本USB的移動設(shè)備都集成了USB Slave功能角色,例如U盤、帶USB接口數(shù)碼相機等。這樣,就導(dǎo)致這些作為USB Slave的USB接口的數(shù)字設(shè)備中的數(shù)據(jù),離開PC機無法讀寫。解決這一問題的根本辦法就是在需要使用USB設(shè)備的系統(tǒng)中集成USB Host功能模塊,使之具有與USB Slave設(shè)備進行數(shù)據(jù)傳輸?shù)哪芰Α?/p>

利用SL811HS和8位單片機實現(xiàn)的系統(tǒng)完成了USB Host功能,并且提供了USB總線的接口方式。它可以作為一個數(shù)據(jù)接口模塊集成到用戶的嵌入式系統(tǒng)中,使用戶系統(tǒng)能夠讀/寫作為Slave的USB移動存儲器,從而完成數(shù)據(jù)存儲和交換功能。由于它支持FAT16文件系統(tǒng),所以可以將用戶系統(tǒng)發(fā)來的數(shù)據(jù)以文件的方式存儲到USB移動存儲器中,因此,用戶可以在需要時,將USB移動存儲器取出,并拿到自己數(shù)據(jù)處理中心的PC機,直接將采集到的數(shù)據(jù)進行分析,極大地方便了用戶數(shù)據(jù)的采集和處理。其原理如圖1所示。

USB-HOST嵌入式模塊的實現(xiàn)方案及應(yīng)用研究分析

2、SL811HS芯片介紹

Cypress公司提供的USB嵌入式主控制器芯片SL811HS具有標準的微處理器總線接口,可以提供全速(12Mb/s)和低速(1.5Mb/s)USB數(shù)據(jù)轉(zhuǎn)換。圖2為SL811HS主從控制功能模塊。

它具有以下功能:

①自動檢測全速或低速設(shè)備;

②8位雙向數(shù)據(jù)輸出端口;

③集成芯片的串行接口驅(qū)動和USB接收;

④256字節(jié)內(nèi)部SRAM緩存,乒乓處理;

⑤自動生成內(nèi)部幀同步和CRC5/16校驗;

⑥自動地址增益模式,可以節(jié)省存儲器讀寫周期。

3、硬件電路設(shè)計

圖3為SL81HS電路設(shè)計圖,在實際項目中已經(jīng)得到了應(yīng)用。

USB-HOST嵌入式模塊的實現(xiàn)方案及應(yīng)用研究分析

其中AD0~AD7、CS、RD、WR均與單片機89C51相連,由單片機進行控制。雖然SL811HS可以使用12MHz晶振,然而在實際使用過程中發(fā)現(xiàn),當晶振質(zhì)量不太好時,電路穩(wěn)定性較差,故建議在條件許可的情況下,盡量使用48MHz的有源晶振。

4、SL811HS的工作過程

①通過SL811HS向從機發(fā)送數(shù)據(jù)過程。接收數(shù)據(jù)過程同發(fā)送數(shù)據(jù)過程類似。

②通過SL811HS向從機發(fā)送數(shù)據(jù)的Ping-Pong方式的實現(xiàn)。若有大量的數(shù)據(jù)(如以512字節(jié)為最小單位的扇區(qū)寫操作)需要傳送,就要考慮到Ping-Pong傳送。其具體過程為:

*向BUFFER中同時寫入2個幀;

*發(fā)出第1個幀;

*等待確認信息;

*收到確認信息后發(fā)出第2個幀,在第1個幀的位置上填充第3個幀,同時開始等待確認信息。

Ping-Pong方式利用等待的時隙,填充BUFFER,可以極大提高系統(tǒng)的性能,在不改變其它條件的情況下,提高速度。

5、大規(guī)模存儲過程

大規(guī)模存儲是CPU和移動存儲設(shè)備打交道的接口程序,通過調(diào)用大規(guī)模存儲程序,可以得知移動存儲設(shè)備文件分區(qū)表中的DBR、FAT表、文件目錄表等的起始位置,并且可以獲得移動存儲設(shè)備某些地址區(qū)間的一系列數(shù)值。Windows系統(tǒng)可以自動支持大規(guī)模存儲協(xié)議,使主機可以自如訪問移動存儲設(shè)備;然而在單獨開發(fā)此嵌入式模塊時,大規(guī)模存儲協(xié)議須自己編寫。

下面為通過大規(guī)模存儲協(xié)議訪問移動存儲設(shè)備的部分程序。

if(!SPC_RequestSense()) return FLASE;

//轉(zhuǎn)換數(shù)據(jù)狀態(tài)到主機

if(!SPC_TestUnit()) returnFALSE; //檢測UFI設(shè)備狀態(tài)

if(!RBC_ReadCapacity()) return FLASE; //主機讀取的最大容量

if(!RBC_Read(0x0,1,DBUF)) return FLASE;//主機讀0x0開始的一個數(shù)據(jù)塊到DBUF

//以上為大規(guī)模存儲的各個命令塊,運行成功,則繼續(xù)。

if(DBUF[0]==0xeb||DBUF[0]==0xe9)

DeviceInfo.StartSector=0;

Else

DeviceInfo.SartSector=SwapINT32(pMBR-》StartSector);

pBPB=(PBPB_BLOCK)DBUF; //引導(dǎo)扇區(qū)DBR的BRB塊定義

if(!RBC_Read(DeviceInfo.StartSector,1,DBUF)) return FLASE;

DeviceInfo.BPB_BytesPerSec=SwapINT16(pBPB-》BPB_BytesPerSec);

DeviceInfo.PBP_SecPerClus=pBPB-》BPB_SecPerClus;

DeviceInfo.BPB_NumFATs=pBPB-》BPB_NumFATs;

DeviceInfo.BPB_RootEntCnt=SwapINT16(pBPB-》BPB_RootEntCnt);

DeviceInfo.BPB_TotSec16=SwapINT16(pBPB-》BPB_TotSec16);

DeviceInfo.BPB_FATSz16=SwapINT16(pBPB-》BPB_FATSz16);

DeviceInfo.BPB_TotSec32=SwapINT32(pBPB-》BPB_TotSec32);

SeviceInfo.FatStartSector=DeviceInfo.StartSector+1;

SeviceInfo.RootStartSector=DeviceInfo.StartSector+2*DeviceInfo.BPB_FATSz16+1;

DeviceInfo.FirstDataSector=DeviceInfo.FatStartSector+2*DeviceInfo.BPB_FATSz16+32;

/*以上為各個部分存儲位置即每扇區(qū)字節(jié)數(shù)、每簇扇區(qū)數(shù)、FAT表起始扇區(qū)、根目標起始扇區(qū)、數(shù)據(jù)區(qū)起始扇區(qū)等。*/

6、系統(tǒng)的整個工作流程

通過單片機定時器0檢測設(shè)備狀態(tài),如果發(fā)現(xiàn)從設(shè)備接入,則觸發(fā)外部中斷0。當從設(shè)備發(fā)現(xiàn)后,通過SL811HS進行設(shè)備枚舉,設(shè)置設(shè)備地址、數(shù)據(jù)描述和配置,然后通過大規(guī)模存儲協(xié)議訪問從設(shè)備文件系統(tǒng)。發(fā)讀或?qū)懨?,對從設(shè)備進行讀寫,最后反饋響應(yīng)碼。

7、總結(jié)

本文描述了SL811HS芯片和大規(guī)模存儲協(xié)議的應(yīng)用,介紹了基于8位單片機實現(xiàn)USB-HOST的整個過程。此系統(tǒng)已經(jīng)過試驗,能夠完成對從設(shè)備的直接讀寫數(shù)據(jù),查看從設(shè)備目標及從設(shè)備剩余存儲空間等一系列操作,穩(wěn)定性較強;可廣泛地應(yīng)用于數(shù)據(jù)采集系統(tǒng)、工控行業(yè)等領(lǐng)域,具有一定的實用價值。

責任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5152

    文章

    19677

    瀏覽量

    317754
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8193

    瀏覽量

    273160
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2961

    瀏覽量

    89797
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    嵌入式工業(yè)以太網(wǎng)的應(yīng)用研究

    以太網(wǎng)在工業(yè)現(xiàn)場中的應(yīng)用與uClinux嵌入式系統(tǒng)是兩個現(xiàn)在研究的熱點領(lǐng)域,以太網(wǎng)與uClinux在工業(yè)控制領(lǐng)域有著非常好的應(yīng)用前景。本文所完成的一些工作都將為這兩部分的深入研究開發(fā)有很好借鑒的意義,對
    發(fā)表于 05-21 11:21 ?1685次閱讀
    <b class='flag-5'>嵌入式</b>工業(yè)以太網(wǎng)的<b class='flag-5'>應(yīng)用研究</b>

    基于嵌入式實時操作系統(tǒng)MQX的內(nèi)核分析應(yīng)用研究

    基于嵌入式實時操作系統(tǒng)MQX的內(nèi)核分析應(yīng)用研究
    發(fā)表于 08-18 15:29

    嵌入式系統(tǒng)中USB-HOST協(xié)議棧該如何設(shè)計?

    USB協(xié)議棧的基本知識包括哪些?嵌入式系統(tǒng)中USB-HOST協(xié)議棧該如何設(shè)計?
    發(fā)表于 04-27 07:10

    USB- HOST實時數(shù)據(jù)采集嵌入式模塊實現(xiàn)

    提出利用SL811HS 和8 位單片機實現(xiàn)USB-Host 實時數(shù)據(jù)采集嵌入式模塊。該系統(tǒng)的數(shù)據(jù)傳輸,遵守大規(guī)模存儲協(xié)議和USB 1.1協(xié)議
    發(fā)表于 04-15 09:24 ?13次下載

    嵌入式usb主機系統(tǒng)的研究與設(shè)計

    本文主要講述的是嵌入式usb主機系統(tǒng)的研究與設(shè)計。
    發(fā)表于 04-22 16:33 ?20次下載

    軟件項目管理在嵌入式系統(tǒng)中的應(yīng)用研究

    本文主要講述的是軟件項目管理在嵌入式系統(tǒng)中的應(yīng)用研究
    發(fā)表于 04-22 17:06 ?21次下載

    USB- HOST 實時數(shù)據(jù)采集嵌入式模塊實現(xiàn)

    提出利用SL811HS 和8 位單片機實現(xiàn)USB-Host 實時數(shù)據(jù)采集嵌入式模塊。該系統(tǒng)的數(shù)據(jù)傳輸,遵守大規(guī)模存儲協(xié)議和USB 1.1協(xié)議
    發(fā)表于 05-16 14:57 ?13次下載

    嵌入式系統(tǒng)USB接口的研究及設(shè)計

    本文針對嵌入式系統(tǒng)中USB 接口進行了研究,提出了MCU+USB嵌入式USB
    發(fā)表于 06-13 11:29 ?15次下載

    泰克為嵌入式設(shè)計師推出USB2.0總線分析解決方案

    泰克為嵌入式設(shè)計師推出USB2.0總線分析解決方案 泰克公司日前發(fā)布DPO4USB模塊,此
    發(fā)表于 12-14 09:15 ?828次閱讀

    基于USB-Host的大容量數(shù)據(jù)采集方案研究

    針對目前數(shù)據(jù)采集系統(tǒng)面臨的不足,介紹了一種使用U盤作為存儲介質(zhì)的大容量數(shù)據(jù)存儲方案。該方案使用C8051F020單片機作為主控制器,CH376則工作在 USB-Host 方式下通過USB
    發(fā)表于 08-29 14:05 ?103次下載
    基于<b class='flag-5'>USB-Host</b>的大容量數(shù)據(jù)采集<b class='flag-5'>方案</b><b class='flag-5'>研究</b>

    嵌入式USB MiniHost系統(tǒng)設(shè)計與實現(xiàn)

    設(shè)計并實現(xiàn)了一個嵌入式USB主機系統(tǒng)的硬件和軟件,用于解決USB設(shè)備不能脫離PC主機的問題。并在設(shè)計的硬件和軟件基礎(chǔ)上利用嵌入式C語言編制了
    發(fā)表于 04-12 15:04 ?47次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>USB</b> MiniHost系統(tǒng)設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    USB host嵌入式系統(tǒng)中應(yīng)用的詳細資料概述

    隨著移動通信技術(shù)的飛速發(fā)展,人們對設(shè)備的移動性需求越來越高,希望移動設(shè)備能直接越過PC 與USB 外設(shè)通信。文中基于LM3S3749 著重介紹了USB host嵌入式系統(tǒng)中的應(yīng)用,
    發(fā)表于 05-10 11:18 ?17次下載
    <b class='flag-5'>USB</b> <b class='flag-5'>host</b> 在<b class='flag-5'>嵌入式</b>系統(tǒng)中應(yīng)用的詳細資料概述

    采用單片機stc89c516rd+和ch375s芯片實現(xiàn)嵌入式usb-host設(shè)計

    基于usb的大容量數(shù)據(jù)采集系統(tǒng)的設(shè)計,主要是要實現(xiàn)嵌入式usb-host。要想設(shè)計出能直接讀寫u盤的嵌入式
    發(fā)表于 05-19 09:54 ?5034次閱讀
    采用單片機stc89c516rd+和ch375s芯片<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>嵌入式</b><b class='flag-5'>usb-host</b>設(shè)計

    探究USB-Host的大容量數(shù)據(jù)采集系統(tǒng)的設(shè)計

    CH375S,USB-Host,數(shù)據(jù)采集系統(tǒng),Mass-Storage類,F(xiàn)AT16文件系統(tǒng)
    的頭像 發(fā)表于 04-07 17:58 ?2394次閱讀
    探究<b class='flag-5'>USB-Host</b>的大容量數(shù)據(jù)采集系統(tǒng)的設(shè)計

    DSP嵌入式識別系統(tǒng)應(yīng)用研究

    電子發(fā)燒友網(wǎng)站提供《DSP嵌入式識別系統(tǒng)應(yīng)用研究.pdf》資料免費下載
    發(fā)表于 10-12 10:23 ?0次下載
    DSP<b class='flag-5'>嵌入式</b>識別系統(tǒng)<b class='flag-5'>應(yīng)用研究</b>