英文字符大小的空白
 或 中文字符大小的空白
 或 不断行的空白格
或 
由公司员工想到家里的鸡娃
难以挖走的员工
我以前上班的公司“深圳博士微电子”的产品经理与销售经理团队们都很厉害,但是公司的薪水比同行来说,没有优势。曾经有许多同行来挖人,许诺的工资待遇,或职位都要高于博士微电子,但是几乎没有成功的。于时有人说很佩服博士微的马老板,以较少的钱招到了优秀的人才。
后来我与朋友聊起这件事情。我说到,在博士微电子,公司有很多决策,比如候入进的产品线,新的产品线如何进行策划,推广等。都会与产品经理,销售经理反复讨论模拟,甚至普通业务员也参与进来。这样的话,每个项目,员工就好象参与了公司的经营一样。归属感很强。
想到家里的娃
这里,我又想到许多家长,觉得自家的娃不听话,不爱家,家里搞的乱七八糟的。其实成天只让家里的娃只管学习,家务事全部不用干,不参与家里的建设,他如何爱这个家呢?归属感不强烈啊。
由大年初一的“陋习”想到的
小时候过年前大扫除,大年三十吃完饭,垃圾都要收拾的干干净净的。然后大年初一这天大人就告诉不要垃圾了。“大年初一是新年第一天,中国人凡事都喜欢好彩头。如果一定要扫地,可以从外头扫到里边,象征财宝进门,而且大年初一这天一般不倒垃圾。这是认为把家中的东西拿出去,就是把家中的福带出去。”
长大后到了外地工作,年青人聚在一起,觉得这个是陋习,迷信,过年回不了家,在集本宿舍过年的,才不会这样做。
现在想来,一个人能三十这天把家里要预备清理的都处理好,大年初一又能能安排好卫生工作,把垃圾集成起来第二天扔,这种能提前规划,自律的人能会不成功吗?
IIC 协议原理和模拟IIC的实现步骤
IIC协议的由来
IIC协议最早是在1982年由飞利浦公司设计开发的,它是一种两线制(SDL + SCL)的串行通行方式,它也是主从机之间通信的方式,在今天也是被广泛的应用在很多的产品设备上。
使用IIC协议进行数据通信的设备,它既可以作为主机又可以作为从机(支持多主多从),并且它是一种半双工的通信方式。
另外,IIC协议还是带有总线仲裁功能的一种通信协议!
IIC 协议的一些参数
IIC 作为一种通信的协议,它是包含了几个相关的特征参数的,如下所示:
| 述语 | 说明 |
|---|---|
| 发送器 | 发送数据到总经的设备 |
| 接收器 | 从总线接收数据的设备 |
| 主机 | 初始化数据传输,产生时钟信号与结速数据传输的设备 |
| 从机 | 由主机寻址的设备 |
| 多主 | 不破坏数据与信息的情况下,多主机同时控制总线 |
| 同步 | 同步两个以上设备的时钟信号 |
| 仲裁 | 如果两个以上的主机同时想要控制总线,只能有一个主机被 允许。并且这个主机的信息不能被破坏 |
# IIC 协议的通信速率
IIC可以支持的通信速率范围较大,可以很好的满足多种设备对于不同的通信速度的要求,常见的IIC支持的速率有以下几个:
1)普通模式(100kHz即100kbps)
2)快速模式(Fm)(400kHz)
3)快速模式+(Fs+)(1MHz)
4)高速模式(Hs)(3.4MHz)
5)超高速模式(UFm)(5MHz)
当然,以上标明的速率一般指的是硬件IIC的速率,对于通过软件模拟实现的IIC,它的速率是受到所使用的CPU的处理速度和性能影响的,不可以一概而论!
Termux设置——服务自启动
当我们使用termux搭建一个网站或者云盘的时候,需要依赖mysql、nginx、php等其他服务时,每次启动软件后还要敲命令一个一个启动,效率极其低下!是否有办法能够让我们需要的服务随软件的启动而自动运行呢? termux多站给了两个办法,一个是Termux:Boot,一个是termux-servives,这里讲一下termux-services
安装termux提供的工具:termux-services
1 | $ pkg install termux-services -y |
使用的命令格式, 以 sshd为例
- sv-enable sshd # sshd服务设为自启动
- sv-disable sshd # 取消sshd自启动
- sv down sshd # 停止sshd服务,并使本次Termux运行期间sshd自启动服务失效
- sv up sshd # 启动sshd服务
- sv status sshd # 查看sshd服务运行状态
- sv start sshd # 临时启动sshd,但不设置为自启动状态,相当于ssh命令
- pkill ssh # 杀死sshd服务,但如果自启动为生效状态,sshd服务会立即重启
自己编写一个启动脚本,并用termux-services自启动
比如我的博客在 ~/myblog/myhexo下,每次进termux,要执行
1
2
3$ cd myblog
$ cd myhexo
$ hexo s如果把以上写一个脚本,命名为myhexo.sh
1
2
3
cd myblog/myhexo
hexo s然后 chmod +x myhexo.sh
再 sv-enable myhexo.sh是不能执行的。正的方法是
- $cd /data/data/com.termux/files/usr/var/service 目录
- mkdir myblog
- cd myblog
- vim run 建立脚本,内容如下: 注意脚本名字为run
1
2
3
cd ~/myblog/myhexo
hexo s - 保存并执行 chmod +x run
- sv-enable myblog # 注意是myblog
常见开关电源11种拓扑简述(转自微信朋友圈)
本文主要讲述常见的开关电源拓扑结构简述与特点。
常见的拓扑结构,包括Buck降压、Boost升压、Buck-Boost降压-升压、Flyback反激、Forward正激、Two-Transistor Forward双晶体管正激等。见下图:

