PFM对比PWM,区别和优势在哪里?

开关电源的控制技术主要有三种:

1.脉冲宽度调制(PWM);
2.脉冲频率调制(PFM);
3.脉冲宽度频率调制(PWM-PFM).

PWM:(pulse width modulation)脉冲宽度调制

脉宽调制 PWM 是开关型稳压电源中的术语。这是按稳压的控制方式分类的,除了 PWM 型,还有 PFM 型和 PWM、PFM 混合型。脉宽宽度调制式(PWM)开关型稳压电路是在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的。

PFM:(Pulse frequency modulation) 脉冲频率调制

一种脉冲调制技术,调制信号的频率随输入信号幅值而变化,其占空比不变。由于调制信号通常为频率变化的方波信号,因此,PFM 也叫做方波 FM

PWM 是频率的宽和窄的变化,PFM 是频率的有和无的变化, PWM 是利用波脉冲宽度控制输出,PFM 是利用脉冲的有无控制输出 .

其中 PWM 是目前应用在开关电源中最为广泛的一种控制方式,它的特点是噪音低、满负载时效率高且能工作在连续导电模式,现在市场上有多款性能好、价格低的 PWM 集成芯片,如 UCl842/2842/3842、TDAl6846、TL494、SGl525/2525/3525 等;

PFM 具有静态功耗小的优点,但它没有限流的功能也不能工作于连续导电方式,具有 PFM 功能的集成芯片有 MAX641、TL497 等;

PWM-PFM 兼有 PWM 和 PFM 的优点。

DC/DC 变换器

DC/DC 变换器是通过与内部频率同步开关进行升压或降压,通过变化开关次数进行控制,从而得到与设定电压相同的输出电压。PFM 控制时,当输出电压达到在设定电压以上时即会停止开关,在下降到设定电压前,DC/DC 变换器不会进行任何操作。但如果输出电压下降到设定电压以下,DC/DC 变换器会再次开始开关,使输出电压达到设定电压。PWM 控制也是与频率同步进行开关,但是它会在达到升压设定值时,尽量减少流入线圈的电流,调整升压使其与设定电压保持一致。

与 PWM 相比,PFM 的输出电流小,但是因 PFM 控制的 DC/DC 变换器在达到设定电压以上时就会停止动作,所以消耗的电流就会变得很小。因此,消耗电流的减少可改进低负荷时的效率。PWM 在低负荷时虽然效率较逊色,但是因其纹波电压小,且开关频率固定,所以噪声滤波器设计比较容易,消除噪声也较简单。

若需同时具备 PFM 与 PWM 的优点的话,可选择 PWM/PFM 切换控制式 DC/DC 变换器。此功能是在重负荷时由 PWM 控制,低负荷时自动切换到 PFM 控制,即在一款产品中同时具备 PWM 的优点与 PFM 的优点。在备有待机模式的系统中,采用 PFM/PWM 切换控制的产品能得到较高效率。

就 DC-DC 变换器而言目前业界 PFM 只有 Single Phase,且以 Ripple Mode 的模式来实现,故需求输出端的 Ripple 较大。没有负向电感电流,故可提高轻载效率。由于是看输出 Ripple,所以 Transient 很好,在做 Dynamic 的时候没有 under-shoot。PWM 有 Single Phase &Multi-phase,多以 Voltage Mode or Current Mode 来实现,对输出 Ripple 没有要求,轻载时存在电感负向电流,故轻载效率较差,Compensation 较 Ripple 相比较慢。将 PWM 于 PFM 结合使用,当侦测到电感负电流的时候,变出现 Pulse Skipping,而不再受内部 Clock 控制。此时,controller will turnoff both h-mos & l-mos,Coss & L 会出现阻尼振荡。

每位工程师接触的领域不一样,可能有的领域是用 PFM 比较多,有的是用 PWM 比较多,但从整个电源行业来说,相信目前还是 PWM 用的多 . 上世纪 80 年代至今,PWM 开始了在电源变换领域的“王朝统治”地位,因为每种方式都有缺点和优点 . 关键还是看是否适合客户需要吧在论坛看到一位网友是这样写的,我觉得写的比较形象,他说如果把 PFM 与 PWM 的电源用车来比较的话,用 PFM 的=奔驰,用 PWM 的=大众。

PFM 相比较 PWM 主要优点在于效率
  1. 对于外围电路一样的 PFM 和 PWM 而言,其峰值效率 PFM 与 PWM 相当,但在峰值效率以前,PFM 的效率远远高于 PWM 的效率,这是 PFM 的主要优势 .
  2. PWM 由于误差放大器的影响,回路增益及响应速度受到限制,PFM 具有较快的响应速度
