自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (1)
  • 收藏
  • 关注

原创 02电力电子技术简介

这是一个电力电子象征性的框图,我们可以暂时认为方框中的电路是一个黑箱。它要处理能量从输入到输出的变化,在处理这样一个能连变换的过程中,我们需要涉及哪些元件呢?包括晶体管、以磁场作为储能媒介的电感或者变压器、以电场作为储能媒介的电容。我们需要去控制晶体管,使能量呈现一个可编辑的状态,最后通过电容电感的滤波功能达到输入到输出的变化。这个过程可能很抽象,具体来看的话,电无非只有交流或者直流这两种形式,无论从输入侧看还是从输出侧看,我们只有直流或交流两种状态。

2024-10-21 22:31:57 1125

原创 01电力电子技术介绍

讲到电力电子技术就要先说说一位老先生,他就是威廉·纽厄尔(William Newell)。1972年,他在美国杜克大学首次提出了电力电子的概念。电力电子的概念可以表示为一个倒三角的关系。首先,我们看到电力电子学中包含两个核心的名词,一个是电力,一个是电子。因为这门学科跟电能打交道,所以它跟电力相关。这门学科是通过电子器件对电力进行控制的,就是用功率芯片设计电路来对能量进行转换。既然是用功率芯片设计出的转换电路,所以可以认为它其实就是一个装置或者说是一个小型的设备。

2024-10-13 14:36:52 1129

原创 学32位MCU需要有51单片机基础吗?

本文将从技术差异、开发环境、学习难度和市场就业这四方面对比32位MCU与51单片机。先学哪一个,看似是一个选择题,但二者并不冲突,最好全面掌握。正所谓技多不压身,学的技术越多,选择就越多,越灵活。但如果时间有限,精力有限,那就需要评估效率,找到最优解。学32位MCU需要有51单片机基础吗?这个大问题可以分解为三个小问题。在回答这三个问题之前,我们必须先全面了解32位MCU和51单片机的现状,并从各项指标的对比中来寻找答案。

2024-10-11 09:11:03 1242

原创 示波器噪声大怎么解决

我们在使用示波器测微小信号的时候,可能发现示波器的噪声很大,探头什么都不接就可以看到电压抖动。

2024-10-10 08:00:00 408

原创 正在执行脚本时,网络断开了该怎么办?

很多情况下,我们会通过ssh连接服务器。如果我们执行了一个耗时的脚本后网络中断了,ssh也就会中断。等我们发现这一问题并重新建立起ssh连接后,耗时脚本的打印输出基本不会恢复。我们认为断开网络之后脚本可能会继续执行,也有可能突然被进程终止。今天主要来分享的是两个命令:screen和tmux。这两个命令都能很好地帮助我们处理一些异常情况。当然,它们是需要通过包管理器额外安装的。

2024-10-09 08:00:00 420

原创 BUCK降压电路

降压电路中使用较多的就是BUCK降压电路。BUCK降压电路主要有两种,分别是非同步整流BUCK降压电路(BUCK)和同步整流BUCK降压电路(Sychronous BUCK)。非同步整流BUCK降压电路通常是用一个NMOS搭配一个肖特基二极管或快恢复二极管。同步整流降压BUCK电路通常是用两个NMOS。

2024-10-08 08:00:00 883

原创 8位单片机与32位单片机

单片机的8位或32位说的是什么呢?要搞懂这个问题,首先要搞明白8位或32位说的是单片机上的哪一个部件。这是单片机的内部框图。单片机内部由这么多部件构成,并不单单是一个CPU,它内部还集成了很多其它部件。我们平时所说的这个单片机是多少位的,说的是这个单片机的CPU是多少位的,而和其他部件无关。而CPU也是由很多部件构成的,真正决定这个单片机或者处理器是多少位的是ALU。ALU是Arithmetic logic unit的首字母缩写,即逻辑运算单元。CPU是单片机的核心,而ALU是CPU的核心。

2024-10-07 08:00:00 1082

原创 降压芯片TPS54821

价格低廉,只需1.5元。是一个同步整流降压BUCK电路。MOS管内置。输入电压为4.5V至17V,输出电压为0.6V到15V,输出电流最大到8A。是QFN封装,焊接时有些许困难。得益于QFN封装,其引线电感非常的小,约等于0。焊接时可以先在它的引脚上铺一层锡膏,再用低温焊锡配合电烙铁拖焊其引脚。最好是用热风枪来吹,或是用加热台。内部集成两个NMOS,上管为26mΩ,下管为19mΩ。开关频率为200kHz到1.6MHz。误差放大器的参考电压为0.6V。结温为-40℃~125℃。

