占空比

STM32 CubeMX 学习:004-PWM

╄→尐↘猪︶ㄣ 提交于 2020-03-09 09:51:59
背景 上一讲,我们介绍了STM32有关的定时器,并示范了如何使用定时器来定时。这一讲我们来试试PWM(Pulse Width Modulation, 脉冲宽度调制),这是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。广泛应用在从测量、通信到功率控制与变换的许多领域中。 知识 脉冲调制有两个重要的参数,(在STM32中,这两个因素分别通过两个寄存器控制:TIMX_ARR和TIMX_CCRX) 输出频率,频率越高,则模拟的效果越好。 占空比。占空比就是改变输出模拟效果的电压大小。占空比越大则模拟出的电压越大。 PWM值:在一个周期内,开关管导通时间长短相加的平均值。导通时间越长,则直流输出的平均值越大。(因此,可以等效于模拟电路) PWM输出频率:指这一次导通到下一次导通的时间的倒数。 PWM占空比:指的是输出的PWM中, 高电平 保持的时间 与 该PWM的时钟周期的时间之比。 如,一个PWM的频率是1000Hz(时钟周期就是1ms,1000us),如果高电平出现的时间是200us,那么低电平的时间肯定是800us,那么占空比就是200:1000,也就是说PWM的占空比就是1:5。 PWM分辨率:分辨率也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就是1:255(单斜率),16位的的PWM理论就是1:65535(单斜率)。频率就是这样的,如16位的PWM

时序约束之时钟约束01

淺唱寂寞╮ 提交于 2020-02-13 00:54:22
在同步电路设计中,各功能逻辑单元之间的数据传输由一个同步信号控制,这个执行统一指挥的信号就是时钟信号,因此需要在设计之初创建时钟,基于该时钟频率进行优化设计,使设计性能达到时序收敛的目的。 创建时钟 时钟信号为一个周期性信号,定义时钟需要包括以下主要信息: (1)时钟源点 时钟源点可以根据情况定义为设计中一个端口,一个网络,也可以是一个逻辑单元的PIN脚。为端口时用[get_ports 端口名],为网络时用[get_nets 网络名],为PIN脚时用[get_pins 引脚名]。 (2)时钟周期 时钟周期定义为时钟的震荡周期,为时钟频率的倒数。时钟周期是时序分析中最基本的、最小的时间单元。用{-period period_value}表示 (3)时钟占空比 时钟占空比主要定义时钟高低电平在一个时钟周期内的分布情况。用-[waveform edge_list]表示 通过使用SDC命令creat_clock来创建时钟,比如通过该命令定义一个从CLK端口输出并且时钟周期为10、占空比为50%的时钟信号,命令如下。 creat_clock -period 10 -waveform { 0 5 } [ get_ports clk ] 如上图所示,该命令可以对所有内部触发器到触发器类型的路径进行约束。 (4)命名时钟 每个时钟定义都会给时钟信号命名。用

H7-TOOL多功能开发工具/开源/烧录器/示波器/仿真器/逻辑分析仪

淺唱寂寞╮ 提交于 2020-02-08 15:46:29
淘宝链接: 链接 H7-TOOL的最终目标: 1、为单片机工程师提供一款实用的多功能开发调试工具。 2、相信很多人有带板子回家调试、或带板子出差调试的情况。因为产品问题是无法预知的,多半情况不可能带齐全套测试工具的。经常遇到手边缺万用表、缺示波器、缺串口线、缺逻辑分析仪而导致工作很难继续。 3、H7-TOOL是一款多功能测试工具,体积和J-Link一样大,方便携带。手边常备一个以备不时之需。 H7-TOOL开源项目原理图,上位机源码,BOOT源码,APP源码下载(2020-02-08) http://www.armbbs.cn/forum.php?mod=viewthread&tid=95468 H7-TOOL操作说明书和客户常见问题汇总贴(2020-02-08) http://www.armbbs.cn/forum.php?mod=viewthread&tid=95373 H7-TOOL番外篇,RTX5全家桶一条龙服务固件开工,分纯手持版,高速USB版和网络版(2020-01-13) http://www.armbbs.cn/forum.php?mod=viewthread&tid=95541 软件规格: 1、脱机烧录器 2、双通道虚拟示波器(支持以太网和USB两种方式) 3、8 通道逻辑分析仪 4、USB-RS485 转换器 5、USB-RS232 转换器 6、USB-TTL

红外通信学习笔记2020/01/17

