《树莓派实战秘籍》——1.8 技巧08获取更多的USB端口

1.8 技巧08获取更多的USB端口

树莓派实战秘籍
B型树莓派有两个专用的USB连接器端口,不过实际上,对于非常多的案例来说这确实不太够用,这里是如何获得更多USB端口的技巧。

通用标准总线(USB,Universal Standard Bus)已经成为计算机配件事实上的标准连接器。键盘、鼠标、硬盘驱动器、操纵杆、手电筒甚至泡沫导弹发射器都通过USB连接。树莓派(B型)配备了两个专用的USB 2.0端口让你去访问这个广阔世界的精品外设,但这些端口却一眨眼就用完了。在正常使用的情况下,键盘和鼠标会占用两个USB连接器,这样其他任何设备就都没有地方了!

对计算机用户来说这并不是个新问题,笔记本电脑通常也只配有1~3个USB连接器。即使只有一个USB主机控制器也可以支持很多设备在同一总线上同时运行(准确地说,最多可以支持127个设备)。本技巧就是通过使用USB集线器的方式来获得更多USB端口。

曾几何时,USB集线器价格高昂,不过那个时代早已过去。实际上,现在它们都是定期免费奉送的了,不过这些USB集线器都有一个问题,表现为两种形式:

总线供电
这种类型的USB集线器的所有供电都来自于主机的USB接口,你很可能是以免费赠品的形式或者是在电子商店中以很便宜的价格得到它们的。

外部供电
也被称为自供电。这种类型的USB集线器具有外部电源,并用它来给集线器上的每个USB连接器供电。

给USB 2.0分配的电流约为100mA(这个电流被称为单位负载),而每个端口最高可达500mA。这意味着,如果你采用的是总线供电的集线器,在最好的情况下(从主机获取500mA),它可以驱动4个设备。这是规范上的描述,因此肯定没错,对不对?但在现实世界中,这却并不尽然。

首先,USB集线器本身需要消耗一些电才能运行,因此它无法将从主机获取的500mA全部供给端口。甚至即使我们假定它是一个非常高效的设备(而它们通常并不是),那也只意味着它可以一次性供应4台设备,每台设备供给一个单位负载,但这还不是故事的全部。

USB规范是一个相当宽松的规范(部分是因为它无所不在的结果),以及大量、大量的设备的正常工作电流都要超过100mA—最值得注意的是,无线网络USB设备、带有花哨功能(LCD显示器、集成的USB集线器、背光以及blenders等)的键盘等,这些设备都被归类为高功率USB设备,每个端口可能使用的电流高达五个单位负载(500mA),但它们很少(如果有的话)这样标记,从视觉上看上去和低功耗(单个单位负载)设备并无两样。

最重要的是,树莓派上的专用USB连接器的每个端口只提供一个单位负载(100mA)而不是“正常”计算机所提供的5个单位负载。这个数字远远不能满足总线供电的集线器上的设备的供电需求,因此这些设备压根就无法为你工作。免费(或非常便宜)的USB 2.0集线器?它们总是由总线供电。抱歉,你将不得不买更好的东西。

这就是为什么如果你直接将一个高功率的USB设备连接到树莓派上,它要么试图工作在低功率模式(有时这些设备可以做到这一点),要么树莓派就干脆关机或检测不到设备。大多数高功率的设备可以在低功率状态下被检测到,但在投入使用时会消耗更多的电源(这在无线设备中尤为常见),从而导致状态异常。看上去设备好像在工作,Linux内核驱动也载入了,但它实际上并没有在可靠地、正常地工作。

解决树莓派这个问题的方案就是使用带有外接电源的USB集线器。你会希望使用一个质量好点的,因为这里面有很多可怕的选择。对这些USB集线器的制造商来说,偷工减料或者将集线器的供电设计成低安培数,这些都是很正常的现象。他们这样做的原因是因为他们认为你将要连上的大多数设备都是低功率的,而且你不会一次性的使用所有的端口。

七端口的集线器使用一个1A的电源,对于廉价的USB集线器来说这样的情况并不少见。如果这七个端口中的每一个都连接到高功率(5个单位负载,500mA)设备的话,那么这些设备总共就需要一个3.5A的电源。实际上需要更多,因为集线器本身也需要耗电。

