导航:首页 > 电脑大全 > 电脑usb端口缓冲区

电脑usb端口缓冲区

发布时间:2023-02-23 03:48:47

1. usb接口问题!

Pocketec公司开发的DUSE就为我们提供了在DOS下对USB存储设备(USB硬盘、软驱、光驱)的支持,不过它目前还 不支持较常见的USB ThumbDrive(即U盘)。若要在DOS下驱动USB的U盘,请使用Motto Hairu驱动程序。另外,如果想在纯DOS下使用其它USB设备,如USB鼠标、USB打印机等,则可以使用其它的USB驱动程序,如USB_Link 中的OHCI/UHCI,以及USB4DOS等,均可在本站的“驱动程序”中找到相应的链接,并可在“DOS使用中的常见问题解答(FAQ)”中看到一些 DOS下使用USB设备的信息。
DUSE是DOS下的USB存储设备的驱动程序,目前的最新版本为4.2,是今年刚推出的。它的用法很简单,可在CONFIG.SYS中加载,也可以用它 自带的DUSELDR.COM程序来实现在DOS命令行下(包括批处理文件中)的加载。例如在CONFIG.SYS中加上一行:DEVICE=C:\ DOS\DUSE.EXE或在DOS命令行下执行DUSELDR C:\DOS\DUSE.EXE均可。
如果要加载的是USB光驱,除加载DUSE驱动程序外,还需运行光驱扩展驱动程序,通常可以使用DOS自带的MSCDEX.EXE。DUSE的默认光驱设备名是USBCDROM,在DOS命令行下可以像下面这样运行MSCDEX.EXE:

MSCDEX /D:USBCDROM /K

如果要更好地使用和控制DUSE,可以使用它提供的参数,DUSE的运行参数如下表:
(说明:以下为它的4.2版的参数,其最新4.4版又增加了EMUIRQ、UBNU、DDWAIT等参数。[]中表示可以省略的,以VER[BOSE]为例,VERBOSE是参数的完整写法,而VER则是简写,即[]中的BOSE可以省略。)

1: VER[BOSE][=x], 允许显示状态信息。x的合法值是0、1和2。0表示不显示信息,1表示显示文本消息,2表示采用弹出式窗口显示信息。默认值为0,如果输入了VERBOSE参数但未设定x的值的话,默认值为2。
2: WAI[T]=x, 设置显示弹出式窗口到关闭此窗口的时间(以秒来计算)。x的合法值为0到255之间,默认值为3。只有当VERBOSE的值为2的时候此参数才有效。
3: DRI[VES]=x, 设置允许的USB驱动器的数目。X取值从0到3。如果设置为0的话表示禁止USB驱动器的支持。默认值为1。
4: NOD[RIVES], 禁止对USB驱动器的支持。此参数将覆盖DRIVES参数设置。
5: NOC[DROM], 禁止对USB CD-ROM光驱的支持。
6: MEM[POOL]=x, 设置分配附加的内存的大小。DUSE会根据USB控制器的数目、传输的速度等来进行计算,确定最佳分配内存的大小。而设置此参数将由用户决定内存分配的大小,x值的单位为KB,合法值在0到128之间。
7: XFER[SIZE]=x, 设置允许的最大传输缓冲区,x值单位为KB来。增加传输缓冲区将增强传输性能,但也需要占用更多的内存。默认值为16。
8: SEC[TORSIZE]=x, 设置USB驱动器的扇区大小。x的值用字节来表示。合法值为512,1024或2048,默认为512。
9: APM[STATE]=x, 设置APM(高级电源管理)功能已启用的USB设备中APM的级别。增加此级别将增加设备的性能,但会增加电源的损耗。下面列出了合法的APM的状态x值:
* 最大性能 FEh
* 无挂起功能时中间的电源管理级别 81h-FDh
* 无挂起功能时最小电源损耗 80h
* 带挂起功能时中间的电源管理级别 02h-7Fh
* 带挂起功能时最小电源损耗 01h
x的默认值为0x7F。
10: INT[13], 启用硬盘的INT13功能支持. 此功能对一些磁盘工具(如FDISK)提供支持。
11: DMA[SAFE], 分配在数据传输中使用的DMA安全缓冲区。在运行一些需要从扩展内存中分配的缓冲的应用程序时此参数是必须指定的。
12: NOU[HCI], 防止初始化UHCI USB控制器。
13: NOO[HCI], 防止初始化OHCI USB控制器。
14: NOE[HCI], 防止初始化EHCI USB控制器。
15: UHCN=x, 指定DUSE初始化的UHCI控制器的最大数目为x。
16: OHCN=x, 指定DUSE初始化的OHCI控制器的最大数目为x。
17: EHCN=x, 指定DUSE初始化的EHCI控制器的最大数目为x。
18: LATE[INIT], 启用“延时初始化”的功能. 当使用此功能时,驱动程序在DOS启动阶段从CONFIG.SYS文件中加载,但是直到在DOS命令中使用INIT参数运行DUSE时才会正式启用USB 设备,典型是在AUTOEXEC.BAT文件的结尾。可看下面的“延时初始化”和“将DUSE当作应用程序来运行”的部分。
19: EBAR=x, 指定EHCI BAR(基地址寄存器)将被分配到内存中的地址。x的值必须是四位的16进制数字并带上前缀0x,例如要将EHCI BAR的地址置为0xE000,那么正确的命令行选项就是EBAR=0xE000。合法的地址区域在0xA000到0xF400之间。
20: OBAR=x, 指定OHCI BAR将被分配到内存中的地址。上面对EBAR的描述可应用于OBAR。
21: UBAR=x, 指定UHCI BAR将被分配到内存中的地址。上面对EBAR的描述可应用于UBAR,不过它的合法的地址区域在0x0400到0xF400之间。
22: CDW[AIT][=x], 指示DUSE的初始化要等到第一个USB CD-ROM光驱的盘符被分配,或在x秒钟之内不要结束。x的合法值在0到30之间。x=0是一个特殊值,它表示DUSE将一直等到第一个USB CD-ROM光驱的盘符被分配或用户按下键盘上的ESC键。如果没有指定x的值的话,默认为x=0。
23: CDD[EVICE]=<设备名>, 指定USB CD-ROM光驱的设备名。默认设备名是USBCDROM。
24: VFLOP[PY], 初始化时建立一个启动软盘的虚拟映像。

以下是使用一个命令行参数的例子。可参考此行把DUSE加入到CONFIG.SYS文件中:

DEVICE=C:\DUSE\DUSE.EXE VERBOSE DRIVES=2 XFER=8 SEC=2048 NOCD

此例子设置:
* 显示弹出式状态窗口
* 支持两个USB驱动器
* 将最大传输缓冲区大小设为8K
* 将默认扇区大小设为2048字节
* 禁止对USB CD-ROM光驱提供支持

* 关于“延时初始化”的功能
当在CONFIG.SYS中以LATE[INIT]参数来运行DUSE(例如使用DEVICE=DUSE.EXE LATE)时,要真正使用USB设备还需进行一次真正的初始化。真正的初始化的方法是在DOS命令行下(包括批处理文件中)使用DUSE INIT命令。

* 关于“将DUSE当作应用程序来运行”的功能
将DUSE当作应用程序来在DOS命令行下运行时,DUSE只支持INIT参数。此参数在上面的“延时初始化”以后于DOS命令行上加载,使得DUSE真正初始化USB设备,以真正使用USB设备。

华军下载地址
http://nj.onlinedown.net/soft/19261.htm

2. 如何通过USB接口访问com2接口

数据接收存储技术革新是信号采集处理领域内的一个重要课题。利用这种技术,可以把信号的实时采集和精确处理在时间上分为两个阶段,有利于获得令人更满意的处理结果。在无线数传接收设备中应用数据接收存储方法时,除了要满足数据传输速率和差错控制方面的要求外,还需要考虑如何使设备易于携带、接口简单、使用方便。
传统外设接口技术不但数据传输速率较低,独占中断、I/O地址、DMA通道等计算机系统关键资源,容易造成资源冲突问题,而且使用时繁杂的安装配置手续也给终端用户带来了诸多不便。近年来,USB接口技术迅速发展,新型计算机纷纷对其提供支持。USB2.0是USB技术发展的最新成果,利用USB2.0接口技术开发计算机外设,不但可以借用其差错控制机制[1][6]减轻开发人员的负担、获得高速数据传输能力(480Mb/s),而且可以实现便捷的机箱外即插即用特性,方便终端用户的使用。
1 无线数传接设备总体构成
无线数传接收设备是某靶场测量系统的一个重要组成部分。如图1所示,该设备由遥测接收机利用天线接收经过调制的无线电波信号,解调后形成传输速率为4Mb/s的RS-422电平差分串行数据流。以帧同步字打头的有效数据帧周期性地出现在这些串行数据中。数据转存系统从中提取出有效的数据帧,并在帧同步字后插入利用GPS接收机生成的本地时间信息,用于记录该帧数据被接收到的时间,然后送给主机硬件保存。
在无线数传接收设备中,数据转存系统是实现数据接收存储的关键子系统。下面将详细介绍该系统的硬件实现及工作过程。

