搜档网
当前位置:搜档网 › USB开发步骤之硬件篇

USB开发步骤之硬件篇

USB开发步骤之硬件篇
USB开发步骤之硬件篇

USB开发步骤之硬件篇

副标题:

作者:佚名文章来源:本站原创点击数:5963 更新时间:2005-1-5

现在的USB生产厂商很多很多,几乎所有的硬件厂商都有USB的产品。我了解的公司有Intel, 国半, Cyp ress, AnchorChips这几家,Intel作为USB标准的制订者之一,又加上Intel的龙头老大的地位,现在的计算机主板上的HOST基本上采用的都是INTEL的芯片。而在外设的USB控制器方面,大家的性能都差不多。其中CYPESS公司的器件以便宜见长,在收购了ANCHORCHIPS公司之后,CYPRESS基本上从低速到全速的器件都包涵到了,有一些器件的性能还超过INTEL,当然价格要便宜得多(注:以上评价纯属个人意见,仅供参考)。就象CPU唯INTEL马首是瞻一样,很多的厂家都喜欢把自己的东西和INTEL的做比较,我个人认为要做的话,还是INTEL的要好一些!

USB器件一般来说是有两种类型的,一种是MCU集成在芯片里面的,象上面提到的Intel,Cypree,National semiconductors, Anchorchips等等;另外的还有就是单独的一个芯片实现USB的Engine的功能,象philips,PDIUSBD11,PDIUSBP11A,PDIUSBD12等,还有象lucent也出了两款器件,USS-820,USS-620,820是普通的高速设备,具有8个双向的endpoints,而620是具有DMA功能,使用起来比820占用系统资源要少得多!还有很多家,因为我没有接触过其它厂家的东西,所以没有发言权!呵呵!不过总的来说,在这个方面ph ilips和National Semiconductors的东东要大众一些,开发的话应该上手快一些!不过philips的和51的接口搞的偶烦了好几天,比较的麻拐一些!

好了,既然把话题说开了,就接着说说USB的HUB的器件,主要的我没有做过,好象国内的USB的HU B还没有什么厂家开始做,即使有,也是非常少的,HUB的器件我重点推荐philips的东西,可以选择PD USBH系列产品,这一个系列的产品主要是在于用它设计HUB的测试方面有很好的功能,从而减少了开发的难度(这是一个米国朋友告诉偶的,E文翻译过来,如有错误,敬请注意)。

对了,还有一个问题,起码有不少于十个人来问我,两台PC间如何通过USB口直接连接起来,再次重申一遍,由于USB的网络协议的关系,两台PC的USB都是host,所以没有办法连,如果连的话,必须要使用USB的桥!这个桥的芯片有以下几种,一是anchorchips的EZlink,还有Prolific Technology Inc 的PL23 01,PL2302,这个,我只知道anchorchips的东东,要买好几十给美金,我想如果是家庭用的话,没有人会发神经病去卖这个鸟东西,反正两个网卡才几块银子。还有USB的Audio方面的器件,有Dalas和philips 的东西可以选,当然还有其它的,反正都是巨大无比的公司,应该质量上没有特别的差别,只是在一些小

的细节上有所不用,各位老大自己慢慢斟酌了。

最后重申:以上几个方面的建议纯属个人建议,不代表官方意见和公司意见,我没有从上面的推荐公司中获得一分钱的好处(NND,白做了一把广告)。

--------------------------------------------------------------------------------

下面就以INTEL公司的8X930AX USB 芯片作一些介绍:

8X930AX USB 微处理器采用的是MCS51作为它的控制CPU,工作在12MHz的工作频率,有256Kbytes 的存储空间,如果不够还能够在外围扩展。它有11个中断源,其中有三个分配给USB设备(device)。当然他也还有一些其它的特性,在此不作详细的介绍了。您可以到https://www.sodocs.net/doc/235210038.html,/去获得详细的资料。它的主要缺点是价格上可能偏高,开发费用略高,但是开发难度要相对小一些!

如何给USB器件设计一个BUFFER(Intel)

下面以CYPRESS公司的CY7C6XX系列产品作一些介绍:

CYPRESS公司的芯片在低速的场合做得很好,比如国内所有的USB鼠标都是采用的CYPRESS公司的芯片(真的是便宜,不由得你不买他的东东),但是在高速方面支持得不是很好,好象是在CY36系列产品上存在着速度快就CRASH的毛病,在收购了ANCHORCHIPS之后情况才有所改观。

在我这次更新(四月)主页的时候,我得知他们在很多方面都做了改进,他们的产品应该还是很有竞争力的。

[个人意见] 其实我觉得USB的硬件所有的厂家都差不多,差别只是在于他们采用的控制器的不同,除了各个公司的CPU不同(像ST就用他们的ST8或者ST16,Intel当然就用他们的看家本领,而ANCHORC HIPS就只好用人家的51了)以外的东西基本一致,就只有一个SIE(什么是SIE,可以参考这篇文章),高速的器件还会有一个DMA的控制器,使他的数据可以跑得很快。当然你还要看他们的开发包的费用了,具体的报价我没有比较过,有兴趣的可以比较一把,别忘了给我一份,呵呵!

我对于硬件最想说的一点是他的速度的算法,USB的速度是跟USB其间内部提供的缓冲区的大小有关,还有一个就是USB标准中提到的每1ms和每10ms(还有255ms的时候)发一桢数据的区别,这是低速和全

速的主要区别,而缓冲区的大小直接的影响到每桢传送的数据量的大小,这一点大家在算USB的速度的时候一定要注意。在做设计之前一定计算好自己所要求的带宽和芯片的速度匹不匹配,否则会引起不必要的麻烦(洒家开始的时候就被害惨了)。

下面是一个带宽的计算公式:

BW=EP*INT(BPF/(OH+EP))/125

其中:BW表示带宽(Mbits/sec),EP表示ENDPOINT的大小(bytes),BPF表示每桢的字节数,OH表示开销。

