转载:http://bbs.dzsc.com/space/viewspacepost.aspx?postid=88107

摘要:毋庸置疑,USB电源最有用的一个功能是能够为便携装置的电池充电。但是,无论是USB电源还是其它电源,电池充电都不仅仅是从电源取电这样简单。对于Li+电池尤其如此,充电不正确不仅会缩短电池寿命,而且存在安全隐患。设计合理的充电器可以优化安全性并增强用户体验,同时它还降低了退货、维修担保等风险,进而降低成本。通过USB为电池充电需要权衡电池“维护和保养”,考虑USB功率限制以及便携式消费产品设计中存在的体积和成本问题。本文讨论了如何在这些因素中达到最佳平衡。

  引言

  USB为便携设备供电与其串行通信功能一样,已经成为一种标准应用。如今,USB供电已经扩展到电池充电、交流适配器及其它供电形式的应用。应用的普及带来的一个显着效果是便携设备的充电和供电可以互换插头和适配器。因此,相对于过去每种装置都采用专用适配器的架构相比,目前的解决方案允许采用多种电源进行充电。

  毋庸置疑,USB电源的最大用途是能够为便携产品的电池充电。但是,无论是USB电源还是其它电源,电池充电都不仅仅是从电源取电这样简单。对于Li+电池尤其如此,充电不正确不仅会缩短电池寿命,而且存在安全隐患。设计合理的充电器可以优化安全性并增强用户体验,同时它还降低了退货、维修担保等风险,进而降低成本。

  通过USB为电池充电需要权衡电池“维护和保养”,考虑USB功率限制以及便携式消费产品设计中存在的体积和成本问题。本文讨论了如何在这些因素中达到最佳平衡。

  供电端口

  USB规范已经经历了几代电源管理技术。最初的USB 1和USB 2.0规范规定了两种类型的电源(分别是5V 500mA和5V 100mA),为所连接的设备供电。这些规范并非针对电池充电,而是用于小型外设供电,例如麦克风和键盘。但这并不妨碍设计人员设计出自己的USB电池充电装置。然而,如果没有统一指导,不同装置和充电器之间的互操作性就得不到保证。这种限制促使近期开发了USB规范补充说明:电池充电规范,1.1版,4/15/2009 (BC1.1)1,补充了充电知识和电源说明,最大电源电流可达1.5A。尽管标题为“电池充电规范”,但该文件几乎没有包括关于充电电池指标的任何信息,只是规定了应该从USB端口吸收多大功率充电。实际充电方法依然会留给设计人员。

  在BC1.1之前,所有USB电源端口在有效工作(即USB术语中的“非挂起”模式)时,归为“低功率”(100mA)或“大功率”(500mA)。任何端口也可以“挂起”,意味着接近关闭,但仍可提供2.5mA电流。对于大多数设备,PC、笔记本电脑或供电集线器(供电集线器是一种USB中断盒,利用自身的墙上适配器电源提供总线供电)端口为“大功率”,除了上行USB主机提供的电源外,不接收其它电源的集线器端口被认为是“低功率”。插入装置后,最初允许吸收最大100mA的电流,同时进行枚举并与主机协商其电流预算。随后,可能允许吸收高达500mA的电流,或者是保持在100mA。在USB串行总线规范2.0版的第7.2.1.4部分对此进行了详细规定。

  BC1.1的内容超出了USB 2.0规定的电源分配,它定义了更多用于充电的电源。主要有三种不同类型的电源:

  1.标准下行端口(SDP)这与USB 2.0规范定义的端口相同,也是台式机和笔记本电脑常见的典型端口。挂起时,最大负载电流为2.5mA;连接且非挂起状态下为100mA,可以配置电流为500mA (最大)。设备可利用硬件识别SDP,USB数据线D+和D-分别通过15kΩ接地,但仍然需要枚举,以符合USB规范。尽管现在许多硬件不经枚举即消耗功率,但在USB 2.0规范中,从严格意义上并不合法,违反规范要求。

  2.充电下行端口(CDP) BC1.1为PC、笔记本电脑及其它硬件规定了这种较大电流的新型USB口。现在,CDP可提供高达1.5A电流,由于可在枚举之前提供电流,所以有别于USB 2.0。插入CDP的装置可通过操纵和监测D+、D-线,从而利用硬件握手识别CDP (参见USB电池充电规范第3.2.3部分)。在将数据线转为USB收发之前进行硬件测试,这样就能够在枚举之前检测到CDP (以及开始充电)。

  3.专用充电端口(DCP) BC1.1规定了不进行枚举的电源,例如墙上适配器电源和汽车适配器,不需要数字通信即可启动充电。DCP可提供高达1.5A电流,通过短路D+和D-进行识别,从而能够设计DCP“墙上适配器电源”,采用USB mini或微型插孔,而非圆形插头或自制连接器的固定安装线。这样的适配器可采用任意USB电缆(配备正确插头)进行充电。

  USB电池充电规范,1.1版,4/15/2009中对这些接口类型进行了详细规定。

  电源类型检测

  对于连接到任意USB插孔并利用该电源工作或为电池充电的装置,需要了解吸收多大的电流合适。如果从只能提供500mA的电源试图吸收1A电流,这种措施并不妥当。USB接口出现过载时很可能导致关断、烧毁保险丝或触发自恢复保险丝动作。即使具有自恢复保护,也只能在拔出设备并重新连接后才能重新启动。在保护措施不严谨的接口设计中,接口过载会造成整个系统复位。

  便携设计可以选择适当方法管理接口检测,可以兼容于BC1.1、只兼容USB 2.0或根本不兼容。如果完全兼容于BC1.1,则必须能够检测所有类型的USB电源并限制其电流,包括合法的USB 1和2.0接口。如果兼容2.0,将在枚举后从SDP充电,但可能不能识别CDP和DCP。若不能识别CDP,它仍然能够充电并保持兼容,但只能在枚举后进行,与SDP方式相同。其它部分兼容和不兼容标准的充电方法将在随后讨论。

  器件可利用自身软件检测接口,或采用独立于系统资源、通过USB D+和D-数据线之间的互动进行检测的接口IC。这些功能设计的划分具体取决于系统架构。例如,已经采用微控制器或专用IC管理电源的设备,可能更倾向于使用IC进行端口检测和电流选择。由于这些设备能够通过USB连接主机并进行通信,可根据枚举和配置结果选择充电。这些选择可以由应用处理器控制,或者是由负责电源管理及其它系统功能的独立微控制器控制。系统检测端口类型、枚举,并向充电器发送相应指令。充电器负责处理充电的硬件和安全事项,具有内置门限,使系统不会损害电池(图1)。