2 数据转存系统基本构成及硬件实现
数据转存系统主要由FPGA模块、DSP模块、USB2.0接口芯片构成,各个模块之间的相互关系如图2所示示。图中,4Mb/s的串行数据输入信号SDI已由RS-422差分电平转换为CMOS电平。为突出重点,不太重要的信号连线未在图中绘出。下面分别介绍这几个模块的主要功能。
2.1 FPGA模块实现及春功能
FPGA模块在Altera公司ACEX系列的EP1K30TI144-2芯片中实现。其中主要的功能子模块有:位同步逻辑、帧同步逻辑、授时时钟和译码逻辑。位同步逻辑主要由数字锁相环构成,用于从串行数据输入信号SDI中恢复出位时钟信号。帧同步逻辑从位同步逻辑的输出信号提取帧同步脉冲。两者为DSP利用其同步串行口接收串行数据作好准备。这样,利用一对差分信号线就可以接收同步串行数据,简化了印制电路板的外部接口。授时时钟在DSP和GSP接收机的协助下生成精度为0.1ms的授时信息。译码逻辑用于实现系统互联。
2.2 DSP模块实现及其功能
DSP模块是数据转存系统的主控模块,在T1公司16位定点DSP芯片TMS320F206[4]中实现。在DSP的外部数据空间还配置了32KX16的高速SRAM,可以缓存80余帧数据,用于提高系统的差错控制能力。DSP利用同步串行口接收FPGA送来的同步串行数据,利用异步串口接收GPS接收机送来时间信息(用于初始化FPGA授时时钟),利用外部总线接口访问FPGA授时时钟、外部SRAM、ISP1581的片内寄存器。可以看出DSP模块主要用于完成数据帧的接收、重组以及转存调度等任务。

ISP1581芯片是PHILIPS公司推出的高速USB2.0设备控制器,实现了USB2.0/1.1物理层、协议层,完全符合USB2.0规范,即支持高速(480Mb/s)操作,又支持全速(12Mb/s)操作。ISP1581没有内嵌微处理器,但对微处理器操作了灵活的接口。在上电时,通过配置BUS——CONF、DAO、MODE1、MODE0、DA1引脚电平可以适应绝大多数的微处理器接口类型。例如,通过BUS_CONF/DA0引脚,总线配置可以选择普通处理器模块(Generic Phocessor mode)中分割总线模式(Split Bus Mode);在普通处理器模式下,通过MODE0/DA1引脚可以选择读写选通为8051风格或者Motorola风格。
在数据转存系统中,ISP1581用于处理主机的高速数据传输。它工作在普通处理器接口模式下,采用8051风格的读写选通信号,由DSP芯片TMS320F206控制。两者在选定工作方式下的信号连线如图3所示,图中未画出的信号引脚可以悬空,供电引脚的连接方式在参考资料[2]第46页有简明描述。在FPGA译码逻辑的作用下,ISP1581的片内寄存器被映射在DSP的片外数据空间中。DSP通过8位地址线选择要访问的寄存器,在读写选通信号的控制下,利用16位数据线与选定的寄存器交换数据。在访问ISP1581单字节寄存器时,数据总线高字节内容无关紧要。ISP1581通过中断引脚INT向DSP报告发生的总线事件,利用D+、D-引脚完成与主机的数据交换。
3 数据转存系统的工作过程
系统加电后,当FPGA配置过程结束时,如果有串行数据输入,位同步逻辑和帧同步逻辑便启动同步过程。同时,DSP片内FLASH中复位中断服务程序c_int0()[4]被立即执行,在建立好C语言的工作环境下,它会调用主函数main()。在main()中,需要安排好一系列有先后顺序的初始化工作。其中,ISP1581的初始化过程比较复杂,需要考虑设备采用的供电方式(这里为自供电[6]方式)、插接主机和系统上电的先后次序,并需要与USB总线枚举[1][6]过程相结合。
在FPGA中的位同步逻辑和帧同步逻辑均进入同步状态,且DSP主控模块配合主机完成初始化任务后,即可启动数据的传输过程。下面介绍一下ISP1581的初始化过程及DSP控制的数据帧的接收机转存流程。
3.1 ISP1581的初始化
在初始化过程中,首先需要设置影响ISP1581自身工作方式的一些寄存器,然后与主机端USB系统配合进行,应答来自主机端的设备请求。当数据转存系统板作为USB 2.0设备通过连接器连到主机USB根集线器上的一个端口时,主机便可检测到这一连接,接着给该端口加电,检测设备并激活该端口,向USB设备发送复位信号。设备收到这一复位信号后,即进入缺省状态,此后就能够通过缺省通信通道响应主机端送来的设备请求。主机通过描述符请求(GET_DESCRIPTOR)获得设备端的详细信息,通过设置地址请求(SET_ADDRESS)设置设备地址,通过设置配置请求(SET_CONFIGURATION)选定合适的设备配置。在设备成功响应了这些设备请求之后,就可以与主机通信了。

在响应主机请求的过程中,DSP需要配置ISP1581的端点以实现不同类型的传输通道。根据数据传输速率的要求,除了缺省的控制通道外,系统中实现了一个批传输(bulk)[1]类型的输入通道。这样,ISP1581就可以像FIFO一样方便地从数据转存系统向主机传输数据,而且具有差错控制能力,简化了设备端软件设计的复杂性。
3.2 数据帧的接收转存过程
系统正常工作时,需要与主机端程序相互配合。主要端需要开发者实现的程序包括设备驱动程序和应用程序。在Windows 2000操作系统下,USB设备驱动程序为WDM模型的驱动程序,开发环境DriverStudio为WDM型驱动程序提供了框架结构,使得驱动开发变得非常容易(参见参考文献[5]第八、九、十章)。驱动程序接收应用程序的请求,利用USB总线驱动程序(US-BD)和主机控制器驱动程序(HCD)通过主机控制器安排USB总线事务,设备端则根据这些事务调度相应的数据帧的传输。关于主机端口如何安排总线事务可以查阅参考文献[1]。以下着重介绍设备端数据的调度过程。
数据帧的接收转存过程主要由DSP负责,DSP在外部SRAM中建立了一个数据帧的队列,如图4所示。系统主要工作在中断驱动模式下,与同步串行口相关的中断服务程序负责建立队列的尾部,对应于ISP1581中断引脚INT的中断服务程序负责建立队列的头部。
当以帧同步字打头的一帧数据以串行位流的形式到来时,FPGA产生的帧同步脉冲可以直接启动DSP同步串行口接收数据,该同步脉冲同时以中断方式通知DSP为一帧数据的接收做好准备。DSP接到通知后,首先检查外部SRAM中是否有足够的空间容纳一帧数据。如果没有空间,则丢弃当前数据帧(根据设计,这种情况是很少见的);如果有空间,则为当前数据帧保留足够的空间。接着在帧起始位置填写帧步字,读取授时时钟的当前值并填写在帧同步字后。这样,一个新的数据帧(图4中数据帧F_N)就建立了,但是并没有加入到队列中,而是要等待来自同步串行口的后继数据嵌入该帧中后再加入到队列中。
同步串行口的接收缓冲区在接收到若干字(由初始化时的设置决定)后,会向DSP提出中断请求。在中断服务程序中,DSP读取接收缓冲区中的内容,并将其填入上述新开辟的帧F_N中。在一帧数据接收完毕后,就将该帧添加到队列的尾部,表示该帧数据已经准备好(图4中数据帧F_R),可以通过ISP1581送给主机硬件保存。

