USB协议学习笔记 - 引言

概述

如何学习

  • 初步的看了下USB 2.0的规格书,发现内容还是比较的齐全,但是看完后依旧不清楚如何去真正的开发一个USB设备,USB上位机如何设计,STM32 USB固件如何设计,USB主从机如何通信?
  • 所以,这里使用带USB功能的STM32的开发板,配合STM32CubeMX,生成USB Device的设备,通过实践的方式,不断的探索USB功能实现,PC上位机使用Visual Studio 2019开发,这样先用起来,技术细节,再查看USB的规格书,可能效率更高

USB基础

  • USB 为:Universal Serial Bus 的缩写,中文可以称之为:通用串行总线
  • USB 主机与设备,USB主机一般为PC,当然一些嵌入式MCU也可以实现USB主机,像STM32,既有USB Host,也有USB Device,还有USB-OTG(主从机可选)
  • 为什么使用USB?我的需求是做一个USB设备,用于数据的采集、控制,类似于串口控制,使用USB,速度可能更快,如一个电源分析仪、USB-CAN协议转换,等等。
  • USB 分为设备固件,一般使用C语言开发
  • USB上位机,可以使用C++、C#等高级语言开发
  • 经常看到一个笔记本电脑只有两个USB接口,但是可以通过USB-HUB扩展出多个USB接口,可以为低功耗设备供电,如J-Link,也可以与USB设备进行通信。

USB的速率

  • USB 2.0速率现在分三个等级,之前的 USB 1.1也称之为USB 2.0了,只是速率低。

在这里插入图片描述

USB线序

  • 目前USB 2.0 的线序,依旧是四根线:VBUS:+5V、GND、D+与D-。

在这里插入图片描述

USB的通信方式

  • 有四种通信方式
    • Control Transfers : 控制传输
    • Bulk Data Transfers :批量数据传输
    • Interrupt Data Transfers :中断传输
    • Isochronous Data Transfers:同步数据传输
      在这里插入图片描述

其他的概念

  • endpoint
  • pipe

小结

  • 通过实践不断扩充USB协议相关的知识储备
  • USB是个通用的协议,不断的梳理资料,不断的总结使用经验

版权声明:本文为CSDN博主「张世争」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tcjy1000/article/details/122765449

生成海报
点赞 0

张世争

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

USB协议学习笔记 - HID 设备

前言 为了尽快的熟悉USB的使用,我没有通读USB2.0的规格书,这是初步的了解的USB协议的各个描述符学习新技术,要先有个感官的认识,再深入学习,或许也是一种好的方法这里

STM32 USB相关知识扫盲

STM32 USB相关知识扫盲 本篇文章为我个人在学习USB相关知识的整理,可能有不对的地方,欢迎指正! 我学习USB相关知识参考了以下网友的帖子: http://www.51hei.