当前位置: 首页 >> 聚焦
基于USB接口的存储设备实验
来源:创龙教仪-木江鹏     时间:2023-08-09 17:35:20

实验原理

硬件原理图

实验过程中使用的是USBOG接口T

本文学习USB OTG的运用和工作原理,并实现USB从方式,将实验板模拟成一个USB存储设备,实现主机和实验板之间的数据传输。

USB(Universal Serial Bus)

通用串口总线,USB为解决即插即用PnP(Plug and Play)需求而诞生,支持热插拔。能在不断电的情况下,插拔USB设备。


【资料图】

USB协议版本有USB1.0、USB1.1、USB2.0、USB3.0等,USB2.0目前比较常用,以下以2.0为主介绍。由于USB是主从模式的结构(所有的通信都由主机发起,设备不能发起),故设备与设备之间、主机与主机之间不能互连,为解决这个问题,扩大USB的应用范围,出现了USB OTG,全拼 ON The Go。USB OTG连接的同一个设备,在不同的场合下可在主机和从机之间切换。

USB家族成员可以分为以下:

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

USB Device:即USB设备,有USB键盘、U盘等,而USB Hub集线器是一种特殊的USB设备。

USB OTG:OTG即On-The-Go,同时具备USB主机和USB设备的功能,数码相机就带有OTG的功能。

USB OTG

根据USB接口所属协议,OTG可分为5类:

USB2.0 OTG:理论传输速率480Mbps,即60MB/s

Micro 5PIN OTG

Mini 5PIN OTG

Micro USB3.0 OTG:USB3.0的理论数据传输速率是5Gbps/10bitt=500MB/s

Type C OTG

USB接头匹配表

Micro、Mini和TypeC 是比较常见的接口,在本实验中使用的是Mini USB接口。

匹配USB连接线

本实验中使用的是Mini USB线

主机和从机

USB体系包括"主机"、"设备"、"物理连接"三个部分。

主机是一个提供USB接口及接口管理能力的硬件、软件的复合体,可以是PC,也可以是OTG设备。一个USB系统中仅有一个USB主机;

设备包括USB功能设备和USB集线器,最多支持127个设备,这是因为协议规定了每个USB设备具有一个7bit的地址(取值范围0~127,而地址0是保留给未初始化的设备使用的);

物理连接指的是USB的传输线使用屏蔽的双绞线。

设备的初始功能是通过定义连接器来实现的。OTG定义了一个叫做MiniAB的插孔,他能直接接入MiniA或者MiniB插口,MiniAB有一个ID引脚 上拉至电源端,MiniA插头有一个与地连接好的ID(R<10 Ω),Mini B插头有一个与地连接的开路ID引脚(R>100 kΩ)。当2个OTG设备连接到一起的时候 ,MiniA插头边的ID引脚会注入一个“0”状态,MiniB插头边的ID引脚为 “1”,ID为0的OTG设备默认为主机(Adevice),ID为1的OTG设备默认为从机(B device)。

数据流模型

USB接口层为OTG主机和OTG设备提供物理连接,USB系统软件使用主机控制器来管理主机与 USB设备的数据传输。USB系统软件相对于主机控制器而言,处理的是以客户角度观察的数据传输及客户与设备的交互。USB设备层为USB主机系统软件提供一个可用的逻辑设备。主机通过与之功能匹配的客户软件实现其各种功能。

OTG设备与以往的USB设备一样有两种通道:数据流通道和消息通道。数据流通道没有定义好的结果,而消息通道则有固定的结构。但是,每个通道都有一定的带宽、传输类型、传输方向和缓冲区大小。自供电设备配置一个默认的控制通道,由他提供该设备的配置和状态等信息。

程序流程

程序流程设计中首先要进行外设使能配置,接着初始化设备的状态,进行DSP和USB的中断初始化,初始化USB大容量设备和DMA,最后分配数据缓冲区并进行USB数据的接收传输

初始化源码

初始化USB设备

使用StarterWare 库函数初始化大容量存储设备。相关函数通过“usbdmsc.h”文件引用。

StarterWare API 接口

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

初始化USB大容量存储设备的函数源码和使用说明可以查看usbdmsc.c。其中,第一个参数是要为大容量存储类设备操作初始化的USB控制器的索引。第二个参数是指向包含自定义大容量存储设备操作的参数的结构。

DMA初始化源码

初始化DMA

使用StarterWare 库函数初始化DMA。相关函数通过“cppi41dma.h”文件引用。

StarterWare API 接口

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

初始化DMA的函数源码和使用说明可以查看cppi41dma.c。其中,第一个参数是USB设备实例。第二个参数是端点信息结构。第三个参数是要配置的端点总数。

DMA数据接收传输源码

DMA数据接收传输

使用StarterWare 库函数接收传输DMA数据。

相关函数通过“cppi41dma.h”文件引用。

StarterWare API 接口

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

DMA数据接收传输的函数源码和使用说明可以查看cppi41dma.c。其中,第一个参数是USB设备实例。第二个参数是数据缓冲区的长度。第三个参数是要数据缓冲区。第四个参数是接收数据的端点。

操作现象

