基于USB接口的存储设备实验
实验原理
硬件原理图
实验过程中使用的是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接口的存储设备实验
2023-08-09
龙虎榜丨华工科技跌停 国泰君安宁波广福街营业部净卖出3亿元
2023-08-09
亲人去世怎么安慰 安慰的句子
2023-08-09
无短板的折叠屏旗舰!小米MIX Fold 3上架:米粉直呼“太帅了”
2023-08-09
贵州省黔东南州市场监管局:计量“缺斤短两”专项整治“雷霆行动”取得阶段性成效
2023-08-09
网飞神作归来!把韩国底裤都扒光了
2023-08-09
公司问答丨利德曼:目前使用的Mai47系统运行基本平稳 基本取得预期效果
2023-08-09
诺德基金:作为“显眼包”的主题型基金,我们该如何投资?
2023-08-09
青海海西州 8 名游客被困无人区,警方历时 18 个小时徒步成功救援
2023-08-09
发生了什么?多只地产股,直线拉涨停!
2023-08-09
龙虎榜丨华工科技跌停 国泰君安宁波广福街营业部净卖出3亿元
亲人去世怎么安慰 安慰的句子
无短板的折叠屏旗舰!小米MIX Fold 3上架:米粉直呼“太帅了”
贵州省黔东南州市场监管局:计量“缺斤短两”专项整治“雷霆行动”取得阶段性成效
网飞神作归来!把韩国底裤都扒光了
公司问答丨利德曼:目前使用的Mai47系统运行基本平稳 基本取得预期效果
诺德基金:作为“显眼包”的主题型基金,我们该如何投资?
青海海西州 8 名游客被困无人区,警方历时 18 个小时徒步成功救援
发生了什么?多只地产股,直线拉涨停!
中期改款来了!新款本田冠道上市,能否重回主流市场?
国家统计局:7月份居民消费价格同比下降0.3% 环比上涨0.2%
天津市首单民营科创企业知识产权资产支持票据发行
大连出台农产品加工企业贷款贴息实施方案 最高100万元
威力传动上市涨近63%,预计上半年净利润至多增37%至2405万元
这个政法委书记带着医务人员去草原牧场为牧民普法送健康啦!
陕西发改委通报西安紫光国芯境外投资项目未履行备案手续有关情况
共享单车车篓内捡到1.27万港币 武汉城管“店长” 归还失主
智通港股股东权益披露|8月9日
关注高校就业数据,更要关注就业质量
6.83斧王_斧王装备
出售明星信息获利56万多元,5名高铁站员工被判刑
监理分公司(监理公司是干什么的)
拒绝认输!小摩顽固空头坚持唱衰美股,看好防御板块
成立不到半年,星纪魅族宣布终止芯片研发业务
2023吉林省台风最新消息(持续更新)
南宁东站到吴圩机场大巴时刻表2023(南宁东站到吴圩机场大巴时刻表)
长沙挂牌两宗商业地块,明确宗地不得建设公寓
月薪2万住不起如家:比起抑价,更要让旅游产品物有所值
桐梓县妇幼保健院:多举措为妇幼健康保驾护航
- 官宣:深圳球员卢艺文转会四川 签C类2+1合同
- 总有一天,我们会一起去看看内蒙的秋天
- 各地晒出上半年经济“成绩单” 广东、江苏上半年经济总量首次突破6万亿元
- 抗洪救灾 重建家园
- 英镑/日元汇率今日预期趋势:看跌(2023/8/8)
- 官方:6场21次扑救 青岛牟鹏飞当选7月中超最佳门将
- 忠诚之歌——追记“红色传令兵”冯士友
- 银行贷款还贷款的后果会怎么样
- 好分数辅导app官方下载教师版 好分数辅导教师登录
- 威胜信息与老挝国家电力公司签署系统供货合同
- 刷新纪录:达人超频英特尔锐炫 A770 显卡至 3586 MHz
- 固原市马铃薯“繁产储销”全产业链发展
- 吃鸡蛋能止泻?这些才是靠谱方法
- 邦达亚洲: 美联储官员发表鹰派言论 美元指数小幅收涨
- 港股异动 | 味千(中国)(00538)再涨超8% 预期上半年大幅扭亏为盈
- 9月起庐山景区将实行“一票多次多日使用制”
- 新国都(300130)8月7日主力资金净买入2324.59万元
- 在市青年宫品一盏宋韵!广州“青年研习社”开门授课
- 女足世界杯|非洲,一步之遥
- TFBOYS十年之约,我们在期待什么?
- AI模型可预测癌症原发灶位点
- Lucid第二财季营收低于预期 仍预期2023财年汽车产量有望超过1万辆
- 江苏82所高校已向957名受灾家庭学生发放补助近80万元
- vbs整人代码手机能用吗(vbs整人代码)
- 新书《11个秘密》面世,探究世界的温情和包容
- 东莞“半价买房”新政!门槛大降!
- 7月浙江用电量同比增长4.61% “西电东送”护稳定供电
- 上半年石嘴山市向上争取专项资金累计达74.76亿元
- 一加ace2pro有几个颜色
- 太龙药业:股东违规减持公司股票
- 乡村大市场的N种玩法——新能源汽车,如何走好下乡之路?
- 李玟俩姐姐陪母亲逛街,87岁拄拐需全程搀扶,母女3人都很憔悴
- 美联楼价指数按周跌0.12% 连跌6周
- “全球资产定价之锚”飙升,投资者押注高利率将持续更久
- 台风“杜苏芮”及“卡努”已致菲律宾30人死亡 超324万人受灾
- 浮空城的行道树 浮空城
- 国道上的爱心接力 头条
- 第十届海峡两岸大学生实体建构大赛开幕 15支参赛队伍参与
- 北向资金净卖出超30亿元
- 2023刘若英演唱会郑州站观演攻略(持续更新)
- 08月06日新房成交75套、二手房48套;涨价房源232套
- 绵竹,再热就不礼貌了!预计降温降雨时间在......
- 《安乐传》收官,龚俊“最好的太子”以诚意打动观众
- 中国移动与青海省政府签署战略合作协议
- 北京:艺术博物馆内景泰蓝珍品琳琅满目
- 刀郎,沉淀音乐这把刀
- 一线直击|河北涿州转移安置点全力保障群众生活
- 富创精密:目前公司经营状况稳定,正在稳步有序地推进生产,现有产能可以有效地满足客户的订单交付需求
- 聚焦成都大运会丨河北籍大学生志愿者: 用心服务,展现风采
- 绿化让城市更宜居丨有一种幸福,叫城市公园“上新了”