DSP在查询到队列中有已经准备好的数据帧存在时,就设置ISP1581的端点索引寄存器(Endpoint Index Register)使其指向初始化时配置的批传输输入端点,然后将队列首帧数据通过ISP1581的数据端口寄存器(Data Port Register)填写在端点缓冲区中。在端点缓冲区被填满后,它就自动生效。在不能填满端点缓冲区的情况下,可以通过设置控制功能寄存器(Control Function Register)的VENDP位[2]强制该端点缓冲区生效。端点缓冲区生效后,在USB总线上下一IN令牌到来时,该端点缓冲区中的数据就通过USB总线传输到主机中。主机成功接收到数据后,会给ISP1581以ACK应答。能够通过INT引脚报告给DSP,DSP就可以继续往端点中填写该帧其余数据。
在队列首帧数据被成功转移到主机后,DSP就丢弃首帧数据。如果队列在还有数据帧,则将次首帧作为首帧,继续前述传输过程;如果没有要传输的数据帧,则为队列首帧指针Head_Ptr赋空值(NULL),等待新的数据帧的到来。
USB2.0是计算机外设接口技术发展的最新成功,具有广阔的应用前景。本文介绍了PHILIPS公司USB2.0接口芯片ISP1581在无线数据接收设备中的应用。高性能、便携化的无线数据传接收设备。其在靶场实弹试验中受到了用户的好评。

PC机的RS-232C串行口是使用最多的接口之一。因此,4串口、8串口等以增加串口数量为目的的ISA总线卡产品大量问世。一般串口应用只是使用了RXD和TXD两条传输线和地线所构成的串口的最基本的应用条件,而本文介绍一个利用PC机的RS-232串口加上若干电路来实现多串口需求的接口电路。
1.PC机串口的RTS和DTR及扩展电路
RTS和DTR是PC机中8250芯片的MODEM控制寄存器的两个输出引角D1和D0位,口地址为COM1的是3FCH,口地址为COM2的是2FCH。我们可以利用对MODEM控制寄存器3FCH或2FCH的写操作对其进行控制。从而利用该操作和扩展电路实现对TXD和RXD进行多线扩展,图1是其扩展电路。
在图1所示的PC机串口扩展电路中,74LS161是二进制计数器,1脚是清0端,2脚是计数端,计数脉冲为负脉冲信号,4051是八选一双向数字/模拟电子开关电路,其中一片用于正向输出,一片用于反向输出。该扩展电路工作原理是通过控制PC机串口的DTR输出的高低电平来形成74LS161的P2脚计数端的负脉冲信号,使161的输出端P14(QA)、P13(QB)、P12(QC)、P11(QD)脚依次在0000到1111十六个状态中变化,本电路仅使用了QA、QB、QC三个输出来形成对4051的ABC控制,最终使得4051(1)的输入端TXD依次通过与TX1~TX8导通而得到输出信号,4051(2)的输出端RXD与RX1~RX8依次导通形成输入信号。由于RXD和TXD的导通是一一对应的,因此串口通信就可以依次通过与多达8个带有三线基本串口的外部设备进行通信传输以实现数据传送。PC机端的电平转换电路是将RS232电平转换为TTL电平,外设端的电平转换电路是将TTL电平转换为RS232电平。由于这种转换有许多电路可以实现,因而,这里不再介绍。
2.电路使用程序
对PC机串口COM1的编程如下:
……
… ;对COM1口的波特率等设置;
MOV DX,3FCH
MOV AL,XXXXXX01B
OUT DX,AL;D1生成RTS负脉冲,对74LS161输出端清0
MOV AL,XXXXXX11B;
OUT DX,AL ;4051的RX1和TX1导通
CALL COM ;调用通信子程序,与第一个外部设备通信;
MOV CX,7 ;设置循环计数器;
NEXT:MOV DX ,3FCH
MOV AL,XXXXXX10B
OUT DX ,AL ;D0位生成DTR的负脉冲,形成161的P2脚计数脉冲
MOV AL,XXXXXX11B
OUT DX,AL ;RX2和TX2导通
CALL COM ;调用通信子程序,与第二个外部设备通信
LOOP NEXT ;循环与另外6个外部设备通信

… ;通信子程序略
3.使用说明
由于该扩展的多路接口在通信时共用一个子程序,因此在与某一路导通时,系统只能与这一路的外部设备进行通信联络。
如果工作现场需要立即和某一路通信,则需要对3FCH的D1位执行两个写操作并在RTS脚形成负脉冲,以对7416I清0后,再连接执行若干次对DTR的两次写操作。例如想对第4路外设通信,则需要执行完成对74LS161清0后,再连续三次对3FCH的D0位进行两个写操作以形成DTR脚的负脉冲,然后即可调用通信子程序。
如需使用PC机的COM2串口,只需将程序中的3F8H~3FDH全部换成2F8H~2FDH即可。
如果使用十六选一双向数字/模拟电子开关电路,可将74LS161的QA、QB、QC、QD四个输出端接至电子开关的四个控制端A、B、C、D,这样就可以达到一个PC机的RS232口与16个带有串口的外设的数据通信

3. 摄像头通过usb口与PC通信,是将帧缓存在缓冲区中然后解压缩播放么具体的全部通信流程和接口都是什么

现在市场上销售的摄像头都是数字摄像头,它将摄像单元和视频捕捉单元集成在一起,通过微机上的USB接口,可以实现即插即用,那么它是依靠怎样的原理来实现的呢?所谓视频传输就是将图片一张张传到屏幕,由于传输速度很快,所以可以让大家看到连续动态的画面,就像放电影一样。一般当画面的传输数量达到每秒24帧时,画面就有了连续性。在进行这种图片的传输时,必须将图片进行压缩,一般压缩方式有如H.261、JPEG、MPEG等,否则传输所需的带宽会变得很大。大家用RealPlayer不知是否留意,当播放电影的时候,在播放器的下方会有一个传输速度250kbps、400kbps、1000kbps…画面的质量越高,这个速度也就越大。而摄像头进行视频传输也是这个原理,如果将摄像头的分辨率调到640480,捕捉到的图片每张大小约为50kb左右,每秒30帧,那么摄像头传输视频所需的速度为5030/s=1500kbps= 1.5Mbps。而在实际生活中,人们一般用于网络视频聊天时的分辨率为320240甚至更低,传输的帧数为每秒24帧。换言之,此时视频传输速率将不到300kbps,人们就可以进行较为流畅的视频传输聊天。如果采用更高的压缩视频方式,如MPEG-1等等,可以将传输速率降低到200kbps不到。这个就是一般视频聊天时,摄像头所需的网络传输速度。 宽带网络: 视频压缩上已经可以满足应用的标准
,但视频聊天的实现,还需要互联网条件的认可。一般来说,在国内我们可以通过以下几种方式上网: 可以看出,除了56K Modem,ISDN以外,一般的宽带网络都可以满足用户进行视频传输的需求。而根据不同上网方式给用户提供的带宽,还可以自己调节摄像头传输画面的质量,如
分辨率、真彩色级别、画面捕捉传输速度等等。比如,当带宽达到2Mbps时,我们就可以采用分辨率为640480,每秒30帧来进行视频聊天,这时不论是画面的质量还是流畅性都是相当高的,如同两个人面对面交流一样。
再简单一点,通过网络底层协议,在你们两台电脑之间建立一个连接用来传输数据,通过对方的摄象头把双方的视频信号采集后转化成数据通过建立的连接传给对方,再在对方处转化成视频信号放给你看,so。。。

4. 电脑上所谓的端口是什么啊,怎么查看自己的端口是多少

电脑“端口”为英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。

端口可分为3大类:

1、公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。

2、注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

