欢迎来到天天文库
浏览记录
ID:1657983
大小:46.00 KB
页数:4页
时间:2017-11-12
《5 我的基于stm32的usb学习笔记》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、对USB的初步了解:1、USB的优点:可以热插拔,即插上后可以自动识别;系统总线供电,USB共有四根线,一根电源线,一根地线,一根D+线,一根D-线,D+和D-线是差分输入线;可以支持多种设备,且扩展容易,通过HUB可以再一个主机上连接多个设备传输数据的速度快,最快可达480Mbit/s方便的设备互联:在没有主机的情况下,实现点到点的通信(还可以实现主从互换)(USBOTG)2、USB的基本规范:USB1.0/1.1低速情况下1.5Mbit/s:键盘、鼠标等全速情况下12Mbit/s:U盘、CD-ROMUSB2.0高速
2、达到480Mbit/s:音频设备、显示器等USBOTG设备到设备的传输3、USB设备类规范:大容量存储设备类(MassStorageDevice)U盘、CD-ROM等人机交互设备类(HumanInterfaceDevice)键盘、鼠标、游戏手柄语音设备类(AudioDevice)麦克风、音响等通信设备类(CommunicationDevice)电话、调制解调器等打印机设备类(PrinterDevice)打印机监视设备类(MonitorDevice)显示器、摄像头等4、USB逻辑上分为3:信号层,协议层,数据传输层协议层
3、:包是USB系统中信息传输的基本单位,所有的数据都是经过打包后在总线上传输的。包由6部分组成:同步字段(SYNC);包标识符(PID);地址字段(ADDR);数据字段(DATA);检验字段(CRC);包结束(EOP)包标识符(PID):令牌包(Token)(输出,输入,帧起始,建立),数据包(DATA)(数据,数据1),握手包(Handsnake)(确认,不确认,停止),专用包(Special)(前同步)5、USB协议提供4种数据传输方式:控制传输:突发,非周期性,由主机发起,用于命令和状态的传输同步传输:周期性,持续
4、性的传输,用于传输与时效相关的信息,并且在数据中保存时间戳的信息中断传输:周期性,低频率,允许有限延迟的通信大容量的数据传输:非周期性,大容量突发数据的通信6、USB描述符:1)设备描述符:描述设备的类型、厂商信息、USB的协议类型、端点的报数据的最大长度等,每个USB设备只有一个DeviceDescriptor2)配置描述符:每个配置描述符提供了设备特定的配置,描述了设备的接口和端点的性质、供电模式、设备的耗电3)接口描述符:描述了设备的不同接口的特性,例如,一个设备U盘的功能,又有键盘的功能,用两个接口描述符分别描
5、述两个功能4)字符串描述符:描述了设备制造商、设备名称、何序列号等信息基于STM32制作USB的过程STM32的USB模块特性:遵循USB2.0全速设备标准支持双向8个端点,8个IN端点和8个OUT端点(每个端点最大可使用512字节)[每个端点都有一个缓冲区描述块,描述该端点使用的缓冲区地址、大小和需要传输的字节数]硬件实现CRC自动生成/校验,NRZI编码/解码和bit-stuffing(位插入,位填充)支持控制传输、中断传输、大容量传输和同步传输四种传输方式支持USB的挂起和/唤醒***USB设备的实现过程***一
6、、系统初始化1、初始化系统时钟,设置USB时钟2、配置USB中断,选择通道,设置优先级,使能中断3、配置GPIO4、USB的初始化,对描述符、设备的端点接口等的初始化5、FLASH的初始化二、USB的枚举枚举过程就相当于主机和设备建立连接的过程(接头),Host向Device询问一些东西,Device将自身的设备类型,如何进行通信报告给Host,这样,Host就知道怎么对Device进行操作。在枚举过程中就是如何处理好SETUP事件,如果STM32USB接收到正确的SETUP事件,将响应函数CTR_SETUP0(),此
7、事件是特殊的OUT事件,数据方向Host->Device,SETUP事件数据长度固定为8。1、在USB插入主机时,主机首先需要先对USB设备进行供电2、接着USB总线复位:设置分组缓冲区描述表起始地址;初始化端点0,设置发送和接收状态。默认所有的设备地址和端口地址都会初始化为0.3、USB主机往端点0的0地址位置发送获取设备描述符的请求。/*发送请求属于控制传输的建立过程,控制传输包括建立过程,可选数据过程及状态过程,首先是主机发送一个令牌,其次是发送的数据,最后设备回应一个应答(握手包)*/4、获取设备描述符信息设备
8、在接收到请求以后,首先需要对主机发送来的命令进行解析,并将要发送给主机的描述符信息填入USB缓冲区中,等待USB主机发送IN命令,主机在接收到设备发送来的ACK回应以后,发送IN令牌包,从而进入到数据过程,之前存储在USB缓冲区中的描述符信息发给主机,并等待主机的应答。主机在正确接收到设备描述符的信息时会返回一个确认信息。5、主机
此文档下载收益归作者所有