简单归纳USB设备开发必备的基础知识

2023-11-01 Geehy极海半导体公众号
MCU,APM32,极海半导体 MCU,APM32,极海半导体 MCU,APM32,极海半导体 MCU,APM32,极海半导体

本文中极海半导体将与大家简单分享APM32系列MCU用于USB设备开发必备的基础知识。


USB的低速模式和全速模式,采用的是电压传输模式。高速模式,则采用的是电流传输模式。

a、USB传输速率:USB1.1是12M/s;USB2.0是480M/s (其他通信接口:PS2 10M/s;并口 8M/s; R-232 20KB/S)高速 480M/s,全速12M/s,低速1.5M/s

b、平时无数据传输时,总线处于空闲状态。当需要传输一次事务时,主机发送一个令牌包,它可以是OUT令牌包、IN令牌包或者是PING令牌包,其中PING令牌包是USB2.0高速模式输出特有的,全速模式和低速模式没有这个令牌包。

c、USB拓扑结构,一个HOST做多可接6层,每层最多允许接5个Device,总共同时可接127个Device(实际不会做到那么多)。

d、 USB信号编码方式:反向不归零编码(0变1不变)


USB描述符间的关系

a、设备描述符--决定了有多少种配置

b、配置描述符--定义了有多少个接口

c、接口描述符--定义了该接口有多少个端点

d、(类特殊描述符,如果有,在接口描述符之后)

e、端点描述符--定义端点的大小、类型

(主机首先会获取设备描述符,再获取配置描述符,再获取接口描述符,根据配置描述符中的配置集合总长度,一次将配置描述符、接口描述符、类特殊描述符(如果有)、端点描述符一次读回)

f、字符串描述符--是单独获取,主机发送字符串描述符请求以及字符串索引号、语言ID来获取对应的字符串描述符。


USB设备的枚举过程

a、检测到USB插入,就对设备进行复位,复位后USB设备再总线上的地址为0。USB主机往地址0的设备的端点0发送设备描述符的标准请求(控制传输的建立过程)。然后,USB设备收到请求,按照主机要求返回设备描述符给到主机。主机成功获取并确认正确后就返回一个0长度的确认数据包给设备,从而进入到下一阶段的设置地址阶段。

b、主机对设备再复位一次。这时进入设置地址阶段。USB主机往地址0发出一个设置地址的请求(控制传输的建立过程),新设备地址包含在建立过程的数据包中。主机分配一个地址给刚插入的设备。USB设备收到这个建立过程后,就进入到状态过程,因为这个控制传输没有数据过程。设备等待主机请求状态返回一个输入令牌包,收到输入令牌包后,设备就返回0长度的状态数据包。主机收到并确认,返回ACK应答包给设备,设备收到ACK后就开始启用新地址。

c、主机再次获取设备描述符(使用新设备地址,而不是地址0)。需要获取全部18字节的设备描述符,如果端点0最大包小于18字节,主机则对此请求数据输入,发送多个IN令牌包。

d、主机获取配置描述符,再根据配置描述符的描述获取配置集合总长度(获取配置集合)。配置集合包括配置描述符、接口描述符、类特殊描述符(如果有)、端点描述符等。后三个不能单独获取,要以集合方式返回。

e、此外,字符串描述符,报告描述符等,有的话都是要单独获取的。


USB包结构

包的6部分组成

a、同步字段(SYNC)--同步域告诉USB的串行接口引擎数据要开始传输了。同步主机端和设备端的数据时钟。

b、包标识符(PID)--标识包的类型,总共8位,USB协议只用到4位(PD0~3),另外4位是PD0~3的取反,用来校验PID。

c、USB协议规定四类包

1、令牌包(token packet.PID1~0为01)

2、数据包(data packet.PID1~0为11)

3、握手包(handshake packet.PID1~0为10)

4、特殊包(special packet.PID1~0为00)

d、地址字段(ADDR)

e、数据字段(DATA,包括帧号)

f、检验字段(CRC)

g、包结束(EOP)--全速、低速设备的EOP是一个大约为2个数据位宽度的单端0(SE0)信号。SE0就是D-D+都是低电平。