图1. 无枚举充电器。USB收发器和微处理器处理USB枚举,然后微控制器将电池充电器设置在正确的参数

  不同的设备设计可能不通过USB通信,或不希望专用系统软件管理USB充电,而仅仅是采用USB端口供电。这种方式避免了设计复杂性,或者无需担心软件故障所造成的充电失效。由于系统不进行枚举,最好的充电选择是自枚举充电器IC。充电器负责端口检测并选择合适的USB负载电流门限,无需系统介入(图2)。

图2. 自枚举充电器直接连接至USB数据线,使得简单系统能够完全利用USB充电,无需占用USB收发器或微处理器资源。

  USB连接术语

  这里,我们有必要介绍一下部分USB术语,包括“插入”、“连接”、“枚举”和“配置”。

  插入:插入USB电缆的物理过程。

  连接:设备将1.5kΩ上拉电阻连接至D+或D-数据线时(刚插入)。

  枚举:设备和主机之间交换初始数据,识别设备类型。

  配置:设置设备参数。

  在USB 2.0中,设备进行枚举和配置期间需要了解USB端口可源出多大电流。枚举和配置需要设备与主机之间进行数字通信。BC1.1扩展了USB规范,除USB 2.0选项外,BC1.1还允许利用“哑”操作确定端口类型,所以,有些端口无需枚举即可充电。

  端口检测和自枚举充电器

  MAX8895判断如何使用所提供的输入电源,与系统*估电源无关。充电器自动确定适配器类型,能够区分以下类型:

  1. DCP:500mA至1.5A

  2. CDP (主机或集线器):高速充电时达到900mA (啁啾期间为580mA);低速和快速为1.5A

  3. 低功率SDP (主机或集线器):100mA

  4. 大功率SDP (主机或集线器):500mA

  所提供的电流支持电池充电或系统供电,或在它们之间进行分配。如果在长达10ms内未检测到总线流量,内置挂起定时器自动触发挂起。

  除了自动优化来自USB及适配器电源的电流外,MAX8895还巧妙处理适配器、USB供电和电池供电之间的转换;允许系统在必要时利用所有能够利用的输入电源(图3)。施加电源时,电池耗尽或没有电池同样可以保持工作。集成了所有功率控制MOSFET,无需外部二极管。热调节环路在极限温度下自动降地充电电流,以降低管芯温度。

