单元测试系列一-为什么要写单元测试,何时写,写多细

一、前言

半年前在公司团队内推动单元测试的落地,略有一些心得,记录在此。如有不同观点或建议,请在评论区留言,一起探讨。

定义:单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。

单元测试从长期来看,可以提高代码质量,减少维护成本,降低重构难度。但是从短期来看,加大了工作量,对于进度紧张的项目中的开发人员来说,可能会成为不少的负担。

本文从为什么要写单元测试,何时写,写多细这些我们最关心的问题展开讨论,试图解答如何在进度紧张的项目中,通过写有效的单元测试来提高代码质量的问题。

二、单元测试要写多细

酷壳上有篇关于“单元测试要做多细”的文章,文章是从StackOverflow上的一个问题讨论开的。这个问题是–

“TDD需要花时间写测试,而我们一般多少会写一些代码,而第一个测试是测试我的构造函数有没有把这个类的变量都设置对了,这会不会太过分了?
那么,我们写单元测试的这个单元的粒度到底是什么样的?并且,是不是我们的测试测试得多了点?”

点赞最多的答案是–

老板为我的代码付报酬,而不是测试,所以,我对此的价值观是——测试越少越好,少到你对你的代码质量达到了某种自信(我觉得这种的自信标准应该要高于业内的标准,

当然,这种自信也可能是种自大)。如果我的编码生涯中不会犯这种典型的错误(如:在构造函数中设了个错误的值),那我就不会测试它。我倾向于去对那些有意义的错误

做测试,所以,我对一些比较复杂的条件逻辑会异常地小心。当在一个团队中,我会非常小心的测试那些会让团队容易出错的代码。

这个答案给人感觉对单元测试持一定的否定态度和不感冒态度,但是这一最佳答案的回答者是Kent Beck!正是那位极限编程、测试驱动开发和单元测试以及JUnit的创造者Kent Beck。Kent Beck的答案,正好回答了单元测试要写到什么程度这个问题。单元测试不是越多越好,而是越有效越好!进一步解读就是哪些代码需要有单元测试覆盖:
1. 逻辑复杂的
2. 容易出错的
3. 不易理解的,即使是自己过段时间也会遗忘的,看不懂自己的代码,单元测试代码有助于理解代码的功能和需求
4. 公共代码。比如自定义的所有http请求都会经过的拦截器;工具类等。
5. 核心业务代码。一个产品里最核心最有业务价值的代码应该要有较高的单元测试覆盖率。

三、何时写单元测试

写单元测试的时机不外乎三种情况:

(1)一是在具体实现代码之前,这是测试驱动开发(TDD)所提倡的;

(2)二是与具体实现代码同步进行。先写少量功能代码,紧接着写单元测试(重复这两个过程,直到完成功能代码开发)。其实这种方案跟第一种已经很接近,基本上功能代码开发完,单元测试也差不多完成了。

(3)三是编写完功能代码再写单元测试。我的实践经验告诉我,事后编写的单元测试“粒度”都比较粗。对同样的功能代码,采取前两种方案的结果可能是用10个“小”的单测来覆盖,每个单测比较简单易懂,可读性可维护性都比较好(重构时单测的改动不大);而第三种方案写的单测,往往是用1个“大”的单测来覆盖,这个单测逻辑就比较复杂,因为它要测的东西很多,可读性可维护性就比较差。

建议:我个人是比较推荐单元测试与具体实现代码同步进行这个方案的。只有对需求有一定的理解后才能知道什么是代码的正确性,才能写出有效的单元测试来验证正确性,而能写出一些功能代码则说明对需求有一定理解了。

四、为什么要写单元测试

这其实是问单元测试能带来什么好处。之所以把这个问题放在最后讨论是因为如果一上来就说单元测试多好多好,终究还是会缺乏说服力。

而有了上面讨论做铺垫,我们更加清楚单元测试的使用场景,以及它做得到和做不到的。

单元测试的作用:

(1)让我们对自己的代码有信心

修改了代码后单测依然通过的,起码说明我们的修改没有破坏程序的正确性。这从主观上能增加我们对代码的信心。虽然单元测试通过了并不意味着程序就没有bug了,但我们也要了解到这可能不是单元测试的问题。单元测试顾名思义是测试一个”单元”,这个”单元”一般是类或方法,而不是整个系统。对整个系统的测试那是集成测试,功能测试的职责。单元测试追求的是快速反馈,频繁执行。集成测试虽然测“全局”,但成本较高,所以执行频率较少。两者使用场景不同,目的不同。

