最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

高校實驗室建設(shè)_嵌入式_DSP實驗箱操作:2-27 基于USB接口的存儲設(shè)備實驗

2023-08-08 14:32 作者:創(chuàng)龍教儀  | 我要投稿


實驗?zāi)康?/h1>

本節(jié)視頻的目的是學習USB OTG的運用和工作原理,并實現(xiàn)USB從方式,將實驗板模擬成一個USB存儲設(shè)備,實現(xiàn)主機和實驗板之間的數(shù)據(jù)傳輸。

實驗原理

硬件原理圖

實驗過程中使用的是USBOG接口T
本節(jié)視頻的目的是學習USB OTG的運用和工作原理,并實現(xiàn)USB從方式,將實驗板模擬成一個USB存儲設(shè)備,實現(xiàn)主機和實驗板之間的數(shù)據(jù)傳輸。

USB(Universal Serial Bus)

通用串口總線,USB為解決即插即用PnP(Plug and Play)需求而誕生,支持熱插拔。能在不斷電的情況下,插拔USB設(shè)備。

USB協(xié)議版本有USB1.0、USB1.1、USB2.0、USB3.0等,USB2.0目前比較常用,以下以2.0為主介紹。由于USB是主從模式的結(jié)構(gòu)(所有的通信都由主機發(fā)起,設(shè)備不能發(fā)起),故設(shè)備與設(shè)備之間、主機與主機之間不能互連,為解決這個問題,擴大USB的應(yīng)用范圍,出現(xiàn)了USB OTG,全拼 ON The Go。USB OTG連接的同一個設(shè)備,在不同的場合下可在主機和從機之間切換。

USB家族成員可以分為以下:

USB Host:USB主機,一般是PC機。

USB Device:即USB設(shè)備,有USB鍵盤、U盤等,而USB Hub集線器是一種特殊的USB設(shè)備。

USB OTG:OTG即On-The-Go,同時具備USB主機和USB設(shè)備的功能,數(shù)碼相機就帶有OTG的功能。

USB OTG

根據(jù)USB接口所屬協(xié)議,OTG可分為5類:

USB2.0 OTG:理論傳輸速率480Mbps,即60MB/s

Micro 5PIN OTG

Mini 5PIN OTG

Micro USB3.0 OTG:USB3.0的理論數(shù)據(jù)傳輸速率是5Gbps/10bitt=500MB/s

Type C OTG

USB接頭匹配表

Micro、Mini和TypeC 是比較常見的接口,在本實驗中使用的是Mini USB接口。

匹配USB連接線

本實驗中使用的是Mini USB線

主機和從機

USB體系包括"主機"、"設(shè)備"、"物理連接"三個部分。

主機是一個提供USB接口及接口管理能力的硬件、軟件的復(fù)合體,可以是PC,也可以是OTG設(shè)備。一個USB系統(tǒng)中僅有一個USB主機;

設(shè)備包括USB功能設(shè)備和USB集線器,最多支持127個設(shè)備,這是因為協(xié)議規(guī)定了每個USB設(shè)備具有一個7bit的地址(取值范圍0~127,而地址0是保留給未初始化的設(shè)備使用的);

物理連接指的是USB的傳輸線使用屏蔽的雙絞線。

A型母口插座

B型公口插頭

設(shè)備的初始功能是通過定義連接器來實現(xiàn)的。OTG定義了一個叫做MiniAB的插孔,他能直接接入MiniA或者MiniB插口,MiniAB有一個ID引腳 上拉至電源端,MiniA插頭有一個與地連接好的ID(R<10 Ω),Mini B插頭有一個與地連接的開路ID引腳(R>100 kΩ)。當2個OTG設(shè)備連接到一起的時候 ,MiniA插頭邊的ID引腳會注入一個“0”狀態(tài),MiniB插頭邊的ID引腳為 “1”,ID為0的OTG設(shè)備默認為主機(Adevice),ID為1的OTG設(shè)備默認為從機(B device)。

數(shù)據(jù)流模型

USB接口層為OTG主機和OTG設(shè)備提供物理連接,USB系統(tǒng)軟件使用主機控制器來管理主機與 USB設(shè)備的數(shù)據(jù)傳輸。USB系統(tǒng)軟件相對于主機控制器而言,處理的是以客戶角度觀察的數(shù)據(jù)傳輸及客戶與設(shè)備的交互。USB設(shè)備層為USB主機系統(tǒng)軟件提供一個可用的邏輯設(shè)備。主機通過與之功能匹配的客戶軟件實現(xiàn)其各種功能。

OTG設(shè)備與以往的USB設(shè)備一樣有兩種通道:數(shù)據(jù)流通道和消息通道。數(shù)據(jù)流通道沒有定義好的結(jié)果,而消息通道則有固定的結(jié)構(gòu)。但是,每個通道都有一定的帶寬、傳輸類型、傳輸方向和緩沖區(qū)大小。自供電設(shè)備配置一個默認的控制通道,由他提供該設(shè)備的配置和狀態(tài)等信息。