图3. MAX8895充电器自枚举,根据所连接电源的类型优化设置充电电流。即使是深度放电的电池,也能维持系统工作。

  增加端口检测

  BC1.1规定了检测端口类型的硬件方法。预计采用集成电路实现这一功能,如图2中的MAX8895,或在USB收发器中包括该电路。尽管如此,有些时候的首选方案依然是为现有充电器增加端口检测功能,至少包含其中部分功能。图4所示电路为一种基本的USB充电器检测方法,受系统微控制器控制工作。这种方法可检测DCP,但是不能区分SDP和CDP。它把两者均作为SDP,这就意味着有些情况下会丧失从CDP吸收更大充电电流的机会。在预算较低的设计中,这一缺陷是可接受的。

图4. 高速USB开关实现有限的USB充电器检测形式

  图4所示连接方法支持如下有限端口检测功能。当便携设备插入三种端口类型之一时,VBUS为U1开关和设备的微控制器供电。U1的CB输入的逻辑低电平将其置于检测模式,D+线通过10kΩ上拉至系统逻辑电压,D-通过100kΩ拉至GND。如果连接的是DCP (D+与D-短路),D-将变为高电平;如果连接的是SDP或CDP,D-及检测输出将为低电平。如果检测到SDP或CDP,系统将驱动CB为低电平,将开关置于数据模式,该模式下将D+和D-连接至数据通路,用于枚举及其它数据传输。以上方法有一个局限性:插入CDP时无法识别,从而不能立即充电,尽管在枚举后可从CDP充电。

  图5所示为完整的端口检测。MAX14578包括检测连接设备(USB电缆、USB CDP或专用充电器)所需的所有电路,并控制外部锂离子电池充电器。设备执行与USB电池充电规范1.1兼容的检测逻辑,包括数据触点检测、D+/D-短路检测和CDP识别。另外,它有一个充电定时器和低电池电量监测器,用于支持USB BC1.1“无电电池”充电机制。

  MAX14578具有一个数据开关,适用于USB高速和初始(全速和低速)信号。它具有低导通电阻(RON)、低导通电阻平坦度以及非常小的电容。CDN和CDP引脚还具有高达15kV的人体模式ESD保护。

图5. 利用MAX14578 USB充电端口检测器和数据开关IC,可为充电器增加完全兼容于USB BC1.1的端口检测功能。

  在图6中,为USB设备增加了简单的Li+电池充电功能。MAX8814可配置为通过100mA或500mA USB端口为电池充电。电路初始化为100mA,然后微控制器枚举主机,以确定其电流驱动能力。如果USB端口允许,通过导通电流设置网络的N1和R1,增大充电电流。大电流充电标称设定为425mA,以避免超过考虑容限后的SDP 500mA限制。充电器还具有一个自动启动电路,当连接有外部电源时,提供输出信号(ABO)通知系统。图6尽管兼容USB,但并不符合BC1.1标准,所以需要枚举才能充电。