PFM 相比较 PWM 主要缺点在于滤波困难
  1. 滤波困难(谐波频谱太宽)。
  2. 峰值效率以前,PFM 的频率低于 PWM 的频率,会造成输出纹波比 PWM 偏大。
  3. PFM 控制相比 PWM 控制 IC 价格要贵。

PFM 之所以应用没有 PWM 多最主要的一个原因就是另外一个原因就是 PWM 的巨大优点了:控制方法实现起来容易,PFM 控制方法实现起来不太容易

有趣的话二

  1. 很多时候网上的正义不值一提,因为你以为的正义有可能不是正义

  2. 既然己经跌到谷底了,怎么走都是向上。

  3. 他那么普通,却那么自信

  4. 如果你仅仅只是专程夸我那么就大可不必了,我也觉得我自己很不错。

  5. 甜言与我三冬暖,恶语伤人六月寒

  6. 有趣的灵魂精神出轨,好看的皮囊现实劈腿。

  7. 反正我不尴尬,尴尬的就是别人。

  8. 我15岁以前的新事物都是史前文明,我15-30岁之间的新事物都是改变人类历史的最重要发明,我30岁以后的新事物都是异端邪说。

  9. 人们需要的也不是真相,人们南要的是自己相看的真相。

  10. 喂,120吗?这里有人社死了,快来一辆救护车啊。

    喂,114吗?请问社死了肿么办?啥,直接送火葬场,电话号,好……,我记一下。

    喂,119吗?社死是拿板子还是拿钳子救?可以动用云梯吗?

    喂,110吗?请问社死的人抓不抓,算不算刑事罪?

  11. 所谓营销,就是让顾客以为自己不是来买东西的,而是来占便宜的。

  12. 一个十八九岁没有女朋友的男孩子,往往心里藏的女人抵得上皇帝古十六宫的数目,心里的污秽有时过于公共厕所—–钱钟书

  13. 忍一时海阔天空,退一步越想越气。

有趣的话一

  1. 只有孤独的灵魂,才会越晚越清醒;
  2. 我们都曾不堪一击,我们终将刀枪不入;
  3. 爱已时过境迁,恨已沧海桑田;
  4. 小舟从此逝,江海寄余生;
  5. 酒杯太浅敬不了来日方长,巷子太短到不了白发苍苍;
  6. 想念有个别名叫做自捅千刀;
  7. 有一种悲伤,是你的名字刻在我的过往;
  8. 原来念念不忘的那些年,只是因为得不到;
  9. 离开你并不可怕,可怕的是我要收起对你的依赖;
  10. 愿你的故事细水长流,也祝我的孤独择日而止;
  11. 长不过执念,短不过善变;
  12. 我遇见过很多人,唯独没有再遇见你;
  13. 无论你有多坚强,总有人是你的致命伤;
  14. 任何关系,你想要陌生,我都不会多看你一眼;
  15. 白天笑给别人看,晚上哭给自己听;
  16. 我喜欢你,从天南到地北,从地老到天荒;
  17. 没有什么是不可替代的,包括你;
  18. 故事的开始我们无话不说,故事的结尾我们不发一言;
  19. 你不懂我的沉默,又怎知我的难过;
  20. 每当与锣鼓花轿错身而过,那往日的誓言就绞痛心扉。

Hexo布署到gitee

hexo己经部署到了github成功了,可是太慢啦!怎么办?

国内有https://gitee.com/,号称码云。双称中国的github,速度快。先去注册账户吧

  1. 如同github一样,建立仓库。注意,仓库名必须与你的gitee用户名相同,不然全出错。

修改myblog目录下的_config.yml文件

1
2
3
4
5
6
7
url: https://gitee.com/你的用户名/你的仓库名/
root: /
----------
deploy:
type: git
repo: https://gitee.com/你的用户名/你的仓库名/.git
branch: master
  1. 在gitee上一样,setting—>SSH and GPG keys—->New SSH key中,然后把刚才id_rsa.pub文件中的内容copy放在此框中

  2. 动行hexo并用git上传

1
2
3
$ npm install hexo-deployer-git --save
$ sudo hexo g
$ sudo hexo d

然面出错啦!##

  1. 原来是以前建立github时的设置要重新设。
1
2
$ git config --global user.name 注册gitee的用户名
$ git config --global user.email 注册gitee的邮箱名