USB2.0定义的各种PID

表 1


USB四种传输类型

a、批量传输(批量事务bulk transation)

i、一次批量事务有三个阶段:令牌包阶段、数据包阶段、握手包阶段。每个阶段都是独立的包。

ii、批量输出事务

1、发一个OUT令牌包(包含设备地址、端点号)

2、发一个数据包(数据包类型看数据切换位)。地址和端点匹配的设备就收下这个数据包。

3、主机切换到接受模式,等设备返回握手包。

●返回ACK或者NYET(高速模式下),设备解码令牌包、数据包都正确无误,并且有足够缓冲区来保存数据。

●返回NAK,数据正确,并且没有能力接收下一次传输,没有足够的缓冲区保存数据。

●返回STALL,设备数据正确,但是端点处于挂起状态。

●设备检测数据有错误,不做响应,让主机等待超时

iii、批量输入事务

1、发一个IN令牌包(包含设备地址、端点号)

2、主机切换到接受状态,等待设备返回数据。

b、中断传输

跟硬件中断是不一样的,不是设备发出的一个中断请求,而是主机设备主动保证在不大于某个时间间隔内安排一次传输。

中断传输用于传输数据量不大,对时间比较严格的设备中。如HID设备的鼠标、键盘等。

c、同步传输

数据量大,实时性高的场合。数据出错不重传,没有应答包。

d、控制传输

i、有三个过程:建立过程,可选的数据过程,状态过程

建立过程--使用建立事务(一个输出数据的过程),和批量传输的输出事务有几个点不一样。令牌包不一样,建立过程使用的是SETUP令牌包,数据包类型不一样,SETUP只能使 用DATA0包,握手包不一样,只能使用ACK应答(除非出错不应答)

数据过程--(可选,控制传输可能没有数据过程),可以包含一笔或者多笔数据事务,和批量传输的批量事务一样。控制写传输中,数据过程的所有数据事务都是输出。控制读传输中,数据过程的所有数据事务都是输入。

状态过程--也是一笔批量事务,跟数据过程相反,控制写传输在状态过程是一个批量输入事务。控制读传输在状态过程是一个批量输出事务。状态过程只是用DATA1包。

ii、控制传输要保证数据传输的完整性。如设备枚举过程,各种描述符的获取、地址信息、设备配置信息等都是控制传输。

图 1


端点类型和传输类型的关系

a、一个具体的端点,只能工作在一种传输模式下。工作在什么模式下的端点,就叫做什么端点。如控制端点、批量端点。

b、端点0是每一个USB设备都默认的控制端点。上电就存在且可用。


传输类型和端点的最大包长

a、控制传输的端点

● 低速模式:固定8字节

● 高速模式:固定64字节

● 全速模式:8、16、32、64字节可选

b、同步传输的端点

● 低速模式:不支持同步

● 高速模式:上限1024字节

●  全速模式:上限1023字节

c、中断传输的端点

● 低速模式:上限8字节

● 高速模式:上限1024字节

●  全速模式:上限64字节

d、批量传输的端点

● 低速模式:不支持批量传输        

● 高速模式:固定512字节

● 全速模式:8、16、32、64字节可选

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由三年不鸣转载自Geehy极海半导体公众号,原文标题为:APM32芯得EP.24 | 简单归纳USB设备开发必备的基础知识,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【技术】APM32电机控制专用MCU APM32F035互动答疑汇总

近日,由极海个人消费芯片事业部的资深应用工程师王衍绪主讲的《APM32电机控制专用MCU,助力无刷电机控制应用方案创新》在芯查查平台开播,与大家分享了极海近期推出的首款高性能、高可靠性、高性价比的电机控制专用芯片—APM32F035系列MCU及量产级应用方案。此次直播吸引了1300+位观众互动区人气爆棚,提问区气氛热烈,共有430+条评论,在长达一个多小时的交流互动中,观众依旧意犹未尽、热情不减!

2023-09-14 -  技术探讨 代理服务 技术支持 采购服务

【技术】灵动MM32F0163D7P系列MCU的USB接口如何移植和新增设备?

