mirror of
https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git
synced 2025-11-30 03:51:07 +08:00
发布USB系统: 01_USB视频介绍及资料下载,02_USB系统硬件框架和软件框架
This commit is contained in:
49
IMX6ULL/doc_pic/12_USB/01_USB视频介绍及资料下载.md
Normal file
49
IMX6ULL/doc_pic/12_USB/01_USB视频介绍及资料下载.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# USB视频介绍及资料下载 #
|
||||
|
||||
## 1. 资料下载
|
||||
|
||||
GIT仓库:
|
||||
|
||||
```shell
|
||||
https://e.coding.net/weidongshan/projects/doc_and_source_for_projects.git
|
||||
```
|
||||
|
||||
注意:上述链接无法用浏览器打开,必须使用GIT命令来克隆。
|
||||
|
||||
GIT简明教程:http://download.100ask.org/tools/Software/git/how_to_use_git.html
|
||||
|
||||
下载到GIT仓库后,USB资料在里面:
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## 2. USB视频涉及的内容
|
||||
|
||||
* 必须掌握的概念
|
||||
* 硬件框架、软件框架
|
||||
* USB设备识别过程
|
||||
* 描述符等概念
|
||||
* APP开发
|
||||
* libusb接口函数
|
||||
* 编写APP操作USB设备
|
||||
|
||||
* USB设备驱动
|
||||
* 操作USB设备的内核接口函数
|
||||
* 编写USB设备驱动程序
|
||||
* USB摄像头的编程
|
||||
* USB Audio Class 讲讲就更好了(留到ALSA部分讲)
|
||||
* USB控制器驱动
|
||||
* USB设备的枚举过程
|
||||
* usb系统中的拓扑(命名)
|
||||
* usb 枚举(外接hub),结合硬件电路图来说明
|
||||
* USB设备的读写流程
|
||||
* OTG
|
||||
* type c硬件接口、micro usb硬件接口
|
||||
* OTG角色触发过程
|
||||
* OTG硬件调试经验
|
||||
* OTG使用
|
||||
* Gadget
|
||||
* function和composite怎么联系起来的,可以结合zero.c那个驱动讲讲
|
||||
* Gadget的几个使用示例
|
||||
|
||||
71
IMX6ULL/doc_pic/12_USB/02_USB系统硬件框架和软件框架.md
Normal file
71
IMX6ULL/doc_pic/12_USB/02_USB系统硬件框架和软件框架.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# USB系统硬件框架和软件框架 #
|
||||
|
||||
参考资料:
|
||||
|
||||
* 《圈圈教你玩USB》
|
||||
* 官网:https://www.usb.org/documents
|
||||

|
||||
* 从官网下载后解压,可以得到如下文件(放在GIT仓库里了)
|
||||

|
||||
|
||||
|
||||
|
||||
## 1. 实验现象
|
||||
|
||||
现象:把USB设备比如Android手机接到PC
|
||||
|
||||
* 右下角弹出"发现android phone"
|
||||
* 跳出一个对话框,提示你安装驱动程序
|
||||
|
||||
|
||||
|
||||
问1:USB设备插到电脑上去,接触到的对方设备是什么?
|
||||
|
||||
答1:是USB控制器,是USB控制器内嵌的root hub
|
||||
|
||||
|
||||
|
||||
问2. 既然还没有"驱动程序",为何能知道是"android phone"
|
||||
答2. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"
|
||||
提示你安装的是"设备驱动程序"。 USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序
|
||||
|
||||
|
||||
|
||||
问3. 为什么一接入USB设备,PC机就能发现它?
|
||||
答3. PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低电平
|
||||
USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;它一接入PC,就会把PC USB口的D-或D+拉高,从硬件的角度通知PC有新设备接入。
|
||||
|
||||
|
||||
|
||||
问4. USB设备种类非常多,为什么一接入电脑,就能识别出来它的种类?
|
||||
答4. PC和USB设备都得遵守一些规范。比如:USB设备接入电脑后,PC机会发出"你是什么"?USB设备就必须回答"我是xxx", 并且回答的格式是固定的。USB总线驱动程序会发出某些命令想获取设备信息(描述符),USB设备必须返回"描述符"给PC。
|
||||
|
||||
|
||||
问5. PC机上接有非常多的USB设备,怎么分辨它们?
|
||||
答5. 每一个USB设备接入PC时,USB总线驱动程序都会给它分配一个编号。PC机想访问某个USB设备时,发出的命令都含有对应的编号(地址)。
|
||||
|
||||
问6. USB设备刚接入PC时,还没有编号;那么PC怎么把"分配的编号"告诉它?
|
||||
答6. 新接入的USB设备的默认编号是0,在未分配新编号前,PC使用0编号和它通信。
|
||||
|
||||
|
||||
|
||||
## 2. 硬件框架
|
||||
|
||||
在USB系统中,有2个硬件概念:
|
||||
|
||||
* USB Host:它跟处理器相连,处理器通过USB Host跟各类USB设备通信。USB Host中集成有一个root hub
|
||||
* USB Device:这分为两类设备
|
||||
* Hub:用来扩展USB接口
|
||||
* Function:就是普通的USB设备,比如U盘、声卡等
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## 3. 软件框架
|
||||
|
||||