2)为代码重构保驾护航

看到代码很差劲,想重构,但又担心重构之后出问题,怎么办呢?如果有单元测试情况就不一样了,重构完代码,跑一遍单元测试,如果单元测试都通过,基本上可以保证我们的重构没有破坏原来代码逻辑的正确性。不过前提是之前的写的单元测试质量很好,覆盖率很高。当然这仅限于小范围的重构,比如重构一个类或者函数的实现,但对于大刀阔斧的重构(比如单体重构成微服务,面向库表模式重构成DDD),就不适用,那个时候要重写单元测试了。

(3)通过单元测试快速熟悉代码

单元测试不仅起到了测试的作用,还是一种很好的“文档”,通过单元测试,我们不需要深入的阅读代码,便能知道这段代码做什么工作,有哪些特殊情况需要考虑,包含哪些业务。

五、小结

  • 何时写
    单元测试与具体实现代码同时进行。

  • 写多细
    哪些代码需要有单元测试覆盖:
    1、逻辑复杂的
    2、容易出错的
    3、不易理解的,即使是自己过段时间也会遗忘的,看不懂自己的代码,单元测试代码有助于理解代码的功能和需求
    4、公共代码。比如自定义的所有http请求都会经过的拦截器;工具类等。
    5、 核心业务代码。一个产品里最核心最有业务价值的代码应该要有较高的单元测试覆盖率。

  • 14
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目 录 摘 要 1 1 方案论证 2 1.1 单片机芯片的选择方案和论证 2 1.2 显示模块选择方案和论证 2 1.3 时钟芯片的选择方案和论证 3 1.4 电路设计最终方案决定 3 2 系统的硬件设计与实现 3 2.1 电路设计框图 3 2.2 系统硬件概述 3 2.3 主要单元电路的设计 4 2.3.1 单片机主控制模块的设计 4 2.3.2 时钟电路模块的设计 4 2.3.3 电路原理及说明 5 2.3.4 显示模块的设计 6 3 系统的软件设计 7 3.1 程序流程框图 7 4 测试与结果分析 9 4.1 软件测试 9 4.2 测试结果分析与结论 9 4.3.1 测试结论 9 5 课程设计总结 9 参考文献 10 附录一:系统电路图 11 附录二:元器件清单 12 附录三:系统程序清单 12 摘 要 随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研 究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路 DS1302,它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功 能,而且DS1302的使用寿命长,误差小。对于数字电子时钟采用直观的数字显示,可以 同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电 路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电 。 综上所述此电子时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等 诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 关键词:电子时钟 DS1302 动态扫描 单片机 1 方案论证 1.1 单片机芯片的选择方案和论证 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS- 51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对 芯片的多次拔插会对芯片造成一定的损坏。 方案二: 采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS- 51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时 ,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插, 所以不会对芯片造成损坏,所以选择采用AT89S52作为主控制系统。 1.2 显示模块选择方案和论证 方案一: 采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,采用动态扫描法与单片 机连接时,虽然占用的单片机口线少,但连线还需要花费一点时间,所以也不用此种作为 显示。 方案二: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字 比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。 方案三: 采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰 可见,并且我做的最小系统上带一个TS1620- 1,和AT89S52已经接好,省了很多麻烦,所以在此设计中采用LCD液晶显示屏。 1.3 时钟芯片的选择方案和论证 方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒 计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大,所以 不采用此方案。 方案二: 采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分 、时、日、周、月、年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V ~5.5V范围内,2.5V时耗电小于300nA。 1.4 电路设计最终方案决定 综上各方案所述,对此次作品的方案选定:采用AT89S52作为主控制系统;DS1302提 供时钟;LCD液晶显示屏作为显示。 2 系统的硬件设计与实现 2.1 电路设计框图 图2-1 系统原理图 2.2 系统硬件概述 本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工 作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以 对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5. 5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号 或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月 、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉
目 录 摘 要 1 1 方案论证 2 1.1 单片机芯片的选择方案和论证 2 1.2 显示模块选择方案和论证 2 1.3 时钟芯片的选择方案和论证 3 1.4 电路设计最终方案决定 3 2 系统的硬件设计与实现 3 2.1 电路设计框图 3 2.2 系统硬件概述 3 2.3 主要单元电路的设计 4 2.3.1 单片机主控制模块的设计 4 2.3.2 时钟电路模块的设计 5 2.3.3 电路原理及说明 5 2.3.4 显示模块的设计 7 3 系统的软件设计 8 3.1 程序流程框图 8 4 测试与结果分析 10 4.1 硬件测试 10 4.2 软件测试 10 4.3 测试结果分析与结论 10 4.3.1 测试结果分析 10 4.3.2 测试结论 11 5 课设总结 12 致 谢 13 参考文献 14 附录一:系统电路图 15 附录二:系统程序清单 16 摘 要 随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究 ,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS 1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能 ,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以 同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电 路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电 。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸 多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 关键词:时钟电钟,DS1302,动态扫描,单片机 1 方案论证 1.1 单片机芯片的选择方案和论证 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS- 51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对 芯片的多次拔插会对芯片造成一定的损坏。 方案二: 采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS- 51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时 ,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插, 所以不会对芯片造成损坏,所以选择采用AT89S52作为主控制系统。 1.2 显示模块选择方案和论证 方案一: 采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,采用动态扫描法与单片 机连接时,虽然占用的单片机口线少,但连线还需要花费一点时间,所以也不用此种作为 显示。 方案二: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字 比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。 方案三: 采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰 可见,并且我做的最小系统上带一个TS1620- 1,和AT89S52已经接好,省了很多麻烦,所以在此设计中采用LCD液晶显示屏。 1.3 时钟芯片的选择方案和论证 方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒 计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大,所以 不采用此方案。 方案二: 采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分 、时、日、周、月、年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V ~5.5V范围内,2.5V时耗电小于300nA。 1.4 电路设计最终方案决定 综上各方案所述,对此次作品的方案选定: 采用AT89S52作为主控制系统; DS1302提供时钟;LCD液晶显示屏作为显示。 2 系统的硬件设计与实现 2.1 电路设计框图 图1系统原理图 2.2 系统硬件概述 本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工 作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以 对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5. 5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号 或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月 、日、周日、时、分、秒,具
概要 电力电子行业正在经历一场变革:DC 高压配电重新崛起,取代先进机器设备的 AC 输电系统 [1]。一种模块化 DC-DC 转换器现已采用多种不同的封装及电源形式提供,其可形成从低电压系统到高电压系统(工作电压在 400 ~ 100V 之间)的桥接。实验和可行性研究[1、4]为母线转换器模块 (BCM) 引擎与变压模块 (VTM) 引擎的新产品指明了方向。这两款引擎均显示了成熟的正弦振幅转换器 (SAC) 技术。目前的工作重心是为应用双向功率转换认证零部件。这里将介绍 3 种工作拓扑变型。此外,本文还将简要介绍早期实验目的及结果,以及用于克服在 SAC 部件最新部署过程中所涉及的最新挑战的相关技术。在本文的最后部分还将概括使用这一技术的应用实例。 1. 应用领域说明 1.1 动机 BCM 在过去十年间已经逐步显著改善了效率[1]。与采用新封装部署BCM 同步的趋势是, 朝着使用SAC引擎(也称之为VTM)的最新方式方向发展。SAC 是一种谐振、比例输出、 恒定功率、 隔离式以及近乎理想的 DC-DC 变压器拓扑。它能够将功率吸入其二次端口, 从而可按照高达32的K参数一步提升所应用的二次电压。此外,它还能够以极低的功率损耗直接把二次端口接收到的绝大多数电能传输给一次端口。变压比 K的倒数是一系列整数, 这些整数也正在随着新产品的提供不断扩展。未来产品所也将根据各种行业的发展趋势支持不同级别的高压到低压的连接。 1.2 对最新 SAC 工作模式进行分类 本文将介绍与使用 SAC 引擎有关的三种最新拓扑类型( 不包括常规工作方式: 正向模 式) : 反向、 镜像和双向模式。需要指出的是, 要提高功率吞吐量,所有基于 SAC 的解决方案都可能会涉及许多并联部件。因此如果在下文中提到模块,可能也是指一系列完全相同的并联器件。图 1 是所有的拓扑及其控制方程式。 图 1:SAC 应用拓扑选项。 以 f(正向)、 r(反向)或 b(双向)电源转换器方式工作的 SAC 在其一次电源端口与二次电源端口之间有隔离层。灰色条代表输入与输出电源端口间的 SAC 内建电流隔离层。 在反向模式下,电源应用于 SAC 的二次电源端口。在启动后,SAC 会根据与特定模块相关的 K 因数提升电压。然后将该电压提供给与其一次电源端口相连的负载。 两个 SAC 引擎可以按镜像模式使用。电源在第一个 SAC 单元中先做反向模式升压处理,另一个与该单元通过一次端口接口连接的单元按正向模式工作,从而可将高电压轨的电压 降到客户最终设备所需的电压水平。 双向模式只部署一个SAC,目的是在激励后,该模块既能正向供电,也能反向供电,具体取决于给定时刻主动驱动 SAC 的方式。 2.0 实验及结果 2.1 建立反向模式工作 已经从针对稳态及瞬态条件评估做出的两个测试设置中收集到初步结果。 图 2 是针对在工 作台上进行长期测试而精心设计的稳态实验设备。 图 2:BCM 启动后在工作台上处于稳定工作状态的反向BCM 在启动之前, BCM 的二次电源端口为反偏置,即稳态电压应用于 BCM 的二次侧, 在没有任何不良后果的情况下,这是BCM可以承受的。BCM 随后使用单向小电流高电压电源(该电源足以偏置 BCM 内部的一次侧参考的控制器)在一次侧通电。实验中使用的电源有大型电容器组,在 SAC 的一次侧上运行负载之前,该电容器组可承受一些反向电流。使用该部件隔离层一次侧上的控制器,在启动 BCM 的时候需要延迟一次侧的负载加载,防止大量一次电流涌入该负载。负载电流将在 BCM 启动完成后加载。 在实际应用中,连接到BCM 的二次反偏置电源很可能是唯一可用的电源,可能需要使用 辅助功率级来提升BCM二次侧的电压,才能在不影响 BCM 隔离层的情况下以高得多的 电势为其一次端口提供电荷。 图 3 和图 4 分别显示了一次浪涌测试设置及结果。 图 3:反向 BCM 瞬态测试设置 图 4:瞬态测试结果。绿色迹线:100 倍衰减的升压输出; 红色迹线: LV 母线电压;橄榄绿迹线:受控二次侧浪涌电流。 2.2 应用空间点评 根据第一实验阶段得出的结果, BCM 组件在汽车能量收集及自适应悬架系统概念验证中得到了成功部署, 双向 BCM 实施主要基于从第一阶段实验中获得的经验。 自从第一次演示以来,客户已经分享了在系留式水下交通工具和空运设备中进行电力传输的实际需求中的应用。 这些应用可使用从电源到负载的镜像拓扑模式通过由细径电线制作的高压链路为长系索另一端的自主水下交通工具或无人机输电。典型功率级范围是1至2kW。图5 Vicor白板中显示的是一种空中应用示例。Vicor 白板是一款基于 Web 的工具,可通过 Vicor网站提供极大的客户优势。这里描述的推荐替选方案可进一步丰富实验证明
关于Vicor: 美国Vicor公司是现时世界最大的高密度电源模块生产商, 同时也是全球唯一能以零电压、零电流技术大批量生产电源模块的厂家。 概要: 电力电子行业正在经历一场变革:DC 高压配电重新崛起,取代先进机器设备的 AC 输电系统 [1]。一种模块化 DC-DC 转换器现已采用多种不同的封装及电源形式提供,其可形成从低电压系统到高电压系统(工作电压在 400 ~ 100V 之间)的桥接。实验和可行性研究[1、4]为母线转换器模块 (BCM) 引擎与变压模块 (VTM) 引擎的新产品指明了方向。这两款引擎均显示了成熟的正弦振幅转换器 (SAC) 技术。目前的工作重心是为应用双向功率转换认证零部件。这里将介绍 3 种工作拓扑变型。此外,本文还将简要介绍早期实验目的及结果,以及用于克服在 SAC 部件最新部署过程中所涉及的最新挑战的相关技术。在本文的最后部分还将概括使用这一技术的应用实例。 1. 应用领域说明 1.1 动机 BCM 在过去十年间已经逐步显著改善了效率[1]。与采用新封装部署BCM 同步的趋势是, 朝着使用SAC引擎(也称之为VTM)的最新方式方向发展。SAC 是一种谐振、比例输出、 恒定功率、 隔离式以及近乎理想的 DC-DC 变压器拓扑。它能够将功率吸入其二次端口, 从而可按照高达32的K参数一步提升所应用的二次电压。此外,它还能够以极低的功率损耗直接把二次端口接收到的绝大多数电能传输给一次端口。变压比 K的倒数是一系列整数, 这些整数也正在随着新产品的提供不断扩展。未来产品所也将根据各种行业的发展趋势支持不同级别的高压到低压的连接。 1.2 对最新 SAC 工作模式进行分类 本文将介绍与使用 SAC 引擎有关的三种最新拓扑类型( 不包括常规工作方式: 正向模式) : 反向、 镜像和双向模式。需要指出的是, 要提高功率吞吐量,所有基于 SAC 的解决方案都可能会涉及许多并联部件。因此如果在下文中提到模块,可能也是指一系列完全相同的并联器件。图 1 是所有的拓扑及其控制方程式。 图 1:SAC 应用拓扑选项。 以 f(正向)、 r(反向)或 b(双向)电源转换器方式工作的 SAC 在其一次电源端口与二次电源端口之间有隔离层。灰色条代表输入与输出电源端口间的 SAC 内建电流隔离层。 在反向模式下,电源应用于 SAC 的二次电源端口。在启动后,SAC 会根据与特定模块相关的 K 因数提升电压。然后将该电压提供给与其一次电源端口相连的负载。 两个 SAC 引擎可以按镜像模式使用。电源在第一个 SAC 单元中先做反向模式升压处理,另一个与该单元通过一次端口接口连接的单元按正向模式工作,从而可将高电压轨的电压 降到客户最终设备所需的电压水平。 双向模式只部署一个SAC,目的是在激励后,该模块既能正向供电,也能反向供电,具体取决于给定时刻主动驱动 SAC 的方式。 2.0 实验及结果 2.1 建立反向模式工作 已经从针对稳态及瞬态条件评估做出的两个测试设置中收集到初步结果。 图 2 是针对在工 作台上进行长期测试而精心设计的稳态实验设备。 图 2:BCM 启动后在工作台上处于稳定工作状态的反向BCM 在启动之前, BCM 的二次电源端口为反偏置,即稳态电压应用于 BCM 的二次侧, 在没有任何不良后果的情况下,这是BCM可以承受的。BCM 随后使用单向小电流高电压电源(该电源足以偏置 BCM 内部的一次侧参考的控制器)在一次侧通电。实验中使用的电源有大型电容器组,在 SAC 的一次侧上运行负载之前,该电容器组可承受一些反向电流。使用该部件隔离层一次侧上的控制器,在启动 BCM 的时候需要延迟一次侧的负载加载,防止大量一次电流涌入该负载。负载电流将在 BCM 启动完成后加载。 在实际应用中,连接到BCM 的二次反偏置电源很可能是唯一可用的电源,可能需要使用辅助功率级来提升BCM二次侧的电压,才能在不影响 BCM 隔离层的情况下以高得多的电势为其一次端口提供电荷。 图 3 和图 4 分别显示了一次浪涌测试设置及结果。 图 3:反向 BCM 瞬态测试设置 图 4:瞬态测试结果。绿色迹线:100 倍衰减的升压输出; 红色迹线: LV 母线电压;橄榄绿迹线:受控二次侧浪涌电流。 2.2 应用空间点评 根据第一实验阶段得出的结果, BCM 组件在汽车能量收集及自适应悬架系统概念验证中得到了成功部署, 双向 BCM 实施主要基于从第一阶段实验中获得的经验。 自从第一次演示以来,客户已经分享了在系留式水下交通工具和空运设备中进行电力传输的实际需求中的应用。 这些应用可使用从电源到负载的镜像拓扑模式通过由细径电线制作的高压链路为长系索另一端的自主水下交通工具或无人机输电。典型功率级范围是1至2kW。图5 Vicor白板中显示的是一种空中

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值