程序流程

程序流程設(shè)計中首先要進行外設(shè)使能配置,接著初始化設(shè)備的狀態(tài),進行DSP和USB的中斷初始化,初始化USB大容量設(shè)備和DMA,最后分配數(shù)據(jù)緩沖區(qū)并進行USB數(shù)據(jù)的接收傳輸

初始化源碼

初始化USB設(shè)備

使用StarterWare 庫函數(shù)初始化大容量存儲設(shè)備。相關(guān)函數(shù)通過“usbdmsc.h”文件引用。

StarterWare API 接口

void *USBDMSCInit(unsigned int ulIndex, const tUSBDMSCDevice *psDevice)

初始化USB大容量存儲設(shè)備的函數(shù)源碼和使用說明可以查看usbdmsc.c。其中,第一個參數(shù)是要為大容量存儲類設(shè)備操作初始化的USB控制器的索引。第二個參數(shù)是指向包含自定義大容量存儲設(shè)備操作的參數(shù)的結(jié)構(gòu)。

DMA初始化源碼

初始化DMA

使用StarterWare 庫函數(shù)初始化DMA。相關(guān)函數(shù)通過“cppi41dma.h”文件引用。

StarterWare API 接口

void Cppi41DmaInit(unsigned short usbDevInst, endpointInfo *epInfo, unsigned short numOfEndPoimts)

初始化DMA的函數(shù)源碼和使用說明可以查看cppi41dma.c。其中,第一個參數(shù)是USB設(shè)備實例。第二個參數(shù)是端點信息結(jié)構(gòu)。第三個參數(shù)是要配置的端點總數(shù)。

DMA數(shù)據(jù)接收傳輸源碼

DMA數(shù)據(jù)接收傳輸

使用StarterWare 庫函數(shù)接收傳輸DMA數(shù)據(jù)。

相關(guān)函數(shù)通過“cppi41dma.h”文件引用。

StarterWare API 接口

void doDmaRxTransfer(unsigned short usbDevInst, unsigned int length, unsigned char *buff, unsigned int endPoint)

DMA數(shù)據(jù)接收傳輸?shù)暮瘮?shù)源碼和使用說明可以查看cppi41dma.c。其中,第一個參數(shù)是USB設(shè)備實例。第二個參數(shù)是數(shù)據(jù)緩沖區(qū)的長度。第三個參數(shù)是要數(shù)據(jù)緩沖區(qū)。第四個參數(shù)是接收數(shù)據(jù)的端點。

操作現(xiàn)象

硬件連接

(1)使用Mini USB線連接實驗板的USB OTG和電腦端的USB接口。

(2)連接仿真器和電腦的USB接口,

(3)將撥碼開關(guān)撥到DEBUG模式01111,

(4)連接實驗箱電源,撥動電源開關(guān)上電。

軟件操作

導(dǎo)入工程,選擇Demo文件夾下的對應(yīng)工程

編譯工程

將CCS連接開發(fā)板并加載程序

點擊運行程序

可看到彈出格式化提示界面,點擊”格式化磁盤”,點擊”開始”,點擊”確定”,可以在PC中看到新產(chǎn)生約48MByte大小的可移動磁盤盤符,可以像操作普通的U盤一樣操作此磁盤。請保持實驗箱狀態(tài)和連接,進行下面的速度測試步驟。

雙擊測試軟件文件,選擇磁盤,選擇32MByte空間,然后點擊”開始”按鈕,等待3分鐘左右,可以在界面中看到文件讀寫速度測試結(jié)果。

可看到當傳輸文件達到64KByte以上,讀和寫速度可以分別穩(wěn)定在24MByte/S和23MByte/S左右。

實驗結(jié)束后,先點擊黃色按鈕暫停程序運行,再點擊紅色按鈕退出CCS與實驗箱的連接,最后實驗箱斷電即可。


高校實驗室建設(shè)_嵌入式_DSP實驗箱操作:2-27 基于USB接口的存儲設(shè)備實驗的評論 (共 條)

分享到微博請遵守國家法律
和田县| 武清区| 闽侯县| 图木舒克市| 惠安县| 永年县| 开原市| 富平县| 镇赉县| 衡南县| 五指山市| 新蔡县| 瑞丽市| 宁安市| 宁武县| 徐州市| 陇西县| 苏尼特左旗| 西平县| 塔城市| 凌云县| 额敏县| 安国市| 太康县| 襄垣县| 筠连县| 龙海市| 株洲市| 怀仁县| 宁夏| 彭水| 柘荣县| 道孚县| 阳曲县| 泊头市| 兴城市| 宜宾县| 兴国县| 巴中市| 石台县| 新密市|