图6

  图6. MAX8814为USB设备增加充电功能提供了简单、引脚数少的解决方案。枚举受系统控制,利用ISET引脚监测和控制充电电流。这种设计兼容USB,但并不符合BC1.1标准,所以需要枚举才能充电。

  其它充电策略

  USB电池充电设计非常复杂。便携式USB连接设备并非遵循同一设计理念,存在各种限制约束—其中尺寸、成本、充电时间的影响最为明显。设计中须谨慎考虑这些因素及其它更细致的事项,有助于选择USB充电方案。更多的设计考虑事项包括:

  设备在施加外部电源(USB或适配器)后是否必须启动所有功能工作?

  是否需要独立的输入,分别连接USB和适配器电源?

  设备是否具有计算能力和固件与USB端口进行协商充电?

  充电电流是否能够瞬间降低,以减小热耗,或者是否需要开关模式设计?

  需要什么样的输入保护措施?

  多输入充电

  根据BC1.1规定,设备只能从USB定义的电源充电。这些设备的使用越来越普及,但您可能仍然希望选择常规的、可能不兼容USB的适配器进行充电。利用双输入充电器能够很好地解决这一问题,能够灵活替换外部电源。在此之前,通常采用“或”二极管或分立式MOSFET比较器进行电源切换,如果考虑潜在的“漏电”通路和切换时间时,设计会变得相对复杂。幸运的是,目前许多充电器IC具有电源关断控制(图7)。集成这一功能不仅仅是简单地替代外部元件。由于集成充电器能够了解开关电路的操作,有助于改善电源变化时的切换。

图7. MAX8844等双输入充电器处理利用USB和适配器供电的充电器,器件还具有高达28V的输入过压保护。

  充电器常见的设计考虑是从多电源供电问题,特别是采用圆形连接器时,可能会连接到不正确的适配器。为避免这种事件的发生,MAX8844禁止从高于7.5V的输入电源充电,能够承受并阻止高达28V的输入,可有效保护电池、充电器及下行电路,防止错误地连接到其它任何类型的适配器。此外,MAX8844具有过压保护LDO,从USB和适配器(IN)输入偏置,可向系统提供30mA电流。无论充电器是否使能,这些LDO输出(SAFEUSB和SAFEOUT)都保持有效。器件执行的其它充电功能包括:电池检测、热限制、在极端环境温度下减小充电电流(以维持较低的管芯温度)、自动启动逻辑输出、外部电源作用时通知系统。

  电池负载切换(智能电源)与直接连接

  在USB和适配器供电的充电应用中,一个关键设计因素是充电电路是否直接连接到电池和系统负载,或者在连接外部电源时是否需要额外的开关断开电池与系统的连接,这两种情况如图8所示。

图8. 直接连接充电器及Maxim的智能电源选择(Smart Power Selector?)技术示意图

  直接连接结构是最简单、最经济的实现方式。如果电池深度放电后施加外部电源,将会显露出它的主要缺陷。这种情况下,系统可能不能启动,直到电池达到可接受的水平。有些应用中,等待电池充电到一定程度,然后再恢复所有功能,用户也是可以接受的;然而,有些应用中,无论电池状态如何,“必须”要求连接外部电源时能够立即工作。后一种情况下,Maxim的智能电源选择器允许系统在电池深度放电状态下使用外部电源供电,参见图9。

