当前位置: 首页 > news >正文

做网站好还是阿里巴巴is_category wordpress

做网站好还是阿里巴巴,is_category wordpress,网站的集约化建设,wordpress 网站建设接着上一篇文章USB学习(1)#xff1a;USB基础之接口类型、协议标准、引脚分布、架构、时序和数据格式#xff0c;继续介绍一下USB的相关知识。 文章目录 1 USB端点(Endpoints)1.1 基本知识1.2 四种端点 2 传输协议2.1 数据包类型2.1.1 令牌数据包(Token packets)2.1.2 数据数…接着上一篇文章USB学习(1)USB基础之接口类型、协议标准、引脚分布、架构、时序和数据格式继续介绍一下USB的相关知识。 文章目录 1 USB端点(Endpoints)1.1 基本知识1.2 四种端点 2 传输协议2.1 数据包类型2.1.1 令牌数据包(Token packets)2.1.2 数据数据包(Data packets)2.1.3 握手数据包(Handshake packets)2.1.4 特殊数据包(Special packets) 2.2 事务类型2.2.1 IN/Read/Upstream事务2.2.2 OUT/Write/Downstream事务2.2.3 控制事务 1 USB端点(Endpoints) 1.1 基本知识 在USB规范中设备端点是USB设备的一个可以唯一寻址的部分它是在主机和设备之间的通信流中信息的源或接收点。USB设备的枚举过程是设备与主机建立通信连接并进行初始化的过程在这个过程中主机需要了解设备的性能和功能以正确配置和控制它。但在主机获取完整的设备信息之前还需要建立初始连接并执行一些必要的控制操作。 (1)端点0 在这一步骤中控制端点或端点0用于与设备进行通信它由端点0 IN和端点0 OUT组成。USB规范要求每个USB设备都必须支持 端点0因为它是用于设备枚举和基本通信的必要组成部分。 (2)端点个数 除了端点0特定设备支持的端点数量基于其设计要求。像鼠标这样的简单设计可能只需要一个输入端点更复杂的设计可能需要多个数据端点。USB规范为每个方向(16个输入/16个输出总共32个)的高速和全速设备设置了端点数量上限(不包括控制端点0)。低速设备限制为两个端点USB类设备的端点数量则更多。例如低速的人机界面设备(HID)可能只有两个数据端点一个输入和一个输出端点。 (3)端点方向 数据端点本质上是双向的但我们可以配置它们为单向。例如端点1可以是输入端点或输出端点在设备描述符中会有一些参数或标志来明确指定端点1是用于接收数据(输入端点)还是用于发送数据(输出端点)。 (4)端点错误检测 端点使用CRC来检测事务中的错误。计算方式请参考USB规范这些计算的处理由USB硬件负责以便可以发出适当的响应。事务的接收方会将CRC与数据进行比对。如果两者匹配那么接收方会发送一个ACK。否则发送方将进行重试。 1.2 四种端点 USB规范进一步定义了四种类型的端点并基于类型和支持的设备速度设置了最大数据包大小。开发者使用端点描述符根据其设计需求来识别端点类型和最大数据包大小。这四种类型的端点及其特性包括 (1)控制端点(Control Endpoint) 用于控制传输所有设备都必须支持。控制传输在总线上发送和接收设备信息。它的优点是能够保证准确性发生的错误会被正确检测数据将被重新发送。在低速和全速设备上控制传输在总线上有10%的保留带宽(高速设备为20%)并提供USB系统级的控制。 (2)中断端点(Interrupt Endpoints) 主要用于需要使用高可靠性方法传输少量数据的设备通常在人机界面设备(HID)中常见。它不是真正的中断而是使用轮询它可以保证主机以可预测的间隔检查数据。中断传输提供了准确性保证因为错误会被正确检测并在下一个事务中进行重试。在低速和全速设备上中断传输具有90%的保证带宽而在高速设备上为80%。这个带宽与等时端点共享。 中断端点的最大数据包大小取决于设备的速度。高速设备支持最大数据包大小为1024字节。全速设备支持最大数据包大小为64字节。低速设备支持最大数据包大小为8字节。 (3)批量端点(Bulk Endpoints) 用于批量传输通常用于需要在不定的时间内传输相对大量数据的设备其中传输可以使用任何可用的带宽空间。它是USB设备最常见的传输类型。批量传输的时间是可变的取决于总线上有多少可用带宽因为没有为传输设置预留的带宽。批量传输提供了准确性保证因为错误会被正确检测事务会被重新发送。批量传输在传输大量数据但对传输时间不敏感的情况下非常有用。 批量端点的最大数据包大小取决于设备速度。高速设备支持的最大BULK数据包大小为512字节。全速设备支持的最大数据包大小为64字节。低速设备不支持批量传输类型。 (4)等时端点(Isochronous Endpoints) 用于等时传输这是连续的、实时的传输具有主机和设备事先协商好的带宽。等时传输必须支持容忍错误数据流因为它们没有错误恢复机制或握手。错误通过CRC字段检测但不会被更正。在等时传输中需要权衡保证交付与保证准确性。音乐流或视频流是使用等时端点的应用示例因为偶尔丢失的数据会被人类的耳朵和眼睛忽略。等时传输在低速和全速设备上有90%的保证带宽(高速设备为80%)并与中断端点共享。 高速设备支持的最大数据包大小为1024字节。全速设备支持的最大数据包大小为1023字节。低速设备不支持等时传输类型。在等时传输中有特殊考虑因素。通常需要使用3倍的缓冲来确保数据准备就绪包括一个正在主动传输的缓冲区一个已加载并准备传输的缓冲区和一个正在主动加载的缓冲区。 传输类型控制端点中断端点批量端点等时端点典型用例设备初始化和管理鼠标和键盘打印机和大容量存储音频流和视频流低速支持YesYesNoNo差错检验YesYesYesNo保证数据交付率NoNoNoYes保证带宽Yes(10%)Yes(90%)NoYes(90%)保证延迟NoYesNoYes最大传输大小64bytes64bytes64bytes1023bytes(Full-Speed)1024bytes(High-Speed)最大传输速率823KB/s1.216MB/s1.216MB/s1.023MB/s 2 传输协议 USB通信包含一系列的帧。每一帧包含一个起始帧(Start of Frame,SOF然后是一个或多个事务(transaction)。每个事务由一系列数据包(packet)组成。每个数据包以一个同步模式(SYNC)开始并以“数据包结束”(End of Packet,EOP)模式结束。在最基本的情况下一个事务包括一个令牌数据包(token packet)。根据具体的事务类型可能还会有一个或多个数据数据包而有些事务还可能有握手数据包。如下图所示 事务是数据包的交互过程它由三种不同类型的数据包组成令牌数据包、数据数据包(可选)和握手数据包。事务被放置在帧内不会被拆分到不同帧中(除非是高速等时传输的情况)也不会在其他事务中间中断。下图显示了一个事务的块状图示 不同类型的数据包包含不同的信息以下是可能包含在数据包中的信息 数据包标识(PID) (8位4位类型标识位和4位错误检查位)。这些位声明了一个事务是IN(输入)/OUT(输出)/SETUP(设置)/SOF(帧起始)之一。设备地址(可选)(7位最多127个设备)。端点地址(可选) (4位最多16个端点)。USB规范支持最多32个端点。虽然4位能提供最大值为16但我们可以通过使用一个IN PID、一个介于1到16之间的端点地址和一个OUT PID和一个介于1到16之间的端点地址实现161632个端点。 注意端点地址(实际用于数据传输的端点的地址标识)和端点编号(端点编号是用于在设备描述和配置中进行标识的逻辑标识符)的区别。 有效数据(可选) (0到1023字节)。CRC(可选)(5位或16位)。 下图显示了数据包的可能构成可视为一个数据包模板根据需要可以添加或删除字段。 2.1 数据包类型 除了PID(数据包标识)之外数据包中的所有内容都是可选的。上图可以代表四种数据包类型 2.1.1 令牌数据包(Token packets) 用于启动事务、识别参与事务的设备、始终由主机发出 令牌数据包始终来自主机用于指导总线上的数据流向。令牌数据包的功能取决于执行的活动。 IN令牌用于请求设备将数据发送到主机OUT令牌用于发送主机的数据SETUP令牌用于发送主机的命令SOF令牌用于标记时间帧 对于IN、OUT和SETUP令牌数据包有一个7位的设备地址、4位的端点ID和5位的CRC。 SOF提供了设备识别帧的开始并与主机同步的方式它们还用于防止设备进入挂起模式(如果3毫秒没有SOF设备必须进入挂起模式)。SOF数据包只在全速和高速设备上可见而且每毫秒发送一次。 SOF数据包包含一个8位SOF PID、11位帧计数值以及一个5位CRC。 SOF数据包不会触发握手数据包的发送High-Speed USB引入了微帧每125微秒发送一个SOF而帧计数仅在每1毫秒递增一次。 2.1.2 数据数据包(Data packets) 用于传递有效载荷(payload)数据、由主机或设备发送 在IN、OUT和SETUP令牌数据包后紧着着就是数据数据包。有效载荷数据的大小取决于传输类型范围从0到1024字节不等。在成功地传输数据包后数据包标识(Packet ID)会在DATA0和DATA1之间来回切换。 在每次成功的数据包传输后会在主机和设备上切换DATA0和DATA1。这样切换的好处是它可以用于错误检测。如果接收到的数据包标识与预期的不同设备将能够知道传输中出现了错误并可以适当地处理。 举个例子如果发送了ACK但未收到。在这种情况下发送方将数据切换从DATA1更新为DATA0但接收方没有这样做它仍然保持在DATA1。这会导致主机和设备在下一个数据阶段不同步表明出现了错误。USB传输中数据切换的示例如下图所示白色方框代表事务来自主机黑色方框代表事务来自设备。 2.1.3 握手数据包(Handshake packets) 用于确认接收到无错误的数据 握手数据包意味着每个事务的结束。每个握手数据包包括一个8位数据包标识并由事务的接收方发送。不同的USB速度所支持的握手数据包不同 ACK(低速/全速/高速)确认成功完成NAK(低速/全速/高速)否定确认STALL(低速/全速/高速)由设备发送的错误指示NYET(仅高速)表示设备尚未准备好接收另一个数据包 2.1.4 特殊数据包(Special packets) 有助于处理不同的传输速度差异(如主机是USB3.0设备为USB2.0)、由主机发送到USB集线器 USB规范定义了四种特殊数据包 PRE由主机发送给集线器表示接下来的数据包是低速的SPLIT(仅高速)在令牌数据包之前用于指示分裂事务ERR(仅高速)由集线器返回用于报告分裂事务(一种特殊的USB传输方式将一个USB事务分成两个独立的部分其中一个部分在主机和集线器之间进行而另一个部分在集线器和设备之间进行)中的错误PING(仅高速)在收到NYET握手后用于检查Bulk OUT(大容量数据传输)或Control Write(发送命令或配置参数到USB设备的一种传输类型)的状态 2.2 事务类型 USB转换是数据从主机到设备或从设备到主机的方式。有几种不同的事务类型它们通常使用不同的名称来表示相同的概念。这三种不同的事务类型如下 2.2.1 IN/Read/Upstream事务 IN、Read和Upstream都是从设备发送到主机的事务。这些事务由主机通过发送一个IN令牌包来启动。目标设备会通过发送一个或多个数据包进行响应而主机则会以握手包作出回应。如下图所示主机的事务为白色方框来自设备的事务为黑色方框。 在下图中当主机发出请求时设备会用NAK(Negative Acknowledgment来表示它尚未准备好发送数据。主机会持续重试而设备在准备好时会以数据包作出响应。主机随后通过ACK握手来确认已接收数据。 2.2.2 OUT/Write/Downstream事务 OUT、Write和Downstream都是从主机到设备的事务。在这种类型的事务中主机发送适当的令牌包(OUT或SETUP)然后跟随一个或多个数据包。接收设备通过发送适当的握手包来结束事务。如下图所示主机的事务为白色方框来自设备的事务为黑色方框。 如下图所示主机发送了OUT令牌包和一个DATA0数据包但从设备接收到NAK。主机随后重试发送数据。注意从握手收到NAK以来数据切换位未发生变化。在下一次尝试发送数据时设备以ACK确认表示OUT事务成功完成。 2.2.3 控制事务 控制传输用于识别、配置和控制设备。它们使主机能够读取有关设备的信息、设置设备地址、建立配置并发出某些命令。控制传输总是针对 USB 设备的控制端点进行的。控制传输分为三个阶段设置阶段、数据阶段(可选)和状态阶段。下图显示了主机传输的三个阶段虚线表示它是一个可选的事务。 设置阶段(设置包)仅在控制传输中使用该包从主机发送USB请求到设备要求数据包包含一个8字节的USB请求。设备必须始终使用ACK响应设置阶段不能使用NAK来响应设置阶段。 在控制传输中数据阶段是可选的。这个阶段可以由多个数据事务组成只有在主机和设备之间传输数据Payload时才需要。通常与控制传输相关的数据可以在设置阶段传输。 最后一个阶段状态阶段包括一个单一的IN或OUT事务用于报告前面阶段的成功或失败。数据包始终是DATA1(不像正常的IN和OUT事务那样在DATA0和DATA1之间切换)并包含一个长度为零的数据包。状态阶段以由前一个数据包的接收方发送的握手事务结束。 USB通信有三种类型的控制传输控制写(control write)、控制读(control read)和无数据的控制(control no data)。下面三张图展示了这些事务的示例。
http://www.pierceye.com/news/805479/