你可以很快的根据你的设计计算出你的USB器件的带宽。下面给出一个例子:

希望可以从这个例子中得到USB的带宽的计算方法。而对于四种不同的传输方式来说,主要的不同是体现在BPF和OH的不同上。具体可以参照USB的标准的第八章。还可以看一看这篇文章。

选好方案之后,到了具体的控制程序设计阶段,就只是一个CPU的程序控制问题,对于华夏发达的单片机水平来说,这是非常容易解决的,倘若我再重复讲一下单片机中断抑或讲一段什么例子程序的话,我怀疑会被人砍翻在地,因此寡人只好封刀引退。若有不明,请参考谁谁谁谁谁等高手之微处理器专著。

也有一些大佬们来问了一下一些关于这些控制方面的问题,很多是没有仔细的看文档资料,关于一些USB 的芯片的特殊功能寄存器在说明书里面都有详细的说明,操作方法跟51的器件里面的SFR一模一样。

上面文章系转贴,原作者网站为:https://www.sodocs.net/doc/235210038.html,/

软件开发的完整步骤

软件开发的完整步骤目录 1 问题定义 (4) 1.1 用户调查 (4) 1.2 编写《系统目标与范围说明》 (4) 2 可行性研究 (4) 2.1 确定项目的规模和目标 (4) 2.2 研究正在运行的系统 (4) 2.3 建立新系统的高层逻辑模型 (5) 2.4 重新定义问题 (5) 2.5 导出和评价各种方案 (5) 2.6 推荐可行方案 (5) 2.7 编写《可行性研究报告》 (5) 2.8 提交审查 (5) 3 需求分析 (6) 3.1 制定需求分析计划 (6) 3.2 需求获取 (6) 3.3 分析和综合 (6) 3.4 协商与沟通 (6) 3.5 编写《需求规格说明书》 (6)

3.6 需求验证 (7) 3.7 修改完善开发计划 (7) 3.8 技术审查和管理复审 (7) 4 概要设计 (7) 4.1 制定规范 (7) 4.2 设想供选择的方案 (7) 4.3 推荐最佳方案 (8) 4.4 功能分解 (8) 4.5 软件结构设计 (8) 4.6 数据设计 (8) 4.7 制定测试计划 (8) 4.8 编写《概要设计规格说明书》 (8) 4.9 其他文档编写 (8) 4.10 技术审查和管理复审 (9) 5 详细设计 (9) 5.1 数据结构设计 (9) 5.2 物理设计 (9) 5.3 算法设计 (9) 5.4 界面设计 (9) 5.5 其他设计 (10) 5.6 编写《详细设计规格说明书》 (10) 5.7 技术审查和管理复审 (10)

6 编码 (10) 6.1 选择合适的程序设计语言 (10) 6.2 制定编码规范 (10) 6.3 建立数据库系统 (10) 6.4 程序编码 (11) 7 测试 (11) 7.1 测试用例设计 (11) 7.2 单元测试 (11) 7.3 集成测试 (11) 7.4 系统测试 (11) 7.5编写《测试分析报告》 (12)

软硬件开发流程及要求规范

0目录 0目录 (2) 1概述 (4) 1.1硬件开发过程简介 (4) 1.1.1硬件开发的基本过程 (4) 1.1.2硬件开发的规化 (4) 1.2硬件工程师职责与基本技能 (5) 1.2.1硬件工程师职责 (5) 1.2.2硬件工程师基本素质与技术 (5) 2软硬件开发规化管理 (6) 2.1硬件开发流程 (6) 2.1.1硬件开发流程文件介绍 (6) 2.1.2硬件开发流程详解 (6) 2.2硬件开发文档规 (10) 2.2.1硬件开发文档规文件介绍 (10) 2.2.2硬件开发文档编制规详解 (11) 2.3与硬件开发相关的流程文件介绍 (13) 2.3.1项目立项流程: (13) 2.3.2项目实施管理流程: (14) 2.3.3软件开发流程: (14) 2.3.4系统测试工作流程: (14) 2.3.5部验收流程 (14) 3附录一. 硬件设计流程图: (16)

4附录二. 软件设计流程图: (17) 5附录三. 编程规 (18)

1概述 1.1 硬件开发过程简介 1.1.1硬件开发的基本过程 硬件开发的基本过程: 1.明确硬件总体需求情况,如CPU 处理能力、存储容量及速度,I/O 端口的分配、接口要求、电平要求、特殊电路(厚膜等)要求等等。 2.根据需求分析制定硬件总体方案,寻求关键器件及电路的技术资料、技术途径、技术支持,要比较充分地考虑技术可能性、可靠性以及成本控制,并对开发调试工具提出明确的要求。关键器件索取样品。 3.总体方案确定后,作硬件和单板软件的详细设计,包括绘制硬件原理图、单板软件功能框图及编码、PCB 布线,同时完成发物料清单。 4.领回PCB 板及物料后由焊工焊好1~2 块单板,作单板调试,对原理设计中的各功能进行调测,必要时修改原理图并作记录。 5.软硬件系统联调,一般的单板需硬件人员、单板软件人员的配合,特殊的单板(如主机板)需比较大型软件的开发,参与联调的软件人员更多。一般地,经过单板调试后在原理及PCB布线方面有些调整,需第二次投板。 6.部验收及转中试,硬件项目完成开发过程。 1.1.2硬件开发的规化 硬件开发的基本过程应遵循硬件开发流程规文件执行,不仅如此,硬件开发涉及到技术的应用、器件的选择等,必须遵照相应的规化措施才能达到质量保障的要求。这主要表现在,技术的采用要经过总体组的评审,器件和厂家的选择要参照物料认证部的相关文件,开发过程完成相应的规定文档,另外,常用的硬件电路(如ID.WDT)要采用通用的标准设计。

新游戏软件开发流程

