关注、星标公众号,直达精彩内容来源:嵌入式大杂烩作者:ZhengNL本次给大家分享一位大佬写的应用于单片机内存管理模块mem_malloc,这个mem_malloc的使用不会产生内存碎片,可以高效利用单片机ram空间。mem_malloc代码仓库:❝https://github.com/chenqy2018/mem_malloc❞mem_malloc介绍一般单片机的内存都比较小,而且没有MMU,malloc与free的使用容易造成内存碎片。而且可能因为空间不足而分配失败,从而导致系统崩溃,因此应该慎用,或者自己实现内存管理。mem_malloc就是一个不会产生内存碎片的、适合单片机使用的内存管...
来源:翻译自:NicklasMillard的文章《BetterSoftwareWithoutIf-Else》注:本文并不肯定或者否定哪一种写法,仅仅为大家提供一些其他的编码思路或者一些值得借鉴的点子,希望大家能在公众号的每一篇文章中都能有所收获,同时欢迎探讨!设计更好的软件,替换If-Else的5种方法。入门到高级示例让我直接说这句话:If-Else通常是一个糟糕的选择。它导致设计复杂,代码可读性差,并且可能导致重构困难。但是,If-Else已成为事实上的代码分支解决方案,这确实是有道理的。这是向所有有抱负的开发人员讲授的第一件事。不幸的是,许多开发人员从来没有前进到更合适的分支策略。有些人的...
▼点击名片,关注公众号▼在电子电路中,电源一般分为两类,一类是线性电源,一类是开关电源。线性电源具有噪声小的优点。开关电源虽然噪大,但是具有效率高、热损小的优点。加微信:chunhou0820 获取buck仿真文件开关电源还可以细分为降压型、升压型和升降压三类。也可按照隔离、非隔离,或者同步非同步再进一步细分。在手机、电脑等消费电子领域,降压型BUCK电路应用非常广泛。是电源工程师的入门课,下面就介绍BUCK降压电路的基本工作原理,并进行原理仿真,为了把我们的主要精力放在理解BUCK原理上,我们选择非同步BUCK进行分析,也就是电路中只有一个开关管,由二极管对电感续流放电。基本的BUCK降压电...
▼点击名片,关注公众号▼锂电池的发明与使用,无疑给人类带来巨大便利,因此锂电池发明者获得了2019年诺贝尔化学奖,以表彰他们“在发明锂电池过程中做出的贡献”,实至名归。电池通常有哪些参数呢?下面就介绍下电池一些常见的参数,下面是一个锂电池的标牌截图,包括厂商、参数、认证信息等,下面一一介绍。基本参数1充放电倍率C(C-rate)锂电池有个重要的参数概念,充放电倍率,是指电池在规定的时间内放出其额定容量时所需要的电流值,它在数据值上等于电池额定容量的倍数,一定要先理解充放电倍率,才能理解其他参数。比如3300mAh电池,以3300mA放电电流释放其额定容量需要的时间是1h,此时放电倍率为1C;如...
今天在这里良心推荐几个非常硬核,非常优质的公众号,如有感兴趣的,不妨关注一波吧,你会有所收获,但绝不会失去什么,还等什么呢?南山扫地僧号主王工,嵌入式硬件工程师,目前主要从事嵌入式硬件开发工作,主要分享EMC基础原理及EMC设计整改、硬件电路设计、嵌入式软件、行业资讯等相关内容。▼点击下方名片,关注公众号▼电路啊深入浅出讲解各种电子电路。号主梁工,毕业于广东工业大学电子系,具有多年的硬件开发经验,目前华南理工大学MBA在读,是一名电子爱好者。▼点击下方名片,关注公众号▼单片机技术宅本号主要进行单片机学习资源分享,致力于以最简单的方式服务单片机初学者,解答你在入门时的各种奇葩问题,带你走过你的学...
▼点击名片,关注公众号▼电容是我们电子电路设计中最常用的元件之一,除了基本的电容容值之外,电容还有其他6大参数,你知道几个呢?本文章介绍MLCC陶瓷电容6大特性参数。1DC偏压特性这是一个非常重要的参数,指的是电容值会随着加在两端的有效电压升高而降低。换句话说,电压越高,有效容值越低。如果设计时没有考虑偏压特性,电容很容易出现失效或者性能不达标!下图是10uF的电容GRM319B31A106KE18偏压特性,在电压为10V时有效容值降低了近70%,只有大约3uF。2电容等效模型理想的电容随着频率增加它的阻抗越来越小,但是实际电容有ESR和ESL的存在(等效串联电阻和等效串联电感),它的阻抗会在...
▼点击名片,关注公众号▼建立自己的知识体系,进行系统性学习是非常重要的事情,做事和做技术这两架马车要并驾齐驱,缺一不可,今天推荐几本不错的书,希望与诸君共勉。1:《非暴力沟通》推荐等级:☆☆☆☆掌握良好的沟通能力是非常重要的事,这却是很多人的弱项。糟糕的沟通往往带有严重的个人情绪,主观因素会影响太多,沟着沟着就变成了争吵,往往无果而终。我最欣赏不动声色就把问题分析的明明白白的人。《非暴力沟通》的主要观点是客观冷静的分析问题,目的是解决问题本身,而不是解决和问题有关的人,建议一读。2:《精通开关电源设计》推荐等级::☆☆☆☆☆“问渠那得清如许,为有源头活水来”,电源是一切电路的基础,是“万物之源...
▼点击名片,关注公众号▼相比于硬件工程师,PCB工程师对环路电感更敏感,因为环路电感和走线强相关,不管是信号完整性还是电源完整性都有涉及,一旦走线确定,环路电感也随之确定,如果环路电感初期评估失误将会给后期改版带来巨大风险。然而并不是所有人都清楚这个词背后的物理意义。我们从自感、互感,最后再到环路电感进行完整的介绍,彻底搞懂环路电感,从根本上认识我们的走线对于环路电感的影响,以及如何优化PCB走线来减小环路电感。自感自感这个概念我们高中就学过,指的是当一个线圈中通入变化的电流,根据电磁感应原理,线圈会产生感应电动势阻碍这个变化的电流。下图中红色是输入的电流和它所产生的磁场方向,蓝色的是感应出来...
▼点击名片,关注公众号▼加微信[chunhou0820],获取:buck仿真文件BUCK是常见的降压拓扑结构,对于BUCK开关节点的波形,有的文章画的是标准的方波?而有的文章画的却是有一个负的脉冲波形呢?就比如下面两个波形,高电平是一样的,但是负电平却又很大差异。第一个图在开关节点位置有-0.7V的恒定负电平,而第二个却比较复杂,有一个-0.7V的脉冲负电平后又变为0电平,这两种波形是分别怎么产生的呢?这从要BUCK的分类说起了,BUCK分为非同步BUCK和同步BUCK两种,下图中使用二极管D1的是非同步BUCK,如果把二极管换为开关管,那么就是同步BUCK了。BUCK工作原理参考以前的文章,...
▼点击名片,关注公众号▼早期的3.5mm耳机只有GND、左、右声道3个PIN,这种耳机接口简单,使用范围广,常见在电脑等大型设备音频接口上,这种接口有个显而易见的缺点,即:没有MIC,不能录音打电话。在电脑上可以单独增加MIC接口,但是在手机这种集成度高的移动设备上,单独增加MIC接口非常占空间,显然不是个高性价比的方案,因此出现了集成MIC的耳机接口。当时各厂商都是自由发挥,出现了五花八门的耳机接口,各家厂商的耳机接口又互不兼容,给消费者带来非常多的苦恼,天下苦杂耳机接口久矣。于是,统一标准的耳机接口亟待出现。后来就出现了OMTP(国标)和CTIA(美标),二者在链路上主要只有MIC和GND...
▼点击名片,关注公众号▼在实际工程中,经常出现一个电源模块无法满足负载的电流需求,或是想进一步提高DCDC效率,此时大部分工程师首先会想到并联电源来提高更大的电流,对于这样的设计,通常的评估结果是:不要粗暴的并联。诚然,电源并联,有利于减小散热,提高效率,以及提供更大的输出功率,然而简单的并联设计并不是可靠的。有人说电源并联时容易反灌,导致一个电源模块电流流入第二个电源模块,只要加入防止倒灌的二极管就可以了。然而这考虑的还不够全面,实际应用过的工程师,可能会发现,并联电源模块时,有时候一个电源模块会持续输出,而另一个电源模块却没有输出,或者是某一路发热严重,结果没有达到预期。我们以1.8VBU...
▼点击名片,关注公众号▼两年前,即:2019年7月17日,马斯克与其旗下神经技术公司Neuralink宣布,已实现神经外科机器人将直径几微米的“thread”(“线”状探针)植入实验鼠脑部,通过定制芯与外部设备通讯。该项目基于ASIC、运放、ADC、FPGA等技术手段实现,已成功实现多通道同步读取、放大脑信号并传输处理。以往的研究已经可以实现神经假体控制电脑鼠标、机械臂等,但是这些研究使用的电极数量没有超过256个,这些电极数量有限,并且只放在大脑皮层,难以记录数以万计的神经元活动信息。并且,很多植入大脑的电极是刚性材料,比如金属或者半导体,而Neuralink报道其使用的是柔性的聚合物探针,...
▼点击名片,关注公众号▼电感和磁珠外形接近,功能相似,很多人认为其都是“隔交通直”,以至于很多人将二者混淆。实际上,不管是原理还是应用,电感和磁珠都有不小的区别。1、电感的磁材料是开放的,磁力线一部分通过磁芯,一部分通过空气。而磁珠的磁材料是封闭的,几乎所有的磁力线都封闭在磁环内,更“干净”。2、电感的单位是电感值(H),磁珠的单位是阻抗(欧姆),一般是100Mhz时的阻抗值。有个重要的事情是:即使参数相同的磁珠,其在滤波性能上也会有巨大差异。因为磁珠参数标注的是特定频点(比如120Mhz)的阻抗,即使这个频点阻抗相同,在其他频点的阻抗也会千差万别。3、磁珠的阻抗是电抗X和电阻R的共同作用结果...
近日,ADI推出集成精密库仑计数器的纳安级功耗原电池(不可充电)健康状态(SoH)监控器LTC3337,其设计使得与原电池串联放置时的相关串联压降极小。获得专利的无限动态范围库仑计数器记录所有累积的电池放电,并将其存储在可通过I2C接口访问的内部寄存器中。LTC3337的静态电流消耗仅为100nA,有助于延长电池运行时间。LTC3337还集成了其他SoH变量监控功能,可测量并通过I2C报告电池电压、电池阻抗和温度。为适应各种原电池输入,可通过引脚在5mA至100mA之间选择峰值输入限流值。这使得该IC能为电池提供一个负载状态,从而使得无论实际负载如何,电池都能发提供最大容量。这是一种“电池友好...
Jlink使用技巧系列教程前言大多数玩单片机的人都知道Jlink可以烧写Hex文件,作为ARM仿真调试器,但是知道能烧写SPIFlash的人应该不多,本篇文章将介绍如何使用JLink来烧写或者读取SPIFlash存储器,JLink软件包含的工具中,有一个是JFlashSPI工具,这就是一个烧写和读取SPI存储器的工具了。准备要烧写程序或读取程序的的Flash芯片:SPI协议的Flash都可以,如W25Q128。JFlashSPI软件工具:在Jlink系列软件的安装目录下JLinkV9仿真器要烧写的文件:如GBK字库文件,UNIGBK.BIN硬件连接Jlink内部集成了SPI协议,部分接口是作为...