硬件连接

(1)使用Mini USB线连接实验板的USB OTG和电脑端的USB接口。

(2)连接仿真器和电脑的USB接口,

(3)将拨码开关拨到DEBUG模式01111,

(4)连接实验箱电源,拨动电源开关上电。

软件操作

导入工程,选择Demo文件夹下的对应工程

编译工程

将CCS连接开发板并加载程序

点击运行程序

可看到弹出格式化提示界面,点击”格式化磁盘”,点击”开始”,点击”确定”,可以在PC中看到新产生约48MByte大小的可移动磁盘盘符,可以像操作普通的U盘一样操作此磁盘。请保持实验箱状态和连接,进行下面的速度测试步骤。

双击测试软件文件,选择磁盘,选择32MByte空间,然后点击”开始”按钮,等待3分钟左右,可以在界面中看到文件读写速度测试结果。

可看到当传输文件达到64KByte以上,读和写速度可以分别稳定在24MByte/S和23MByte/S左右。

实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

标签:
热门推荐
热门推荐

基于USB接口的存储设备实验

基于USB接口的存储设备实验-本文学习USBOTG的运用和工作原理,并实现US

国内物价运行总体稳定——透视7月份CPI和PPI数据

国家统计局9日发布的数据显示,7月份,全国居民消费价格指数(CPI)同比

万科27.4亿斩获北京通州永顺镇地块 北京住总落子延庆

万科27 4亿斩获北京通州永顺镇地块北京住总落子延庆,住总,万科,延庆,楼

玉米商品报价动态(2023-08-09)

交易商品牌 产地交货地最新报价玉米 品种:黄玉米;等级:3;水分:14%;广

嘉事堂回应“医药行业反腐”:公司秉承合规经营理念

嘉事堂回应“医药行业反腐”:公司秉承合规经营理念,嘉事堂,经营,反腐,

中国工商银行校园招聘(中国工商银行校园)

很多人对中国工商银行校园招聘,中国工商银行校园不是很了解那具体是什

NVIDIA发布支持生成式AI与OpenUSD的重大Omniverse升级

NVIDIA发布支持生成式AI与OpenUSD的重大Omniverse升级,NVIDIA于今日发

长沙召开长株潭6条融城干道建设推进调度会 推进交通互联先行

长沙晚报8月8日讯(全媒体记者李静)8日,长沙召开长株潭6条融城干道建设

京东超市行业首发奶粉28天新鲜战略:投入超亿元 联合多品牌年内推出超50款奶粉

京东集团副总裁、京东超市洁护母婴业务部总经理牛英华在发布会上表示,

晚安寄语:不浪费资源 懂得珍惜和物尽其用

不浪费资源懂得珍惜和物尽其用曾经在网上看过这样一份调查报告,结果显

更多》 探索

全球消息!奥林巴斯是哪个国家品牌?什么是单反相机?

最近这段时间总有小伙伴问小编奥林巴斯是哪个国家品牌_奥林巴斯是哪个国家的品牌是什么,小编为此在网上...

观天下!军舰的排水量是什么意思?排水量怎么计算?

提起军舰的排水量是什么意思_排水量是什么意思大家在熟悉不过了,被越来越多的人所熟知,那你知道军舰的...

环球报道:联想v370笔记本综合测评?联想v370笔记本最新报价是多少?

提起联想z370cpu_lenovov370大家在熟悉不过了,被越来越多的人所熟知,那你知道联想z370cpu_lenovov370...

天天新消息丨微信新功能官方提醒怎么设置?如何使用微信的提醒功能?

(资料图片仅供参考)最近这段时间总有小伙伴问小编微信新功能官方提醒怎么设置_微信新功能官方提醒怎么玩...

当前报道:华为荣耀X1有哪些配置参数?华为荣耀x1标配是什么?

(资料图片)在生活中,很多人都不知道华为荣耀x10max_华为荣耀x1是什么意思,其实他的意思是非常简单的,...

全球今日讯!怎么选择适合自己的笔记本?实惠笔记本有哪些推荐?

最近小编看到大家都在讨论电脑啥牌子的好价格又实惠笔记本_实惠笔记本相关的事情,对此呢小编也是非常的...

焦点简讯:胸部怎么按摩健康(胸部怎么变大)

您好,现在渔夫来为大家解答以上的问题。胸部怎么按摩健康,胸部怎么变大相信很多小伙伴还不知道,现在让...

天天快看点丨挑战不可能第四季免费观看(挑战不可能第四季最新)

(相关资料图)您好,现在渔夫来为大家解答以上的问题。挑战不可能第四季免费观看,挑战不可能第四季最新相...

全球观焦点:爱亲者不敢恶于人敬亲者不敢慢于人(爱亲者不敢恶于人敬亲者不敢慢于人)

【资料图】您好,现在渔夫来为大家解答以上的问题。爱亲者不敢恶于人敬亲者不敢慢于人,爱亲者不敢恶于人...

消息!美年体检报告查询(美年体检报告查询)

(相关资料图)您好,现在渔夫来为大家解答以上的问题。美年体检报告查询,美年体检报告查询相信很多小伙伴...