相关文章:

  • 嘉兴seo外包公司黄骅seo
  • 做网站录入和查询需求网络推广公司口碑
  • 招远专业做网站公司wordpress获取qq昵称 头像
  • 河北网站建设业务服务称赞的项目管理平台
  • 用jsp做的网站首页如何建立一个网站来卖东西
  • 外贸型网站建设的基本流程宣传型网站建设
  • 济南手机网站开发公司贵阳网络推广公司
  • 网站开发需求模板找网络公司做推广费用
  • 网站推广工具推荐广州公关公司招聘
  • 网站搭建平台源码做健身网站开题报告
  • 大芬网站建设樟树网站开发
  • 北京通州个人网站建设哈尔滨建设工程招投标办公室
  • 怎样开个人网站如何做百度免费推广
  • 深圳成品网站超市佛山网站建设机构
  • 江苏 网站建设第一次做网站做后感
  • wordpress翻译公司网站没事网站建设项目规划书
  • 东莞建设年审网站我的世界充钱网站怎么做
  • 太原网站排名系统电子商务市场营销
  • 社区网站开发进度表2018年做网站还能
  • 论企业网站建设的必要性内网网站搭建设
  • 网站建设怎么翻译如何建立自己的网站
  • 2345网址大全热门seo推广排名稳定
  • 网站建设工作有底薪吗360优化大师
  • 门户网站微信服务号建设大型网站建设优化排名
  • 贵州省冶金建设有限公司网站wordpress end_lvl
  • 网站建设的工作职责是什么网站后台显示连接已重置
  • 俱乐部手机网站模板微信公众号个人可以做网站么
  • 简述一个网站开发流程软件下载网站搭建
  • 超级营销型网站模板建湖人才网官网登录
  • 建设网站都需要什么万网二手已备案域名