2024-10-06 08:37:56 737

原创 同轴电缆笔记

还有一种300Ω的平衡电缆,因为电视天线无论是折叠偶极子天线还是八木天线,阻抗都是300Ω的,不过这种电缆现在很少见了,可能业余无线电爱好者还在使用吧。传输电话信号的双绞线的阻抗是600Ω,它成为标准更多的是与电话线连接交换机的方式有关。用作硬质同轴电缆的外导体的金属管、接头和连接螺丝等零件理所当然地倾向于使用当时现有的金属管道的标准尺寸,内导体则采用AWG标准尺寸,这样一来同轴电缆的阻抗就在50Ω左右了。这是由多种因素决定的,同轴电缆的技术特性当然是其中一个,还有历史的原因、商业因素,甚至是偶然的原因。

2024-10-03 19:18:44 728

原创 物联网新闻2024.09.16-2024.09.22

工信部重磅发文,推动“万物互联”到“万物智联”。工业和信息化部今日印发关于推进移动物联网“万物智联”发展的通知,旨在提升移动物联网行业供给水平、创新赋能能力和产业整体价值,加快推动移动物联网从“万物互联”向“万物智联”发展。《通知》立足移动物联网产业发展节奏、各行业领域移动物联网应用现状,明确了移动物联网发展目标:到2027年,基于4G含LTE-Cat1,即速率类别1的4G网络和5G含NB-IoT窄带物联网RedCap,轻量化高低搭配、泛在智联、安全可靠的移动物联网综合生态体系进一步完善。

2024-09-19 09:27:06 1428

原创 高危命令注意事项

接触过外包的朋友们都知道,外包不能执行rm、reboot等高危命令,更不能偷吃公司的零食。通常没有权限的人执行高危命令时都会被拦截。有时堡垒机和我们要操作的机器之间会有一些账号的联通,堡垒机能把身份信息直接传递给我们要操作的系统。实际上,权限少了,也是件好事。权限越少,背锅越少。

2024-09-13 19:23:11 520

原创 集成电感器TPS82130

TPS82130是集成了电感跟0603一样大的BUCK降压模块。输入电压3-17V,输出电压0.9-6V,输出电流3A,0.8V参考电压。TPS82130属于系统级的封装电源模块,目前价格大概是4.5元。它可以实现100%的占空比,说明它内部的上管应该使用了PMOS。开关频率为2MHz。共九个引脚。EN引脚不能悬空。输出电流达到3A时效率可达85%,输出电流达到2A时效率可达到86%,输出电流达到1A时效率可达87%。FB引脚的误差放大器的参考电压为0.8V。VIN引脚与EN引脚耐压最高都可以达到30V。

2024-09-13 14:01:48 1130

原创 理解计算机Cache

首先考虑一种标量访问的情况。就像下面这段代码,它重复地访问同一个标量。在这种情况下,存储访问会出现需要访问的地址不随时间变化的特点。a = 10print(a)如果我们考虑数组访问,比如顺序访问数组中的每个元素。那么存储访问会出现需要访问的地址随时间线性变化的特点。观察这两种不同的访问情况,我们可以发现,内存访问并非是完全随机的,这背后体现的是局部性原理。局部性原理可以分为两类。一个是时间局部性,一个元素一旦被访问到,很可能在短时间内再次被访问到。

2024-06-20 15:01:47 502

原创 C++ 智能指针关联文件指针以及删除器的用法

平时我们在学习和使用 C++ 的时候,在用到智能指针时,经常会有一种固化的思维:智能指针就像 new 和 melloc 一样,用于分配动态内存空间,然后智能指针再指向这个空间。其实智能指针不一定非要和内存关联。智能指针与普通指针一样,也可以和文件指针关联,也可以和网络套接字关联,不要局限于内存。下面就举一个小例子。我们先创建一个文本文件 sentence.txt。我们在运行这段代码结束后,系统会自动 delete 掉我们创建的指针。在 delete 时会调用智能指针的删除器来关闭文件。

2024-06-17 09:51:23 504

原创 半导体笔记汇总

介于导体与绝缘体之间的材质就叫做半导体。半导体器件主要分三类:二极管、三极管、MOS管。

2024-06-14 17:34:42 1619

原创 Makefile学习笔记20|u-boot顶层Makefile06

在 Makefile 中,空规则用于作为依赖,以确保直接或间接依赖于该规则的目标每次都会被执行,即使它们没有文件修改也是如此。该变量被视为 Makefile 的一个集中方式来声明这些 phony 目标,以确保不论是否存在与目标同名的文件,目标都会被执行。这些规则和变量定义是构建系统的一部分,确保 Makefile 能够适应不同的构建环境和工具链配置,同时保持构建过程的灵活性和可维护性。.PHONY 是一个特殊的内置目标,用于告诉 Make 哪些目标是“phony”(伪目标),即不与文件相关联的目标。

