首页

文章

USB主机控制器驱动的整体结构?

发布网友 发布时间:2022-04-20 04:59

我来回答

3个回答

热心网友 时间:2023-08-31 08:37

前面写了一些SPI/I2C/RS-485之类的文章,有朋友留言希望能分享一些USB方面的梳理总结,今天就从系统标准层面先来梳理一下。看看有没有朋友喜欢。先从系统层面来梳理。个人学习,习惯于先从整体上摸个大概,然后再对感兴趣的细节逐渐深入。

USB是比较复杂的协议栈,如果发现文章中有错误,请帮忙指正。

注:本文主要参考USB2.0规范第4章,将标准中个人认为比较重要的一些点尽量条理清晰的总结出来。我感觉很多朋友可能对于阅读英文标准有点轻度抗拒,所以整理此文这也是一个起因,希望对朋友们有所帮助。

总线拓扑

说到总线拓扑,这张图大家一定都见过:

USB标准上说USB总线拓扑是一种分层星形结构,这张拓扑图延申出来的一些要点:

所谓星型是针对Hub而言的,一个Hub下面可以挂Hub或者设备,最顶层就是USB主机控制器USB主机控制器一般都伴随有一个根集线器Root Hub。Hub级联最多5层总线上理论最大允许连接127个设备。Hub级联遵循向下兼容,USB2.0主机或者高速Hub可以连接USB1.1Hub。一个USB分层星型结构有且仅有一个USB主机控制器线缆最长不超过5米这个最大7层星形结构,代表的是一条USB总线,一个USB分层星型结构有且仅有一个USB主机控制器,但并不是说一台计算机就只有一个USB总线,比如我的计算机内部就是2个USB主控制器+Root Hub,从Windows设备管理器可以看到:

7层拓扑图中的第2层只画了一个Hub,并不意味真正的第2层就只能有一个Hub,但这个图无法显示出更为详细的总线连接关系,用USBTrace软件来看看:

第1条总线有4个端口,第2条总线的根集线器具有18个端口,其中8、9、10为计算机内部的USB设备占用了。我这台笔记本对外有两个USB接口,通过分别将U盘插入这两个端口,再利用USBTrace探测可以推断出这两个端口都属于第2条总线的Port
3以及Port 4:

那么Hub长什么样呢?比如下面是一个7口的USB Hub示意图,来源于USB2.0标准:

物理接口

电气概览

USB 通过四线电缆传输信号和电源。信令发生在每个点对点网段上的两条线上。

VBUS/GND:供电D+/D-:USB差分信号线。具有三种数据速率:

高速模式 high-speed:480 Mb/s,常缩写为HS模式全速模式 full-speed:12 Mb/s,常缩写为FS模式低速模式 low-speed:1.5 Mb/s,常缩写为LS模式至于数据编码模式,这里先不管它。

机械概览

机械部分主要定义USB采用什么尺寸的接插件,线缆的颜色定义、线号。线缆的抗拉强度等。主要从以下几个方面去标准化:

主要连接器类型规范,主要分A、B系列。定义了公头、母头。

线缆规范。高速/全速电缆由信号双绞线、VBUS、GND 和整体屏蔽组成。当高速/全速电缆与低速设备一起使用时,电缆必须满足所有低速设备要求。低速设备可以不使用双绞线。双绞线可有效抵抗共模噪声。连接器机械尺寸及材料要求。

A/B系列插座规范A/B系列插头规范电缆尺寸材料规范,这里就不罗列了,知道在哪里查就可以了。电气、机械和环境合规性标准接地规范,屏蔽层一定要焊接在插头的外壳接地点。插座PCB尺寸规范。所以对于有绘制接插件需要的,可以参考6.9节的尺寸。Logo位置线芯颜色规范。USB Logo尺寸规范。协议概述

USB采用主从通讯模式,是一种轮询总线。所有数据传输都由主机控制器发起。这是USB标准中最难啃的部分,这里先不总结。

健壮设计

标准关于协议健壮性,又称鲁棒性,做了这几个方面的设计:

从信号完整性角度:使用差分驱动器、差分接收器和以及对信号线缆的屏蔽处理。差分收发策略主要在抵抗共模干扰方面效果显著,而屏蔽层则有两方面的作用:其一,有效降低USB线通过无线电波对外界干扰;其二、能有效隔断外界无线干扰对USB信号线、电源线的干扰。CRC报文校验。报文中数据如果出错,可以检测出来,可以做相应的处置。热插拔检测及对相应硬件设备的系统配置管理。这个设计有助于提升用户体验,用户随用随插,而无需关机插拔。利用对数据丢失或数据损坏超时检测实现通讯自恢复机制,以增强协议的健壮性。对流数据的进行流量控制以确保同步以及底层收发硬件缓冲区管理。数据管道和控制管道分离