图9. 具有智能电源选择器的双输入USB/适配器(例如MAX8934),在连接外部电源时能够立即为系统供电,并同时为完全放电的电池充电。

  图9中,系统负载输出(SYS)和电池(BAT)之间的内置低阻(40mΩ) MOSFET在充电和放电工作期间负责多项功能。充电期间,该智能电源选择器开关充分利用有限的USB或适配器电源,在确保系统供电的前提下为电池充电。它还将电池作为一个缓冲储能装置,在负载瞬时发生超过输入限流的峰值电流时保证系统供电。放电期间,该开关提供一条从电池到系统的低损耗通路。

  系统软件处理与USB主机的通信并向充电器发送命令。MAX8394管理充电硬件,并提供简单的通信,设置USB、适配器充电相关的参数。预设USB输入电流门限,确保不超过规定的限制,适配器使用用户设置的电流。充电器还向系统提供完整的状态和故障信号。

  MAX8934具有最新的充电安全特性,包括日本电子信息技术产业协会(JEITA)规定的与温度相关的充电协议,在温度升高时暂停或减缓充电。此外,输入具有高达16V的过压保护(OVP),并且器件在极端条件下通过减小充电电流限制温度的上升。

  高达2A的开关模式快速充电器,发热最小

  有些紧凑设备需要较大的充电电流(超过1A),无法承受线性充电器在高充电速率下产生的过多热量。针对这种需求,MAX8903 (图10)提供了一个4MHz DC-DC转换器,在保持器件最小面积的同时,能够从适配器电源为电池提供高达2A的电流。与MAX8934一样,MAX8903为双输入设计,通过独立的连接接受USB和适配器输入。与之前输入电源和电池电源关断操作一样,自动进行电源之间的切换。

图10. 具有智能电源选择器的MAX8903开关模式充电器,可从适配器输入提供高达2A电流,从USB源提供500mA电流。

  MAX8903的4MHz开关频率使开关模转换器的有源元件保持在最小尺寸,在考虑了较低的功耗后,利用该器件构建的2A充电器会小于等效的线性充电器。实际上,考虑到热耗散,大多数便携设备在任何条件下都不能支持2A的线性充电架构。

  内置过压和极性反接保护

  尽管USB充电规范对电源适配器和充电器进行了一定程度的强制要求,但是针对便携设备的USB设计仍然比较混乱,尤其是那些选择使用普通圆形插头作为电源的应用(只使用适配器或者是双输入设备非常普遍)。用户极容易使用“随手找到”的、但输出电压甚至极性是错误的适配器。通过在充电器电源输入端集成正、负22V保护,MAX8900能够减轻设计人员的负担:无需外部保护器件或MOSFET开关(图11)。

图11. 具有±22V过压和极性反接保护的直接连接开关模式充电器

  MAX8900是一款直接连接充电器,系统通常连接至电池。其3.25MHz开关频率允许使用非常小的外围器件,并提供高达1.2A的充电电流,热耗非常低。除了双极性输入保护外,还根据JEITA规定,按照温度的变化调整充电参数。

  通过USB为NiMH电池充电

