玩转USB接口

时间:2022-10-13 05:17:21

【摘要】徐冬青 山东省烟台市五中 在上期内容中,我们对USB接口进行了全面解析。本期将对与USB接口有关的应用进行梳理和讨论。 了解USB──接口百变 邱元阳:USB接口已经成为计算机的标准配...

编者按:信息时代,USB接口无处不在。试想,如果没有了USB,我们的生活会发生什么改变?PC机、Pad、手机……无疑都将受到影响。在此,主持人和嘉宾分两期全面解析生活中的USB接口。

主持人:

邱元阳 河南省安阳县职业中专

嘉宾:

刘宗凡 广东省四会中学

徐冬青 山东省烟台市五中

在上期内容中,我们对USB接口进行了全面解析。本期将对与USB接口有关的应用进行梳理和讨论。

了解USB──接口百变

邱元阳:USB接口已经成为计算机的标准配置,其他一些不常用接口逐渐被淘汰,特别是在笔记本电脑上,串口、PS/2口都已不复存在,而USB接口却有好几个,或者几种类型。比如与e-SATA共用的USB口、可在关机状态下充电的USB口(带有闪电标志)等。然而我们所使用的设备,却可能还有老式的接口,它们与新型计算机的连接就成了问题。为解决这类问题,我们就需要用到各种USB转接口,通过它们进行转换,连接到其他设备的其他接口上,从而使其能够正常使用。

刘宗凡:在一些专业网络设备的调试过程中,常常要用到串口通讯。比如思科交换机和路由器的初始设置,就需要利用配置线连接计算机的串口和设备的Console口来进行。而新生产的计算机一般都不再有串口,只能通过USB转串口的转换器来连接。

串口也称串行接口(COM口),是采用串行通信方式的扩展接口。常见的有RS-232、RS-422、RS-485等接口。一些机械控制系统、门禁系统等,都得依靠RS-232、RS-485来实现通讯。现在很多新主板都不带串口接口,使得一些主板在连接RS232串口进行通讯时遇到了难题,这时我们也可以使用USB转串口的转接头进行转接。

邱元阳:同样,并口在新的主板上也已经淘汰。并口即并行接口,指采用并行传输方式来传输数据的接口标准。并行接口主要用于针式打印机和绘图仪,这种接口一般被称为打印口或LPT接口。如果我们要使用这些设备,可以通过并口转USB口设备将并口转接到USB接口上。

刘宗凡:有些接口需要转换并不是因为这种接口已经淘汰,而是由于相应设备可能有多种接口并存的情况。比如PS/2口,并没有淘汰,是键盘和鼠标的常用接口。但是键盘、鼠标也有很多是USB接口的,在很多时候也需要进行转换。毕竟PS/2接口是硬件直接支持的,不需要加载驱动。学生机房的键盘因为学生经常插拔,很容易损坏PS/2口。如果出现这种情况,常常只能购买USB接口的键盘、鼠标来使用了。而更经济的解决办法则是购买USB转PS/2的接头,让PS/2键盘、鼠标重新上岗。

邱元阳:如果我们外出住宾馆,很多时候宾馆只提供有线网络,使得我们的智能手机或平板设备无法畅游互联网,或者我们的笔记本电脑有线网卡损坏,这时都可以使用USB转RJ45网口的转接头,将设备连接上有线网络使用。

刘宗凡:当笔记本电脑的VGA接口出现故障时,计算机和投影就会“失联”。维修VGA接口通常意味着更换主板或显卡。USB转VGA转换器则能用低廉的成本来解决这个问题。它是通过USB接口将电脑桌面信息转到另一台显示设备(VGA或DVI输入)同屏显示,或者将另一台显示器作为该主机的显示拓展,在两个屏幕同时显示不同的应用软件,不需要另外安装显卡便能实现。其中一端插入电脑主机的USB接口,另一端接在另一台显示器上,该转换器会自动将主机屏显信号通过USB传输到VGA接口,在显示器上显示出来。

和USB转VGA转换器类似,USB转HDMI转换器也是通过USB接口将电脑桌面信息转到另一个显示设备(HDMI输入)同屏显示。

邱元阳:我们在上期已经了解了USB3.0技术的优越性。当然,如果我们有了USB3.0的高速U盘、移动硬盘等设备,但计算机却没有提供USB3.0接口的话,那这些设备还是只能以USB2.0的速度运行。如果电脑的主板有空余的PCI-E接口,就可以使用PCI-E转USB3.0的转接卡,扩展出2-4个USB3.0接口,这样就可以体验USB3.0的极速了。