你。 提交于 2020-01-18 23:33:54
红外通信原理 一、红外通信的目的 实现两点间的近距离 保密通信和信息转发 二、红外通信组成 1、红外发射部分 交互(按键、键盘)+编码调制部分+电路 2、光电放大器 (电路转换放大器)+解调+电路 三、红外通信过程 单片机(输出调制)----红外发射电路(发送)----红外接收管(接收解调)------单片机(解码) 四、调制与发射 1、二进制调制 :1、单片机将编码后的二进制信号调制为38KHz的间断脉冲串(相当于二进制信号与38KHz的信号相乘) 2、红外接收解调 :HS0038直接输出解调后的高低电平信号 3、编码 : 红外发射采用PPM编码方式,编码脉冲由前导码、16位地址码(8位地址码、8位地址反码)和16位操作码(8位操作码、8位操作码的反码)组成。 前导码(起始部分) 一个9ms高电平(起始码) 4.5ms低电平(结果码) 数据码 0.56ms脉宽+1.12ms周期= 0 1.68ms脉宽+2.24ms周期=1 五、概念详解 1、红外接收头(分为电平头还有脉冲头) 电平型的:接收连续的38K信号,可以输出连续的低电平,时间可以无限长。其内部放大及脉冲整形是直接耦合的,所以能够接收及输出连续的信号。 脉冲型的:只能接收间歇的38K信号,如果接收连续的38K信号,则几百ms后会一直保持高电平,除非距离非常近(二三十厘米以内)。其内部放大及脉冲整形是电容耦合的

实验三 定时器相关模块实验

时间秒杀一切 提交于 2020-01-11 01:48:18
一.实验目的 (1)熟悉定时中断计时的工作及编程方法 (2)理解定时器模块的输入捕捉、输出比较、脉宽调制(PWM)功能的基本原理。 (3)掌握定时器模块的输入捕捉、输出比较、脉宽调制(PWM)编程方法。 (4)理解 PWM 占空比的含义。 (5)进一步深入理解 MCU 和 C#串口通信的编程方法。 二.实验内容 1.验证性实验 1)验证样例程序(ch07-Timer)中(TPM-Timer),主要功能是实现通过开发板上 TPM0计数,10ms 产生一次中断,每中断 100 次累加计时,并通过调试串口输出“MCU 记录的相对时间:00:00:01”,“00:00:01”为中断记录的时间,同时蓝色指示灯闪烁一次。 实验步骤如下: (1)将样例 TPM-Timer 程序下载至目标板; (2)将“TTL-USB 串口线”的“USB 端口”接 PC 机的 USB 口,串口线的串口接开发板上的串口 2(3 根,RX 接蓝线,TX 接白线,GND 接黑线); (3)打开串口调试工具或 ch06-UART 文件夹中的“C#2010 串口测试程序”进行串口通信测试; (4)分析理解 main.c 程序和中断服务例程 isr.c。 2)验证样例程序(ch07-Timer)中(TPM-incap-outcomp-pwm),主要功能是实现在 TPM1中断服务例程中,改变 TPM1 模块通道 0 占空比

AVR单片机教程——PWM调光

↘锁芯ラ 提交于 2020-01-09 00:56:12
PWM 两位数码管的驱动方式是动态扫描,每一位都只有50%的时间是亮的,我们称这个数值为其占空比。让引脚输出高电平点亮LED,占空比就是100%。 在驱动数码管时,我们迫不得已使占空比为50%,因为不能让两位真正同时地显示不同的数字。但是,我们也可以有意地让LED的占空比不到100%,以降低其亮度。 占空比是可以用程序来调节的。下面的程序允许用户用按键调整蓝色LED的占空比,并通过数码管来显示。 #include <ee1/ee.h> #define DUTY_MAX 9 int main() { led_init(); button_init(PIN_NULL, PIN_NULL); segment_init(PIN_NULL, PIN_8); uint8_t duty = 0; while (1) { if (button_pressed(BUTTON_0) && duty > 0) --duty; if (button_pressed(BUTTON_1) && duty < DUTY_MAX) ++duty; segment_dec(duty); segment_display(SEGMENT_DIGIT_R); for (uint8_t i = 0; i != DUTY_MAX; ++i) { if (i < duty) led_set(LED_BLUE, true);

PWM(Pulse Width Modulation)控制

ε祈祈猫儿з 提交于 2020-01-01 18:03:14
PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值).PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆 变电路中的应用,才确定了它在电力电子技术中的重要地位。 1 PWM相关概念 占空比:就是输出的PWM中,高电平保持的时间 与 该PWM的时钟周期的时间 之比 如,一个PWM的频率是1000Hz,那么它的时钟周期就是1ms,就是1000us,如果高电平出现的时间是200us,那么低电平的时间肯定是800us,那么占空比就是200:1000,也就是说PWM的占空比就是1:5。 分辨率也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就是1:255(单斜率), 16位的的PWM理论就是1:65535(单斜率)。 频率就是这样的,如16位的PWM,它的分辨率达到了1:65535,要达到这个分辨率,T/C就必须从0计数到65535才能达到,如果计数从0计到80之后又从0开始计到80.......,那么它的分辨率最小就是1:80了,但是,它也快了,也就是说PWM的输出频率高了。 双斜率 / 单斜率 假设一个PWM从0计数到80,之后又从0计数到80....... 这个就是单斜率。 假设一个PWM从0计数到80,之后是从80计数到0.....