图12. USB供电的单节NiMH电池开关模式充电器

  虽然表面上Li+电池已经占据整个便携世界,但NiMH电池并没有被完全遗弃。令人吃惊的是,尽管单位重量的能量仍然有较大差距,但其单位体积的能量仅比Li+电池低大约15%。NiMH电池的最大缺点是自放电率较高,混合型NiMH电池在很大程度解决了这一问题,例如SANYO? Eneloop?电池,静态下一年之后仍然能够保留85%的电量。NiMH电池的吸引力在于成本低、安全性高、用户更换方便等,至少标准电池具备这些优势。

  图12所示便携设备由一节AA型NiMH电池供电,利用USB充电。DS2710充电器开关频率大约为150kHz,电池充电电流为1.1A (典型AA型NiMH电池在大约0.5°C条件下)。由于降压转换器将5V、500mA转换成电池充电时的1.5V、1.1A,电路供给电池的电流(1.1A)大于从USB接口获得的电流(500mA)。需要注意的是,由于在低充电速率下不能正确判断充电终止,只能采用500mA或更大功率的端口进行充电。所以,当枚举确定只有100mA电流可用时,不应激活充电。系统通过关闭TMR上的Q2,使定时器电阻悬空,停止充电。

  该充电器另外一项特别有用的功能是:通过检测电池阻抗确定接入的是否为碱性电池或故障电池,检测到这种状况时将禁止充电。这就允许用户在紧急情况下插入碱性电池,无需担心意外充电。

  USB 3.0

  USB 3.0规范进一步提高了USB的数据速率。规范在电源方面与USB 2.0相似,只不过“单位负载”从100mA增大至150mA,大功率端口不得不提供6个(而不是5个)单位负载。这就意味着低功率USB 3.0端口可提供150mA电流,大功率USB 3.0端口可提供900mA电流。

  “假象”—非标准USB充电

  与所有增加的不同于原始应用的标准一样,制造商有时为了提供至少受限的充电架构而忽略了USB 2.0规范的部分要求。通常这种非标准设备在任何条件下吸收的电流都不大于100mA,所以,无论是大功率还是低功率集线器都不会过载。将电流限制在这一水平的缺点是电池充电时间较长,但如果设备在大部分时间都连接至USB端口,或许仍可接受。除了充电时间较长外,这种方式还有另外一个局限性:如果系统电池已完全放电,启动所有系统功能须延迟到电池达到足够电量的水平。

  非标准充电的另一方面涉及到USB挂起的处理。USB 2.0规定所有设备在一定周期内没有总线操作时必须挂起(吸收电流小于2.5mA)。由于编制该规范时没有包括充电,所以没有考虑设备在关闭时继续保持电池充电的情况。然而,由于大多数USB主机实际并不关闭电源,这种违反规范的操作也很少妨碍充电。

  非标准充电假设可以获得500mA电流,指示用户插入到能够提供500mA电流的电源端口和集线器。如上所述,由于大多数USB端口不关闭电源,这种方法在大多数情况下有效。当这样的设备插入到不支持500mA电流的端口时,端口将按规定关断。然而,USB端口的过载状况并非任何情况下都给出了清晰的定义,会导致系统复位或损坏。幸运的是,电池充电已经是USB规范的一个有机组成部分,所以不再需要如此的冒险操作。

  结论

  USB充电具有多种形式,取决于不同USB设备的独特要求。USB电池充电规范1.1版最终对之前的许多充电操作进行了规范。随着BC1.1标准的普及,将会降低制造商和消费者的成本。该标准应用的普及也会提高系统的互操作性。尽管如此,USB规范也仅仅规定了从端口获取多大功率,仍然将电源管理架构和充电规范留给用户去判读。这正是Maxim各种充电器件的用武之地,它们能够为几乎所有USB连接的便携设备提供安全、可靠的电池充电器。

  表1汇总了以上讨论的充电器,这些仅仅是Maxim产品的一小部分,更多产品选择请访问电池管理。

表1. 具有代表性的USB电池充电器