这些拓扑结构都与开关式电路有关。基本的脉冲宽度调制波形定义如下:

一. buck 降压

- 把输入降至一个较低的电压。
- 可能是最简单的电路。
- 电感/电容滤波器滤平开关后的方波。
- 输出总是小于或等于输入。
- 输入电流不连续(斩波)。
- 输出电流平滑。
二. Boost 升压

- 把输入升至一个较高的电压。
- 与降压一样,但重新安排了电感、开关和二极管。
- 输出总是比大于或等于输入(忽略二极管的正向压降)。
- 输入电流平滑。
- 输出电流不连续(斩波)。
三. Buck-Boost 降压-升压

- 电感、开关和二极管的另一种安排方法。
- 结合了降压和升压电路的缺点。
- 输入电流不连续(斩波)。
- 输出电流也不连续(斩波)。
- 输出总是与输入反向(注意电容的极性),但是幅度可以小于或大于输入。
- “反激”变换器实际是降压-升压电路隔离(变压器耦合)形式。
四. Flyback反激

如降压-升压电路一样工作,但是电感有两个绕组,而且同时作为变压器和电感。
输出可以为正或为负,由线圈和二极管的极性决定。
输出电压可以大于或小于输入电压,由变压器的匝数比决定。
这是隔离拓扑结构中最简单的。
增加次级绕组和电路可以得到多个输出。
五. Forward 正激

- 降压电路的变压器耦合形式。
- 不连续的输入电流,平滑的输出电流。
- 因为采用变压器,输出可以大于或小于输入,可以是任何极性。
- 增加次级绕组和电路可以获得多个输出。
- 在每个开关周期中必须对变压器磁芯去磁。常用的做法是增加一个与初级绕组匝数相同的绕组。
- 在开关接通阶段存储在初级电感中的能量,在开关断开阶段通过另外的绕组和二极管释放。
六. Two-Transistor Forward双晶体管正激

- 两个开关同时工作。
- 开关断开时,存储在变压器中的能量使初级的极性反向,使二极管导通。
- 主要优点:每个开关上的电压永远不会超过输入电压;无需对绕组磁道复位
七. Push-Pull 推挽

- 开关(FET)的驱动不同相,进行脉冲宽度调制(PWM)以调节输出电压。
- 良好的变压器磁芯利用率——在两个半周期中都传输功率。
- 全波拓扑结构,所以输出纹波频率是变压器频率的两倍。
- 施加在FET上的电压是输入电压的两倍。
八. Half-Bridge 半桥

- 较高功率变换器极为常用的拓扑结构。
- 开关的驱动不同相,进行脉冲宽度调制以调节输出电压。
- 良好的变压器磁芯利用率——在两个半周期中都传输功率。而且初级绕组的利用率优于推挽电路。
- 全波拓扑结构,所以输出纹波频率是变压器频率的两倍。
- 施加在FET上的电压与输入电压相等。
九. Full-Bridge 全桥

- 较高功率变换器最为常用的拓扑结构。
- 开关以对角对的形式驱动,进行脉冲宽度调制以调节输出电压。
- 良好的变压器磁芯利用率——在两个半周期中都传输功率。
- 全波拓扑结构,所以输出纹波频率是变压器频率的两倍。
- 施加在 FETs上的电压与输入电压相等。
- 在给定的功率下,初级电流是半桥的一半。
十. SEPIC 单端初级电感变换器 (Single-Ended Primary Inductance Converter)

- 输出电压可以大于或小于输入电压。
- 与升压电路一样,输入电流平滑,但是输出电流不连续。
- 能量通过电容从输入传输至输出。
- 需要两个电感。
十一. C’uk(Slobodan C’uk的专利)

