技术
阻抗匹配(impedance matching)是指信号传输过程中负载阻抗和信源内阻抗之间的特定配合关系。一件器材的输出阻抗和所连接的负载阻抗之间所应满足的某种关系,以免接上负载后对器材本身的工作状态产生明显的影响。对于低频电路和高频电路,阻抗匹配有很大的不同。
在理解阻抗匹配前,先要搞明白输入阻抗和输出阻抗。
<strong>一、 输入阻抗</strong>
输入阻抗是指一个电路输入端的等效阻抗。在输入端上加上一个电压源U,测量输入端的电流I,则输入阻抗Rin就是U/I。你可以把输入端想象成一个电阻的两端,这个电阻的阻值,就是输入阻抗。
<strong>一、使用USART发送数据</strong>
我们在写单片机程序的时候,在Debug时,往往要用到串口输出信息,这是会使用printf打印出我们想要的信息来,但是printf有一个弊端,就是输出打印时间较长。这样在一些对时间精度要求非常高的场合,使用printf将会带来一系列问题,这时,如果使用单片机的USART自定义一个协议,直接发送数据到上位机,将会得到我们想要的效果。
下面对怎样使用USART发送数据做一个整理。
<strong>(一)地址的概念</strong>
1)物理地址:CPU地址总线传来的地址,由硬件电路控制其具体含义。物理地址中很大一部分是留给内存条中的内存的,但也常被映射到其他存储器上(如显存、BIOS等)。在程序指令中的虚拟地址经过段映射和页面映射后,就生成了物理地址,这个物理地址被放到CPU的地址线上。
物理地址空间,一部分给物理RAM(内存)用,一部分给总线用,这是由硬件设计来决定的,因此在32bits地址线的x86处理器中,物理地址空间是2的32次方,即4GB,但物理RAM一般不能上到4GB,因为还有一部分要给总线用(总线上还挂着别的许多设备)。在PC机中,一般是把低端物理地址给RAM用,高端物理地址给总线用。
<font color="#33b1c8"><strong>问题描述:</strong></font>
某客户反馈, 当 MCU 频繁的正常通断电的时候。FLASH 被异常改写,出现各种各样的异常(整片别擦除、中断向量表被改写为 0、写保护被清掉、被加上读保护 ……..)
<font color="#33b1c8"><strong>问题调研:</strong></font>
首先跟客户沟通:
• 他们是延续之前的项目,进行的一些软硬件简单修改。之前的项目没有出现过类似的问题。
• 确认通断电的时间是足够,就是说他们断电后所有的 VDD 都回到 0.上电的时序也是正常。
<strong>一、RCC是什么?</strong>
RCC: Reset Clock Control,时钟和复位控制器
<strong>二、RCC的主要作用</strong>
1、设置系统时钟SYSCLK
2、设置AHB分频因子(决定HCLK等于多少)
3、设置APB2分频因子(决定PCLK2等于多少)
4、设置APB1分频因子(决定PCLK1等于多少)
5、设置各个外设的分频因子
6、控制AHB、APB2和APB1三条总线时钟的开启、控制每个外设时钟的开启。
注意:STM32库函数中时钟的标准配置为PCLK2=HCLK=SYSCLK=PLLCLK=72M,PCLK1=HCLK/2=36M
锂电池(可充型)之所以需要保护,是由它本身特性决定的。由于锂电池本身的材料决定了它不能被过充、过放、过流、短路及超高温充放电,因此锂电池锂电组件总会跟着一块精致的保护板和一片电流保险器出现。
锂电池的保护功能通常由保护电路板和PTC等电流器件协同完成,保护板是由电子电路组成,在-40℃至+85℃的环境下时刻准确的监视电芯的电压和充放回路的电流,及时控制电流回路的通断;PTC在高温环境下防止电池发生恶劣的损坏。
普通锂电池保护板通常包括控制IC、MOS开关、电阻、电容及辅助器件FUSE、PTC、NTC、ID、存储器等。其中控制IC,在一切正常的情况下控制MOS开关导通,使电芯与外电路导通,而当电芯电压或回路电流超过规定值时,它立刻控制MOS开关关断,保护电芯的安全。
<strong>1、SysTick的介绍</strong>
SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律。
<table bgcolor="#ffffff" border="2" cellpadding="0" cellspacing="0" style="width: 632px;">
<tbody>
<tr id="fps0">
<td height="16" width="68">名称</td>
<td id="fps1" style="width: 51px;" width="64">封装</td>
51系列单片机内部主要有四大功能模块,分别是I/O口模块、中断模块、定时器模块和串口通信模块(串行I/O口)。51开发的重点其实就是对这四个部分进行具体的开发,而其对这四个模块的开发实质则又是能否对每个模块所对应寄存器的正确操纵。
单片机的内部结构可以大概归纳如下图:四大功能模块相关的寄存器又可分为四大部分:
I/O口相关:P1 P2 P3 P4
中断相关:IP IE
定时器相关:TMOD TCON TL0、TH0、TL1、TH1
串口通信相关:PCON SBUF
<strong>1、数字滤波器</strong>
数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,它本身即可以是用数字硬件装配成的一台完成给定运算的专用数字计算机,也可以是将所需运算编成程序,让通用计算机来执行。
数字滤波器具有稳定性高、精度高、灵活性大等优点。随着数字技术的发展,用数字技术实现滤波器的功能越来越受到人们的注意和广泛的应用。
<strong>2、巴特沃斯滤波器</strong>
SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。
SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。
上升沿发送、下降沿接收、高位先发送。
上升沿到来的时候,sdo上的电平将被发送到从设备的寄存器中。
下降沿到来的时候,sdi上的电平将被接收到主设备的寄存器中。
1 引言
PWM 开关稳压或稳流电源基本工作原理就是在输入电压变化、内部参数变化、外接负载变化的情况下,控制电路通过被控制信号与基准信号的差值进行闭环反馈,调节主电路开关器件的导通脉冲宽度,使得开关电源的输出电压或电流等被控制信号稳定。 PWM 的开关频率一般为恒定,控制取样信号有:输出电压、输入电压、输出电流 、输出电感电压、开关器件峰值电流。由这些信号可以构成单环、双环或多环反馈系统 ,实现稳压、稳流及恒定功率的目的,同时可以实现一些附带的过流保护、抗偏磁、均流等功能。现在主要有五种 PWM 反馈控制模式。下面以 VDMOS 开关器件构成的稳压正激型降压斩波器为例,说明五种PWM反馈控制模式的发展过程、基本工作原理、详细电路原理示意图、波形、特点及应用要点,以利于选择应用及仿真建模研究。
2 开关电源 PWM 的五种反馈控制模式
首先什么是执行效率。我们平常所说的执行效率就是使用相同的算法在相同输入条件下完成相同计算所产生的系统开销,目前来说一般会更多关注执行时间方面的开销。所有语言编写的代码最终要运行,都要转化成机器码。在更短的时间内完成相同的事那么效率就高。
关于如何提高C语言程序的执行效率,有如下建议:
<strong>1.尽量避免调用延时函数</strong>
这是嵌入式开发中常用的几个专业术语,其诞生的背景和其具体作用大概如下
在很久很久以前,那是8051单片机流行的时代,做单片机开发都需要一个专用工具,就是单片机的编程器,或者叫烧写器。说“烧”写一点不为过,当年的经典芯片AT89C51在编程时需要十几伏的高电压,加在一个特定的引脚上,才能进入编程。对于某款芯片的编程,都有一个特定的时序,这个时序通常在芯片的datasheet里进行描述并以硬件实现。另外在编程器里的也有一个MCU,这其中使用软件产生这个时序,从而对目标芯片进行编程。电脑通过串口把程序发到编程器,编程器按照规定的时序把程序送入目标芯片。
数据传送指令共有29条,数据传送指令一般的操作是把源操作数传送到目的操作数,指令执行完成后,源操作数不变,目的操作数等于源操作数。
如果要求在进行数据传送时,目的操作数不丢失,则不能用直接传送指令,而采用交换型的数据传送指令,数据传送指令不影响标志C,AC和OV,但可能会对奇偶标志P有影响。
<strong>以累加器A为目的操作数类指令(4条)</strong>
我们现今使用的网络接口均为以太网接口,目前大部分处理器都支持以太网口。目前以太网按照速率主要包括10M、10/100M、1000M三种接口,10M应用已经很少,基本为10/100M所代替。目前我司产品的以太网接口类型主要采用双绞线的RJ45接口,且基本应用于工控领域,因工控领域的特殊性,所以我们对以太网的器件选型以及PCB设计相当考究。从硬件的角度看,以太网接口电路主要由MAC(Media Access Controlleroler)控制和物理层接口(Physical Layer,PHY)两大部分构成。大部分处理器内部包含了以太网MAC控制,但并不提供物理层接口,故需外接一片物理芯片以提供以太网的接入通道。面对如此复杂的接口电路,相信各位硬件工程师们都想知道该硬件电路如何在PCB上实现。
仿生机器鱼实验平台属于教育部和北京邮电大学共同出资支持的一项“国家级大学生创新性实验计划”项目,是一个集光、机、电、流体、智能于一体的实验平台,研究内容包括:仿生机器鱼机械结构的研究,推荐效率的研究以及控制性能的研究。
<strong>1、仿生机器鱼平台简介:</strong>
设计制作的机器鱼模仿鲹科鱼类的外形,头部采用刚性结构的塑料材料。其形状采用流线型,模仿真鱼鱼头的形状和大小比例。在鱼头的内部空间里安装电源及控制电路,并在鱼头两侧鱼眼处及在头前部的偏下侧安装了3 个红外传感器,构成了一个探测左、前、右三个方向的传感器网络,让鱼具有自助避障的功能。
图中精密全波整流电路的名称,纯属本人命的名,只是为了区分;除非特殊说明,增益均按1设计。
电路,优点是可以在电阻R5上并联滤波电容。电阻匹配关系为 R1 = R2,R4 = R5 = 2R3;可以通过更改R5来调节增。
启动代码通常都烧写在flash中,它是系统一上电就执行的一段程序,它运行在任何用户c代码之前。上电后,arm处理器处于arm态,运行于管理模式,同时系统所有中断被禁止,pc到地址0处取指令执行。一个可执行映像文件必须有个入口点,而能放在rom起始处的映像文件的入口地址也必须设置为0。
在汇编语言中,我们已经说过怎样定义一个程序的入口点,当工程中有多个入口点时,需要在连接器中使用-entry指出程序的入口点。如果用户创建的程序中,包含了main函数,则与c库初始化代码对应的也会有个入口点。
总的来说,启动代码主要完成两方面的工作,一是初始化执行环境,例如中断向量表、堆栈、i/o等;二是初始化c库和用户应用程序。
在第一阶段,启动代码的人物可以描述为:
FLASH 和EEPROM的最大区别是FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有 FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。