本文基于灵动微电子MCU MM32F0163D7P,介绍USB接口如何移植和新增设备应用指南。新增一个class里面没有参考示例的设备,如果用户想增加一个device设备但是在TinyUSB class里面又没有参考示例。

2023-07-25 -  技术探讨 代理服务 技术支持 采购服务

【技术】极海MCU APM32系列功能安全套件指南

为了帮助客户快速通过行业安全认证,减少客户投入认证的时间和成本,助力用户聚焦产品应用的研发与创新,针对不同行业、不同标准,极海APM32功能安全生态系统可提供多种功能安全设计套件,满足客户不同产品功能安全认证需求。

2022-12-08 -  技术探讨 代理服务 技术支持 采购服务

【经验】如何在JFLASH中添加极海半导体Geehy APM32系列MCU

本文主要介绍极海半导体MCU产品如何使用第三方Segger公司的JFLASH配合J-Link仿真器对指定型号MCU的Flash进行擦除、写入及读取操作的目的。

2023-01-06 -  设计经验 代理服务 技术支持 采购服务

【经验】APM32F4 MCU在RT-Thread系统上添加以太网驱动和使用LwIP网络组件的方法

本文详细介绍了如何将极海半导体APM32F4 MCU在RT-Thread系统上添加以太网驱动和使用LwIP网络组件,其他APM32带有以太网控制器的MCU,在RT-Thread使用LwIP网络功能也是大同小异的,按照这个过程基本都可以把网络功能应用起来。

2023-08-25 -  设计经验 代理服务 技术支持 采购服务

APM32芯得 | 基于极海APM32E103系列MCU的SPI转CAN芯片MCP2515移植测试

极海半导体APM32E103系列MCU支持CAN协议2.0A和2.0B,通信波特率最大为1Mbit/s,并且拥有双CAN接口,能适应更多的应用场合。将杜邦线按照引脚配置,接好线后仿真就能测试回环模式下收发数据了。可以看到断点打到接收部分,可以接收到CAN数据,与发送的数据一致。

2024-11-15 -  设计经验 代理服务 技术支持 采购服务

【经验】雅特力AT32 MCU USB设备库的架构和使用方法

本文主要介绍雅特力MCU AT32 USB设备库的结构和库的使用方法,AT32 USB是基于USB2.0全速设备,不支持USB2.0高速设备。这里库的作用是用来管理USB外设和实现USB的基本协议,使开发者能够更快的上手开发。

2023-03-04 -  设计经验 代理服务 技术支持 采购服务

【经验】如何使用雅特力AT32 MCU主机库快速开发USB相关应用

本文主要介绍雅特力MCU AT32 USB主机库的结构和库的使用方法,AT32 USB支持全速和低速,不支持USB2.0高速设备。这里库的作用是用来管理USB外设和实现USB的基本协议,使开发者能够更快的上手开发。

2023-01-18 -  设计经验 代理服务 技术支持 采购服务

还可以这样玩?极海半导体APM32F411系列MCU与pyocd的火花

前段时间笔者学习了一下如何使用pyocd配合APM32F411VCTINY板在命令行下给它进行各种骚操作,在使用一段时间后就想着:pyocd是基于python的,那是不是也可以使用python脚本+pyocd使用起来呢?本文中极海半导体与大家分享能够自动化完成重复操作的设计经验。

2024-08-29 -  设计经验 代理服务 技术支持 采购服务

tandby模式下,如何唤醒MCU APM32的RTC与WKUP?

APM32F103系列低功耗模式有三种:睡眠模式、停止模式和待机模式。通过关闭内核、时钟源、设置调压器来降低功耗。本文极海半导体解析了APM32的tandby模式下的RTC唤醒与WKUP唤醒功能如何实现。

2024-01-27 -  设计经验 代理服务 技术支持 采购服务

极海半导体32位MCU-M0选型表

极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。