【连载】 FPGA Verilog HDL 系列实例--------直流电机PWM控制

与世无争的帅哥 提交于 2019-12-22 06:32:57
【连载】 FPGA Verilog HDL 系列实例 Verilog HDL 之 直流电机PWM控制 一、实验前知识准备   在上一篇中总结了步进电机的控制,这次我将学习一下直流电机的控制,首先,我们简要了解下步进电机和直流电机的区别。   (1)步进电机是以步阶方式分段移动,直流电机通常采用连续移动的控制方式。   (2)步进电机采用直接控制方式,它的主要命令和控制变量都是步阶位置;直流电机则是以电机电压为控制变量,以位置或速度为命令变量。   (3)直流电机需要反馈控制系统,他会以间接方式控制电机位置。步进电机系统多半以“开环方式”进行操作。 1、什么是直流电机   输出或输入为直流电能的旋转电机,称为直流电机,它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。 2、什么是PWM   PWM(脉冲宽度调制)是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。 3、开发平台中直流电机驱动的实现   开发板中的直流电机的驱动部分如图1.1所示。利用FPGA设计一个0、1组成的双极性PWM发生器。      

关于verilog分频程序

房东的猫 提交于 2019-12-18 18:41:42
众所周知,分频器是FPGA设计中使用频率非常高的基本设计之一,尽管在目前大部分设计中,广泛使用芯片厂家集成的锁相环资源,如altera 的PLL,Xilinx的DLL.来进行时钟的分频,倍频以及相移。但是对于时钟要求不高的基本设计,通过语言进行时钟的分频相移仍然非常流行,首先这种方法可以节省芯片内部的锁相环资源,再者,消耗不多的逻辑单元就可以达到对时钟操作的目的。另一方面,通过语言设计进行时钟分频,可以看出设计者对设计语言的理解程度。因此很多招聘单位在招聘时往往要求应聘者写一个分频器(比如奇数分频)以考核应聘人员的设计水平和理解程度。下面讲讲对各种分频系数进行分频的方法: 第一,偶数倍分频:偶数倍分频应该是大家都比较熟悉的分频,通过计数器计数是完全可以实现的。如进行N倍偶数分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。以此循环下去。这种方法可以实现任意的偶数分频。 第二,奇数倍分频:奇数倍分频常常在论坛上有人问起,实际上,奇数倍分频有两种实现方法: 首先,完全可以通过计数器来实现,如进行三分频,通过待分频时钟上升沿触发计数器进行模三计数,当计数器计数到邻近值进行两次翻转,比如可以在计数器计数到1时,输出时钟进行翻转,计数到2时再次进行翻转。即是在计数值在邻近的1和2进行了两次翻转

PWM是如何调节直流电机转速的?电机正反转的原理又是怎样的?

让人想犯罪 __ 提交于 2019-12-18 04:03:13
电机是重要的执行机构,可以将电转转化为机械能,从而驱动北控设备的转动或者移动,在我们的生活中应用非常广泛。例如,应用在电动工具、电动平衡车、电动园林工具、儿童玩具中。直流电机的实物图如下图所示。 1-直流电机实物图 对于普通的直流电机,在其两个电极上接上合适的直流电源后,电机就可以满速转动,电源反接后,电机就反向转动。但是在实际应用中,我们需要电机工作在不同的转速下,该如何操作呢? 1 直流电机的调速原理 我们可以做这样的实验,以24V直流电机为例,在电机两端接上24V的直流电源,电机会以满速转动,如果将24V电压降至2/3即16V,那么电机就会以满速的2/3转速运转。由此可知,想要调节电机的转速,只需要控制电机两端的电压即可。 以三极管作为驱动器件驱动小功率的电机,其电路原理图如下图所示。电机作为负载接在三极管的集电极上,基极由单片机控制。 2-直流电机调速原理图 当单片机输出高电平时,三极管导通,使得电机得电,从而满速运行;当单片机输出低电平时,三极管截止,电机两端没有电压,电机停止转动。那如何使电机两端的电压发生变化,进而控制电机的转速呢? 只要单片机输出占空比可调的方波,即PWM信号即可控制电机两端的电压发生变化,从而实现电机转速的控制。 2 PWM信号调速的原理 所谓PWM,就是脉冲宽度调制技术,其具有两个很重要的参数:频率和占空比。频率,就是周期的倒数;占空比