热心网友 时间:2023-08-31 08:38

在USB规范中把USB分为五个部分:控制器、控制器驱动程序、USB芯片驱动程序、USB设备和针对不同USB设备的客户驱动程序。第一、 USB芯片驱动程序:这部分组件主要是可以提供对USB的支持。第二、 USB控制器驱动程序:这部分主要是在控制器和USB设备之间建立通信信道。第三、 USB设备:这部分组件包括和PC相连的USB外围设备,主要分为:设备本身可以再接上其它的USB外围设备,另外设备本身不能再连接其它外围设备。即集线器和设备。也可以说集线器是带有连接其它外围设备的USB端口,设备是连接在计算机上的用语完成特定功能而且符合USB规范的设备单元。第四、 USB控制器:这部分主要负责执行由USB控制器驱动程序发出的命令。第五、 USB设备驱动程序:这部分组件主要是用来驱动USB设备的程序,一般来说这是由操作系统或者是USB设备制造商提供

热心网友 时间:2023-08-31 08:38

USB主机控制器有这些规格:OHCI (Open Host Controller Interface)、UHCI (Universal HostController Interface)、EHCI (Enhanced Host Controller Interface)和xHCI (eXtensible Host ControllerInterface)。OHCI驱动程序用来为非PC系统上以及带有SiS和ALi芯片组的PC主板上的USB芯片提供支持。UHCI驱动程序多用来为大多数其他PC主板(包括Intel和Via)上的USB芯片提供支持。EHCI由USB2.0规范所提出,它兼容于OHCI和UHCI。由于UHCI的硬件线路比OHCI简单,所以成本较低,但需要较复杂的驱动程序,CPU负荷稍重。xHCI,即可扩展的主机控制器接口是Intel公司开发的一个USB主机控制器接口,它目前主要是面向USB 3.0的,同时它也支持USB 2.0及以下的设备。
1.主机控制器驱动
在Linux内核中,用usb hed结构体描述USB主机控制器驱动,它包含USB主机控制器的“家务”信息、硬件资源、状态描述和用于操作主机控制器的hc_driver。
2.EHCI主机控制器驱动
EHCI HCD驱动属于HCD驱动的实例,它定义了一个ehci_hed结构体,通常作为代码清单16.6定义的usb_hed结构体的私有数据(hed_priv),这个结构体的定义位于rivers/usb/host/ehci.h中。
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 L298N电机驱动板有哪些结构,里面有没有单片机啊? 传统B-type的LCD驱动方式和Hi-FAS驱动方式的电路原... 舵机原理及其内部的控制芯片与机构图? 6脚电源驱动芯片0Ct30RCc用什么代? IR2132的原理及其应用,高手们教教小弟 硬盘的电路板主要由主控制芯片哪些组成? 程序写入芯片里面,是否引起了芯片内部结构的变化... IR2233J是什么芯片? IC芯片工作原理 求直流电机驱动芯片 如何用matlab7.0.1建模SG3525驱动芯片 ch375是不是usb驱动芯片 驱动ic是什么 AM26LS31怎么应用?求电路图? 开关电源芯片 硬盘驱动器有哪几部分组成 步进电机驱动器的组成结构 仪式的仪组啥词 何谓礼?何谓仪? 仪这个字在姓氏怎么读 闲鱼卖东西需要注意什么,我准备卖一台电脑显示器和一台主机,有什么保证吗? 几个简单的法语翻译 写信时用的,请大家帮忙! 信笺结尾的中:amicalement: Marie如何翻译? 请帮我把这段法文翻译成中文 法语翻译:这段文字什么意思 法语翻译 帮忙翻译几句简单的法语 请法语高手帮忙翻译一下以下句子,多谢: (尽量简... 衷心的祝福你们圣诞快乐新年快乐。法语怎么翻译 求法语高手翻译,当中稍有一点乱码。谢谢 懂法语的朋友进来帮忙翻译下!谢谢 麻烦各位大神帮忙翻译一下这段法语的内容,谢谢! 哪位英语帝能翻译一下 法语翻译:您好 我们已经清楚您的情况了 您说不能... 【法语翻译】你好。再见。晚上好。对不起。没关系... 解释信,求翻译成法语,万分感谢 帮翻译下 请帮我翻译一下这篇法文,谢谢,我急用! 在哪里可以看篮球CBA比赛视频直播? 全国男子篮球联赛在哪看直播
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com