- 输出反相。
- 输出电压的幅度可以大于或小于输入。
- 输入电流和输出电流都是平滑的。
- 能量通过电容从输入传输至输出。
- 需要两个电感。
- 电感可以耦合获得零纹波电感电流。
Buck电路的工作细节
1. Buck-降压调整器-连续导电

- 电感电流连续。
- Vout是其输入电压(V1)的均值。
- 输出电压为输入电压乘以开关的负荷比(D)。
- 接通时,电感电流从电池流出。
- 开关断开时电流流过二极管。
- 忽略开关和电感中的损耗,D与负载电流无关。
- 降压调整器和其派生电路的特征是:输入电流不连续(斩波),输出电流连续(平滑)。
2. Buck-降压调整器-临界导电

电感电流仍然是连续的,只是当开关再次接通时“达到”零。这被称为“临界导电”。输出电压仍等于输入电压乘以D。
3. Buck-降压调整器-非连续导电

- 在这种情况下,电感中的电流在每个周期的一段时间中为零。
- 输出电压仍然(始终)是v1的平均值。
- 输出电压不是输入电压乘以开关的负荷比(D)。
- 当负载电流低于临界值时,D随着负载电流而变化(而Vout保持不变)。
Boost升压调整器

- 输出电压始终大于(或等于)输入电压。输入电流连续,输出电流不连续(与降压调整器相反)。
- 输出电压与负荷比(D)之间的关系不如在降压调整器中那么简单。在连续导电的情况下:

在本例中,Vin = 5 , Vout = 15D = 2/3;Vout = 15 , D = 2/3。
变压器工作
1. 变压器工作(包括初级电感的作用)

变压器看作理想变压器,它的初级(磁化)电感与初级并联。
2. 反激变压器

此处初级电感很低,用于确定峰值电流和存储的能量。当初级开关断开时,能量传送到次级。
3. Forward 正激变换变压器

- 初级电感很高,因为无需存储能量。
- 磁化电流(i1)流入 “磁化电感”,使磁芯在初级开关断开后去磁(电压反向)
2023年元旦第一文,字体资料收集
Github上发现在字体……
GitHub 官方发布了两款可变字体,分别名为:Mona Sans 和 Hubot Sans
- Mona Sans 字体地址在 https://github.com/github/mona-sans

- Hubot Sans 字体地址在 https://github.com/github/hubot-sans

现代窄斜体:smiley-sans
New 得意黑是一款在人文观感和几何特征中寻找平衡的中文黑体。整体字身窄而斜,细节融入了取法手绘美术字的特殊造型。字体支持简体中文常用字(覆盖 GB2312 编码字符集)、拉丁字母、日文假名、阿拉伯数字和各类标点符号。
目前 smiley-sans 除了支持常见数字和标点外,还支持汉字(6,767 个)、拉丁字母(覆盖欧洲、美洲、南亚各种语言所需的字符共 415 个)以及日文假名(174 个)
GitHub 地址→github.com/atelier-anchor/smiley-sans
中文字体: 霞鹜文楷 LxgwWenKai
霞鹜文楷,LxgwWenKai 一款开源中文字体,基于 FONTWORKS 出品字体 Klee One 衍生。它有着日本教科书体风格的字体,兼有仿宋和楷体的特点,可读性高。BTW,它也是第 76 期 HG 月刊的收录项。
GitHub 地址→github.com/lxgw/LxgwWenKai

china_school_badge:全国高校校徽字体图标库。
该项目包含国内 200 多所高校校徽制作的字体图标。
地址:github.com/lovefc/china_school_badge
cute 表情包:fluentui-emoji
New Fluent Emoji 微软推出的一组可爱的表情包。
GitHub 地址→github.com/microsoft/fluentui-emoji
什么是电源的浮地架构
浮地驱动
在驱动电路设计中,经常会提到MOS管需要浮地驱动,那么什么是浮地驱动呢?简单的说就是MOS管的S极与控制IC的地不是直接相连的,也就是说不是共地的。
以我们常用的BUCK电路为例,如下图:控制IC的地一般是与输入电源的地共地的,而MOS管的S极与输入电源的地之间还有一个二极管,所以控制IC的驱动信号不能直接接到MOS管的栅极,而需要额外的驱动电路或驱动IC,比如变压器隔离驱动或类似IR2110这样的带自举电路的驱动芯片。

