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

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

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

3天內不再提示

基于DSP56f803和UHC124芯片實現(xiàn)嵌入式USB主機的應用方案

電子設計 ? 來源:微計算機信息 ? 作者:任愛娟 , 張鐵壁 ? 2020-09-21 17:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 引言

隨著移動存儲業(yè)的發(fā)展及數(shù)碼產品的普及,數(shù)據采集系統(tǒng)、工控行業(yè)和嵌入式用戶對移動存儲的需求越來越大,也對數(shù)據移動存儲盤提出了更高的應用要求,包括到地礦數(shù)據采集行業(yè)用戶、水文系統(tǒng)數(shù)據采集行業(yè)用戶、儀器儀表制造行業(yè)用戶、鐵路、長途汽運等交通系統(tǒng)數(shù)據采集用戶、油田數(shù)據采集系統(tǒng)用戶、單板系統(tǒng)的軟件升級用戶、紡織系統(tǒng)數(shù)據采集用戶、銀行等。但由于之前多數(shù)數(shù)據采集設備、工控機及嵌入式系統(tǒng)不具備USB數(shù)據輸入輸出標準接口,所以在USB數(shù)據存儲方面一直得不到很好的普及。業(yè)界和用戶的需求使得嵌入式USB主機的研究成為USB研究領域的一個新的方向。

本文介紹了一種基于TTL串口的USB主機系統(tǒng),通過TTL串口(或并口)轉接出USB接口,系統(tǒng)原理圖如圖1所示。嵌入式設備需要通過TTL串口,按照USB主機系統(tǒng)的串口通信協(xié)議與USB主機系統(tǒng)進行數(shù)據傳輸和通信,主機系統(tǒng)負責優(yōu)盤的檢測和數(shù)據的存儲。本文詳細介紹了該系統(tǒng)的設計思路,并給出了硬件設計和USB 主機的底層驅動軟件的設計方法。

基于DSP56f803和UHC124芯片實現(xiàn)嵌入式USB主機的應用方案

2 USB主機工作原理

對于我們設計嵌入式USB主機,可以參照PC上的USB主機。對于PC上的USB主機,其硬件方面由一個USB主機接口芯片控制,這個接口芯片在通過PCI總線與PC機通訊,其余還有電源管理部分;軟件方面主要有三部分:USB接口驅動程序,負責CPU與USB主機接口芯片的通訊,負責底層USB包的接收和發(fā)送;USB協(xié)議棧驅動程序,負責解析設備驅動程序對USB的各種操作命令,并在解碼后發(fā)給底層驅動程序;設備驅動程序,也就是上層的應用程序,包括操作系統(tǒng)提供給用戶的API,以及用戶自定義的對USB設備的操作,比如發(fā)送設備特有的USB命令請求。PC上的USB主機端軟件結構圖如圖2所示。

3 系統(tǒng)結構

整個系統(tǒng)的核心芯片選用Motorola公司的DSP56f803和TDI公司的USB HOST控制器UHC124。整個系統(tǒng)由DSP56f803模塊、UHC124模塊、UART串口模塊。

3.1 DSP56f803模塊

系統(tǒng)的核心控制器,包括基本硬件和編寫的固件。實現(xiàn)的功能包括:實現(xiàn)與UHC124的物理連接和通訊,并且配置UHC124的控制寄存器;配置USB外設,實現(xiàn)USB通信,實現(xiàn)USB Host要求的各項配置和數(shù)據傳輸?shù)囊?,接受USB Host的命令來管理USB外設;實現(xiàn)FAT16文件系統(tǒng)。

3.2 UHC124模塊

USB HOST控制器的硬件部分。實現(xiàn)USB Host的接口,配置下行USB設備,管理USB總線電源。實現(xiàn)的功能包括:實現(xiàn)各種USB Host動作,協(xié)調內容各項功能,與外圍主控制器通訊;存放傳輸?shù)腢SB數(shù)據,設置USB傳輸特性;與作為主控制器的DSP56f803接口連接;管理USB電源,連接下行USB設備,總共帶有4個下行USB設備端口。

3.3 UART串口模塊

與用戶通過串口進行協(xié)議通訊的固件部分。實現(xiàn)自定義的串口通訊協(xié)議,即根據自定義的串口通訊協(xié)議,解析串口通訊數(shù)據包,調用相應的文件操作接口函數(shù),實現(xiàn)客戶的文件操作命令。

4 硬件設計

4.1 硬件架構