为了安全起见,你应该和这些消减成本的厂商所做的假设相反,假定将要连接上树莓派的任何USB设备都是高功率的,而且你的USB集线器上的每一个端口都将会连接上高功率设备。这样确认一个USB集线器是否合适就成为了一个简单的数学问题:

1.获取USB集线器上的端口数,再加上1(考虑到USB集线器本身)。

2.用高功率负载(0.5)的大小乘以这个数字。

计算结果的单位是安培,这个大小的电源应该可以为你的USB集线器提供足够的电(至少)。

即使你使用了外部电源的USB集线器,当你将之用到树莓派上时仍然有可能遇到问题。有些集线器会通过USB连线(连接USB集线器到树莓派的线缆)传输功率,这被称为功率倒灌。

标准指出,集线器不应该这么设计,但实际上这样做的却屡见不鲜。功率倒灌可能导致的一种情况是,USB集线器比树莓派先有电(树莓派供电时通过标准的微型USB电源连接器),这将导致树莓派处于部分上电状态。而部分上电时,树莓派可能会在开始时不必要的对SD卡写入数据。

为避免这种情况,你可以将USB集线器的电源和树莓派的电源都插入到同一个电源板上,并使用电源板的开关让它们同时上电。

Pi Hut公司出售一种专为树莓派设计的理想的七口USB集线器1,它永远不会通过互联线缆倒灌电流,从而避免了需要小心处理上电顺序。但不幸的是,它只有一个2A的电源,这意味着你一次只能使用三个端口用于高功率设备(可以使用5个单位负载),还可以将剩余的功率供给集线器。尽管如此,这个集线器的设计不会倒灌电流,所以你永远也不必为此担心。

已知的还有一种四口集线器2也没有电流倒灌问题,尽管它也只有一个2A的电源,但是四口集线器显然比七口集线器上更不容易超过这个限制。

我们目前所看到的在树莓派上使用得最好的集线器是PIHUB3的产品,它有四个端口,外部供电并可支持3A电源,外形就像树莓派的Logo。在本书撰写之时,PIHUB还没有出美国版本,不过很快就会有了。

时间: 2024-10-04 15:30:55

《树莓派实战秘籍》——1.8 技巧08获取更多的USB端口的相关文章

《树莓派实战秘籍》——导读

前 言 树莓派的灵感诞生于埃本·厄普顿在剑桥大学负责计算机科学专业学生工作期间(参见前言中的描述),他发现准大学生需要有更多的机会获得编程经验才可以达到大学水平.如我们现在所知的,关于什么将会成为Pi的第一个概念设计诞生于2006年,阿尔法版在2011年年底通过验证,最初的10块板在2012年年初被拍卖,价格高达16 000英镑. 首批10 000台树莓派于开始销售,截至2011年年底,它的SD卡映像文件已经被下载超过了50000次,暗示其普及时代即将来临.当时两家英国的销售商Premier F

《树莓派实战秘籍》——2.2 技巧22构建一个定制内核

2.2 技巧22构建一个定制内核 树莓派实战秘籍 对于很多技巧来说,标准的预购建Linux内核映像已经足够了,不过有些需要的选项或驱动并没有被标准内核启用.这个技巧打开了一些额外的选项,并将对本书中其他的技巧有用. Linux内核是因为以下几个原因而成为一个奇妙的操作系统核心的:首先是它的多功能性,而且它原生支持了大量的架构和设备:然后是其开源代码库,树莓派基金会提供了预购建的专为支持树莓派硬件的客制化的Linux内核映像及相应的源代码树,让你可以建立你自己定制的可以工作在树莓派上的内核映像.这

《树莓派实战秘籍》——1.9 技巧09解决电源问题

1.9 技巧09解决电源问题 树莓派实战秘籍 Pi并不需要很多功率,但这也表示它所要求的功率就是它所需要的功率,如果供电过多或不足,都会造成运行时的问题. 树莓派运行时需要一个5V(DC)电源,可以从专用的Micro USB B型端口(在主板上丝印标记为"Power")供电,或者从GPIO扩展(主板上标记为"P1")引脚(具体来说,5V引脚的位置是P1-02和P1-04)供电. 如果你有一个可以用于大部分Android手机的充电器,那么你也就同时有了一根Pi的电源线