USB电池充电基础:应急指南相关推荐

  1. 充电c语言,USB电池充电基础

    USB规范已经经历了几代电源管理技术.最初的USB 1和USB 2.0规范规定了两种类型的电源(分别是5V 500mA和5V 100mA),为所连接的设备供电.这些规范并非针对电池充电,而是用于小型外 ...

  2. 《C语言编程——零基础初学者指南(第3版)》一第1章 什么是C程序设计1.1 什么是程序...

    本节书摘来自异步社区<C语言编程--零基础初学者指南(第3版)>一书中的第1章,第1.1节,作者 [美]Greg Perry , Dean Miller,更多章节内容可以访问云栖社区&qu ...

  3. linux来源usb驱动在哪下载,Linux USB驱动程序基础

    非常好的linux驱动入门,介绍详尽 Linux USB驱动程序基础 来源: ChinaUnix博客日期:2008.04.10 23:55(共有条评论) 我要评论 ( Linux USB Driver ...

  4. 键盘可以实现向计算机输入数据判断,计算机应用基础—学习指南.docx

    计算机应用基础-学习指南 一.填空题1.世界上第一台电子计算机是在()年诞生的.A.1927 B.1936 C.1946 D.19522.世界上第一台计算机是().A.EDSAC B.ENIAC C. ...

  5. Pr零基础入门指南笔记一——项目、序列、预设

    1.学习地址 [干货]PR零基础入门指南第二集:新建项目和序列以及预设,基础但非常重要,PR萌新必学!_哔哩哔哩_bilibili 2.视频剪辑 3.项目 项目管理文件夹  主项目文件夹 日期+项目名 ...

  6. 大数据平台基础架构指南

    之前的文章,整理了一下,补充了一些内容,做了一些更新,现已出版上市了.无耻的推广一下哈 :) 淘宝,JD都有现货,Amazon,搜书名 < 大数据平台基础架构指南 > 链接:https:/ ...

  7. 初级软件测试工程师零基础入门指南

    初级软件测试工程师零基础入门指南 唐井军 编著 2012年10月 1.基本概念 1.1软件 软件就是可以在计算机上运行的计算机程序,如操作系统Windows.办公软件Office.聊天QQ.手机游戏等 ...

  8. CodeMirror 基础配置指南

    CodeMirror 基础配置指南 需求背景 在线编辑 项目引入 列表页面 加载页面内容 在线编辑页面 在线编辑内容保存 需求背景 这里为什么会用到在线编辑功能呢?有这样的一个文件管理系统,实时上传j ...

  9. Pr零基础入门指南笔记三-------------视频效果与转场

    目录 精剪第一步--视频效果与转场 1.三大面板 2.位置 3.效果库 4.常用视频效果 [干货]PR零基础入门指南第四集:PR常用的效果和转场,视频防抖.宽银幕效果.设置默认效果等_哔哩哔哩_bil ...

最新文章

  1. 5.数据绑定和表单标签库
  2. 很酷的一套 Flex/AIR 皮肤 (KingnareStyle)
  3. python pexpect timeout_Python 的 pexpect 模块的问题
  4. 信息学奥赛C++语言: 趣味整数1(自守数)
  5. c语言10-100000取整数,100个C语言地编程题.docx
  6. Wi-Fi模块与蓝牙模块有何区别?
  7. wpf listBox 多列大图片效果
  8. Java泛型的个人理解
  9. 林斌宣布好消息!语音识别大佬、Kaldi之父加盟小米
  10. Java基础:Collections集合、Map集合综合案例 —— 斗地主
  11. 【智能优化算法】基于混合布谷鸟算法和灰狼算法求解带单目标优化问题附matlab代码
  12. c语言电子通讯录程序设计实验报告,定稿毕业设计通讯录c语言程序设计喜欢就下吧(电子版)...
  13. Meta 将使用微软 Azure 最新虚拟机 (VM) 系列,多达 5400 个 GPU
  14. 汽车软件合作开发中的分工、知识产权及质量责任
  15. oa系统打不开只能重启服务器,oa系统打不开怎么办-oa系统打不开的解决方法 - 河东软件园...
  16. 华师大计算机基础在线作业,华东师范大学计算机作业答案
  17. 关于王小云破解MD5之我见
  18. 交互设计软件Framer X for mac软件测评
  19. 调试工具-DEBUG
  20. 计算机考试答题设计用例图,学生网上考试系统的设计与实现

热门文章

  1. 华东交通大学c语言程序设计,2016年华东交通大学理学院C语言程序设计考研复试题库...
  2. Ashampoo 阿香婆全家桶分享
  3. 成本管理--总体拥有成本和投资回报率
  4. 报错:from .. import deform_conv_cuda
  5. ubuntu/lubuntu/kubuntu/xubuntu各版本镜像下载地址
  6. 可编程作息时间控制器设计
  7. Oracle RAC 19C通过故障组更改OCR和voting磁盘
  8. dns 刷新本地DNS缓存的方法
  9. 整理汇总了一份常用的 Linux 软件!
  10. docker配置阿里云镜像加速器,解决镜像拉取缓慢