软件开发流程(Software development process) 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。 第一步:需求调研分析 1相关系统分析员和用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。 2 系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。 3 系统分析员和用户再次确认需求。 第二步:概要设计 首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。 第三步:详细设计 在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。 第四步:编码 在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。 第五步:测试 测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。 第五步:软件交付准备 在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。

硬件开发管理办法及流程图

硬件开发管理流程 1目的 1.1使开发人员的开发工作能够按照一定的程序进行,保证开发工作的顺 利进行。 1.2使开发工作的管理流程化,保证开发产品的品质。 1.3确保有较高的开发与管理效率。 2范围 2.1本流程适用于硬件部产品硬件开发过程。 3职责 3.1由硬件部负责产品的硬件开发,修正及发行相关文件。 3.2由品管部负责产品开发过程的审核、监督与产品质量的控制、评定。4定义 4.1PCB:Printed Circuit Board印刷电路板 4.2BOM:Bill Of Material 材料表 5程序 5.1新产品硬件开发程序 5.1.1接收新需求 5.1.1.1由市场部提交已通过可行性分析的《客户需求明细》。 5.1.2硬件部针对客户产品需求进行详细硬件参数分析,制定设计方案 与规划,并填写《硬件开发设计规划》 5.1.3原理图设计 5.1.3.1硬件部完成产品原理图设计。 5.1.3.2同部门相关人员负责原理图设计的检查与审核,如不通过 则进行修改,并填写《硬件设计记录表》。 5.1.4PCB设计 5.1.4.1硬件部依据本公司PCB设计规范完成PCB图设计。 5.1.4.2同部门相关人员负责PCB设计的检查与审核,如不通过则 进行修改,并填写《硬件设计记录表》。 5.1.5PCB光绘文件设计 5.1.5.1PCB设计完成并通过审核后,出相应光绘文件。 5.1.5.2同部门相关人员负责光绘文件的检查与审核,如不通过则 进行修改,并填写《硬件设计记录表》。 5.1.6BOM表设计 5.1. 6.1根据原理图出相应产品BOM表。 5.1. 6.2同部门相关人员负责BOM表的检查与审核,如不通过则进 行修改,并填写《硬件设计记录表》。 5.1.7PCB打样,申请器件样片 5.1.7.1硬件部将PCB光绘文件及《PCB制作申请表》交至采购部 门联系安排PCB板打样。 5.1.7.2硬件部到材料库领用配套调试所需的器件,如材料库没有 的,硬件部将欠缺的器件清单交至采购部进行采购。 5.1.8焊接与装配样板 5.1.8.1PCB打样完成后,硬件部负责完成样板的器件焊接与装配。

USB原理及接口设计

USB原理及接口设计 吴 磊 0 引言 通用串行总线USB是Intel、Microsoft等大厂商为解决计算机外设种类的日益增加与有限的主板插槽和端口之间的矛盾而提出制定的。是一种用于将适用USB的外围设备连接到主机的外部总线结构,主要用在中速和低速的外设。USB同时又是一种通信协议,主持主机和USB的外围设备之间的数据传输。 1 USB的结构与工作原理 1.1 物理结构 在USB2.0中,高速方式下Hub使全速和低速方式的信令环境独立出来。通过使用集线器扩展可外接多达127个外设。USB的电缆的四根线,两根传送的是5V的电源,另外的两根是数据线。功率不大的外围设备可以直接通过USB总线供电,而不必外接电源。USB总线最大可以提供5V500m A 电流,并支持节约能源的挂机和唤醒模式。 1.2 USB设备逻辑结构 USB的设备可以分成多个不同类型,同类型的设备可以拥有一些共同的行为特征和工作协议,这样可以使设备驱动程序的编写变得简单一些。每一个USB设备会有一个或者多个的逻辑连接点在里面每个连接点叫端点。在USB的规范中用4位地址标识端点地址,每个设备最多有16个端点。端点0都被用来传送配置和控制信息。 1.3 USB通信分层模型 一台主机到设备的连接需要许多层与实体之间相互作用。USB总线接口层提供了主机和设备之间的物理/信令/包的连接。在系统软件看来, USB设备层执行的是一般的USB操作。功能接口层提供和应用软件层相对应的附加功能,虽然逻辑上USB设备层和功能层各自与主机上相应层通信,但物理上是通过USB总线接口层实现数据传输的。 1.4 四种传输方式 USB提供了四种传输方式,以适应各种设备的需要。这四种传输方式分别是: 控制传输方式,用在主计算机和USB外设中端点0之间,等时传输方式,中断传输方式,用于定时查询设备是否有中断数据传送;大量传输方式。1.5 USB通信协议 USB的物理协议规定了在总线上传输的数据格式,一个全速的数据帧有1500字节,而对于低速的帧有187字节。帧的作用是分配带宽给不同的数据传送方式。 一个最小的USB的数据块叫做包,包通常有同步信号,包标识,地址、传送的数据和CRC。包的ID 由八位组成,其中后四位是纠错位。 2 WindowsUSB驱动程序接口 USB的驱动程序和以往的直接跟硬件打交道的Win95的VxD驱动程序不同,属于WDM类型, Win98、Win2000等操作系统均支持该类型的驱动程序。WD M定义了一个基本的核心驱动程序模型,处理所有类型的数据,使驱动程序模型的内核实现更加固定。WDM驱动程序还是一种分层的程序结构,可看做是WindowsNT驱动程序的改进,WD M驱动程序支持即插即用、电源管理和W MI特性。 3 USB接口10M以太网卡的实现 3.1选择器件 介绍一种使用廉价USB接口芯片USB N9602加高速的51单片机实现10M以太网卡的方案。 设计之前一定要计算好外设所要求的带宽和USB的速度是否匹配。一个USB以太网卡应该包括USB通信接口、8051单片机以及IEE E802.3的MAC层和物理层。USBN9602在全速工作方式下可以达到12Mbit/s,采用USBN9602基本可以满足10M以太网的带宽需求。 3.2开发USB网卡驱动程序 开发USB设备驱动程序通常采用Windows DDK来实现,但现在有许多第三方软件厂商提供了各种各样的生成工具,(下转第19页)