2024-05-29 09:19:13 930

原创 Makefile学习笔记19|u-boot顶层Makefile05

python3这段代码很平凡,就是定义常见构建工具变量。首先尝试使用 GNU 的 ld.bfd,如果找不到,回落到标准的 ld。BFD (Binary File Descriptor) 是 ld 的一个后端,通常提供更多的功能和选项。2这些变量定义了编译器和汇编器的标志,用于 C 和汇编语言文件。

2024-05-28 09:08:56 1023

原创 Makefile学习笔记18|u-boot顶层Makefile04

定义 scripts/Kbuild.include 为一个空规则。在这种情况下,随后紧跟分号的目标意味着 Make 不应该尝试去构建这个文件——即使它不存在或者需要更新。这通常被用来防止含有 Makefile 规则的文件在每次 make 命令运行时被重新创建或下载。

2024-05-27 08:00:00 367

原创 Makefile学习笔记17|u-boot顶层Makefile03

在某些情况下,这些消息可能会干扰输出的简洁性,特别是当你在集成开发环境(IDE)或者文本编辑器中使用 make 时,这些信息可能会让错误信息和编譯警告的解析变得更加复杂。例如,编译为 ARM 设备制作的 U-Boot 时,即使你可能在 x86 架构的 Linux 系统上进行操作,构建系统也需要知道这些信息,以正确使用交叉编译器和其他工具。总体来看,这一段代码是构建系统中设置编译环境的关键部分,它确保了 Makefile 可以正确地识别源代码和输出目录,进而在正确的位置执行编译和链接操作。

2024-05-26 11:18:59 545

原创 Makefile学习笔记16|u-boot顶层Makefile02

两者一起使用可以确保 Makefile 的稳定性,并为整个构建过程提供可靠和一致的输出,特别是在复杂或具有高度自定义性的构建系统中,这种严格控制可能是必要的。基本上,这种功能允许你在构建内核时保持源码目录的干净,所有编译生成的文件(对象文件、配置文件和最终的内核镜像等)都将被放置在一个单独的目录。在定义 .PHONY 的时候,通常会把所有不会生成同名输出文件的目标都定义为 .PHONY,这样可以防止 Make 错误地跳过这些目标,因为 Make 的默认行为是只构建那些比它们的依赖文件更新的目标。

2024-05-24 14:45:09 467

原创 Makefile学习笔记15|u-boot顶层Makefile01

为了避免这些依赖,通常在 Makefile 或构建脚本中设置特定的环境变量,使得这些操作更可预测,具有一致性,避免构建过程中由于不同的本地化设置引起的问题。当我们确保 LC_COLLATE 和 LC_NUMERIC 是 C(或 POSIX,它们是等效的)时,您可以让构建过程在所有环境中提供一致的行为,避免由于不同的语言或地区设置而造成的问题。例如,如果你的开发系统是基于 x86 架构的,而你的目标系统是基于 ARM 架构的,那么你需要使用 ARM 架构的交叉编译器来编译你的代码。达瓦里希( ̄^ ̄)ゞ。

2024-05-23 17:00:46 873

原创 Makefile学习笔记14|u-boot顶层Makefile00

  希望看到这篇文章的朋友能在评论区留下宝贵的建议来让我们共同成长,谢谢。

2024-05-23 16:15:25 408

原创 磁珠笔记汇总

磁珠是和电感很相似的器件。

2024-05-21 00:15:03 203

原创 电感笔记汇总

当电流通过线圈时,会产生磁场。ϕLiL即为线圈的,也就是电感。将漆包线、纱包线或塑皮线等在绝缘骨架或磁芯、铁芯上绕制可以形成的一个器件。当线圈通过电流后,在线圈中会形成感应磁场,感应磁场又会产生感应电流来阻碍线圈中电流的变化。这种电流与线圈的相互作用关系称为感抗,也就是电感。相应的器件称为电感器。

2024-05-19 18:52:32 3058

原创 电容笔记汇总

电容器的电容量在数值上等于一个导电极板上的电荷量与两个极板之间的电压之比。电容器的电容量的基本单位是法拉(F)。在电路图中通常用字母C表示电容元件。CQUCUQ​Q:电容器上所带的电荷量,单位为库伦(q)U:电容器两端的电压差,单位为伏特(V)C:电容器存储电荷的能力,单位为法拉(F)安规电容器是指失效后不会导致电击、不会危及人身安全的电容器。X电容:跨接在零线和火线之间的电容,如上图,主要用于差模滤波。Y电容:零线与地之间的电容,火线与地之间的电容,如上图,主要用于共模滤波。