应用USB――提速误区

邱元阳:微软曾经了一个KB2581464的补丁来提高USB设备的访问速度,这是一个HotFix热修复补丁,不会自动更新,只适用于Windows 7和Windows 2008 R2,可以到http:///kb/2581464地址下载安装。

这个补丁会将Usbstor.sys驱动的最大传输封包值从64KB更改为2MB,换言之,就是把USB 2.0存储设备的最大传输单元从默认的64KB增加到2MB。具体操作方法在补丁下载地址可以看到。

但是因为是针对特定的U盘来进行操作,因此要先插入自己的U盘。不过经过实际测试,没有感觉到速度的明显提升。

徐冬青:关于U盘提速,网上有一些个人经验主义的方法。对此,我特意进行了测试验证。由于条件简陋,只用了不同容量和型号的4个U盘,在USB2.0接口下进行。为避免测试工具软件的优化,特地采取最直观的文件复制方式来进行对比。结果,很多网上流传的U盘提速方法都不可行,没有看到明显的速度提升。分区格式、簇的大小对读写速度基本没有影响,不同的主控芯片,将直接影响读写速度。

刘宗凡:U盘的读写性能,与主控芯片、闪存质量、通道数量、传输接口、操作系统等很多因素有关,在测试某一项条件对读写速度的影响时,最好保持其他条件都相同,否则可能就没有可比性了。U盘读写速度对我们的影响,主要还是在复制文件时体现,因此徐老师“以身试法”的结果对我们很有参考价值。

识别USB――U盘造假

邱元阳:由于不同容量和品牌的USB存储设备在价格和销量上都有不少差异,不法商贩和厂家就有可能生产假冒的USB产品出售,这种造假让人防不胜防。

徐冬青:假U盘主要存在两种情况。一是容量虚标,这样的U盘称为扩容盘,或者叫黑盘,也叫山寨盘,就是用低容量的U盘利用量产工具做上高容量标识,使得它在操作系统中显示为高容量。二是品牌造假,假冒名牌也是最常见的造假手法。这类U盘往往采用劣质的闪存芯片(行内称为黑片、白片,都是非正品)和便宜的主控芯片,性能很不稳定。目前市场上金士顿品牌的U盘因为性价比高,很受欢迎,因而也成为假冒最多的U盘品牌。

邱元阳:如果我们买到的U盘或存储卡,使用时经常发生文件错误、需要格式化等情况,大多是遇到了假冒产品。使用360u盘鉴定器等工具,可以检测U盘的实际容量,或者芯片型号,方便我们识别假冒产品。

徐冬青:关于真假识别,目前的360u盘鉴定器还比较简陋,只能粗略检测U盘是不是虚标容量,另外一个比较好用的检测扩容盘的工具软件是MyDiskTest;而检测假冒正品的U盘,需要检测其主控芯片,比较好用的工具软件有芯片无忧(ChipEasy)和芯片精灵(ChipGenius)。以金士顿为例,金士顿使用的主控芯片一般为群联、擎泰和鑫创三家。如果买到了金士顿U盘,可用上面两个工具软件检测一下芯片,如果不是这三家的,很可能就是假冒产品。

邱元阳:用芯片无忧或芯片精灵检测到U盘的主控芯片后,就可以下载对应的量产工具,对U盘进行量产。量产可以修正容量虚标,以及修复一些损坏的U盘,或者制作特殊用途的U盘,如加密U盘,光驱型U盘等,以及设置读写特性甚至指示灯状态等。

管理USB――禁止访问

邱元阳:在机房,很让教师头痛的一件事就是学生经常自己携带U盘、移动硬盘等设备,拷贝各类游戏来玩。这样做的结果,一是很容易导致计算机中毒,二是严重影响课堂教学效果。除了纪律要求之外,我们是否可以从技术上来控制学生使用U盘、手机等USB存储设备呢?

刘宗凡:我这里有一种“不分敌我”的通杀方法,即BIOS设置。

开机进入BIOS设置,找到“Integrated Peripherals”选项,展开后将“USB 2.0 Controller”等类似选项的属性设置为“Disabled”,即可禁用USB接口。使用这个方法以后,所有USB设备都不能在系统中使用了,包括USB接口的键盘、鼠标。

邱元阳:这个方法够狠,但误伤严重。我有一个“釜底抽薪”之法,即前置面板。

因为学生使用USB设备,大都是连接到机箱前置面板的USB接口上,而键盘、鼠标等固有设备都是接在机箱后部主板的USB接口上。所以,只要打开机箱,把前置面板的USB接线拔掉,差不多就永绝后患了。必须使用U盘等设备时,可以开锁拉出机箱,插到机箱后部主板的USB接口上使用。