|
||||
|
||||
APP可以通过USB设备驱动程序访问USB设备,
|
||||
也可以绕过USB设备驱动,直接通过USB控制器驱动访问USB设备。
|
||||
|
||||
BIN
IMX6ULL/doc_pic/12_USB/02_USB系统硬件框架和软件框架.tif
Normal file
BIN
IMX6ULL/doc_pic/12_USB/02_USB系统硬件框架和软件框架.tif
Normal file
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/pic/01_git.png
Normal file
BIN
IMX6ULL/doc_pic/12_USB/pic/01_git.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
BIN
IMX6ULL/doc_pic/12_USB/pic/02_usb_doc.png
Normal file
BIN
IMX6ULL/doc_pic/12_USB/pic/02_usb_doc.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 49 KiB |
BIN
IMX6ULL/doc_pic/12_USB/pic/03_usb_hard_toplogy.png
Normal file
BIN
IMX6ULL/doc_pic/12_USB/pic/03_usb_hard_toplogy.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 117 KiB |
BIN
IMX6ULL/doc_pic/12_USB/pic/04_usb_20.png
Normal file
BIN
IMX6ULL/doc_pic/12_USB/pic/04_usb_20.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
BIN
IMX6ULL/doc_pic/12_USB/pic/05_soft_layer.png
Normal file
BIN
IMX6ULL/doc_pic/12_USB/pic/05_soft_layer.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/2002_05_28_errata.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/2002_05_28_errata.pdf
Normal file
Binary file not shown.
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/Connect Timing ECN.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/Connect Timing ECN.pdf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/HSIC_ECN_21May2012.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/HSIC_ECN_21May2012.pdf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/Suspend Current ECN.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/Suspend Current ECN.pdf
Normal file
Binary file not shown.
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/USB 2.0 DCR ECN.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/USB 2.0 DCR ECN.pdf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/USB2-LPM-Errata-final.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/USB2-LPM-Errata-final.pdf
Normal file
Binary file not shown.
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/UnicodeECN.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/UnicodeECN.pdf
Normal file
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/ecn1-usb20-miniB-revd.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/ecn1-usb20-miniB-revd.pdf
Normal file
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/errata-092800-1207001.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/errata-092800-1207001.pdf
Normal file
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/resistor_ecn.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/resistor_ecn.pdf
Normal file
Binary file not shown.
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/rnd_chmfr_ECNFINAL.pdf
Normal file
BIN
IMX6ULL/doc_pic/12_USB/usb_20_20211008/rnd_chmfr_ECNFINAL.pdf
Normal file
Binary file not shown.
25483
IMX6ULL/doc_pic/12_USB/usb_20_20211008/usb_20.pdf
Normal file
25483
IMX6ULL/doc_pic/12_USB/usb_20_20211008/usb_20.pdf
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user