2024-05-14 23:27:40 1357

原创 电阻笔记汇总

导体对电流的阻碍作用就叫该导体的电阻。电阻(Resistance,通常用“R”表示)是一个物理量,在物理学中表示导体对电流阻碍作用的大小。导体的电阻越大,表示导体对电流的阻碍作用越大。不同的导体,电阻一般不同,电阻是导体本身的一种性质。导体的电阻通常用字母R表示,电阻的单位是欧姆,简称欧,符号位Ω。

2024-05-14 23:14:15 2210

原创 在Windows环境下的rknn-toolkit环境搭建

最近需要使用RK3566来跑YOLOv5。想要实现目标就需要使用rknn-toolkit工具将模型转化成可以运行在rk3588的NPU上的模型。只是转换模型的话,没有必要使用GPU,所以我这里安装的是CPU版的,所需的组件按照requirements-cpu.txt中的要求安装。

2024-05-14 21:01:59 2003 3

原创 玩转Virtual Box虚拟机

虚拟化技术是将计算机的各种硬件资源予以抽象、转换、分割、组合的一种计算机技术。虚拟化技术打破了实体结构间不可切割的障碍,从而使用户可以按照需求重新组合硬件资源,使硬件资源得到更充分的利用。假如你现在有一台电脑,它有一个四核CPU、16GB内存和2TB硬盘。我们可以对CPU、内存和硬盘进行抽象、转换,再进行分割、组合。最终得到两台拥有双核CPU、8GB内存和1TB硬盘的虚拟机。

2024-04-21 23:43:59 3250 1

原创 写代码时如何命名变量

计算机界有一句名言:只有两件事情是困难的,缓存失效和命名变量。通过避免不良的开发模式就能避免 80%的错误。下面将讨论我认为不好的命名方式。如果能避免以下错误,就能迫使自己更好地命名变量。

2023-12-14 20:31:16 139

原创 贴片电阻的额定电压

如上图所示,贴片电阻有几个电压参数,其中一个是最大工作电压,一个是最大负载电压。电阻两端电压如果超出其最大负载电压,电阻就有被击穿的风险。但是经过这三个兆欧级别的电流非常小,功率不会超过一个电阻的额定功率。不同于色环电阻不需要考虑耐压值,贴片电阻的耐压值往往在 220V 以下。我们学习电阻的时候,通常关注电阻的几个参数,比如精度、温漂、额定功率等。但往往会忽略另一个重要的参数,就是本文要讲的电阻工作的额定电压,或者说耐压值。有人可能感到疑惑,既然已经标定了电阻的最大功率,那么耐压值还有什么意义呢?

2023-12-14 19:05:42 859

原创 技术笔记2023076 rBoot学习7

如果之前拿到的索引是否超出rom总数,则认为此索引是无效的,并默认加载第一个rom。如果此处if为真,则说明Flash中存在新的boot,此时要将Flash的第一个扇区覆盖。的注释去掉,并给宏定义设置一个合适的值,我将其设置为20000(单位为us)。令人意外的是,此文件竟然处于build目录下,这就说明它不是写出来的,而是通过某种方式生成的。写入boot所在的扇区,覆盖了之前的配置,在下次启动时将使用当前的配置。获取到rom的地址后,将当前的rom的索引写入配置结构体中。,并通过esptool2生成的。

2023-07-26 19:42:17 391

原创 技术笔记20230721 rBoot学习6

我学习ESP8266使用的系统是windows,所以选择了方便安装与使用的安信可一体化开发工具AiThinker_IDE v0.5。分别从git仓库中下载rBoot和esptool2,然后将他们复制到同一文件夹下。此函数有汇编版本与C语言版本,如rBoot作者所说,使用gcc编译时使用汇编版本的入口函数,而C语言版本的入口函数虽然会占用stack但其他功能与汇编版本相同。前几天看完了rBoot的readme,今天在网上看到了几篇分析rBoot的文章。此函数主要流程为找到image的地址、加载image。

2023-07-22 07:53:17 163

原创 技术笔记20230720 rBoot学习5

这是一个示例项目,展示了如何构建用于rBoot的rom以及如何执行OTA升级。我们可以使用rboot-ota.c和rboot-ota.h来添加我们项目对OTA的支持。在rboot_ota_start中也有一些注释掉的代码,展示了如何将非rom文件写入到Flash上的任意位置(例如,数据或嵌入式文件系统)。此版本的示例使用rBoot大闪存模式,该模式适用于具有较大闪存芯片的设备,例如ESP-12F。