3、动态私有(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。



(4)电脑usb端口缓冲区扩展阅读

端口在入侵中的作用

有人曾经把服务器比作房子,而把端口比作通向不同房间(服务)的门,如果不考虑细节的话,这是一个不错的比喻。入侵者要占领这间房子,势必要破门而入(物理入侵另说),那么对于入侵者来说,了解房子开了几扇门,都是什么样的门,门后面有什么东西就显得至关重要。

入侵者通常会用扫描器对目标主机的端口进行扫描,以确定哪些端口是开放的,从开放的端口,入侵者可以知道目标主机大致提供了哪些服务,进而猜测可能存在的漏洞,因此对端口的扫描可以帮助我们更好的了解目标主机,而对于管理员,扫描本机的开放端口也是做好安全防范的第一步。

5. 如何定义STM32 USB HID设备缓冲区地址请求帮助

USB HID报告及报告描述符简介相关讨论:

在USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,
配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。
USB报告描述符(Report Descriptor)是HID设备中的一个描述符,它是比较
复杂的一个描述符。

USB HID设备是通过报告来给传送数据的,报告有输入报告和输出报告。
输入报告是USB设备发送给主机的,例如USB鼠标将鼠标移动和鼠标点击等
信息返回给电脑,键盘将按键数据数据返回给电脑等;输出报告是主机发送
给USB设备的,例如键盘上的数字键盘锁定灯和大写字母锁定灯等。报告是
一个数据包,里面包含的是所要传送的数据。输入报告是通过中断输入端点
输入的,而输出报告有点区别,当没有中断输出端点时,可以通过控制输出
端点0发送,当有中断输出端点时,通过中断输出端点发出。

而报告描述符,是描述一个报告以及报告里面的数据是用来干什么用的。
通过它,USB HOST可以分析出报告里面的数据所表示的意思。它通过控制输入
端点0返回,主机使用获取报告描述符命令来获取报告描述符,注意这个请求
是发送到接口的,而不是到设备。一个报告描述符可以描述多个报告,不同的
报告通过报告ID来识别,报告ID在报告最前面,即第一个字节。当报告描述符中
没有规定报告ID时,报告中就没有ID字段,开始就是数据。更详细的说明请参看
USB HID协议,该协议可从下载。

USB报告描述符可以通过使用HID Descriptor tool来生成,这个工具可以
到下载,为了方便大家,我顺便上传了一份。

下面通过由HID Descriptor tool生成的USB鼠标和USB键盘来说明一下报告
描述符和报告。

code char KeyBoardReportDescriptor[63] = {
//表示用途页为通用桌面设备
0x05, 0x01, // USAGE_PAGE (Generic Desktop)

//表示用途为键盘
0x09, 0x06, // USAGE (Keyboard)

//表示应用集合,必须要以END_COLLECTION来结束它,见最后的END_COLLECTION
0xa1, 0x01, // COLLECTION (Application)

//表示用途页为按键
0x05, 0x07, // USAGE_PAGE (Keyboard)

//用途最小值,这里为左ctrl键
0x19, 0xe0, // USAGE_MINIMUM (Keyboard LeftControl)
//用途最大值,这里为右GUI键,即window键
0x29, 0xe7, // USAGE_MAXIMUM (Keyboard Right GUI)
//逻辑最小值为0
0x15, 0x00, // LOGICAL_MINIMUM (0)
//逻辑最大值为1
0x25, 0x01, // LOGICAL_MAXIMUM (1)
//报告大小(即这个字段的宽度)为1bit,所以前面的逻辑最小值为0,逻辑最大值为1
0x75, 0x01, // REPORT_SIZE (1)
//报告的个数为8,即总共有8个bits
0x95, 0x08, // REPORT_COUNT (8)
//输入用,变量,值,绝对值。像键盘这类一般报告绝对值,
//而鼠标移动这样的则报告相对值,表示鼠标移动多少
0x81, 0x02, // INPUT (Data,Var,Abs)
//上面这这几项描述了一个输入用的字段,总共为8个bits,每个bit表示一个按键
//分别从左ctrl键到右GUI键。这8个bits刚好构成一个字节,它位于报告的第一个字节。
//它的最低位,即bit-0对应着左ctrl键,如果返回的数据该位为1,则表示左ctrl键被按下,
//否则,左ctrl键没有按下。最高位,即bit-7表示右GUI键的按下情况。中间的几个位,
//需要根据HID协议中规定的用途页表(HID Usage Tables)来确定。这里通常用来表示
//特殊键,例如ctrl,shift,del键等

//这样的数据段个数为1
0x95, 0x01, // REPORT_COUNT (1)
//每个段长度为8bits
0x75, 0x08, // REPORT_SIZE (8)
//输入用,常量,值,绝对值
0x81, 0x03, // INPUT (Cnst,Var,Abs)

//上面这8个bit是常量,设备必须返回0

//这样的数据段个数为5
0x95, 0x05, // REPORT_COUNT (5)
//每个段大小为1bit
0x75, 0x01, // REPORT_SIZE (1)
//用途是LED,即用来控制键盘上的LED用的,因此下面会说明它是输出用
0x05, 0x08, // USAGE_PAGE (LEDs)
//用途最小值是Num Lock,即数字键锁定灯
0x19, 0x01, // USAGE_MINIMUM (Num Lock)
//用途最大值是Kana,这个是什么灯我也不清楚^_^
0x29, 0x05, // USAGE_MAXIMUM (Kana)
//如前面所说,这个字段是输出用的,用来控制LED。变量,值,绝对值。
//1表示灯亮,0表示灯灭
0x91, 0x02, // OUTPUT (Data,Var,Abs)

//这样的数据段个数为1
0x95, 0x01, // REPORT_COUNT (1)
//每个段大小为3bits
0x75, 0x03, // REPORT_SIZE (3)
//输出用,常量,值,绝对
0x91, 0x03, // OUTPUT (Cnst,Var,Abs)
//由于要按字节对齐,而前面控制LED的只用了5个bit,
//所以后面需要附加3个不用bit,设置为常量。

//报告个数为6
0x95, 0x06, // REPORT_COUNT (6)
//每个段大小为8bits
0x75, 0x08, // REPORT_SIZE (8)
//逻辑最小值0
0x15, 0x00, // LOGICAL_MINIMUM (0)
//逻辑最大值255
0x25, 0xFF, // LOGICAL_MAXIMUM (255)
//用途页为按键
0x05, 0x07, // USAGE_PAGE (Keyboard)
//使用最小值为0
0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated))
//使用最大值为0x65
0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application)
//输入用,变量,数组,绝对值
0x81, 0x00, // INPUT (Data,Ary,Abs)
//以上定义了6个8bit宽的数组,每个8bit(即一个字节)用来表示一个按键,所以可以同时
//有6个按键按下。没有按键按下时,全部返回0。如果按下的键太多,导致键盘扫描系统
//无法区分按键时,则全部返回0x01,即6个0x01。如果有一个键按下,则这6个字节中的第一
//个字节为相应的键值(具体的值参看HID Usage Tables),如果两个键按下,则第1、2两个
//字节分别为相应的键值,以次类推。

//关集合,跟上面的对应
0xc0 // END_COLLECTION
};

通过上面的分析,我们知道这个报告中只有一个报告,所以没有报告ID,
因此返回的都是实际使用的数据。总共有8字节输入,1字节输出。其中输入的
第一字节用来表示特殊按键,第二字节保留,后面的六字节为普通按键。如果
只有左ctrl键按下,则返回01 00 00 00 00 00 00 00(十六进制),如果
只有数字键1 按下,则返回00 00 59 00 00 00 00 00,如果数字
键1 和2 同时按下,则返回00 00 59 5A 00 00 00 00,如果
再按下左shift 键,则返回02 00 59 5A 00 00 00 00,
然后再释放1 键,则返回02 00 5A 00 00 00 00 00,
然后全部按键释放,则返回00 00 00 00 00 00 00 00。
这些数据(即报告)都是通过中断端点返回的。当按下Num Lock键时,PC会发送
输出报告,从报告描述符中我们知道,Num Lock的LED对应着输出报告的最低位,
当数字小键盘打开时,输出xxxxxxx1(二进制,打x的由其它的LED状态决定);
当数字小键盘关闭时,输出xxxxxxx0(同前)。取出最低位就可以控制数字键锁定LED了。

下面这个报告描述符是USB鼠标报告描述符,比起键盘的来说要简单些。
它描述了4个字节,第一个字节表示按键,第二个字节表示x轴(即鼠标左右移动,
0表示不动,正值表示往右移,负值表示往左移),第三个字节表示y轴(即鼠标
上下移动,0表示不动,正值表示往下移动,负值表示往上移动),第四个字节
表示鼠标滚轮(正值为往上滚动,负值为往下滚动)。

code char MouseReportDescriptor[52] = {
//通用桌面设备
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
//鼠标
0x09, 0x02, // USAGE (Mouse)
//集合
0xa1, 0x01, // COLLECTION (Application)
//指针设备
0x09, 0x01, // USAGE (Pointer)
//集合
0xa1, 0x00, // COLLECTION (Physical)
//按键
0x05, 0x09, // USAGE_PAGE (Button)
//使用最小值1
0x19, 0x01, // USAGE_MINIMUM (Button 1)
//使用最大值3。1表示左键,2表示右键,3表示中键
0x29, 0x03, // USAGE_MAXIMUM (Button 3)
//逻辑最小值0
0x15, 0x00, // LOGICAL_MINIMUM (0)
//逻辑最大值1
0x25, 0x01, // LOGICAL_MAXIMUM (1)
//数量为3
0x95, 0x03, // REPORT_COUNT (3)
//大小为1bit
0x75, 0x01, // REPORT_SIZE (1)
//输入,变量,数值,绝对值
//以上3个bit分别表示鼠标的三个按键情况,最低位(bit-0)为左键
//bit-1为右键,bit-2为中键,按下时对应的位值为1,释放时对应的值为0
0x81, 0x02, // INPUT (Data,Var,Abs)
//填充5个bit,补足一个字节
0x95, 0x01, // REPORT_COUNT (1)
0x75, 0x05, // REPORT_SIZE (5)
0x81, 0x03, // INPUT (Cnst,Var,Abs)

//用途页为通用桌面
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
//用途为X
0x09, 0x30, // USAGE (X)
//用途为Y
0x09, 0x31, // USAGE (Y)
//用途为滚轮
0x09, 0x38, // USAGE (Wheel)
//逻辑最小值为-127
0x15, 0x81, // LOGICAL_MINIMUM (-127)
//逻辑最大值为+127
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
//大小为8个bits
0x75, 0x08, // REPORT_SIZE (8)
//数量为3个,即分别代表x,y,滚轮
0x95, 0x03, // REPORT_COUNT (3)
//输入,变量,值,相对值
0x81, 0x06, // INPUT (Data,Var,Rel)

//关集合
0xc0, // END_COLLECTION
0xc0 // END_COLLECTION
};
通过对上面的报告分析,我们知道报告返回4个字节,没有报告ID。如果鼠标左键按下,
则返回01 00 00 00(十六进制值),如果右键按下,则返回02 00 00 00,如果中键按下,
则返回04 00 00 00,如果三个键同时按下,则返回07 00 00 00。如果鼠标往右移动则
第二字节返回正值,值越大移动速度越快。其它的类推。
你的串号我已经记下,采纳后我会帮你制作

