嵌入式的坑烧钱 嵌入式的学习十分烧钱,这就让人有点望而却步。我是做DSP起步的,更是能体会到嵌入式绝对是一个拿钱搭梯子的学习行业。 在我的学习过程中身边有不少的人投向了CS行业,也就是纯软件开发,比如网页、手机应用、数据库等。他们有一台联网的电脑几乎可以搞定,也是基于这个原因,我当时也想做纯软件开发。当时老师想让我们买开发板,我都没钱。 在CS行业有一些资深的玩儿家,买一台服务器就算可以了。 然而做嵌入式的你,需要买开发板,买模块,做到天人合一,软硬结合,等着做稍微高端点了,你又萌生出自...
分享本文,简单分析STM32与51单片机的区别与取舍之处。 单片微型计算机简称单片机,简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件,在我们自己的个人电脑中,CPU、RAM、ROM、I/O这些都是单独的芯片,然后这些芯片被安装在一个主板上,这样就构成了我们的PC主板,进而组装成电脑,而单片机只是将这所有的集中在了一个芯片上而已。51单片机 应用最广泛的8位单片机当然也是初学者们最容易上手学习的单片机,最早由Intel推出,由于其典型的...
译文仅供参考 原文链接: http://www.righto.com/2022/01/silicon-die-teardown-look-inside-early.html 由模拟 IC 奇才 Hans Camenzind 设计的 555 被称为有史以来最伟大的芯片之一。据说是世界上最畅销的集成电路,已售出数十亿。 一个带有 Signetics 标志的 8 针 555 定时器。它没有 555 标签,而是标有“52B 01003”和 7304 日期代码,表示 1973 年的第 4 周。 乏味地打磨环氧树脂封装以露出芯片(下图),并确定芯片是 555 定时器。Signetics 在 1972 年年中发布了 555 定时器,下面的芯片有一个 1973 年 1 月的日期代码...
MOS管栅极串联电阻介绍1、如果没有栅极电阻,或者电阻阻值太小 MOS导通速度过快,高压情况下容易击穿周围的器件。2、栅极电阻阻值过大 MOS管导通时,Rds会从无穷大将至Rds(on)(一般0.1欧姆级或者更低)。栅极电阻过大时,MOS管导通速度过慢,即Rds的减小要经过一段时间,高压时Rds会消耗大量功率,导致MOS管发烫。过于频繁地导通会使热量来不及发散,MOS温度迅速升高。3、在高压下,PCB的设计也需要注意 栅极电阻最好紧靠栅极,并且导线不要与母线电压平行分布。否则母线高压容易耦合至下方导线,栅极电压过高击穿MOS管。MOS管栅...
相关文章????????????先说代码:我们是用电脑的键盘来输入的指令,每一个指令都对应一个ASCII码,而这里的ASCII码就是有序的电压的高低(或电流的有无,下面只提电压的高低),即我们输入的是电压的高低,你所看到代码是这些电压的高低控制显示器所显示的图像,其实电脑也不知道它是什么,只知道这样显示。结论:代码其实就是存储在存储器(内存、硬盘或者闪存等等)中有序的电压的高低。再说编译:编译是一个有序的电压的高低向另一种有序的电压高低的一种转换过程,下面以52单片机为例,我们编译是从表示ASCII码的那种有序电压高低转换为52单片机...
推挽电路的应用非常广泛,比如单片机的推挽模式输出,PWM控制器输出,桥式驱动电路等。推挽的英文单词:Push-Pull,顾名思义就是推-拉的意思。所以推挽电路又叫推拉式电路。图1:锯木头❤推挽电路有很多种,根据用法的不同有所差异,但其本质都是功率放大,增大输入信号的驱动能力,且具有两个特点:①很强的灌电流,即向负载注入大电流;②很强的拉电流,即从负载抽取大电流。相关文章:。图2❤如图3由NPN+PNP三极管组成的推挽电路,这就是我们常用的互补推挽电路。特点是输出阻抗很小,驱动能力很强。相关文章:。图3:互补推挽电路❤如图4,输入信...
分享本文,总结万能的PID算法。PID的数学模型在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在很多控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的。PID算法的一般形式PID算法通过误差信号控制被控量,而控制器本身就是比例、积分、微分三个环节的加和。这里我们规定(在t时刻):1.输入...
电子设备之间的通信就像人类之间的交流,双方都需要说相同的语言。在电子产品中,这些语言称为通信协议。 之前有单独地分享了SPI、UART、I2C通信的文章,这篇对它们做一些对比。串行 VS 并行 电子设备通过发送数据位从而实现相互交谈。位是二进制的,只能是1或0。通过电压的快速变化,位从一个设备传输到另一个设备。在以5V工作的系统中,“0”通过0V的短脉冲进行通信,而“1”通过5V的短脉冲进行通信。 数据位可以通过并行或串行的形式进行传输。另外也可以通过此视频了解:。在并行通信中,数据位在导线上同时传输...
先解决两个疑问◆ 指针和引用的不同之处是什么?◆ 何时用用指针?何时用引用?指针和引用的不同之处 看如下代码: 指针是用来表示内存地址的,而指针这个整数正是被指向的变量地址。 而引用就是给变量重新起了一个名字,引用也就是“别名”。不同之处◆ 指针在声明时可以暂时不初始化,当然每次使用指针时都要做检查,以防出现空指针异常的问题0。而引用永远都不会为空,它一定得代表某个对象。◆ 指针存放的是地址,可以被重新赋值。而引用总是指向它最初代表的那个对象。指针和引用使用场合 引用主要是作为函数的参...
给大家分享一个用ESP8266做一个高颜值的RGB时钟的项目! 这个时钟还具有自动亮度控制功能并配备了温度传感器!材料准备PCBESP8266或Nodemcu跳线焊接工具第1步: 准备工作 Neo Pixel是可寻址的LED,我们可以通过编程,让它显示任何一种颜色或者数字。 Neo Pixel有不同的smd封装,这个项目使用的是Ws2812b-5050 mini RGB。 这种迷你LED的额定电压为3.0V到5.5V,电流为16mA(每个LED)。 NodeMCU有3.3V的稳压器,可以正常驱动所有的LED。第2步:使用Neo Pixel Led制作7段显示器 在这里,我们需要把所...
下面这个桥式整流电路出场率很高,看着一定眼熟。 事实证明,强行灌输的东西总是难以下咽。记得读书那会,第一次看到这个电路时被吓到了,以至于直到这门课结束了也没搞清楚。 本文就来分析一下此电路中电流的走向,进而理解它是如何实现整流的。关于各种整流电路,也可以移步此文:。 分析之前要注意,上图黑框处相交导线不相接。 顺便科普一下电路图中交叉导线的画法:相交不相接导线,不加点的画法相交不相接导线,用弧跨线画法导线相交且相接,常见的一种画法电流走向1 变压器u2正半周时电流通路2 变压器u2...
状态机基本术语 现态:是指当前所处的状态。条件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。 动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。传统有限状态机Fsm实现方法 如图,是一个定时计数器,计数器存在两种状态,一种为设置状态,一种为计时状态...
很多大学生觉得嵌入式入门并不容易,这其中牵扯的内容、知识点太多。像C语言基础是否掌握?汇编语言是否了解?电路原理学的怎么样,能看懂接单的电路图吗?AD软件学的怎么样,能画电路吗?嵌入式行业前景 有一种说法,下一个时代是物联网的时代,以后的生活一定是智能的、万物互联的,所有的家电都会集中到一个终端上,通过这个终端就可以控制周围的一切,就像扎克伯格为自己家的设备写的一套系统一样,通过一个语音助手就控制整个家。 这些智能设备都需要我们嵌入式开发者来做,把那些设备嵌入进程序,让它们任你控制。 ...
本文所说的技术文档不仅限于纯文本文档,还包含代码注释。很多工程技术人自己非常轻视技术文档的书写,然而又时常抱怨文档不完善、质量差、更新不及时等。分享本文,介绍技术文档的重要性,以及如何写好技术文档。技术文档的重要性 高质量的文档对于一个组织或团队来说有非常多的益处,比如让代码和API更容易理解、错误更少;让团队成员更专注于目标;也可以让一些手工操作更容易;另外如果有新成员加入的话有文档也会让他们更快融入…… 写文档有比较严重的收益滞后性,不像测试,你跑一个测试case,它能立即告诉你是对还是错,它的...
高速信号的PCB走线 现在但凡打开SoC原厂的PCB Layout Guide,都会提及到高速信号的走线的拐角角度问题,都会说高速信号不要以直角走线,要以45度角走线,并且会说走圆弧会比45度拐角更好。 事实是不是这样?PCB走线角度该怎样设置,是走45度好还是走圆弧好?90度直角走线到底行不行? 大家开始纠结于PCB走线的拐角角度,也就是近十几二十年的事情。上世纪九十年代初,PC界的霸主Intel主导定制了PCI总线技术。 似乎从PCI接口开始,我们开始进入了一个“高速”系统设计的时代。 电子设计和芯片制造技术按照摩尔定律...
电源纹波的产生 我们常见的电源有线性电源和开关电源,它们输出的直流电压是由交流电压经整流、滤波、稳压后得到的。由于滤波不干净,直流电平之上就会附着包含周期性与随机性成分的杂波信号,这就产生了纹波。在额定输出电压、电流的情况下,输出直流电压中的交流电压的峰值就是通常所说的纹波电压。纹波是一种复杂的杂波信号,它是围绕着输出的直流电压上下来回波动的周期性信号,但周期和振幅并不是定值,而是随着时间变化,并且不同电源的纹波波形也不一样。纹波的危害 一般来说纹波是有百害而无一利的,纹波的危害主要有以下几点...
外壳是金属的,中间是一个螺丝孔,也就是跟大地连接起来了。这里通过一个1M的电阻跟一个0.1uF的电容并联,跟电路板的地连接在一起,这样有什么好处呢?外壳地如果不稳定或者有静电之类的,如果与电路板地直接连接,就会打坏电路板芯片,加入电容,就能把低频高压,静电之类的隔离起来,保护电路板。电路高频干扰之类的会被电容直接接外壳,起到了隔直通交的功能。那为什么又加一个1M的电阻呢?这是因为,如果没有这个电阻,电路板内有静电的时候,与大地连接的0.1uF的电容是隔断了与外壳大地的连接,也就是悬空的。这些电荷积累到一定程度,...
一、汇编语言是什么?计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 CPU 到底干了些什么,以及代码的运行步骤,就一定要学习汇编语言。汇编语言不容易学习,就连简明扼要的介绍都很难找到。下面我尝试写一篇最好懂的汇编语言教程,解释 CPU 如何执行代码。我们知道,CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后停下来,等待下一条指令。这些指令都是二进制的,称为操作码(opcode),比如加法指令就是00000011。编译器的作用,就是...
1 FreeRTOS 由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。 相对于C/OS-II、 embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为6.0版。 作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。 FreeRTOS内核支持优先级调度算法...
什么是硬件 狭义来说,一般我们所说的软件和硬件指的是电子领域的。 软件代码也是人编写的,我们所熟知的语言比如C、C++等都是通过编译器翻译成汇编语言,然后汇编语言通过汇编器翻译成二进制机器语言,机器语言操控门电路完成相应的动作。个人觉得,没有硬件,软件就没有存在的意义,硬件是一切的基础,这里可以看出硬件设计是多重要。 但软件和硬件又有明显的区分,至少工作内容区别很大。按照行业内描述硬件属于底层(一般称为底层硬件),软件称为上层(软件又分为:底层驱动、上层业务以及应用层等)。如果非要举个例子来...
我们学习单片机的目的,就是为了进行嵌入式产品的开发。要想学好单片机,首先就得对流程有一个整体了解。 本文,先简要介绍一下单片机应用系统的开发流程。第二阶段:研究其他单片机功能、特点 在掌握好一款单片机原理和应用的基础上,开始学习其他各家单片机,了解其独有的功能和特点。 例如实际工作中若客户要求低成本,那我们可以选用和泰、义隆、华邦等这类台湾芯片;如果客户要求工业级的性能,那么最好从PIC、NEC、飞思卡尔、NXP等这些欧美和日式单片机中选择;若要进行功耗的开发,选用MSP430系列应该有一定优势;...
逆变器的工作原理想象一下,你是一块直流电池,有人拍拍你的肩膀,要求你生产交流电。你会怎么做?如果你产生的所有电流都朝一个方向流出,那么在输出引线上添加一个简单的开关怎么样?非常快速地打开和关闭电流会产生直流脉冲——这至少可以完成一半的工作。为了产生适当的交流电,你需要一个开关,可以让你完全反转电流并每秒执行大约 50-60 次。将自己想象成一块人体电池,每分钟来回交换触点超过 3000 次。这是你需要的一些巧妙的手指操作!从本质上讲,老式机械逆变器可以归结为连接到电力变压器的开关单元。它们组成了一个电磁设备,可以使用两个...
不同的平台的汇编代码是不一样的,最早的汇编在50年代就发明了,比很多人的父母的年龄都大,老掉牙,不用学习怎么写汇编。一个公司有一个人知道怎么写汇编就够了。但要学习读汇编为什么学习汇编?性能 直接翻译为机器语言,性能最高。优秀的C语言效率只能达到汇编的80%左右。其他高级语言跟汇编一比差得更远。语言越高级性能越差。很多bootloader和BIOS用汇编写,汇编操作的是电脑,手机刚刚上电时,硬件和初始化的那些命令,它们的性能的要求比较高,效率高开机速度更快。 分析问题 个人认为,编程人与机器对话,我们写C...
分层思想 分层的思想,并不是什么神秘的东西,事实上很多做项目的工程师本身自己也会在用。看了不少帖子都发现没有提及这个东西,然而分层结构确是很有用的东西,参透后会有一种恍然大悟的感觉。如果说我不懂LCD怎么驱动,那好办,看一下datasheet,参考一下别人的程序,很快就可以做出来。但是如果不懂程序设计的思想的话,会给你做项目的过程中带来很多很多的困惑。 参考了市面上各种各样的嵌入式书籍,MCS-51,AVR ,ARM 等都有看过,但是没有发现有哪本是介绍设计思想的,就算有也是凤毛麟角。写程序不难,但是程序怎么样才能写的...
理解嵌入式从硬件上说 “嵌入”将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。 比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器,可配成支持4个PCI从设备或配成自身为CPI从设备;还集成3个NPE网络处理器引擎,其中两个对...
“ 电路中装设在元件的电源端的电容为去耦电容。”去耦电容 去耦电容是电路中装设在元件的电源端的电容,此电容可以提供较稳定的电源,同时也可以降低元件耦合到电源端的噪声,间接可以减少其他元件受此元件噪声的影响。 在电子电路中,去耦电容和旁路电容都是起到抗干扰的作用,电容所处的位置不同,称呼就不一样了。对于同一个电路来说,(bypass)电容是把输入信号中的高频噪声作为滤除对象,把前级携带的高频杂波滤除,而去耦(decoupling)电容也称退耦电容,是把输出信号的干扰作为滤除对象。去耦电容用在放大电路中不...
遗憾的是,我转正后看到了大家的能力和努力,也意识到在预期的时间内难以达到我想要的高度,最终经过各方面的考虑,决定放弃这个职位,重新回到外企找回适合我的节奏。 依依不舍的离职后,回想起来,觉得我在菊花的经历特别珍贵,所以在此做个记录。01 试用期与加班工资 一般而言,试用期持续的时间为3-6个月,工资、奖金都按正式员工的标准计算。据我所知,唯一的区别在于,试用期的员工,周末加班不能转调休,相当于白加班。 因此,不到最忙的时候,组长(PL)不会叫试用期的员工周末加班,如果非得加班,也会通过...
直接存储器访问(Direct Memory Access),简称DMA。DMA是CPU一个用于数据从一个地址空间到另一地址空间“搬运”(拷贝)的组件,数据拷贝过程不需CPU干预,数据拷贝结束则通知CPU处理。因此,大量数据拷贝时,使用DMA可以释放CPU资源,相关文章推荐:。 在STM32控制器中,芯片采用Cortex-M3架构,总线结构有了很大的优化,DMA占用另外的总线,并不会与CPU的系统总线发生冲突。也就是说,DMA的使用不会影响CPU的运行速度。 DMA数据拷贝过程,典型的有:内存—>内存,内存间拷贝外设—>内存,如uart、spi、i2c等总线接收数据过程...