硬件主要模塊包括USB HOST、主控芯片、外部SRAM、譯碼指示和電源部分。主控芯片和USB HOST芯片連接,控制USB HOST芯片與移動存儲盤通訊。考慮到需要給用戶預留數(shù)據Buffer,所以外擴SRAM。因為芯片工作電源不同,所以要提供兩組直流電源,譯碼指示電路采用3個LED指示燈,一個電源指示,一個指示移動存儲盤的接入,另一個指示了工控機與移動存儲盤通訊工作中。

4.2 USB主控芯片的選型

對于主控芯片的選型應該會有多種選擇,只要帶有UART接口,程序存儲空間足夠,程序的執(zhí)行效率可以滿足系統(tǒng)的功能需求即可。對于USB主控芯片,目前市面上出現(xiàn)的主要有3種:Sypress公司的SL811、Philips公司的ISP1161和TDI公司的UHC124。其中,SL811較為常見,筆者也曾用過此芯片進行過第一代產品的開發(fā),綜合各方面的選型因素考慮,第二代產品選用了UHC124。

UHC124與其他兩款芯片的主優(yōu)勢在于:支持包傳送,最多可一次性傳送16個USB 協(xié)議交互數(shù)據,而不會向CPU產生中斷,而SL811是每次都會產生中斷,大大占用了CPU的資源;支持所有的USB傳輸類型,包括控制傳輸、櫬??、中断??浜屯?醬?洌?沂?蒞?畬罌紗锏?023字節(jié);具有2K的數(shù)據存儲區(qū)。

4.3 主控芯片與USB HOST相連的接口電路

UHC124支持兩種存儲器訪問模式,取決于MODE引腳的電平高低。如果主控芯片沒有外部總線,需采用模式0;如果主控芯片有獨立或復用的數(shù)據地址總線,采用模式1。本方案所選的主控芯片DSP56f803具有獨立的地址數(shù)據總線,因此采用UHC124的工作模式1。接口電路如下圖4所示:

5. 軟件設計

USB 主機軟件的設計我們可以參照PC的USB 主機來設計。本方案的簡要軟件流程圖如圖5所示。

5.1 USB接口驅動程序

主要實現(xiàn)主控芯片DSP56f803與USB主機接口芯片UHC124的通訊,以及底層USB包的接收和發(fā)送,是實現(xiàn)整個USB體系的基礎。包括如下幾個函數(shù):

void ReadLengthFromHost(UCHAR ucaddr,UCHAR uclength,UCHAR *pucdata);

void WriteLengthToHost(UCHAR *pucdata,UCHAR uclength,UCHAR ucaddr);

UCHAR OutBulkData(ULONG ullength,UCHAR *pucptr);

UCHAR InBulkData(ULONG ullength,UCHAR *pucptr);

5.2 USB協(xié)議棧驅動程序

主要實現(xiàn)USB協(xié)議定義的標準命令請求,主要包括:

ClearFeature(),GetConfiguration(),GetDescriptor(),GetInmterface(),GetStatus

(),SetAddress(),SetConfiguration(),SetDescriptor(),SetFeature(),SetInterface()。

具體的標準設備請求的含義請參考USB 標準協(xié)議。USB 主機要在檢測到有USB設備插入時,完成對USB設備的枚舉,之后USB主機和USB設備才可以進入正常的數(shù)據包通訊狀態(tài)。

5.3 USB設備類驅動程序

移動存儲盤屬于USB協(xié)議所定義的設備類中的Mass Storage類,USB 組織定義了海量存儲設備類(Mass Storage Class)的規(guī)范,這個類規(guī)范包括四個獨立的子類規(guī)范,即:

1. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport

2. USBMass Storage Class Bulk-Only Transport

3. USB MassStorage Class ATA Command Block

4.USB Mass Storage Class UFI Command Specification。

前兩個子規(guī)范定義了數(shù)據/命令/狀態(tài)在USB 上的傳輸方法。Bulk- Only 傳輸規(guī)范僅僅使用Bulk 端點傳送數(shù)據/命令/狀態(tài),CBI 傳輸規(guī)范則使用Control/Bulk/Interrupt三種類型的端點進行數(shù)據/命令/狀態(tài)傳送。后兩個子規(guī)范則定義了存儲介質的操作命令。ATA 命令規(guī)范用于硬盤,UFI 命令規(guī)范是針對USB 移動存儲。因此USB主機需要遵循Mass Storage 協(xié)議來組織數(shù)據和發(fā)送命令,即可實現(xiàn)與移動存儲盤交換數(shù)據。

6 結束語

嵌入式USB主機的開發(fā),目前在國外也處于剛剛起步的階段,可以提供的USB HOST接口芯片的并不多。作為USB總線研究的另一熱點,嵌入式USB HOST的研究具有一定的先進性和前瞻性。以嵌入式USB主機為核心的數(shù)據采集系統(tǒng),可以在工業(yè)和民用兩個領域得到廣泛的應用,可以帶來可觀的經濟效益和市場前景。