再次执行

1
$ hexo deploy

上传成功了,然而…..
####### 我的页面呢?为啥子显示不了呢?

  1. 进入到你的gitee页,然后选择(服务-gitee pages)。顺利话的你的个人站点就已经完成了

安装Butterfly出错

安装butterfly
1
2
3
git clone https://github.com/jerryc127/hexo-theme-butterfly.git  themes/Butterfly  #不错。就是顶部图片必须换,吓死个人
npm install cheerio@0.22.0 --save

然后,修改用Butterfly主题,hexo s 也正确。

然后浏览器时,出错了。

浏览器报错信息如下:

1
extends includes/layout.pug block content include includes/recent-posts.pug include includes/partial
出错的解决的办法
1
2
3
npm install --save hexo-renderer-jade hexo-generator-feed hexo-generator-sitemap hexo-browsersync hexo-generator-archive
hexo clean
hexo s
修改可怕的主页图片
  1. 把自己的图片copy进入myblog/themes/Butterfly/source/img/目录,比如名字为index.jpg
  2. 修改myblog/themes/Butterfly/_config.yml,把
    1
    index_img:     https://cdn.jsdelivr.net/gh/jerryc127/butterfly_cdn@2.1.0/top_img/index.jpg
    修改为
    1
    index_img: /img/index.jpg

Hexo 布署到 github

Hexo部署到github

注册github

进入github网站,并注册账号。然后登录后,创建仓库,仓库名要为域名方式,比如 frank.github.io 公开,并初始化readme。然后浏览器访问你刚才创建的域名frank.github.io,如果可以则表示成功。

PC机的github设置
1.安装必要的软件
1
2
$ sudo apt install git  #安装git
$ sudo apt install openssh-server openssh-client #安装ssh工具,可自行百度
2.设置github
1
2
3
$ git config --global user.name "frankli"
$ git config --global user.email "frankli@21cn.com"
$ ssh-keygen -t rsa -C "frankli@21cn.com" # 生成ssh key

会在主目录下的 .ssh目录中生成两个文件,打开id_rsa.pub文件,copy其中的内容。

3.去github.com你的账户下

setting—>SSH and GPG keys—->New SSH key中,然后把刚才id_rsa.pub文件中的内容copy放在此框中

4.验证,注意,由于网络原因,最好过一分钟再验证。
$ ssh -T git@github.com
Hexo的设置
  1. npm install hexo-deployer-git --save
  2. 编辑 blog 目录下的* _config.yml * 文件中,找到 Deployment ,然后按照如下修改
    1
    2
    3
    4
    5
    6
    # Deployment
    ## Docs: https://hexo.io/docs/deployment.html
    deploy:
    type: git
    repo: git@github.com:frankli/franli.github.io.git
    branch: master
    注意在_config.yml中不要乱用Tab,表示下一级的话,要用空格键,不然会出错的。
通过hexo命令部署
$ sudo hexo clean  
$ sudo hexo g  
$ sudo hexo d  

应该就会部署成功了。然而,我竟然失败了!失败了!失败了!,出现如下错误

Error: git@github.com: Permission denied (publickey).
fatal: 无法读取远程仓库。
请确认您有正确的访问权限并且仓库存在。

感谢在CSDN的“总想玩世不恭”的贴子上看到了原因,原来刚才生成的.ssh在用户目录下,可是执行hexo时,用的是sudo,而sudo是要到/root目录下查到.ssh中的文件的。解决办法如下:

1
2
$ sudo   cp   -r   .ssh   /root/  

然后再执行:

1
2
$ sudo hexo d 


成功了!,由于网络原因,可能你需要个几分钟到浏览器查看https://frank.github.io
应该会浏览到你的贴子了。

作者: 老李
鏈接: https://bosway.natapp300.top/

Hexo添加菜单与分类

为 hexo添加菜单,并在其显示分类文章

在这个菜单增加多个文章

一 菜单项下的文章按分类(categories)来归档,比如增加termux菜单
  1. 编辑 themes/当前主题/_config.yml文件,在menu下添加
    1
    2
    menu:
    termux: categories/termux
  2. 修改themes/当前主题/languges/目录下zh-CN.yml,增加对应的中文名

二 菜单项下的文章按标签(tags)来归档

  1. 编辑 themes/当前主题/_config.yml文件,在menu下添加
    1
    2
    menu:
    termux: tags/termux
  2. 修改themes/当前主题/languges/目录下zh-CN.yml,增加对应的中文名