刘宗凡:嗯,这个要动硬件了。其实还有一个“权限管理”之法,即禁装驱动。

在Windows资源管理器中,进入“系统盘:\WINDOWS\inf”目录,找到名为“Usbstor.pnf”的文件,右键点击该文件,在弹出的菜单中选择“属性”,然后切换到“安全”标签页,在“组或用户名称”框中选中要禁止的用户组,接着在用户组的权限框中,选中“完全控制”后面的“拒绝”复选框,最后点击“确定”按钮。

再使用以上方法,找到“usbstor.inf”文件并在安全标签页中设置为拒绝该组的用户访问,其操作过程同上。完成了以上设置后,该组中的用户就无法安装USB设备驱动程序了,这样就能达到禁用的目的。

邱元阳:使用这个方法的前提是NTFS分区。再看我的“以逸待劳”之法吧,就是电子教室。

很多电子教室软件都带有U盘管理功能,如极域2010版中,就可以控制学生端是否启用U盘,启用U盘时是哪种方式,可以选择只读模式(防复制数据到U盘),也可以选择完全读写模式,当然也能方便地禁用。与前面各种方法相比,此法非常简单,而且可以随时更改回来,只控制USB存储设备,不影响其他USB设备。

刘宗凡:我再补充一个“注册表大法”,即修改系统注册表。

通过修改注册表,我们隐藏U盘盘符并禁止U盘自运行,就可以蒙过大部分学生。

先看禁止U盘自启动。打开注册表编辑器,依次展开如下分支[HKEY_LOCAL_MACHINE\SYSTEM\CurrentCntrolSet\Services\USBSTOR],在右侧的窗格中找到名为“Start”的DWORD值,双击,在弹出的编辑对话框中将其数值数据修改为十六进制数值“4”。点“确定”按钮并关闭注册表编辑器,重新启动计算机,使设置生效。

然后再隐藏U盘盘符。打开注册表编辑器,找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\项,新建键值NoDrives。NoDrives的值由四个字节组成,默认值为“00 00 00 00”,表示不隐藏任何盘符;如果将它的值修改为“FF FF FF FF”则表示隐藏所有盘符。具体说,NoDrives值的第一个字节可表示A~H八个盘符,分别以01、02、04、08、10、20、40、80表示;其他三个字节可分别表示I~Z各个盘符。如果想隐藏E盘,只要给NoDrives赋值“10 00 00 00”并“确定”退出即可;如果要同时隐藏多个盘符,只要将这些盘符对应的二进制值相加即可。例如,“19 00 00 00”表示同时隐藏A、D、E三个盘符。在隐藏了相应盘符以后,重启计算机,再插入U盘,在“我的电脑”里是看不到U盘盘符的,不过在地址栏里输入盘符还可以访问。

玩转usb――故障排查

刘宗凡:USB设备的故障也比较常见,如U盘或移动硬盘等设备插上电脑以后却无法使用,这种情况可以分情形来处理:①如果怀疑USB接口松动或损坏,可以换个接口试下。②也可能是USB接口供电不足。如果是移动硬盘接在台式机前置USB接口上,有时会因为供电不足而无法使用,这时可以换到后置USB接口。有些USB连线有三个接头,一般是双供电设计的,可以尝试将其中两个插入电脑的USB接口增强供电,另一个接移动硬盘。③USB驱动程序问题。USB驱动程序是Windows自带的,一般情况下是不会缺少的,但不同设备的驱动可能会有差异,造成驱动不正确或无法安装。有些电脑系统有问题,可能需要到设备官方网站下载最新驱动程序进行安装。④尝试手动添加盘符。在Windows XP、Windows 2003等操作系统中,移动硬盘等设备有可能一切正常,但是无法显示盘符。这时可进入磁盘管理中,如果能看到USB设备,就手工添加盘符,返回资源管理器后就可以使用了。

新潮USB――细说OTG

邱元阳:USB最初的设计,是以PC为中心的,所有的USB设备都是作为从设备连接在PC上,并在PC(Host,主设备)的控制下进行数据交换。因为从设备无法充当Host,离开了PC,它们互相之间就不能通讯。随着USB技术的发展,USB设备应用变得极为广泛,各种USB设备间的互连需求越来越迫切。