软件开发文档说明书(完整流程)

. 在软件行业有一句话:一个软件能否顺利的完成并且功能是否完善,重要是看这个软件有多少文档,软件开发文档是一个软件的支柱,如果你的开发文档漏洞百出,那么你所开发出来的软件也不可能会好;开发文档的好坏可以直接影响到所开发出来软件的成功与否。 一、软件开发设计文档:软件开发文档包括软件需求说明书、数据要求说有书、概要设计说明书、详细设计说明书。 1、软件需求说明书:也称为软件规格说明。该说明书对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。软件需求说明书的编制目的的就是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解、并使之面成为整个开发工作的基础。 其格式要求如下: 1 引言 1.1 编写目的。 1.2 背景 1.3 定义 2 任务概述 2.1 目标 2.2 用户的特点

. 2.3 假定和约束 3 需求规定 3.1 对功能的规定 3.2 对性能的规定 3.2.1 精度 3.2.2 时间特性的需求 3.2.3 灵活性 3.3 输入输出要求 3.4 数据管理能力要求 3.5 故障处理要求 3.6 其他专门要求 4 运行环境规定 4.1 设备 4.2 支持软件 4.3 接口 4.4 控制

. 2、概要设计说明书:又称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运河行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。 其格式要求如下: 1 引言 1.1 编写目的 1.2 背景 1.3 定义 1.4 参考资料 2 总体设计 2.1 需求规定 2.2 运行环境 2.3 基本设计概念和处理流程 2.4 结构 2.5 功能需求与程序的关系

一个完整的软件开发流程

一个完整的软件开发流程 一、开发流程图 二、过程产物及要求 本表主要列出开发阶段需要输出的过程产物,包括产物名称、成果描述、负责人及备注,即谁、在什么时间、应该提供什么内容、提供内容的基本方向和形式是什么。 三、过程说明 (一)项目启动 1、产品经理和项目干系人确定项目方向,产品型项目的干系人包括公司领导、产品总监、技术总监等,项目的话则包括客户方领导、主要执行人等。

2、公司领导确认项目组团队组成,包括产品经理、研发项目经理、研发工程师、测试团队等。 3、明确项目管理制度,每个阶段的成果产物需要进行相应的评审,评审有相应的《会议纪要》;从项目启动起,研发项目经理每周提供《项目研发周报》;测试阶段,测试工程师每周提供《项目测试周报》。 4、产品经理进行需求调研,输出《需求调研》文档。需求调研的方式主要有背景资料调查和访谈。 5、产品经理完成《业务梳理》。首先,明确每个项目的目标;其次,梳理项目涉及的角色;再来,每个角色要进行的事项;最后,再梳理整个系统分哪些端口,要有哪些业务模块,每个模块再包含哪些功能。 (二)需求阶段 1、进入可视化产物的输出阶段,产品经理提供最简单也最接近成品的《产品原型》,线框图形式即可。在这个过程中还可能产生的包括业务流程图和页面跳转流程图。业务流程图侧重在不同节点不同角色所进行的操作,页面跳转流程图主要指不同界面间的跳转关系。项目管理者联盟 2、产品经理面向整个团队,进行需求的讲解。 3、研发项目经理根据需求及项目要求,明确《项目里程碑》。根据项目里程表,完成《产品开发计划》,明确详细阶段的时间点,最后根据开发计划,进行《项目任务分解》,完成项目的分工。 4、研发工程师按照各自的分工,进入概要需求阶段。《概要需求》旨在让研发工程师初步理解业务,评估技术可行性。 (三)设计阶段 1、UI设计师根据产品的原型,输出《界面效果图》,并提供界面的标注,最后根据主要的界面,提供一套《UI设计规范》。UI设计规范主要是明确常用界面形式尺寸等,方便研发快速开发。UI设计常涵盖交互的内容。 2、研发工程师在界面效果图,输出《需求规格》,需求规格应包含最终要实现的内容的一切要素。 3、研发工程师完成《概要设计》、《通讯协议》及《表结构设计》,及完成正式编码前的一系列研发设计工作。 (四)开发阶段项目经理博客 1、研发工程师正式进入编码阶段,这个过程虽然大部分时间用来写代码,但是可能还需要进行技术预研、进行需求确认。

硬件研发流程

CD Concept Definition CMF 3D & sourcing (ED MD SD QA)ED MD SD 输出资料 sourcing PjM QA PE (ED MD SD QA) KO Kick Off 输出资料 PjM PjM PE QE Sourcing PjM iHoment A

A 结构设计 结构工艺说明 内外部评审是否通过 结构设计评审工程DFM评审 模厂DFM评审开模等事宜 YES NO 结构手版与 评审 初版原理图 绘制编制BOM清单 元器件评估详细原理图 绘制原理图评审 是否通过 NO YES 嵌入式软件 设计评审嵌入式 软件 是否通过 NO YES 编写软件代 码评审代码 是否通过 NO YES B 报价及供应商确定 整机价格确 认 TL Tooling Launch 开模 C 结构图纸3D MD 结构图纸2D MD 开模清单 ID CMF ID 结构评审报告 MD 结构手板评审报告 MD 电子评审报告 ED 制程DFM PE PjM输入组装图 模具厂DFM PjM+MD 输出资料 输出资料