三 在菜单下增加 categories 或 tags菜单

1.

1
2
3
4
$ hexo new page categories
# 会在 myblog/source目录下生成categories目录,并在里生成index.html文件
$ hexo new page tags
# 会在 myblog/source目录下生成tags目录,并在里生成index.html文件
  1. 编辑 myblog/source/categories/index.html文档

title: 文章分类
date: 1999-01-01 09:01:01
type: “categories”
layout: “categories”

  1. 编辑 myblog/source/tags/index.html文档

title: 文章分类
date: 1999-01-01 09:01:01
type: “tags”
layout: “tags”

在这个菜单下只有一个文章

  1. $ hexo new page termux,会在 myblog/source目录下生成termux目录,并在里面生产一个index.md文件
  2. 编辑 themes/当前主题/_config.yml文件,在menu下添加
    1
    2
    menu:
    termux: termux
  3. 修改themes/当前主题/languges/目录下zh-CN.yml,增加对应的
  4. 修改 myblog/source/termux/index.md文件,这个文件就是此菜单要显示的内容。往往ablout就是这么来的。

github上,对电脑虚拟机的辅助项目

一 Bottles:一款可轻松实现 Linux 上运行 Windows 软件的工具。

该项目由python写成,提供了清爽易用的 GUI 界面,用户就算不懂任何编程技巧,也可通过wine,轻而易举地在 Linux 系统上,运行 Windows 的游戏和软件。
地址:github.com/bottlesdevs/Bottles

二 使用 WinApps 在 Linux 桌面上无缝运行 Windows 应用程序

WinApps for Linux 使运行 Windows 应用程序变得容易 https://github.com/Fmstrat/winapps,安装说明在https://nowsci.com/winapps/
这个东东严格来说不算是虚拟机,只是先安装qume/kvm虚拟机,然后在其中安装win10, 或win11后开通远程桌而,这个winapps的作用就是利用linux运程桌面可以运行
qemu/kvm虚拟机中的windows程序,比如excel, ppt,或文件管理器,看起来就象是linux的原生应用一样。

New blink 是一款虚拟机可用来跑静态编译的 x86-64 Linux,它适用于不同的操作系统和硬件架构。它和 qemu-x86_64 实现类似功能,除了 blink 不是一个 4 mb 的二进制而是一个约 158 kb 的小东西之外,在某些基准测试中,比如:gcc 模拟,blink 比 Qemu 更快。由于体积小,作为折中的方案,blink 在系统集成方面不如 Qemu 丰富。
GitHub 地址→github.com/jart/blink

四 winlator 模拟器

winlator模拟器一款可将手机变身成为一部真实的pc,可畅玩各种电脑端游戏,兼容性强大,并且对于手机的性能没有过高的要求

https://github.com/dockur/windows

简介:Docker 容器中的 Windows

六 轻量级虚拟机新宠——Multipass

Multipass的底层技术基于Hypervisor,支持KVM、Hyper-V和VirtualBox等虚拟化技术。这意味着无论你的操作系统是Ubuntu、macOS还是Windows,Multipass都能提供稳定而高效的服务。虽然Multipass在功能上可能不及VMware那样全面,但它在轻量化和易用性上展现出独特优势。VMware拥有强大的虚拟化功能,非常适合企业级环境和生产环境的复杂需求。但如果你的需求倾向于轻量级的开发和测试,Multipass则是一个理想的选择。

七 Docker-OSX — 在Docker中运行macOS

https://github.com/sickcodes/Docker-OSX
Docker-OSX是一个开源项目,而且支持多个版本的MacOS,比如说Catalina、Big Sur等。使用Docker部署Docker-OSX毕竟是运行一个系统,所以硬件上不能太差
Docker-OSX 借助 OSX-KVM 和 OpenCorePkg 在 Docker 容器内创建高度实用的 macOS 环境。该项目支持多个 macOS 版本,包括 Catalina、Big Sur、Monterey 和 Ventura。

还有一个类似的项目,dockur/maco

https://github.com/dockur/macos,也是在docker中运行macos,不过这个macos的版本少一些

八 WebVM https://github.com/leaningtech/webvm

浏览器中的linux虚拟机,2025年5月实际部署,以网页出现404失败。

九 xoureldeen/Vectras-VM-Android

Vectras VM是一款基于QEMU的Android虚拟机应用,支持模拟Windows、macOS、Linux和Android等操作系统。https://github.com/xoureldeen/Vectras-VM-Android