USB连接需要一个主端(Host),这个主端通常是PC。如果想把储存在某个设备的数据传输到另一个设备,就需要通过Host来控制传输。例如,想要将数码相机的照片打印出来,必须先将相机连接到PC,再利用PC上连接的打印机打印照片。为什么不在便携设备里加入主端功能呢?这一强烈要求催生了OTG技术。USB-IF(Implementers Forum)组织以原有USB规格为基础,衍生制定了USB的对接标准,称为USB OTG(On-The-Go),可以让USB设备发挥更多作用。

刘宗凡:OTG技术就是在没有Host的情况下,实现从设备间的数据传送。例如,数码相机直接连接到打印机上,通过OTG技术,连接两台设备间的USB口,将拍出的相片立即打印出来;也可以将数码照相机中的数据,通过OTG发送到USB接口的移动硬盘上,野外操作就没有必要携带价格昂贵的存储卡,或者背一个便携电脑。通过OTG技术,可以给智能终端扩展USB接口配件以丰富智能终端的功能,如扩展遥控器配件,把手机、平板变成万能遥控器使用。通过OTG技术,我们也可以让智能手机、平板等设备直接读取U盘、移动硬盘等设备的内容,让手机、平板等设备的存储空间无限扩展,用平板来看移动硬盘中海量电影就是轻而易举的事了。

邱元阳:USB是一种主从架构的通信协议,设计初衷是一个主端(Host)搭配多个设备(Peripheral),因此USB连机的控制中心就在Host端。如果要将主端控制逻辑全部转移到USB便携设备中,会是一种负担和压力。而且USB连接线具有方向性,插入主端的接头和插入设备的接头也不同。

虽然USB的专用联机线(带芯片)体积不大,但如果要内置于小巧的便携设备之中还是显得勉强。还有,USB架构的主端需要具备充足的电源,可为联机的设备提供电力,有些设备(如USB存储设备)甚至全部电力都来自USB总线。这样的供电架构和要求对于电力有限的小型便携设备而言是难以承受的。USB OTG补充规格中一项重要的改变就是扩充了原先的USB协议,提供更严谨的电源管理功能,并允许设备担任Host角色。

刘宗凡:现在USB OTG希望两个USB设备不通过PC而直接互连,其实是让其中一个USB设备放弃原有的角色,充当起主控角色,而另一个USB设备保持角色,并以为自己是连接到主控端,达到数据传输的目的。这种可以改变角色的USB设备,称之为DRD(Dual-Role Device,双重角色设备)。有的USB设备永远是被动、受控的角色,不具备DRD功能,如U盘。在OTG中Host角色设备称为A-device,Peripheral角色设备则称为B-device。

邱元阳:两个USB设备互接时,如何确定谁是主控谁是呢?这就需要用USB引脚中的第五脚来判断,这个引脚就是ID(Identification)标识。

担任主控的USB设备,其ID引脚接地(GND,电阻小于10Ω),而担任的USB设备此引脚是悬空的(NC,电阻大于10万Ω)。根据ID引脚的状态,就可以决定互接时的主从角色。

但是有时候互接的角色并非是一成不变的,如果互接的双方都是DRD,那么这两个设备就需要事先协商,这就要用到OTG中的HNP协议(Host Negotiation Protocol,主控角色的协商协议)。

刘宗凡:说到引脚,因为传统USB接头只有4pin,所以OTG必然要使用新的接头,也就是mini-USB接头。

由于OTG多用在便携设备上,需要减小USB接头和插孔的体积,故采用了mini-USB接头、插孔,同时加入OTG所需的ID引脚,并同样有A、B之别,以避免接错。这样,就有mini-A(白色)、mini-B(黑色)之别,A为主控端,B皆为端。不过,由于DRD既可以是主控端也可以是端,mini-USB又增加了一个mini-AB(灰色)的特有插孔专供DRD使用,可以接mini-A型接头,也可以接mini-B型接头。

邱元阳:OTG在设计之初,还考虑到了电能的节约,在无传输时能将USB线路信号暂时关闭,若有一方希望恢复传输,可发起请求动作,这种动作又要用到另一协议SRP(Session Request Protocol,连接请求协议)。

即使USB设备在OTG互接中能扮演主控角色,它也只是暂时的,不可能具备PC主控的所有功能,主要是实现数据传输功能,所以它能够支持的设备类型也有所限制,并非所有OTG设备都可互接互传。这就需要有一份设备支持清单存放在OTG的主控角色中,这个清单就是TPL(Targeted Peripheral List,标识设备清单)。

OTG对接完成时,主控方就会侦测对接的设备属于哪种类型,再到TPL中进行比对,如果设备类型在TPL中有标识,就进行通讯操作,反之就拒绝通讯,并发出“No Silent Failures”信息告诉对方。

