女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

1 引言

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

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

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

2 USB主機工作原理

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

3 系統結構

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

3.1 DSP56f803模塊

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

3.2 UHC124模塊

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

3.3 UART串口模塊

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

4 硬件設計

4.1 硬件架構

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

4.2 USB主控芯片的選型

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

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

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

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

5. 軟件設計

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

5.1 USB接口驅動程序

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

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協議棧驅動程序

主要實現USB協議定義的標準命令請求,主要包括:

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

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

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

5.3 USB設備類驅動程序

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

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。

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

6 結束語

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

責任編輯:gt

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

    關注

    459

    文章

    52492

    瀏覽量

    440639
  • 嵌入式
    +關注

    關注

    5150

    文章

    19661

    瀏覽量

    317409
  • usb
    usb
    +關注

    關注

    60

    文章

    8182

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于DSP器件DSP56F803和XC95XL144實現通用板的設計

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

    采用TTL串口的嵌入式USB主機系統設計

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

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

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

    嵌入式usb主機系統的研究與設計

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

    基于TTL串口的嵌入式USB主機系統的設計和實現

    本文介紹了一種基于TTL 串口的嵌入式USB 主機系統。介紹了該系統的硬件實現,以及USB 主機
    發表于 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
    發表于 03-04 22:56 ?26次下載

    基于DSP56F803的數字低中頻軟件電臺的設計

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

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

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

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

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

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

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

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

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

    嵌入式USB MiniHost系統設計與實現

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

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

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

    基于USB嵌入式主機

    基于USB嵌入式主機
    發表于 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
    發表于 05-03 09:13 ?379次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>嵌入式</b><b class='flag-5'>主機</b>堆棧