責任編輯:gt

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

    關注

    460

    文章

    52520

    瀏覽量

    441128
  • 嵌入式
    +關注

    關注

    5152

    文章

    19675

    瀏覽量

    317691
  • usb
    usb
    +關注

    關注

    60

    文章

    8190

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于DSP器件DSP56F803和XC95XL144實現(xiàn)通用板的設計

    隨著電力電子市場需求與日俱增, 為了縮短電力電子硬件設計的開發(fā)時間,本文設計開發(fā)了DSP56F803通用板作為各種電力電子應用的硬件開發(fā)平臺。
    發(fā)表于 12-15 07:26 ?1845次閱讀

    采用TTL串口的嵌入式USB主機系統(tǒng)設計

    ,比如發(fā)送設備特有的USB命令請求。PC上的USB主機端軟件結構圖如圖2所示。3.系統(tǒng)結構  整個系統(tǒng)的核心芯片選用Motorola公司的DSP56
    發(fā)表于 04-09 07:00

    為什么要開發(fā)嵌入式USB主機?如何設計嵌入式USB主機?

    為什么要開發(fā)嵌入式USB主機?非PC應用領域?如何設計嵌入式USB主機
    發(fā)表于 04-26 06:11

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

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

    基于TTL串口的嵌入式USB主機系統(tǒng)的設計和實現(xiàn)

    本文介紹了一種基于TTL 串口的嵌入式USB 主機系統(tǒng)。介紹了該系統(tǒng)的硬件實現(xiàn),以及USB 主機
    發(fā)表于 08-15 08:23 ?29次下載

    DSP56F803,pdf,datasheet,16-bit

    The 56F803, a member of the 56800 core-based family of Digital Signal Controllers, combines
    發(fā)表于 03-04 22:56 ?26次下載

    基于DSP56F803的數(shù)字低中頻軟件電臺的設計

    采用面向控制的Motorola DSP控制器DSP56F803,構建了一種廉價而實用的數(shù)字低中頻軟件電臺,實現(xiàn)了該電臺在AM、FM、SSB和FSK 4種調制方式下的互通.詳細闡述了DSP56F
    發(fā)表于 11-19 14:44 ?27次下載

    基于DSP嵌入式溫度記錄儀的設計

    基于DSP TMS320F2812和USB主機接口器件SL811HST,遵循標準的USB通訊協(xié)議,設計了一種
    發(fā)表于 12-22 16:54 ?24次下載

    嵌入式USB主機設計(硬件設計和軟件設計)

    嵌入式USB主機設計(硬件設計和軟件設計) 嵌入式USB主機硬件設計選用廉價的51系列單片機(
    發(fā)表于 11-26 13:58 ?1418次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>USB</b><b class='flag-5'>主機</b>設計(硬件設計和軟件設計)

    基于嵌入式USB主機的飛控數(shù)據記錄器設計

    針對無人機飛行訓練的需要,設計了一種基于嵌入式USB主機的飛行數(shù)據固態(tài)記錄器。介紹了飛控數(shù)據固態(tài)數(shù)據器的工作原理、三星NAND FLASH芯片(K91G08U0M )的
    發(fā)表于 10-25 16:59 ?58次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>USB</b><b class='flag-5'>主機</b>的飛控數(shù)據記錄器設計

    嵌入式主機上的USB海量存儲設備類

    嵌入式主機上的USB海量存儲設備類重點論述基于USB的海量存儲(USB Mass Storage)設備功能在ARM
    發(fā)表于 03-06 16:33 ?43次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主機</b>上的<b class='flag-5'>USB</b>海量存儲設備類

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

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

    基于嵌入式主機上的USB海量存儲設備類

    基于嵌入式主機上的USB海量存儲設備類
    發(fā)表于 10-31 08:49 ?6次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>主機</b>上的<b class='flag-5'>USB</b>海量存儲設備類

    基于USB嵌入式主機

    基于USB嵌入式主機
    發(fā)表于 10-31 08:52 ?4次下載
    基于<b class='flag-5'>USB</b><b class='flag-5'>嵌入式</b><b class='flag-5'>主機</b>棧

    USB嵌入式主機堆棧

    USB標準下,USB設備之間不能直接通信。它們只能與控制一個或多個設備通信的總線的 USB 主機通信。常見的 USB
    發(fā)表于 05-03 09:13 ?381次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>嵌入式</b><b class='flag-5'>主機</b>堆棧