B 开模 D 设计PCB PCB设计评审是否通过 YES NO 包装及丝印设计(包含文案) 模具T0 投板、样机制作C 打样及评审 是否通过 NO YES T0模具问题修 改 是否通过 模具T1 试产准备 YES NO 样机初测 试产准备软硬件联调长交期物料备料启动 是否通过 试装PCB改版 NO YES 试产 试装改版 试产准备 试产样机测试是否通过 NO YES 安规认证 DR Design Release 设计确定 ES样机测试报告(含跌落)-过程中收集 TE 试产报告 PE 试产样机测试报告 TE 产品成熟度判定报告 PjM 输出资料

从硬件角度解析USB Type

连接器与世界网 https://www.sodocs.net/doc/235210038.html,/news/201676.html 从硬件角度解析USB Type-C 【大比特导读】USB Type-C终结了长期以来USB插来插去的缺陷,节省了 人们大量的时间,换一次方向至少2s吧,按全球10亿人每天插拔一次USB,50% 概率插错,共耗时277000多小时,约为31年,太恐怖了。一个接口搞定了音视 频数据三种,体积还算小。 USB Type-C终结了长期以来USB插来插去的缺陷,节省了人们大量的时间,换一次方 向至少2s吧,按全球10亿人每天插拔一次USB,50%概率插错,共耗时277000多小时,约 为31年,太恐怖了。一个接口搞定了音视频数据三种,体积还算小。可以预见,以后安卓 机可以改为USB Type-C接口了,如果只需要USB2.0的话,只需要重做线缆,不用芯片,成 本上完全可以忽略不计。至于Thunderbolt,lightning,该怎样还是怎样吧。百花齐放才 是五彩的世界。 自从Apple发布了新MacBook,就一堆人在说USB Type-C。我来从硬件角度解析下这个USB Type-C,顺便解惑。尺寸小,支持正反插,速度快(10Gb)。这个小是针对以前电脑上的USB接口说的,实际相对android机上的microUSB还大了点: 特色 USB Type-C:8.3mmx2.5mm microUSB:7.4mmx2.35mm 而lightning:7.5mmx2.5mm 所以,从尺寸上我看不到USB Type-C在手持设备上的优势。而速度,只能看视频传输 是否需要了。 引脚定义 可以看到,数据传输主要有TX/RX两组差分信号,CC1和CC2是两个关键引脚,作用很 多:

硬件开发流程及规范 (1)

硬件开发流程及规范 硬件开发流程及规范 一、主板 二、辅助PCB及FPC 三、液晶屏 四、摄像头 五、天线 六、SPEAKER 七、RECEIVER 八、MIC 九、马达 十、电池 十一、充电器 十二、数据线 十三、耳机 版2008-12-13

(一)主板 1.开发流程: 2.资料规范 1)主板规格书 a)基本方案平台; b)硬件附加功能: c)软件附加功能; d)格式和排版布局合理,便于打印; 范例格式见下表:

E519 PDA主板规格书 2)元件排布图 a)标明所有接插件名称、引脚定义,方向及连接器型号;

b)标明所有外部焊接位置的名称,极性; c)位号图可用放大的图纸单独标示,并标明需区分方向和极性的器件; d)标明所有结构尺寸比较高可能影响装配的器件; e)格式和排版布局合理,便于打印; 范例格式见下图: 3)BOM a)每次改版记录要明确记录在改版记录中,明确试产版和量产版及版本号和日期; b)保证数据正确性,物料编码与物料描述一致,位号数量与用量一致,物料种数和数量与改版 记录一致; c)结构件、IC、阻容件分类,按一定顺序排列; d)功能可选项分开列出(注意相互的关联性); e)格式和排版布局合理,便于打印(所用文字全部显示); 范例格式见下表:

4)SMT试产报告 a)召开试产会议,所用发现的问题要全部列出,并修改相关的文件; b)所用问题要有解决措施,并明确责任人限时处理; c)有代表性的问题要列入设计查核表,防止类似问题再次出现; d)记录试产环境及关键参数; e)报告审核后发相关部门负责人; f)保证数据真实性,有任何问题要找到确实的原因,不可用习惯性思维处理; 范例格式见下表: SMT试产报告

嵌入式软件开发流程图

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

USB接口电路分析

USB接口电路分析 USB(Universal serial bus)的中文含义是通用串行总线。USB接口的特点是速度快、兼容性好、不占中断、可以串接、支持热插拔等。目前USB接口有两种标准,分别为USB1.1和USB2.0. 其中USB1.1标准接口的数据传输速度为12Mbps,USB2.0标准接口的数据传输速度为480Mbps。主板通常集成4-8个USB接口,并且在主板上还有USB扩展接口,通常USB接口使用一个4针插头作为标准插头,通过USB 插头,采用菊花链的形式可以把所有的外设连接起来,并且不会损失带宽。USB接口电路主要由USB接口插座、电感、滤波电容、电阻排、保险电阻、南桥芯片等组成。USB 接口电路的VCC0和VCC1供电针脚通过保险电阻和电感连接到电源插座的第4针脚,有的主板在供电电路中还设置有一个供电跳线,通过跳线可以选择待机供电或VCC5供电。如果选择待机供电,则在关机的状态下,USB接口也有工作电压。USB接口电路中的保险电阻用来防止USB 设备发生短路时烧坏ATX电源,目前的主板一般使用贴片电阻或高分子PTC热敏电阻作为保险电阻。高分子PTC热敏电阻可以在出现短路情况时,自动升高内部电阻,起到保护的作用,同时在故障排除后,又会自动恢复到低电阻状态继续工作。USB接口电路数据线路中的贴片电感

和电阻排的作用是:在数据传输时起到缓冲的作用(抗干扰)。这个电阻排通常采用阻值为22欧或33欧的电阻。而数据线路中连接的电容排和电阻排起滤波的作用,可改善数据传输质量,电容排的容量一般为47PF,有的为100PF。 USB接口的工作原理是:当电脑主机的USB接口接入USB设备时,通过USB接口的5V供电为UDB设备供电,设备得到供电后,内部电路开始工作,并向+DATA针输出高电平信号(—DATA为低电平)。同时主板南桥芯片中的USB模块会不停的检测USB接口的+—DATE的电压。当南桥芯片中的USB模块检测到信号后,就认为USB设备准备好,并向USB设备发送准备好信号。接着USB设备的控制芯片就通过USB接口向电脑主板的USB总线发送USB设备的数据信息。电脑主板接收后,操作系统就会提示发现新硬件,并开始安装USB设备的驱动程序,驱动安装完成后,用户在系统中看见并使用USB设备。