当然还有另外的方式,那就是采用别的方式给控制IC供电,然后将控制IC的地连接到MOS管的S端,这样就不是浮地了,控制IC的输出就可以直接驱动MOS管。
下图是一款隔离驱动的浮地设计
Hugo学习笔记三,命令行
查询所有命令
hugo -h
创建Hugo 静态网站
hugo new site mywebsite
创建文章, 当前必须mywebsite下才可创建文章
创建的文章存放在 mywebsite/content/p/test.md下
使用命令创建的hogo可以监控到, 实时显示到预览上
hugo new p/test.md
启动服务, 必须在mywebsite文件夹下启动
hugo server
草稿也预览, -D 参数, 必须在mywebsite文件夹下启动
hugo -D server
指定预览的主题, 必须在mywebsite文件夹下启动
papermod是在themes文件夹下的主题名称
hugo -D server –theme=papermod
指定预览的端口
hugo -D server –port=1313
指定服务绑定在哪个端口, 比如你想在手机预览, 电脑手机同一局域网时
电脑ip 192.168.1.20, 手机访问192.168.1.20就能看到预览
hugo -D server –bind=”192.168.1.20” –port=80
指定预览的默认地址, http://192.168.1.20:1313
指定文件的目录名进行编译
hugo server –source=serif
错误示例
hugo -D server –baseUrl=”http://192.168.1.20/“ –port=1313
访问不到, 没有绑定ip, 访问http://192.168.1.20:1313失败, 访问localhost:1313则显示
访问任意链接被定位到http://192.168.1.20:1313上
正确做法,绑定当前ip.提醒baseUrl最后结尾必须是’/‘
hugo -D server –baseUrl=”http://192.168.1.20/“ –port=1313 –bind=”192.168.1.20”
指定配置文件
hugo -D server –config=config.yml
指定输出静态博客网站的目录lizicai.com, 再次提醒baseUrl最后一位是/
hugo –theme=papermod –baseUrl=”https://lizicai.com/“ –destination=”lizicai.com” –config=config.yml
Hugo学习笔记一,初步运行一遍
安装hugo
- 官网地址: https://gohugo.io/
- github官网地址:https://github.com/gohugoio/hugo,进入后再进入release页,然后下载 linux的安装文件,安装之。
初步使用
生成hugo 博客目路并自动初始化
1
2
3$ mkdir myblog
$ cd myblog
$ hugo new site myhugo #在当前目录下创建myweb站点目录,生成的目录结构如下:archetypes 目录中定义了Hugo创建markdown文件的模板。
content 存放markdown文件。
data 存放数据文件。
layouts 存放模板文件。
static 存放静态文件。
themes 存放主题。
config.toml 配置文件。下载主题,并使用之
1
2
3
4
5
6$ cd ~/myblog/myhugo
$ git clone https://github.com/dillonzq/LoveIt.git themes/LoveIt # 下载LoveIt主题
$ git clone https://github.com/panr/hugo-theme-terminal.git themes/terminal # 下载terminal主题
$ git clone https://github.com/wowchemy/starter-hugo-research-group themes/research-group
$ hugo server -t LoveIt # 运行hugo,并采用LoveIt主题。这只是初步使用,可通过设置,不用在命令行来指定采用下载的主题范例
以 hugo-serif-theme主题为例1
2
3
4
5
6$ cd myblog/themes/hugo-serif-theme/ #进入主题目录
$ cp -r exampleSite ../../ # 把主题的范例目录copy到myblog目录下
$ cd ~/myblog/ # 回到myblog目录
$ mv exampleSite serif # 给范例目录改名
$ hugo server --source=serif # 指定文件的目录名进行编译
# 如果出错,修改 serif目录下的config.toml文件,把主题目录改成正确的就行修改 ~/myblog/myhugo/config.toml文件,增加
theme = “XXXX”,可指定默认主题
编写第一个文章
- 生成文档
1
$ hugo new posts/first_post.md # 在content下生成posts目录,并生成first_post.md文档
- 内容
1
2
3
4
5
6
7
8
9
10---
title: "Hugo学习笔记一,初步运行一遍"
date: 2022-11-18T11:40:38+08:00
tags: ["Hugo"]
categories: ["stucy"]
toc:
enable: true
description: 学习hugo的笔记1,初接触
draft: true
--- - 一些经验
其实 hugo 在新建文章时,不一定要 hugo new posts/xxxx.md。
可以 hugo new xxxx.md,这样会在 content 目录下新建文件 xxxx.md,网站中可以通过 /xxxx 来访问。
还可以 hugo new
对于每一个
在本地启动网站
1 | $ hugo server -D --bind "0.0.0.0" # 浏览器中用http://0.0.0.0:1313/查看 |
部署到GitHub
- 在github上建立自己的仓库,比如 laoshiren,那么未来你的主页就会是laoshiren.github.io
- 修改 ~/myblog/myhugo/config.toml文件
修改config.toml文件中的baseURL为https://laoshiren.github.io - 执行
1
2
3
4
5
6
7cd public
git init
git remote add origin https://github.com/GitHub账号名/laoshiren.github.io.git
#此URL可在你的repo中找到
git add .
git commit -m "updated %date%,%time%"
git push origin master
