日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于TTL串口的嵌入式USB主機系統(tǒng)的設計

摘要:本文介紹了一種基于TTL串口嵌入式USB 主機系統(tǒng)。介紹了該系統(tǒng)的硬件實現,以及USB 主機的底層驅動軟件的實現,并簡要介紹其在數據采集系統(tǒng)領域中的應用。
關鍵字:嵌入式;USB主機;TTL串口;Mass storage類 

1 引言

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

    本文介紹了一種基于TTL串口的USB主機系統(tǒng),通過TTL串口(或并口)轉接出USB接口,系統(tǒng)原理圖如圖1所示。嵌入式設備需要通過TTL串口,按照USB主機系統(tǒng)的串口通信協(xié)議與USB主機系統(tǒng)進行數據傳輸和通信,主機系統(tǒng)負責優(yōu)盤的檢測和數據的存儲。本文詳細介紹了該系統(tǒng)的設計思路,并給出了硬件設計和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)的核心控制器,包括基本硬件和編寫的固件。實現的功能包括:實現與UHC124的物理連接和通訊,并且配置UHC124的控制寄存器;配置USB外設,實現USB通信,實現USB Host要求的各項配置和數據傳輸的要求,接受USB Host的命令來管理USB外設;實現FAT16文件系統(tǒng)。

 3.2 UHC124模塊

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

3.3 UART串口模塊

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

4.硬件設計

4.1硬件架構

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

4.2 USB主控芯片的選型

    對于主控芯片的選型應該會有多種選擇,只要帶有UART接口,程序存儲空間足夠,程序的執(zhí)行效率可以滿足系統(tǒng)的功能需求即可。對于USB主控芯片,目前市面上出現的主要有3種:Sypress公司的SL811、

    Philips公司的ISP1161和TDI公司的UHC124。其中,SL811較為常見,筆者也曾用過此芯片進行過第一代產品的開發(fā),綜合各方面的選型因素考慮,第二代產品選用了UHC124。

    UHC124與其他兩款芯片的主優(yōu)勢在于:支持包傳送,最多可一次性傳送16個USB 協(xié)議交互數據,而不會向CPU產生中斷,而SL811是每次都會產生中斷,大大占用了CPU的資源;支持所有的USB傳輸

    類型,包括控制傳輸、塊傳輸、中斷傳輸和同步傳輸,且數據包最大可達到1023字節(jié);具有2K的數據存儲區(qū)。

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

    UHC124支持兩種存儲器訪問模式,取決于MODE引腳的電平高低。如果主控芯片沒有外部總線,需

    采用模式0;如果主控芯片有獨立或復用的數據地址總線,采用模式1。本方案所選的主控芯片DSP56f803

    具有獨立的地址數據總線,因此采用UHC124的工作模式1。接口電路如下圖4所示:

5.   軟件設計

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

5.1 USB接口驅動程序

    主要實現主控芯片DSP56f803與USB主機接口芯片UHC124的通訊,以及底層USB包的接收和發(fā)送,

    是實現整個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協(xié)議棧驅動程序

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

ClearFeature(),GetConfiguration(),GetDescriptor(),GetInmterface(),GetStatus(),SetAddress(),SetConfiguration(),SetDescriptor(),SetFeature(),SetInterface()。

    具體的標準設備請求的含義請參考USB 標準協(xié)議。USB 主機要在檢測到有USB設備插入時,完成對USB設備的枚舉,之后USB主機和USB設備才可以進入正常的數據包通訊狀態(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ī)范定義了數據/命令/狀態(tài)在USB 上的傳輸方法。Bulk- Only 傳輸規(guī)范僅僅使用Bulk 端點傳送數據/命令/狀態(tài),CBI 傳

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

6.結束語

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

參考文獻:
[1] MOTOROLA  DSP56f803 Technical Data [z],   2002
[2] UHC124 Datasheet V1.05 [z].  TransDimension Inc,  2001
[3]Open Host Controller Interface Specification for USB[z]. Compaq, microsoft,National Semiconductor ,  1999
[4]USB Specification 1.1[z], 1998.

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

串口作為單片機開發(fā)的一個常用的外設,應用范圍非常廣。大部分時候,串口需要接收處理的數據長度是不定的。那么怎么才能判斷一幀數據是否結束呢,今天就以STM32單片機為例,介紹幾種接收不定長數據的方法。

關鍵字: 單片機 串口 STM32

經過幾十年發(fā)展,嵌入式技術已經用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強的屬性,讓很多非嵌入式領域的同學望而卻步。近十幾年的發(fā)展,物聯網覆蓋了越來越多領域,包括了家居,商業(yè),工業(yè),農業(yè)等領域,不僅吸引...

關鍵字: 嵌入式 物聯網 技術

隨著IT技術飛速發(fā)展,互聯網已經進入了“物聯網”時代。物聯網中需要的大量設備不在依賴人與人之間的交互產生聯系,更多通過協(xié)議、通信、程序設計等方式連接到一處。即 “物聯網”的目的則是讓所有的物品都具有計算機的智能但并不以通...

關鍵字: 嵌入式 物聯網 計算機

最近看到APP上,給我推送了很多類似的回答,借此機會,也想著重新審視一下自己的學習歷程,以及結合自身和大牛,分享一些學習經驗,希望對大家有所啟發(fā)和幫助。

關鍵字: APP 嵌入式 C語言

USB-C接口全稱為USB Type-C,屬于USB 3.0下一代接口,其亮點在于更加纖薄的設計、更快的傳輸速度(最高可達10Gbps)、更強的電力傳輸(最高100W),此外USB-C接口還支持雙面插入,正反面隨便插,相...

關鍵字: iPhone 15 Lightning USB

萬物智聯時代,嵌入式技術及其應用的形態(tài)將更加豐富和多元,同時也將日益呈現深度物理融合、混合架構共存、群體智能協(xié)同、網絡安全攸關等諸多新的計算特性。顯然,經典的嵌入式系統(tǒng)體系結構、軟硬件技術和開發(fā)方法都已很難應對新趨勢下的...

關鍵字: 嵌入式 物聯網 計算機

物聯網是新一代信息技術的重要組成部分,是互聯網與嵌入式系統(tǒng)發(fā)展到高級階段的融合。通用計算機經歷了從智慧平臺到互聯網的獨立發(fā)展道路;嵌入式系統(tǒng)則經歷了智慧物聯到局域智慧物聯的獨立發(fā)展道路。

關鍵字: 嵌入式 物聯網 計算機

今天,小編將在這篇文章中為大家?guī)砉た刂靼宓挠嘘P報道,通過閱讀這篇文章,大家可以對工控主板具備清晰的認識,主要內容如下。

關鍵字: 工控主板 嵌入式 主板

隨著工業(yè)4.0、醫(yī)療電子、智能家居、物流管理和電力控制等快速的發(fā)展和推進,嵌入式系統(tǒng)利用自身的技術特點,逐漸成為眾多行業(yè)的標配產品。嵌入式系統(tǒng)具有可控制、可編程、成本低等,它在未來的工業(yè)和生活中有著廣闊的應用前景。在現在...

關鍵字: 嵌入式 物聯網 人工智能

長久來看,嵌入式只會越來越火,隨著人工智能時代的發(fā)展,嵌入式必定又將迎來一次浪潮和技術的巨大變革。人工智能越是想要表達智能水平,就越要依靠嵌入式技術,嵌入式技術將朝著自動化控制和人機交互發(fā)展。嵌入式因其體積小、可靠性高、...

關鍵字: 嵌入式 物聯網 人工智能

嵌入式教程

6897 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