刘宗凡:除了数据传输规则,OTG还要考虑供电问题。主板上的USB接口对外提供5V、100mA的电供给设备,至少能让USB设备内的芯片完成与主控端的基础连接。OTG的主控端也一样要承担供电责任,但其电力来源一般是电池,供电能力有限,因此供电电流的设计标准只有8mA,并放宽供电电压(4.4V~5.25V)。如果OTG中主控端电力不足且双方均为DRD,那么还可以进行角色转换,由对方来担任主控角色并供电,持续进行数据传输。

邱元阳:在OTG中,无论Host还是Peripheral,默认都是采全速(Full-speed)方式运行,USB原有的Isochronous(即传)、Interrupt(岔传)、Control(控传)、Bulk(巨传)四种传输模式在OTG中全部保留。

OTG技术的出现,方便了各种不同的USB设备尤其是移动设备间的连接和数据交换,特别是手机、平板电脑、消费类数码产品等设备的互连,在平板电脑、网络机顶盒、移动硬盘盒、数码伴侣上的应用前景尤其乐观。

前卫USB――4K对齐

邱元阳:4K对齐的概念是在SSD硬盘逐渐流行后再次被人们提起的。

最初硬盘每个扇区的定义是512字节,随着硬盘容量的快速扩大,这种小扇区不再合理,于是将每个扇区改为4096个字节,也就是所谓的“4K扇区”。在NTFS文件系统下,默认分配单元大小(簇)也是4096字节,为了使簇与扇区相对应,使物理硬盘分区与系统中的逻辑分区对齐,保证硬盘读写效率,所以就有了“4K对齐”的概念。如果没有“4K对齐”,数据的写入点正好会介于两个4K扇区之间,即使是写入少量的数据,也会使用到两个4K扇区,这样显然对读写速度和写入次数都会有很大的影响。

新标准的“4K扇区”硬盘,为了保证与操作系统兼容,也将扇区模拟成512Byte扇区,这时就会有4K扇区和4K簇不对齐的情况发生。所以就要用“4K对齐”的方式,将硬盘模拟扇区对齐成“4K扇区”,也就是将硬盘扇区对齐到8的整数倍个模拟扇区,即512Byte×8=4096Byte,4096字节即是4K。用Windows 7系统对硬盘分区格式化时,默认是将硬盘扇区对齐到2048个扇区的整数倍,即512B×2048=1048576B=1024KB,即1M对齐,并满足4K对齐,该值只要是4096B的倍数就是4K对齐。

刘宗凡:在Windows 7下用系统自带的工具进行分区,那么其格式化后的分区默认就会是“4K对齐”的分区,无需再做任何设置了。如果是在Windows XP系统下,那么要做到“4K对齐”就需要依赖于第三方工具了,如DiskGenius等分区工具。要查看是否已经4K对齐,可以用“芯片无忧”等工具。

因为闪存对于最佳读写模式的依赖性更强,所以4K扇区对齐成为SSD硬盘读写性能的一个重要影响因素。那么同样是通过闪存介质进行存储的U盘和存储卡,4K对齐是否也会优化其读写性能呢?

邱元阳:一般我们得到的提示,就是4K对齐对U盘意义不大,但对固态硬盘和移动硬盘的读写性能影响非常明显。然而在很多人的实际测试中,发现4K对齐对于U盘和存储卡的读写速度也有很明显的影响。究其原因,是由于U盘和存储卡容量越来越大,在大容量下和复制大文件时,最佳读写模式的影响足以吸引眼球,因而4K对齐对读写速度的提升也让人精神振奋。而USB存储设备出厂的默认状态,其读写速度往往与没有4K对齐时非常接近,这就引来很多人重新分区,进行4K对齐,以取得一定的性能提升。毕竟,在时间就是效率的时代,读写速度的小幅度提升也会为我们节省下不少宝贵的时间。

刘宗凡:需要说明的是,4K对齐与分区格式无关,不论NTFS还是FAT32甚至FAT16,都可以进行4K对齐。而从设备兼容性上考虑,不建议将存储卡格式化为NTFS格式。NTFS分区的“日志”需要记录详细的读写操作,过多的读写次数比较伤害闪存。如果有大于4G的单个文件的需求,可以采用exFAT格式。

结束语

随着网络和上网条件的普及,以及网盘的流行,很多时候我们已经不需要随身携带U盘类的存储设备了,但USB接口绝不会因此没落,相反,USB接口的应用将会更加精彩!

上一篇:“老爸老妈,我想对你说” 下一篇:多指标常用综合评价方法比较研究