值得收藏系列:开关电源中的专业术语知多少?


1、纹波
• 开关电源的输出并不是真正恒定的,输出存在着周期性的抖动,这些抖动看上去就和水纹一样,称为纹波。
• 纹波可以是电压或电流纹波。
• 最大纹波电压:纹波的峰峰值。
• 纹波系数:交流分量的有效值与直流分量之比。
纹波产生的原因
1、纹波
• 开关电源的输出并不是真正恒定的,输出存在着周期性的抖动,这些抖动看上去就和水纹一样,称为纹波。
• 纹波可以是电压或电流纹波。
• 最大纹波电压:纹波的峰峰值。
• 纹波系数:交流分量的有效值与直流分量之比。
纹波产生的原因
搭载VCSEL的设备将主要包括智能手机、VR/AR耳机以及其他电池供电系统
凭借MPLAB® Harmony图形设计器(简称MHGC)可轻松实现图形用户界面的设计、代码生成、与触摸等事件的交互,以及许多能够针对给定硬件目标进行优化的实用程序。
本文设计的是一款基于单片机的红外智能空调遥控器,这种遥控器能采用测量脉冲宽度的方法学习红外信号,同时使用游程编码算法对数据进行压缩后存储,并利用单片机内部定时器PWM模式产生红外载波,成功实现了对红外遥控的学习与再现。
下面请看详细设计流程。
系统总体结构与硬件设计
贴了两块样板,烧写同样的固件。其中一块工作正常,但是另外一块出现了很奇怪的现象:在线调试正常;每次烧写完后工作正常;重新上电有时候工作正常,有时候工作不正常;工作不正常时,按下复位按键,恢复正常。
工作异常现象:main函数中的系统运行指示灯不闪烁,但是初始化过程中点的一个灯是亮的!说明程序运行一段时间后,不工作了。
由于在线调试模式,板子工作正常,无法通过在线调试的方式判断程序运行的异常状态。
分析可能的原因:
1、初始化过程中,程序陷入死循环。但程序初始化过程中,没有while(1)死循环的代码。
2、板子上电后不断复位,导致无法进入main函数中的while(1)循环。
问题查找:
硬件:
1、确认BOOT0管脚接10kΩ欧电阻下拉到地;
2、RC上电延时复位电路中,R为10kΩ,C由0.1uF改为10uF,现象依旧;
3、MCU3.3V电源纹波很小,排除电源问题。
好像从硬件上查不出什么问题。只能从板子上唯一点亮的灯下手了。
软件:
在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着工程师。为帮助工程师解决单片机设计上的难题,纳出单片机开发中应掌握的几个基本技巧。
一、 如何提高C语言编程代码的效率?
用C语言进行单片机程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。 先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。
各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长 5-20%。
对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统 所能支持的数据类型和算法。
虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作 上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。
二、 如何减少程序中的bug?
Holtek新推出Gas Detector专用MCU–BA45F0096,适合应用在可燃气体侦测产品,如:可燃气侦测报警器、可燃气侦测模块等。
本应用程序将演示如何通过主机(Curiosity PIC32MZ EF 开发板和使用加密模块 ATECC508A 的 Secure
click 板)使用非对称身份验证方法对远程设备进行身份验证,其中主机通过远程设备的公钥来验证远程设
备的签名。本应用程序允许使用配置数据和密钥数据向配置添加信息并配置 Secure click 板。应用程序流
RXv3核实现了5.8 CoreMark/MHz,能够提供最高的嵌入式处理性能和功效
本51项目基于STC89C52MCU,温度传感器为DS18B20,显示模块用的是LCD1602,无线模块用的是Nodemcu。
项目用到的编程语言:C,C++,Lua。