《树莓派实战秘籍》——1.7 技巧07使用过压获得更高的性能

1.7 技巧07使用过压获得更高的性能 树莓派实战秘籍过压,也被称为"动态电压缩放来增加电压",是一个从电子元器件中获取更多性能的小窍门. 树莓派的电路是由充当逻辑门和开关的晶体管组成的,在正常操作元器件时这些节点的电压会在高电压和低电压之间切换.当切换发生时,晶体管的电容和所施加的电压影响了切换输出变换的速度.使用更高的电压("过压")配置电路会让电路的反应速度更快,你可以获得比正常方法下对硬件超频的更好效果. 树莓派固件提供了一些可配置电压,在/boot/con

《树莓派实战秘籍》——1.3 技巧03解码LED灯

1.3 技巧03解码LED灯 树莓派实战秘籍每个树莓派都有一组藏在角落中的LED灯,它们可以告诉你设备正在发生什么或什么也没发生.A型只有两个灯,而B型提供了更多的情报和确定故障所需要的宝贵的信息. B型树莓派有个状态LED灯(如图1-2所示,并在表1-1中描述),当它无法启动或出现其他问题时,这些灯可以帮助你定位问题.由于Pi没有BIOS,在Pi成功启动之前屏幕上不会显示任何信息,这时就是这些小灯显示身手的时候了. 当你想确定你的问题是不是很简单的"有没有插好"时,前两个灯(D5和D

《树莓派实战秘籍》——2.3 技巧23更新到最新的预建内核

2.3 技巧23更新到最新的预建内核 树莓派实战秘籍 让你的树莓派使用最新的Linux内核?你当然可以这么做,而且有一种方法可以让你不必从源代码构建就能够获取它们. 树莓派基金会的好人们经常努力工作增加新的功能到Linux内核源代码树中,而且他们又进一步定期更新一份预构建的Linux内核映像文件的拷贝.这个内核专门为树莓派配置了一系列选项及模块.使用这个内核意味着你可以确定所有内置到树莓派的硬件,以及任何树莓派的特定功能都可以正确地启动. 发行版特点 一些Linux发行版可能假定某些没有在树莓派

《树莓派实战秘籍》——1.15 技巧15连接GPIO脚到面包板上

1.15 技巧15连接GPIO脚到面包板上 树莓派实战秘籍 在你构建电子项目的时候,免焊面包板是一个相当有用的朋友,尤其是在原型设计或只是测试设备的时候更是如此.让我们动手做一个简单的到树莓派的连接. 虽然你可以直接通过常见的跳线或者直接在添加的设备和GPIO的引脚之间焊接一个线来简单地连接树莓派GPIO引脚和设备,但让你工作的空间越大,你可以发挥的余地就会越多,我们可靠的老朋友面包板正可以在这方面给你提供帮助.面包板如图1-7所示,即使你以前从未做过任何一个电子项目,你应该也注意到这家伙那白色

《树莓派实战秘籍》——1.18 技巧18在移动中给Pi供电

1.18 技巧18在移动中给Pi供电 电源不一定必须是插在墙上的,你有几个提高便携性的选择. 为了给Pi供电,你需要通过B型Micro USB插头提供稳定的5V 700mA的电流.正如其他地方提到的一样,虽然你的手机充电器或其他类似的适配器也可能可以工作,但配置一个专门用于树莓派的电源适配器是个不错的主意. 低于推荐的电源选项 就像在食谱中用鸡蛋替代一切一样,有些选项虽然不是特别推荐,但仍然可以作为一些人的解决方案.例如,通过你的笔记本电脑的USB端口给Pi供电,这不是正式的操作方式,因此我们并

《树莓派实战秘籍》——1.12 技巧12连接SSH

1.12 技巧12连接SSH 树莓派实战秘籍 对于任何headless项目.以及任何从方便的角度来说和你相距较远的项目,或者仅仅只是因为你懒得穿过房间,这些情况下你都需要知道如何SSH到你的树莓派上. OpenSSH,由OpenBSD项目为安全通信所创建的开源的工具集,很可能在你选择的任何发行版上都有效. 如果你有一点点复古倾向,请注意"Squeeze"这个在"Wheezy"之前的版本,它并没有在默认情况下运行SSH. 如果你不能确定,你要做的就是尝试SSH到你的P