软件开发流程规范-详细流程

软件开发流程规范 目录 目录 0 一、概述 (2) 二、开发流程规范 (3) 2.1系统软硬件开发环境 (3) 2.2系统架构(系统组成) (5) 2.3系统功能模块设计 (6) 2.4系统功能开发流程图 (7) 2.5开发修改记录 (8) 三、开发代码规范 (9) 3.1文件结构 (9) 3.1.1 文件信息声明 (10) 3.1.2头文件的结构 (12) 3.1.3定义文件的结构 (15) 3.1.4 头文件的作用 (17) 3.1.5 目录结构 (18) 3.2命名规则 (18) 3.2.1 共性原则 (19) 3.2.2 Windows变量命名规则 (21) 3.3程序风格 (24) 3.3.1 空行 (25) 3.3.2代码行 (26) 3.3.3代码行内的空格 (29) 3.3.4 对齐 (31) 3.3.5 长行拆分 (33) 3.3.6修饰符的位置 (35) 3.3.7 注释 (35) 3.4函数设计 (40) 3.4.1 参数的规则 (40) 3.4.2返回值的规则 (42) 3.4.3函数内部实现的规则 (47) 3.4.4其它建议 (50) 3.4.5使用断言 (50) 3.4.6 引用与指针的比较 (52) 3.5变量类型定义 (56)

四、软件测试规范 (56) 4.1单元测试 (57) 4.2 系统测试 (57) 4.6 业务测试 (59) 4.7 验收测试 (59) 4.8 用户现场测试 (59) 五、软件版本管理 (60) 4.1 版本管理的必要性 (60)

、概述 本文制定烟台开发区德联软件有限责任公司计算机软件开发规范文档。本规范的目的是使公司软件开发项目阶段清晰、要求明确、任务具体、编写的代码规范,使之规范化、系统化和工程化,向公司内从事软件开发的工程师和管理人员提出一系列规范和要求,从而有利于开发过程的控制和管理,提高所开发软件系统的质量,缩短开发时间,减少开发和维护费用,以保证项目高质量、顺利进行。 本规范包含:开发流程规范和开发代码规范等,开发流程规范需要技术开发人员编写相关内容,希望每个技术人员形成习惯,如有新的内容更新会及时通知大家,如有好的规范要求也可通知编制人员及时更新。 本规范为烟台开发区德联软件有限责任公司内部材料,严禁其他商业应用。

硬件设计流程

硬件设计流程 一、硬件设计 1.1单板设计需求 单板设计之前需要明确单板的设计需求。单板的功能属性。单板的设计目的,使用场合,具体需求包括: 1.单板外部接口的种类,接口的数量,电气属性即电平标准。 2.单板内部的接口种类,电气属性。 3.单板外部输入电源大小 4.单板的尺寸 5.单板的使用场合,防护标准 若设计中需要用到CPU,需要确定设计中需要用到的FLASH大小和需求的内存的大小和CPU的处理能力。单板设计需求中需要明确单板的名字和版本并且要以文档的形式表现出来,是后续单板设计和追溯的主要依据。 单板设计需求完成之后,需要召开项目评审会,需要对设计需求说明中各类需求逐个确认。当各类需求均满足设计需要时则进入下一步。 1.2 单板设计说明 单板需求明确后,需要开始编写单板设计说明。其中需要包括单板设计所需要的各种信息如: 1.单板设计详细方案,需要具体到用到什么芯片,什么接口。 2.器件选型,器件选型需要满足设计的需求。 3.单板功耗、单板选型之后需要确定单板的功耗,为单板散热和电源设计提供依据 4.电源设计、电源设计需要包含单板中需要用到的各类电源。若相同的电源需要做隔离 的需要做需要详细指出。 5.时钟设计,单板若是用到多种时钟,则需要描述时钟的设计方法,时钟拓扑。 6.单板的实际尺寸 7.详细描述各个功能模块给出详细的设计方法 8.详细描述各接口的设计方法和接口的电气属性。 若设计模块有多种设计方法,选择在本设计中最佳的设计方案。若软件对单板中用到的器件有独特的要求,需要明确指出(如对某些制定管脚的使用情况)。除了各个功能模块之外单板设计说明中需要详细描述接口的防护方法。设计说明需要以文档的形式给出,是单板设计过程中重要的文档,其中需要包括单板的名称和单板的版本。如果有条件单板设计说明完成后项目中进行评审。 1.3原理图设计 设计说明完成之后就要开始单板的原理图设计,单板设计说明是单板原理图设计的重要依据。原理图设计之气需要确定单板设计用用到的各个器件原理图库中是否具有原理图符号,如果没有需要提前绘制。新绘制的原理图符号需要反应器件的电气属性,器件型号,最好包含品号信息,绘制完成之后将其放到相应的库中,原理图设计需要包含: 1.各个器件接口的正确电气连接。 2.原理图中的各个器件需要有单独的位号。 3.原理图中需要包含安装孔和定位孔。 4.原理图中的兼容设计或者在实际应用中不需要焊接的器件需要在原理图中明确标出。 原理图的名字需要和单板的名字一致。考虑到单板上所用器件可能会有较长的采购周

USB接口全解析