2023-07-20 21:26:04 162

原创 技术笔记20230718 rBoot学习4

如果我们需要8个512KB的rom,就需要两个链接脚本,一个用于1MB大小Flash的前半部分,另一些用于后半部分。现在,当rBoot启动我们的rom时,通常会执行内存中映射的SDK代码。但是,更重要的是,我们需要确保rom的整体大小不超过我们在Flash布局中为它分配的空间。由于最大映射1MB大小Flash的限制,如果我们使用更大容量的Flash并且没有启用大Flash支持,则默认配置中的第二个rom仍将被放置在。因此,当任何rom运行时,代码都将出现在内存中的同一位置,而不管它在Flash上的位置。

2023-07-19 21:55:22 123

原创 技术笔记20230718 rBoot学习3

如果使用GPIO16以外的IO口,就需要在读取引脚电平之前使能内部上拉电阻,在读取结束后立刻禁用该IO口。如果我们配置一个专用的GPIO引导rom,那更能体现我们的技术力,但是可能引发操作问题,例如WiFi不工作或在程序引导阶段崩溃。如果默认的配置扇区不存在,或者仅有的配置被损坏,那么将在boot阶段创建一个默认的配置扇区,此默认rom将被设置为0号rom。如果引导检测GPIO在启动时读取到高电平,那么rBoot将根据当前状态启动当前选择的正常或临时rom。,那么GPIO可以用来在引导时跳到下一个rom。

2023-07-18 20:45:40 149

原创 技术笔记20230717 rBoot学习2

像上面那样配置结构体并将它写入到Flash的地址0x1000上。如果我们想要配置4个rom以上(默认为4个),只需要在编译rBoot时修改。在开始动手之前,一定要设计好Flash的布局。rom的地址必须遵循4k对齐的规则。

2023-07-18 08:31:00 84

原创 技术笔记20230716 rBoot学习1

⑦rBoot不浪费栈空间,而官方SDK中的bootloader需要占用144个字节的栈空间。ESP8266只能将1MB的Flash映射到内存中,但是可以选择需要映射的Flash扇区。这就允许单个ROM扇区的大小达到1MB,但是这1MB不能跨越Flash中1MB的边界。这意味着我们可以在一个4MB的Flash上划分出4个1MB的ROM或者8个512KB的ROM,或者二者的结合。但是,需要注意的是,不能在一个512KB的ROM后面紧跟着一个1MB的ROM,那样的话第二个ROM就会跨过1MB的边界。

2023-07-16 22:21:10 152

原创 技术笔记20230707

project.mk中的伪目标有:build-components(编译所有组件)、menuconfig(配置ESP8266_RTOS_SDK项目)、deconfig(将所有项目配置恢复成默认配置)、all(编译app、bootloader、分区表)、build(暂不明确)、clean(删除所有编译输出)。我记得uCOS之前是要收费商用的,现在开源了,以后有机会的话可以借鉴一下。先研究一下乐鑫的SDK吧,先从乐鑫开源/ESP8266_RTOS_SDK的hello_world的Makefile开始研究吧。

2023-07-08 00:24:31 66

原创 技术笔记20230706

其中提到:官方将会在v2.0.0之后将ESP8266_RTOS_SDK迁移到esp-idf。我看了esp-idf项目的相关文档,没有看到有关ESP8266的选项。而现在ESP8266_RTOS_SDK已经更新到了v3.4版本,不清楚乐鑫的安排。随后安装编译工具链,得到xtensa-lx106-elf-gcc.exe等文件。等实物到了再贴图上来。从目录上看,我发现SDK中的项目结构比较臃肿,个人认为有必要重构一下,自己重新写一套Makefile。既然要用ESP8266,那就要去看乐鑫官方的开源SDK项目了。

2023-07-06 23:06:07 121

原创 OpenBLT的介绍、应用场景及开源许可

这份自由是由GNU GPL许可证赋予的,OpenBLT不承担任何责任和意外后果。尤其是在你想在你的闭源项目中集成OpenBLT并且不希望你的用户知道你的产品使用了OpenBLT的情况。参考下面的许可证对比表格来确定你的产品需要的OpenBLT许可证。它能够使用任何类型的通信接口去执行软件的更新,而不需要借助专用的硬件调试器。OpenBLT在此协议下免费,并且在遵循此协议条款的情况下能够免费使用和传播。达瓦里希( ̄^ ̄)ゞ。

2023-01-10 23:14:45 1020 2

IMX6ULL参考手册中文版第一章

自己翻译的IMX6ULL参考手册。

2021-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除