产品型号
品类
内核
Frequency(MHz)
FLASH(KB)
SRAM(KB)
I/Os
Vmin(V)
Vmax(V)
GPTMR(16bit)
GP TMR(32bit)
Advanced TMR(16bit)
Basic TMR
Systick(24bit)
ADC 12-bit Cell
ADC 12-bit channels
DAC 12-bit Cell
DAC 12-bit channels
Analog Comparator
TSC (Channels)
SPI
I2S
I2C
U(S)ART
CAN
SDIO
USB Device
Package
对照型号
APM32F072V8T6
32位MCU
ARM Cortex-M0
48MHz
64KB
16KB
87
2V
3.6V
5
1
1
2
1
1
16
1
2
2
24
2
2
2
4
1
0
1
LQFP 100
-

选型表  -  极海半导体 立即选型

APM32F411xCXE ARM®Cortex®-M4F核基32位MCU用户手册

型号- APM32,APM32F411XCXE SERIES,APM32F411XCXE

2024.1.24  - 极海半导体  - 用户指南  - V 1.3 代理服务 技术支持 采购服务

极海半导体32位MCU-M3选型表

极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。

产品型号
品类
内核
Frequency(MHz)
FLASH(KB)
SRAM(KB)
SDRAM
FPU
I/Os
Vmin(V)
Vmax(V)
GPTMR(16bit)
GP TMR(32bit)
Advanced TMR(16bit)
Basic TMR
Systick(24bit)
ADC 12-bit Cell
ADC 12-bit channels
DAC 12-bit Cell
DAC 12-bit channels
Analog Comparator
EMMC
SPI
I2S
I2C
U(S)ART
CAN
SDIO
Package
对照型号
APM32E103CET6
32位MCU
ARM Cortex-M3
120MHz
512KB
128KB
0
1
37
2V
3.6V
4
0
1
2
1
2
10
2
2
0
0
3
2
2
3
2
0
LQFP48
STM32F103RET6

选型表  -  极海半导体 立即选型

【应用】国产工业级高性能MCU APM32F407VGT6用于PLC工控板,主频168MHz,通信外设丰富

某客户主要做各种工业自动控制系统装置,其中一款国产PLC工控板主控要更换成国产物料,推荐极海工业级高性能MCU APM32F407系列,主频高达168MHz、通信外设资源丰富,工作温度范围-40℃到+85℃。

2023-03-14 -  应用方案 代理服务 技术支持 采购服务

如何在雅特力AT32 MCU上创建IAP应用程序

如何在雅特力AT32 MCU上创建IAP应用程序,文章概述了AT32 CAN IAP快速使用方法即使用CAN进行IAP升级,此示例使用PC上位软件(IAP_Programmer.exe)通过一个USB转CAN的桥接设备和目标板进行通信,IAP Demo和桥接设备默认CAN波特率使用500K。

2024-07-08 -  设计经验 代理服务 技术支持 采购服务
展开更多

电子商城

查看更多

品牌:极海半导体

品类:MCU

价格:¥1.6200

现货: 100

品牌:极海半导体

品类:MCU

价格:¥14.9850

现货: 60

品牌:极海半导体

品类:MCU

价格:¥14.8500

现货: 51

品牌:极海半导体

品类:MCU

价格:¥13.5000

现货: 50

品牌:极海半导体

品类:MCU

价格:¥9.7200

现货: 50

品牌:极海半导体

品类:MCU

价格:¥12.1500

现货: 50

品牌:极海半导体

品类:MCU

价格:¥14.1750

现货: 50

品牌:极海半导体

品类:MCU

价格:¥12.4200

现货: 50

品牌:极海半导体

品类:MCU

价格:¥15.7950

现货: 50

品牌:极海半导体

品类:MCU

价格:¥9.4500

现货: 50

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:16-BIT MCU

价格:¥5.5190

现货:910,635

品牌:RENESAS

品类:MCU

价格:¥5.1500

现货:200,000

品牌:恒烁

品类:MCU

价格:¥1.0800

现货:154,600

品牌:Advanced Digital Chips

品类:MCU

价格:¥6.6000

现货:100,000

品牌:RENESAS

品类:MCU

价格:¥5.8041

现货:86,925

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:Advanced Digital Chips

品类:MCU

价格:¥9.0000

现货:64,841

品牌:ST

品类:MCU

价格:¥15.5600

现货:58,800

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥257.6400

现货:58,799

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

IC烧录代工及IC自动化烧录

拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。

最小起订量: 1 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面