一、USB接口定义 USB是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,该规范是应用在PC领域的接口一项技术。是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。 二、USB发展历史 USB的发展历史也比较缓慢,第一版USB仅有1.5Mbps,随后升级到USB 1.1,其传输速率也仅为12Mbps,后来演进到USB 2.0规范,传输速率达到了480Mbps,也是目前大多数设备采用的标准。 USB 3.0标准是英特尔、微软和几家业界领先公司一起推广起来的,其因具有高达5Gbps的传输速率、链路电流从USB2.0的500mAh提高到 900mAh,采用USB3.0接口进行充电速度会更快等优势,而受到更多厂商的加入。 现如今,USB最高标准已经到了USB 3.1规范,其传输读率最高可达10Gbps。 三、USB接口类型

USB接口类型分为以下四种: Type-A:标准版USB接口 Type-B:打印机设备常用 TYPE Micro-B:移动设备的USB标准 Type-C:正在成为主流趋势接口类型,目前在手机、Mac、平板电脑、笔记本中都可以见到了 通过下面这一张图片就可以快速认识和知道你的USB接口类型是什么了。 下面这张图,列举了部分USB接口的针脚排列情况

1、Type-A:标准版USB接口 Type-A 是我们最常见的一种USB接口类型,在电脑上常用。但它有一些显著问题:有方向要求。必须从某个特定的方向才能将接头(公口)插入接口(母口),但由于USB公口的两面外形非常接近,这个插入的过程经常出错。 2、Type-B:打印机设备常用 Type-B 是在打印机上最为常见和流行的一种数据接口类型,以及部分显示器也会被使用这样的接口。 3、TYPE Micro-B:移动设备的 USB 标准 当前大部分安卓手机中采用的是 Micro USB接口(即 USB Micro-B),这种接口至今仍被广泛地应用在各种移动便携式设备上。 4、Type-C:将成为主流

一个完整的软件开发流程精品范本

一个完整的软件开发流程一、开发流程图

二、过程产物及要求 本表主要列出开发阶段需要输出的过程产物,包括产物名称、成果描述、负责人及备注,即谁、在什么时间、应该提供什么内容、提供内容的基本方向和形式是什么。 三、过程说明 (一)项目启动 1、产品经理和项目干系人确定项目方向,产品型项目的干系人包括公司领导、产品总监、技术总监等,项目的话则包括客户方领导、主要执行人等。 2、公司领导确认项目组团队组成,包括产品经理、研发项目经理、研发工程师、测试团队等。

3、明确项目管理制度,每个阶段的成果产物需要进行相应的评审,评审有相应的《会议纪要》;从项目启动起,研发项目经理每周提供《项目研发周报》;测试阶段,测试工程师每周提供《项目测试周报》。 4、产品经理进行需求调研,输出《需求调研》文档。需求调研的方式主要有背景资料调查和访谈。 5、产品经理完成《业务梳理》。首先,明确每个项目的目标;其次,梳理项目涉及的角色;再来,每个角色要进行的事项;最后,再梳理整个系统分哪些端口,要有哪些业务模块,每个模块再包含哪些功能。 (二)需求阶段 1、进入可视化产物的输出阶段,产品经理提供最简单也最接近成品的《产品原型》,线框图形式即可。在这个过程中还可能产生的包括业务流程图和页面跳转流程图。业务流程图侧重在不同节点不同角色所进行的操作,页面跳转流程图主要指不同界面间的跳转关系。项目管理者联盟 2、产品经理面向整个团队,进行需求的讲解。 3、研发项目经理根据需求及项目要求,明确《项目里程碑》。根据项目里程表,完成《产品开发计划》,明确详细阶段的时间点,最后根据开发计划,进行《项目任务分解》,完成项目的分工。 4、研发工程师按照各自的分工,进入概要需求阶段。《概要需求》旨在让研发工程师初步理解业务,评估技术可行性。 (三)设计阶段 1、UI设计师根据产品的原型,输出《界面效果图》,并提供界面的标注,最后根据主要的界面,提供一套《UI设计规范》。UI设计规范主要是明确常用界面形式尺寸等,方便研发快速开发。UI设计常涵盖交互的内容。 2、研发工程师在界面效果图,输出《需求规格》,需求规格应包含最终要实现的内容的一切要素。 3、研发工程师完成《概要设计》、《通讯协议》及《表结构设计》,及完成正式编码前的一系列研发设计工作。 (四)开发阶段项目经理博客 1、研发工程师正式进入编码阶段,这个过程虽然大部分时间用来写代码,但是可能还需要进行技术预研、进行需求确认。 2、编码过程一般还需进行服务端和移动端的联调等。

USB全规范详细分析(技术篇)

USB全规范详细分析(技术篇) USB规格设计 上面说的那些只是很表面的东西,接下来的就是技术知识深一点的了,大家做好心理准备喔。 USB规格的规范化 建立USB规格的厂商们,共同设立了一个称为"USB应用者论坛(USB Implementers Forum Inc,USB-IF)"的非营利组织。USB-IF是一个技术支持组织,也是接受各界对USB研发与应用建议的论坛。这个论坛促进了高品质并具兼容性USB设备的研发,以及通过规格测试的产品的推广。 符合USB 1.1规范的标志符合USB 2.0规范的标志 和其它业界规格(像是IEEE 1394、DTS、WiFi、Dolby或是DVD等)一样,USB 1.0和USB 2.0都有正式的标示。厂商将这些标示印在产品与包装上,以代表他们的产品是遵照这些规格设计的。这些标示确保了兼容性,并且代表产品经过测试。产品上高速USB 2.0规格的标示,代表它能够与其它同样有高速USB 2.0规格标示的外设一起正常使用。如果一项产品没有这项标示,却还是声称具有兼容性,那就不能保证能和其它USB 2.0一起使用了。为了顾及到兼容性,建议您只购买通过认证的USB设备。 一家厂商的产品要能够标上高速USB 2.0规格的标示,那得先成为USB-IF的付费会员(年费2500美元),而且该产品也需要通过由USB-IF所制定的全速与低速测试程序才行。测试的目的,是要来检验在全速与低速模式下,这些准备出货的产品的USB功能是否能够正常运作。详细的测试步骤分成三大项,每一大项的产品都需要分别通过属于该大项的测试步骤.