6. usb端点0和端点1多大缓冲区

1. 端点号只有4位,所以端点只有16”组“,组编号依次为0~15 2. 每组端点都分为输入和输出两个。 3. 所以,端点号一共有16个,表示16组端点。每组端点都有输入输出两个。所以一共32个独立的端点。反映到端点描述符中就是32个地址(0x00~0x0F, 0x80~...

7. 为什么用tcflush不能清空ttyUSB串口缓冲区的数据

tcflush函数清除串口输入缓存(终端驱动已接到,但用户尚未读取)或串口输出缓存(用户已经写如缓存,但尚未发送)。函数原型:int tcflush(int filedes,int quene)参数解释filedes: 描述符。quene取值及含义: *TCIFLUSH 清除输入队列 *TCOFLUSH 清除输出队列 *TCIOFLUSH 清除输入、输出队列举例:tcflush(fd,TCIOFLUSH);另加的说明:在打开串口后,用户其实其实已经可以开始从串口读取数据了,但如果用户没有读取,数据将被将保存在缓冲区里。如果用户不想要开始的一段数据,或者发现缓冲区数据有误,可以使用这个函数将缓冲区清空。应用举例:tcflush(fd, TCIOFLUSH);sleep(2); read_len = read(fd, buff, 10);

8. 端口的作用是什么

是设备与外界通讯交流的出口,根据不同应用场合有不同的作用:

1、硬件端口

CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。

其中硬件领域的端口又称接口,如:并行端口、串行端口等。

2、网络端口

在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

3、软件端口

即缓冲区。

/iknow-pic.cdn.bcebos.com/e824b899a9014c084847f4a4057b02087bf4f4b7"target="_blank"title="点击查看大图"class="illustration_alink">/iknow-pic.cdn.bcebos.com/e824b899a9014c084847f4a4057b02087bf4f4b7?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="//www.aeolusdevelopment.com/pc_e824b899a9014c084847f4a4057b02087bf4f4b7"/>

(8)电脑usb端口缓冲区扩展阅读

按照端口号的大小分类,可分为如下几类:

1、公认端口(WellKnownPorts)

从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。

2、注册端口(RegisteredPorts)

从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

3、动态和/或私有端口(Dynamicand/orPrivatePorts)

从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

9. USB是什么意思

USB ,是英文Universal Serial BUS(通用串行总线)的缩写,而其中文简称为“通串线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。沿革不过直到近期,它才得到广泛地应用。从1994年11月11日发表USBV0.7版本以后,USB版本经历了多年的发展,到现在已经发展为3.0版本,成为目前电脑中的标准扩展接口。目前主板中主要是采用USB1.1和USB2.0,各USB版本间能很好的兼容。USB用一个4针(USB3.0标准为9针)插头作为标准插头,采用菊花链形式可以把所有的外设连接起来,最多可以连接127个外部设备,并且不会损失带宽。USB需要主机硬件、操作系统和外设三个方面的支持才能工作。目前的主板一般都采用支持USB功能的控制芯片组,主板上也安装有USB接口插座,而且除了背板的插座之外,主板上 USB接口还预留有USB插针,可以通过连线接到机箱前面作为前置USB接口以方便使用(注意,在接线时要仔细阅读主板说明书并按图连接,千万不可接错而使设备损坏)。而且USB接口还可以通过专门的USB连机线实现双机互连,并可以通过Hub扩展出更多的接口。USB具有传输速度快(USB1.1是12Mbps,USB2.0是480Mbps,USB3.0是5 Gbps),使用方便,支持热插拔,连接灵活,独立供电等优点,可以连接鼠标、键盘、打印机、扫描仪、摄像头、闪存盘、MP3机、手机、数码相机、移动硬盘、外置光软驱、USB网卡、ADSL Modem、Cable Modem等,几乎所有的外部设备。 USB接口可用于连接多达127个外设,如鼠标、调制解调器和键盘等。USB自从1996年推出后,已成功替代串口和并口,并成为当今个人电脑和大量智能设备的必配的接口之USB各版本区别版本最大传输速率速率称号最大输出电流协议推出时间USB1.0:1.5Mbps(192KB/s)低速(Low-Speed)500mA……1996年1月 USB1.1:12Mbps(1.5MB/s)全速(Full-Speed)500mA……1998年9月 USB2.0:480Mbps(60MB/s)高速(High-Speed)500mA……2000年4月 USB3.0:5Gbps(640MB/s)超速(Super-Speed)900mA……2008年11月
USB的应用
随着计算机硬件飞速发展,外围设备日益增多,键盘、鼠标、调制解调器、打印机、扫描仪早已为人所共知,数码相机、MP3随身听接踵而至,这么多的设备,如何接入个人计算机?USB就是基于这个目的产生的。USB是一个使计算机周边设备连接标准化、单一化的接口,其规格是由Intel(英特尔)、NEC、Compaq、DEC、IBM(商业机器公司)、Microsoft(微软)、Northern Telecom联系制定的。 USB1.1标准接口传输速率为12Mbps,但是一个USB设备最多只可以得到6Mbps的传输频宽。因此若要外接光驱,至多能接六倍速光驱,无法再高。而若要即时播放MPEG-1的VCD影片,至少要1.5Mbps的传输频宽,这点USB办得到,但是要完成数据量大四倍的MPEG-2的DVD影片播放,USB可能就很吃力了,若再加上AC-3音频数据,USB设备就很难实现即时播放了。 一个USB接口理论上可以支持127个装置,但是目前还无法达到这个数字。其实,对于一台计算机,所接的周边外设很少有超过10个的,因此这个数字是足够我们使用的。 USB还有一个显着优点就是支持热插拔,也就是说在开机的情况下,你也可以安全地连接或断开USB设备,达到真正的即插即用。不过,并非所有的Windows系统都支持USB。目前,Windows系统中有许多不同的版本,在这些版本中,只有Windows98以上版本的系统对USB的支持较好,而其他的Windows版本并不能完整支持USB。例如Windows95的零售版是不支持USB的,只有后来与PC捆绑销售的Windows95版本才支持USB。 目前USB设备虽已被广泛应用,比较普遍的是USB2.0接口,它的传输速度为480Mbps。用户的需求,是促进科技发展的动力,厂商也同样认识到了这个瓶颈。这时, COMPAQ、Hewlett Packard、Intel、Lucent、Microsoft、NEC和PHILIPS这7家厂商联合制定了USB 2.0接口标准。USB 2.0将设备之间的数据传输速度增加到了480Mbps,比USB 1.1标准快40倍左右,速度的提高对于用户的最大好处就是意味着用户可以使用到更高效的外部设备,而且具有多种速度的周边设备都可以被连接到USB 2.0的线路上,而且无需担心数据传输时发生瓶颈效应。 所以,如果你用USB 2.0的扫描仪,就完全不同了,扫一张4M的图片只需0.1秒钟左右的时间,一眨眼就过去了,效率大大提高。 而且,USB2.0可以使用原来USB定义中同样规格的电缆,接头的规格也完全相同,在高速的前提下一样保持了USB 1.1的优秀特色,并且,USB 2.0的设备不会和USB 1.X设备在共同使用的时候发生任何冲突。 USB2.0兼容USB1.1,也就是说USB1.1设备可以和USB2.0设备通用,但是这时USB2.0设备只能工作在全速状态下(12Mbit/s)。USB2.0有高速、全速和低速三种工作速度,高速是480Mbit/s,全速是12Mbit/s,低速是1.5Mbit/s。其中全速和低速是为兼容USB1.1和USB1.0而设计的,因此选购USB产品时不能只听商家宣传USB2.0,还要搞清楚是高速、全速还是低速设备。USB总线是一种单向总线,主控制器在PC机上,USB设备不能主动与PC机通信。为解决USB设备互通信问题,有关厂商又开发了USB OTG标准,允许嵌入式系统通过USB接口互相通信,从而甩掉了PC机。 新USB2.0规范重新命名了USB标准将原先的USB 1.1改成了USB 2.0 Full Speed(全速版),同时将原有的USB 2.0改成了USB 2.0High-Speed(高速版),并同时公布了新的标识。不言而喻,高速版的USB 2.0速度当然超过全速版的USB 2.0。 电脑USB端口可以提供最大电流为500mA。
编辑本段基本特性
1.USB的硬件结构
USB采用四线电缆,其中两根是用来传送数据的串行通道,另两根为下游(Downstream)设备提供电源,对于高速且需要高带宽的外设,USB以全速12Mbps的传输数据;对于低速外设,USB则以1.5Mbps的传输速率来传输数据。USB总线会根据外设情况在两种传输模式中自动地动态转换。USB是基于令牌的总线。类似于令牌环网络或FDDI基于令牌的总线。USB主控制器广播令牌,总线上设备检测令牌中的地址是否与自身相符,通过接收或发送数据给主机来响应。USB通过支持悬挂/恢复操作来管理USB总线电源。USB系统采用级联星型拓扑,该拓扑由三个基本部分组成:主机(Host),集线器(Hub)和功能设备。 主机,也称为根,根结或根Hub,它做在主板上或作为适配卡安装在计算机上,主机包含有主控制器和根集线器(Root Hub),控制着USB总线上的数据和控制信息的流动,每个USB系统只能有一个根集线器,它连接在主控制器上。 集线器是USB结构中的特定成分,它提供叫做端口(Port)的点将设备连接到USB总线上,同时检测连接在总线上的设备,并为这些设备提供电源管理,负责总线的故障检测和恢复。集线可为总线提供能源,亦可为自身提供能源(从外部得到电源),自身提供能源的设备可插入总线提供能源的集线器中,但总线提供能源的设备不能插入自身提供能源的集线器或支持超过四个的下游端口中,如总线提供能源设备的需要超过100mA电源时,不能同总线提供电源的集线器连接。 功能设备通过端口与总线连接。USB同时可做Hub使用。
2.USB的软件结构
每个USB只有一个主机,它包括以下几层: (1)USB总线接口 USB总线接口处理电气层与协议层的互连。从互连的角度来看,相似的总线接口由设备及主机同时给出,例如串行接口机(SIE)。USB总线接口由主控制器实现。 (2)USB系统 USB系统用主控制器管理主机与USB设备间的数据传输。它与主控制器间的接口依赖于主控制器的硬件定义。同时,USB系统也负责管理USB资源,例如带宽和总线能量,这使客户访问USB成为可能。USB系统还有三个基本组件: 主控制器驱动程序(HCD)这可把不同主控制器设备映射到USB系统中。HCD与USB之间的接口叫HCDI,特定的HCDI由支持不同主控制器的操作系统定义,通用主控制器驱动器(UHCD)处于软结构的最底层,由它来管理和控制主控制器。UHCD实现了与USB主控制器通信和控制USB主控制器,并且它对系统软件的其他部分是隐蔽的。系统软件中的最高层通过UHCD的软件接口与主控制器通信。 USB驱动程序(USBD)它在UHCD驱动器之上,它提供驱动器级的接口,满足现有设备驱动器设计的要求。USBD以I/O请求包(IRPs)的形式提供数据传输架构,它由通过特定管道(Pipe)传输数据的需求组成。此外,USBD使客户端出现设备的一个抽象,以便于抽象和管理。作为抽象的一部分,USBD拥有缺省的管道。通过它可以访问所有的USB设备以进行标准的USB控制。该缺省管道描述了一条USBD和USB设备间通信的逻辑通道。 主机软件在某些操作系统中,没有提供USB系统软件。这些软件本来是用于向设备驱动程序提供配置信息和装载结构的。在这些操作系统中,设备驱动程序将应用提供的接口而不是直接访问USBDI(USB驱动程序接口)结构。 (3)USB客户软件 它是位于软件结构的最高层,负责处理特定USB设备驱动器。客户程序层描述所有直接作用于设备的软件入口。当设备被系统检测到后,这些客户程序将直接作用于外围硬件。这个共享的特性将USB系统软件置于客户和它的设备之间,这就要根据USBD在客户端形成的设备映像由客户程序对它进行处理。 主机各层有以下功能: 检测连接和移去的USB设备。 管理主机和USB设备间的数据流。 连接USB状态和活动统计。 控制主控制器和USB设备间的电气接口,包括限量能量供应。 HCD提供了主控制器的抽象和通过USB传输的数据的主控制器视角的一个抽象。USBD提供了USB设备的抽象和USBD客户与USB功能间数据传输的一个抽象。USB系统促进客户和功能间的数据传输,并作为USB设备的规范接口的一个控制点。USB系统提供缓冲区管理能力并允许数据传输同步于客户和功能的需求。
3.USB的数据流传输
主控制器负责主机和USB设备间数据流的传输。这些传输数据被当作连续的比特流。每个设备提供了一个或多个可以与客户程序通信的接口,每个接口由0个或多个管道组成,它们分别独立地在客户程序和设备的特定终端间传输数据。USBD为主机软件的现实需求建立了接口和管道,当提出配置请求时,主控制器根据主机软件提供的参数提供服务。 USB支持四种基本的数据传输模式:控制传输,等时传输,中断传输及数据块传输。每种传输模式应用到具有相同名字的终端,则具有不同的性质。 控制传输类型支持外设与主机之间的控制,状态,配置等信息的传输,为外设与主机之间提供一个控制通道。每种外设都支持控制传输类型,这样主机与外设之间就可以传送配置和命令/状态信息。 等时(lsochronous)传输类型支持有周期性,有限的时延和带宽且数据传输速率不变的外设与主机间的数据传输。该类型无差错校验,故不能保证正确的数据传输,支持像计算机-电话集成系统(CTI)和音频系统与主机的数据传输。 中断传输类型支持像游戏手柄,鼠标和键盘等输入设备,这些设备与主机间数据传输量小,无周期性,但对响应时间敏感,要求马上响应。 数据块(Bulk)传输类型支持打印机,扫描仪,数码相机等外设,这些外设与主机间传输的数据量大,USB在满足带宽的情况下才进行该类型的数据传输。 USB采用分块带宽分配方案,若外设超过当前带宽分配或潜在的要求,则不能进入该设备。同步和中断传输类型的终端保留带宽,并保证数据按一定的速率传送。集中和控制终端按可用的最佳带宽来传输传输数据。
编辑本段USB vs IEEE1394
一、USB与IEEE1394的相同点主要有哪些?
两者都是一种通用外接设备接口。 两者都可以快速传输大量数据。 两者都能连接多个不同设备。 两者都支持热插拨。 两者都可以不用外部电源。
二、USB与IEEE1394的不同点有哪些?
两者的传输速率不同。USB最高的速度可达5Gb/s,但由于USB3.0尚未普及,目前主流的USB2.0只有480Mb/s,并且速度不稳定;相比之下,IEEE1394目前的速度虽然只有800Mb/s,但较为稳定,故在数码相机等高速设备中还保留了IEEE1394接口,但也开始采用USB接口了。 两者的结构不同。USB在连接时必须至少有一台电脑,并且必须需要HUB来实现互连,整个网络中最多可连接127台设备。IEEE1394并不需要电脑来控制所有设备,也不需要HUB,IEEE1394可以用网桥连接多个IEEE1394网络,也就是说在用IEEE1394实现了63台IEEE1394设备之后也可以用网桥将其他的IEEE1394网络连接起来,达到无限制连接。 两者的智能化不同。IEEE1394网络可以在其设备进行增减时自动重设网络。USB是以HUB来判断连接设备的增减了。 两者的应用程度不同。现在USB已经被广泛应用于各个方面,几乎每台PC主板都设置了USB接口,USB2.0也会进一步加大USB应用的范围。IEEE1394现在只被应用于音频、视频等多媒体方面。
编辑本段USB的扩展应用及发展趋势
前置USB接口
前置USB接口是位于机箱前面板上的USB扩展接口。目前,使用USB接口的各种外部设备越来越多,例如移动硬盘、闪存盘、数码相机等等,但在使用这些设备(特别是经常使用的移动存储设备)时每次都要钻到机箱后面去使用主板板载USB接口显然是不方便的。前置USB接口在这方面就给用户提供了很好的易用性。目前,前置USB接口几乎已经成为机箱的标准配置,没有前置USB接口的机箱已经非常少见了。 前置USB接口要使用机箱所附带的USB连接线连接到主板上所相应的前置USB插针(一般是8针、9针或10针,两个USB成对,其中每个USB使用4针传输信号和供电)上才能使用。在连接前置USB接口时一定要事先仔细阅读主板说明书和机箱说明书中与其相关的内容,千万不可将连线接错,不然会造成USB设备或主板的损坏。 另外,由于USB2.0接口输出电压为5V,输出电流为500mA。使用前置USB接口时要注意前置USB接口供电不足的问题,在使用耗电较大的USB设备时,要使用外接电源或直接使用机箱后部的主板板载USB接口,以避免USB设备不能正常使用或被损坏。
USB口硬盘盒
目前的主流,其最大优点是使用方便,支持热插拔和即插即用。USB有两种标准:一种是USB1.1接口,其传输速度只有12Mbps,一种是USB2.0接口,其传输速度高达480Mbps。目前的主板上的USB都支持USB1.1,但USB 2.0只有较新的主板才能支持,购买时根据个人情况选择产品,虽然USB2.0向下兼容USB1.1,但支持USB2.0接口的移动硬盘盒比USB1.1的要贵一些。
无线USB
USB开发者论坛的主席兼英特尔公司的技术策略官Jeff Ravencraft表示,无线USB技术将帮助用户在使用个人电脑连接打印机、数码相机、音乐播放器和外置磁盘驱动器等设备时,从纷繁复杂的电缆连线中解放出来。无线USB标准的数据传输速率与目前的有线USB 2.0标准是一样的,均为每秒480M,两者的区别在于无线USB要求在个人电脑或外设中装备无线收发装置以代替电缆连线。 在英特尔开发者论坛举办的前夕,Ravencraft称,首先采用这一标准的将是外置磁盘驱动器、数码相机和打印机。而越来越多的产品将在今年第三季度开始推向市场。 为了使无线USB标准得以实用,必须改善这一技术的一些不足。USB标准小组宣布了无线联盟规范,以确保只有经过认证才能让电脑和外设通过无线USB连接起来。 Ravencraft补充,一直以来USB标准已经广泛的用于将数码相机、扫描仪、手机、PDA、DVD刻录机和其他设备与个人电脑的连接。而无线联盟规范则详细规定了个人电脑和外设如何通过无线USB进行连接,一台电脑最多可以同时连接127个外设。 无线联盟规范规定了两种建立连接的方法。第一种方法是电脑和外设先用电缆连接起来,然后再建立无线连接以供以后使用。第二种方法是外设可以提供一串数字,用户在建立连接的时候输入到电脑里面。 无线USB采用超宽带技术进行通信。目前无线局域网的802.11g协议采用位于2.4GHz附近的一小段频带进行通信,而超宽带技术则采用从3.1GHz到10.6GHz的频带进行通信。超宽带的信号水平足够低,因此对于其他无线通信技术来说,超宽带信号的影响类似于噪声。 无线网络目前广泛使用的技术是IEEE的802.11标准,也就是英特尔所推动的Wi-Fi。这一技术广泛的使用在笔记本电脑上,甚至部分尼康公司和佳能公司的数码相机也采用这一技术。而无线USB技术则是一个完全不同的技术,由于这一技术实现上相对简单同时功耗只有802.11的一半,因此不少厂商都更愿意采用无线USB技术。 Ravencraft表示,在高端的手机和数码相机上采用802.11技术,关键是要解决电池寿命问题。而厂商们发现超宽带技术是解决这一问题的最好的办法。 在距离电脑10英尺范围内,无线USB设备的传输速率将保持每秒480M。如果在30英尺范围内,传输速率将下降到每秒110M。然而随着技术的发展,无线USB的传输速率将会超过每秒1G甚至更快。 目前超宽带技术不仅可以用于无线USB连接中,还可以在蓝牙和IEEE的1394火线连接甚至WiNet短距离连接中使用。
编辑本段USB的不同接口与数据线
随着各种数码设备的大量普及,特别是MP3和数码相机的普及,我们周围的USB设备渐渐多了起来。然而这些设备虽然都是采用了USB接口,但是这些设备的数据线并不完全相同。
USB接口(12张)这些数据线在连接PC的一端都是相同的,但是在连接设备端的时候,通常出于体积的考虑而采用了各种不同的接口。 绝大部分数码产品连接线的接头除了连在PC上的都一样,另外一头也都是遵循着标准的规格。 USB是一种统一的传输规范,但是接口有许多种,最常见的就是咱们电脑上用的那种扁平的,这叫做A型口,里面有4根连线,根据谁插接谁分为公母接口,一般线上带的是公口,机器上带的是母口。
USB A型公口
右上面的图片是最常见的USB A型公口 常见Mini B型5Pin接口: 接下来就是在数码产品上最常见的接口了,由于数码产品体积所限,所以通常用的是Mini B型接口,但是Mini B型接口也有许多种类。
Mini B型5Pin
右面的图为Mini B型5Pin接口示意图
这种接口可以说是目前最常见的一种接口了,这种接口由于防误插性能出众,体积也比较小巧,所以正在赢得越来越多的厂商青睐,现在这种接口广泛出现在读卡器、MP3、数码相机以及移动硬盘上。 下图为:Sony F828上的Mini B型5Pin接口 目前采用这种接口的设备目前有SONY相机、摄像机和MP3,Olympus相机和录音笔,佳能相机和惠普的数码相机等等,数量相当繁多。 常见Mini B型4Pin接口: 除了前面我们看到的最常见的Mini B型5Pin的接口以外,Mini B型还有很多种别的接口,其中的一些也比较常见。
Mini B型4Pin
右图为:Mini B型4Pin的接口 下图为:Mini B型4Pin的接口的转接线缆 这种接口常见于以下品牌的数码产品:奥林巴斯的C系列和E系列,柯达的大部分数码相机,三星的MP3产品(如Yepp),SONY的DSC系列,康柏的IPAQ系列产品…… 富士Mini B型4Pin Flat接口: Mini B型4Pin还有一种形式,那就是Mini B型4Pin Flat。顾名思义,这种接口比Mini B型4Pin要更加扁平,在设备中的应用也比较广泛。
富士Mini B型4Pin Flat
右图为:Mini B型4Pin Flat接口 这种接口和前面讲腗INI B型4pin非常类似,但是这种接头更为扁平,所占用的体积更小。 这种接口常见于以下设备:富士的FinePix系列,卡西欧的QV系列相机,柯尼卡的产品。 我们看到,富士的机器用这种接口的比较多,几乎旧有的机型全是这种接口。不过值得注意的是,富士在最新的S5000和S7000上已经放弃了这种接口,改投Mini B 5Pin的阵营。 尼康独有,Mini B型8Pin接口: Mini B型除了前面的4Pin和5Pin的,还有一种就是8Pin的了,这种接头在其他设备上出现的几率就非常少了,通常出现在数码相机上。Mini B型的接口也有3种,一种是普通型的,一种是Round(圆)型的,还有一种是2×4布局的扁平接口。
MINI B型8Pin
右图为:Mini B型8Pin的接口 这种接口适用的设备,据笔者所知目前只有Nikon Coolpix 775一个款型的产品使用这种接口。
Mini B型8Pin Round
左图为:Mini B型8Pin Round接口 这种接口和前面的普通型比起来,就是将原来的D型接头改成了圆形接头,并且为了防止误插在一边设计了一个凸起。 这种接头可以见于一些Nikon的数码相机,CoolPix系列比较多见。虽然Nikon一直坚持用这种接口,但是在一些较新的机型中,例如D100和CP2000也都采用了普及度最高的Mini B型5Pin接口。 差点儿就普及,8Pin 2×4接口: 除了我们前面见过的Mini B型5Pin的接口,我想大家一定还对下面这种接口非常熟悉,这种接口也曾经相当的普及。
Mini B型8Pin 2×4
图为:Mini B型8Pin 2×4接口 这种接口也是一种比较常见的接口了,例如我们熟悉的iRiver的着名的MP3系列,其中号称“铁三角”的180TC,以及该系列的很多其他产品采用的均是这种接口。这种接口的应用范围也还算是广,不过从iRiver自3XX系列全面换成Mini B型5Pin的接口后,这种规格明显没有Mini B型5Pin抢眼了。编辑本段USB On-The-Go补充标准USB On-The-Go Supplement 1.0:2001年12月发布。USB On-The-Go Supplement 1.0a:2003年6月发布,即当前版本。 USB OTG是USB On-The-Go的缩写,是近年发展起来的技术,2001年12月18日由USB Implementers Forum公布,主要应用于各种不同的设备或移动设备间的联接,进行数据交换。特别是PDA、移动电话、消费类设备。改变如数码照相机、摄像机、打印机等设备间多种不同制式连接器,多达7种制式的存储卡间数据交换的不便USB技术的发展,使得PC和周边设备能够通过简单方式、适度的制造成本将各种数据传输速度的设备连接在一起,上述我们提到应用,都可以通过USB总线,作为PC的周边,在PC的控制下进行数据交换。但这种方便的交换方式,一旦离开了PC,各设备间无法利用USB口进行操作,因为没有一个从设备能够充当PC一样的Host。 On-The-Go,即OTG技术就是实现在没有Host的情况下,实现从设备间的数据传送。例如数码相机直接连接到打印机上,通过OTG技术,连接两台设备见的USB口,将拍出的相片立即打印出来;也可以将数码照相机中的数据,通过OTG发送到USB接口的移动硬盘上,野外操作就没有必要携带价格昂贵的存储卡,或者背一个便携电脑。 在OTG产品中,增加了一些新的特性: * 新的标准,适用于设计小巧的连接器和电缆; * 在传统的周边设备上,增加了Host能力,适应点到点的连接; * 这种能力可以在两个设备间动态地切换; * 低的功耗,保证USB可以在电池供电情况下工作 使用OTG后,不影响原设备和PC的连接,但使得在市场上已有超过10亿个USB接口的设备,也能通过OTG互联。 [1][2][3]
USB 3.0 简介
英1 VBUS (4.75-5.25 V) VBUS (4.4-5.25 V)
2 D- D-
3 D+ D+
4 接地 接地
USB 信号使用分别标记为 D+ 和 D- 的双绞线传输,它们各自使用 半双工的差分信号并协同工作,以抵消长导线的电磁干扰。
USB 2.0
USB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。它是一种应用在计算机领域的新型接口技术。早在1995年,就已经有个人电脑带有USB接口了,但由于缺乏软件及硬件设备的支持,这些个人电脑的USB接口都闲置未用。1998年后,随着微软在Windows 98中内置了对USB接口的支持模块,加上USB设备的日渐增多,USB接口才逐步走进了实用阶段。 这几年,随着大量支持USB的个人电脑的普及,USB逐步成为个人电脑的标准接口已经是大势所趋。在主机端,最新推出的个人电脑几乎100%支持USB;而在外设端,使用USB接口的设备也与日俱增,例如数码相机、扫描仪、游戏杆、磁带和软驱、图像设备、打印机、键盘、鼠标等等。 USB设备之所以会被大量应用,主要具有以下优点: 1、可以热插拔。这就让用户在使用外接设备时,不需要重复“关机将并口或串口电缆接上再开机”这样的动作,而是直接在电脑工作时,就可以将USB电缆插上使用。 2、携带方便。USB设备大多以“小、轻、薄”见长,对用户来说,同样20G的硬盘,USB硬盘比IDE硬盘要轻一半的重量,在想要随身携带大量数据时,当然USB硬盘会是首要之选了。 3、标准统一。大家常见的是IDE接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了USB之后,这些应用外设统统可以用同样的标准与个人电脑连接,这时就有了USB硬盘、USB鼠标、USB打印机等等。 4、可以连接多个设备。USB在个人电脑上往往具有多个接口,可以同时连接几个设备,如果接上一个有四个端口的USB HUB时,就可以再连上;四个USB设备,以此类推,尽可以连下去,将你家的设备都同时连在一台个人电脑上而不会有任何问题(注:最高可连接至127个设备)。但是,为什么又出现了USB2.0呢?它与USB1.1又有何区别?请别急,下面就会谈到了。

10. USB的四个技术特征分别是什么各是什么含义

USB支持四种基本的数据传输模式(技术特征):控制传输,等时传输,中断传输及数据块传输。每种传输模式应用到具有相同名字的终端,则具有不同的性质。

一、控制传输模式:

控制传输用于在外设初次连接时对器件进行配置;对外设的状态进行实时检测;对控制命令的传送等;也可以在器件配置完成后被客户软件用于其它目的。Endpoint 0信道只可以采用控制传送的方式。

二、块传送模式(bulk):

块传送用于进行批量的、非实时的数据传输。如一台 USB 扫描仪即可采用块传送的模式,以保证资料连续地、在硬件层次上的实时纠错地传送。采用块传送方式的信道所占用的 USB 带宽,在实时带宽分配中具有最高的优先级。

三、同步传输模式:

同步传输适用于那些要求资料连续地、实时地、以固定的数据传输率产生、传送并消耗的场合,如数字录像机等。为保证数据传输的实时性,同步传输不进行资料错误的重试,也不在硬件层次上响应一个握手资料包,这样有可能使数据流中存在资料错误的隐患。

为保证在同步传输数据流中致命错误的几率小到可以容忍的程度,而数据传输的延迟又不会对外设的性能造成太大的影响,厂商必须为使用同步传输的信道选择一个合适的带宽(即必须在速度和品质之间做出权衡)。

四、中断传输模式:

对于那些小批量的、点式、非连续的数据传输应用的场合,如用于人机交互的鼠标、键盘、游戏杆等,中断传输的方式是最适合的。

(10)电脑usb端口缓冲区扩展阅读:

USB的发展:

一、USB1.1:

USB最初是由英特尔与微软公司倡导发起,其最大的特点是支持热插拔和即插即用。当设备插入时,主机侦测此设备并加载所需的驱动程式,因此使用远比 PCI 和 ISA总线方便。

USB规格第一次是于1995年,由Intel、IBM、Compaq、Microsoft、NEC、Digital、North Telecom等七家公司组成的USBIF(USB Implement Forum)共同提出,USBIF于1996年1月正式提出USB1.0规格,频宽为12Mbps。

不过因为当时支持USB的周边装置少得可怜,所以主机板商不太把USB Port直接设计在主机板上。

二、USB 2.0:

USB是一种应用在计算机领域的新型接口技术。早在1995年,就已经有个人电脑带有USB接口了,但由于缺乏软件及硬件设备的支持,这些个人电脑的USB接口都闲置未用。

1998年后,随着微软在Windows 98中内置了对USB接口的支持模块,加上USB设备的日渐增多,USB接口才逐步走进了实用阶段。

三、USB 3.0:

英特尔公司(Intel)和业界领先的公司一起携手组建了USB 3.0推广组,旨在开发速度超过当今10倍的超高效USB互联技术。

该技术是由英特尔,以及惠普(HP)、NEC、NXP半导体以及德州仪器(Texas Instruments)等公司共同开发的,应用领域包括个人计算机、消费及移动类产品的快速同步即时传输。

随着数字媒体的日益普及以及传输文件的不断增大——甚至超过25GB,快速同步即时传输已经成为必要的性能需求。

四、USB 3.1:

USB 3.1规范在2013年发布,分为Gen 1和Gen 2两个版本。实际上Gen 1版本只是USB 3.0的一个马甲(理论最高仍然是5Gbps,并无改变),但仍有Type-C的USB 3.1 Gen 1销售,也就相当于USB 3.0 Type-C。USB 3.1仍保留了Type-A版本(旧版接口样式,不支持盲插)。

USB 3.1有很大改变,不仅Gen 2版本可以提供两倍于 USB 3.0 的传输速度(理论最高10Gbps),而且同时发布的Type-C接口使用了防呆设计,支持正、反插。但USB 3.1不向下支持,需要使用转接头。

阅读全文

与电脑usb端口缓冲区相关的资料

热点内容
电脑上怎么下载班智达的软件 浏览:1114
无痕迹消除图片软件 浏览:683
免费小票软件 浏览:918
华为在哪里设置软件停止运行 浏览:929
用电脑键盘调节声音大小 浏览:1227
自动刷软件赚钱 浏览:1229
古装连续剧免费版 浏览:1381
工免费漫画 浏览:1121
手机软件专门储存文件 浏览:1477
uos如何用命令安装软件 浏览:1273
有线耳机插电脑麦克风 浏览:625
侏罗纪世界3在线观看完整免费 浏览:965
单个软件怎么设置名称 浏览:688
凤凰网电脑版下载视频怎么下载视频怎么下载 浏览:1351
明白之后如何免费获得无人机 浏览:800
如何解禁软件菜单 浏览:807
副路由器连接电脑视频 浏览:1323
内置wifi电视如何装软件 浏览:1062
手机换零免费雪碧 浏览:1557
国行苹果如何下载美版软件 浏览:1172