博客
我们来思考一个问题,当我们在编程器中把一条指令写进单片机内部,然后取下单片机,单片机就可以执行这条指令。
那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?
这个地方就是单片机内部的只读存储器即ROM。
<strong>01、单片机数的本质和物理现象</strong>
我们知道,计算机可以进行数学运算,这令我们非常难以理解,它们只是一些电子元器件,怎么可以进行数学运算呢?
我们人类做数学题如37+45是这样子做的,先在纸上写37,然后在下面写45,然后大脑运算最后写出结果,运算的原材料是37和45,结果是82都是写在纸上的,计算机中又是放在什么地方呢?
笔者参考了市面上各种各样的嵌入式书籍,如MCS-51、AVR、ARM等都有看过,但没发现有哪本是介绍设计思想的,就算有也是凤毛麟角。写程序不难,但如何写得好、写得快,那是需要点经验积累的。所以在下出来献丑一下,总结了一些东西。就我个人的经验而谈,有2个设计思想是非常重要的。
一个是“时间片轮的设计思想”,这个对实际中解决多任务问题非常有用,通常可以用这个东西来判断一个人是单片机学习者,还是一个单片机工程师。这个必须掌握。
第二个就是“分层屏蔽的设计思想”即分层思想。下面,用扫描键盘程序例子作为引子,引出今天说的东西。
<strong> 分层思想</strong>
2020年初,戴尔提出了对“智能伴侣”设备的愿景,并分享了电脑设备将如何更好地了解它们自身的状况、位置、环境、安全级别和效能。此外,戴尔还展示了多屏幕设备在开启全新工作方式、提高生产力方面的潜力。未来,戴尔会以多种方式继续探索如何将云、5G和人工智能等技术结合起来,进一步提升电脑的使用体验。
做电子产品,常常遇到测量。此时就难免会关注到精度、准度等概念,遇到不少朋友对这两个概念不清楚,今天就来分享一下这两个概念。
为什么写本文,前面写过些ADC方面的文章,遇到有朋友貌似对这两个概念理解不深,所以整理分享一下。
<strong>什么是准确度(真实度)?</strong>
在英文中,准确度用Accuracy来表示,其真实描述的含义是什么呢?是指测量值或者观测值接近期望值或者理论值的接近程度。因此通常用误差百分比来描述准确度,这句话深入理解,从量纲的角度而言是一个百分比:
当今数据存储业销售SSD和存储模块,有我们要的可靠性能,快速响应能力和长时间使用,以完成各种未预料到的任务。夸耀特性和功能可以吸引最广泛的合适群体,而有些设计可能满足普通用户的需求–工业级的工作量则要求工程师承受系统独特的要求所带来的复杂权衡。
对任何一家餐厅来说,菜单都是必不可少的!如果没有菜单,厨师们就没有办法向顾客展现自己出类拔萃的厨艺。更重要的是,菜单可以帮助饥肠辘辘的客人确定自己选择吃什么;否则,他们真的会不知从何做起,才能满足自己的口腹之欲。技术服务产品也是如此,技术“大厨”们需要为每种类型的项目提供世界上最合适的解决方案,同时向客户表明自己的专业造诣可以为客户带来哪些获益。
<strong>一,什么是PCB中的板级去耦呢?</strong>
板级去耦其实就是电源平面和地平面之间形成的等效电容,这些等效电容起到了去耦的作用。主要在多层板中会用到这种设计方法,因为多层板可以构造出电源层和地层,而一层板与两层板没有电源层和地层,所以设计不了板级去耦。
<strong>二,如何设计板级去耦?</strong>
多层板pcb在设计板级去耦时,为了达到最好的板级去耦效果,一般在做叠层设计时把电源层和地层设计成相邻的层。相邻的层降低了电源、地平面的分布阻抗。从平板电容的角度来分析,由电容计算公式C=εs/(4πkd)可以,两平板之间的距离d越小,电容值越大,相当于加了一个大的电解电容,相邻的层两平面的d是最小的,所以电源层和地层设计成相邻的层,可以达到最好的去耦效果。
2021 年 1 月,Mentor 将会成为 Siemens EDA。这对于我们的 EDA 客户而言是一个令人振奋的消息。Mentor 一直是电子设计数字化的先驱,西门子将全球领先的数字化带到了飞机、汽车、工厂和城市等大型系统,而将电子设计连接至大型系统正是我们很多客户的愿景。 西门子使我们能够加大研发投入、开发新产品并收购一流的电子设计公司,以更好地满足客户需求。
在嵌入式产品应用中,常常需要应对系统数据在存储或者传输过程中的完整性问题。
所谓完整性是指数据在其生命周期中的准确性和一致性。这些数据可能存储在EEPROM/FLASH里,或者基于通信协议进行传输,它们有可能因为外界干扰或者程序错误,甚至系统入侵而导致被破坏。如果这些数据在使用前不做校验,产品功能可能失效。在一些特定领域,严重时可能会危及用户财产甚至生命安全。
本文就来聊聊使用较为广泛的循环冗余校验技术,以及在STM32中的一些具体使用体会。
<strong>一、系统相关</strong>
<strong><font color="red">波特率</font></strong>
1)定义:
波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标,它用单位时间内载波调制状态改变的次数来表示。
在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。波特率是传输通道频宽的指标。
2)计算:
波特率115200 = 115200 (位/秒)
以最普通的串口(起始位+8位数据+停止位)为例:
一般32位单片机的内部FALSH是不支持字节操作的,有的可以按字节读取,但是不能按字节写入。
而且,一般单片机内部FALSH擦除的最小单位都是页,如果向某页中的某个位置写入数据,恰好这个位置的前面存了其他数据,那么就必须把这页擦除,存的其他数据也会丢失。
实际上就是说内部的FALSH不好做改写的操作,如果有很多数据需要存放,最好是分页存储。这也是FALSH与E2PROM最大的区别,后者支持按字节操作且无需擦除,即使某一个地址写坏了,也不影响其他地址。
下面介绍一种方法让内部FLASH"支持"字节操作,且同一页的其他数据不受影响。
<strong>方法原理很简单,下面简单介绍下原理:</strong>
1.根据要写入地址,计算出该地址位于哪一页;
最近碰到一个PCB漏电的问题,起因是一款低功耗产品,本来整机uA级别的电流,常温老化使用了一段时间后发现其功耗上升,个别样机功耗甚至达到了mA级别。仔细排除了元器件问题,最终发现了一个5V电压点,在产品休眠的状态下本该为0V,然而其竟然有1.8V左右的压降!耐心地切割PCB线路,惊讶地发现PCB上的两个毫无电气连接的过孔竟然可以测试到相互间几百欧姆的阻值。查看该设计原稿,两层板,过孔间距焊盘间距>6mil,孔壁间距>18mil,这样的设计在PCB行业中实属普通的钻孔工艺。洗去油墨,排除油墨或孔表层的杂质导电问题,实测过孔间阻值依然存在!百思不得其解一段时间后,才发现原来是“CAF效应”导致的漏电问题!
最近在整理电感的相关知识,说实话,对于电感这类非常基础的东西,也并没有掌握得很好,因为我又温故而知新了。这个新,就是电感的损耗了,我们在工作中或多或少都会遇到电感发烫的问题,那下面就来具体的说一说电感的损耗有哪些,希望能对我们构建知识体系有帮助。
<strong>电感的损耗主要有以下两种:</strong>
线圈损耗:DCR,ACR
磁芯损耗:磁滞损耗,涡流损耗,剩余损耗
<strong>线圈损耗</strong>
DCR,一般认为是电感线圈的直流电阻,这个参数一般在厂家给出的电感规格书中都有。DCR这个比较容易理解,线圈的线总长越长,电阻越大,线圈越细,电阻也越大。
<strong>一、引言</strong>
广义的电磁兼容控制技术包括抑制干扰源的发射和提高干扰接收器的敏感度,我们都知道干扰源、干扰传输途径和干扰接收器是电磁干扰的三要素,同时EMC也是围绕这些问题进行研究,而运用最为广泛的抑制方法是屏蔽、滤波和接地,用它们来切断干扰的传输途径。
本文将着重在单板的EMC设计上,介绍一些重要的EMC知识及法则。在最初电路板的设计阶段就着手考虑对电磁兼容的设计,种类包括公共阻抗耦合、串扰、高频载流导线产生的辐射和通过由互连布线和印制线形成的回路噪声等。
在高速逻辑电路里,这类问题特别脆弱,原因很多:
今天介绍一下常见的锂电池保护电路的工作原理。
<strong>前言</strong>
举一个不恰当的例子,电池的充放电就像孩子喝母乳一样。
1,如果一直让孩子喝,家长不加以控制,那么这个奶可能会被喝光,类似电池过放;
2,如果家长一直不给孩子喝奶,这个奶就会积攒越来越多,类似电池过充;
3,如果孩子喝奶喝的急,容易呛奶,类似电池的过电流保护;
科学喝奶,规律喝奶,需要家长的监督,那电池如何做到科学充电和放电呢?
PWM(Pulse Width Modulation),一般指脉冲宽度调节,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中,比如LED亮度调节、电机转速控制等。
而在某些特殊应用中,我们也需要通过测量输入PWM的占空比,来实现不同的输出控制,这就需要使用到PWM占空比的测量方法。这里介绍三种不同的测量方法:阻塞方式、中断方式以及定时器捕获功能。
<strong>1. 阻塞方式</strong>
MCU阻塞方式测量PWM占空比的原理比较简单,也只需要使用到一个普通的IO端口(设置为输入模式,对于51而言那就是一个普通的双向口)。具体实现流程为:
<strong>一,什么是PCB中的板级去耦呢?</strong>
板级去耦其实就是电源平面和地平面之间形成的等效电容,这些等效电容起到了去耦的作用。主要在多层板中会用到这种设计方法,因为多层板可以构造出电源层和地层,而一层板与两层板没有电源层和地层,所以设计不了板级去耦。
<strong>二,如何设计板级去耦。</strong>
多层板pcb在设计板级去耦时,为了达到最好的板级去耦效果,一般在做叠层设计时把电源层和地层设计成相邻的层。相邻的层降低了电源、地平面的分布阻抗。从平板电容的角度来分析,由电容计算公式C=εs/4πkd可以,两平板之间的距离d越小,电容值越大,相当于加了一个大的电解电容,相邻的层两平面的d是最小的,所以电源层和地层设计成相邻的层,可以达到最好的去耦效果。