接口卡、主板和计算机系统 o 电源提供测试(Power Provider testing) o 传出信号品质(Downstream Signal Quality) o 互通性(Interoperability) " 全速与低速集线器(不含高速支持) o 电源提供测试(Power Provider testing) o 传出信号品质(Downstream Signal Quality) o 回传信号品质(Upstream Signal Quality) o 设备架构测试(Device Framework Testing) o 互通性(Interoperability) o 平均电流消费(Average Current Consumption) " 全速与低速外设 o 回传信号品质(Upstream Signal Quality) o 设备架构测试(Device Framework Testing) o 互通性(Interoperability) o 平均电流消费(Average Current Consumption) 在设计USB 2.0这样高速的设备时,设计者尤其要注意到设备封装(Device Packaging)、电路板设计(Board Layout)、机身接地(Chassis Grounding)、布线设计(Trace Layout),防治电磁干扰(EMI Remediation)、以及资料信号衰减噪声(Data Signal Attenuation/ Jitter)等问题。 USB C&C基本要求 USB C&C相关特性要求规定于USB规格第6章,包括电气、机械与环境三部份,完整测试分成8群组(group),详细测试项目如表1所示。USB连接器目前公告的有 A-type、B-type、Mini-B三种;线缆组有可分离式(Detachable)与固定式(Captive cable),高速/全速可分离式线缆组只有A to B、A to MinI-B、A to Open三种连接型态,低速线缆组基本上不承认可分离式。使用之线缆(Raw cable)基本上要UL2725或CM或同级以上认证。

硬件开发详细流程

电子电器硬件开发详细流程一、硬件开发基本任务 ●硬件需求分析 ●硬件系统设计 ●硬件开发及过程控制 ●系统联调 ●文档归档及验收申请 二、硬件开发详细流程 硬件需求分析内容 1.基本配置及其互联方法 2.运行环境 3.硬件整体系统的基本功能及主要性能指标 4.硬件分系统的基本功能及主要性能指标 5.功能模块的划分 6.关键技术攻关 7.外购硬件的名称型号、生产单位、主要技术指标 8.主要仪器设备 9.公司内部合作以及与外部的合作 10.可靠性、稳定性、可行性论证 11.电源、工艺结构设计 12.硬件测试方案 硬件总体设计报告

1.系统功能及性能指标 2.系统总体结构图及功能划分 3.单板命名 4.系统逻辑框图 5.组成系统各功能模块框图、电路结构图及单板组成 6.单板逻辑框图及电路结构图 7.关键技术讨论 8.关键器件 单板总体设计方案 1.单板在整机中的位置 2.单板功能描述 3.单板尺寸 4.单板逻辑图及功能模块说明 5.单板软件方能描述 6.单板软件功能模块划分 7.接口定义及相关板的关系 8.重要性能指标、功耗及采用标准 单板硬件详细设计 1.单板整体功能的详细描述及模块的精确划分 2.接口的详细设计 3.关键元器件的功能描述、评审、选择 4.符合规范的原理图及PCB图

5.PCB板的测试及测试计划 单板软件详细设计 1.详细设计细节:中断、主程序功能、子程序功能、入口参 数、出口参数、局部变量、函数调用 2.软件流程图 3.通讯协议:物理层、链路层通讯协议定义、高层通讯协议 定义。 单板硬件过程调试文档 1.单板功能模块划分 2.单板模块调试进度 3.调试中的问题和解决方法 4.原是数据记录、系统方案修改说明 5.单板方案修改说明 6.元器件更换说明 7.原理图、PCB板修改说明 8.调试工作阶段总结 9.下阶段调试计划 10.调试方案修改说明 单板软件过程调试文档 1.单板功能模块划分及功能模块调试进度 2.单板调试中出现的问题及解决办法 3.下阶段调试计划

usb硬件解析及设计

Usb硬件解析及设计 USB有“主设备” 和“从设备” 之分。“主设备” 通常写为“USB HOST”或“USB OTG” ,而“从设备”一般写为“USB DEVICE” 。STM32F103系列的芯片只能做“USB DEVICE” ,STM32F105 和STM32F107系列才可以做“USB OTG” 。 USB信号是差分信号,信号线为D+、 D-。在USB HOST端, D+、 D-各接一个15ko hm的下拉电阻。 而在USB DEVICE端,这时就有高速低速设备的区别了。USB1.0、1.1、2.0协议中 都有定义高低速设备以满足不同情况的需求,这些在硬件上的区别就是: 高速设备:D+ 接一个1.5K的上拉电阻,D-不接; 低速设备则相反:这就是为什么板上的USB接口的D+上接一个1.5K的上拉电阻到3.3V的原因。 这样当USB DEVICE插入到USB HOST中时,如果是高速设备,则D+被拉高,D-不 变;低速设备则与之相反。这个上拉过程需要大概2.5us的时间,USB HOST在这个时间 内便检测到了该信号,即可判断有USB DEVICE plug in,和该device的类型,然后开始通讯、枚举等。所以,USB协议虽然非常复杂,一般人不太好掌握,但USB硬件却是非常简单的:如果是USB HOST,例如PC机,那么在USB接口的D+、D-差分线上都接一个15K电阻到 地就可以了;如果是USB DEVICE,例如我们的STM32开发板,那么在USB接口的D+接一个1.5K的上拉电阻到3.3V就可以。 另外,在高速USB传输时,需要考虑信号的完整性问题,即阻抗匹配。阻抗匹配是指在 能量传输时,要求负载阻抗要和传输线的特征阻抗相等,此时的传输不会产生反射,这表明所 有能量都被负载吸收了。反之则在传输中有能量损失。下图中的 R55、R56的22欧姆电阻是阻抗匹配电阻。

相关主题