FPGA学习系列:15. 呼吸灯(pwm)龙8国际下载

FPGA学习交流 2018-06-13 11:21 次阅读
龙8国际下载背景:     呼吸灯广泛应用于手机之上,并成为各大品牌新款手机的卖点之一。如果手机里面有未处理的通知,比如说未接来电,未查收的短信等等,呼吸灯就会在控制之下完成由亮到暗的逐渐变化,感觉好像是人在呼吸起到一个通知提醒的作用。   龙8国际下载原理:      关于呼吸灯龙8国际下载实现的理论主要是PWM有关知识。PWMPluse Width Modulation)脉冲宽度调制,是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。并广泛应用在从测量、通信、功率控制与变换及LED照明等许多领域中。顾名思义,就是占空比可调的信号,那么什么是占空比呢?     占空比(Duty Cycle or Duty Ratio),可以解释为,在一脉冲序列中(方波),正脉冲序列的持续时间与脉冲总周期的比值。也可理解为,电路释放能量的有效时间与总释放时间的比值。     PWM是怎样实现调光呢?想要调节LED的亮度变化,实则是调节控制流经LED的电流。电流增大则LED亮度增强,反之减弱。但由于电流为模拟信号,所以这时就用到了PWM。正如下图所示:     image.png     使用一系列等幅不等宽的脉冲来代替一个正弦波,脉冲的宽度根据正弦波a的幅度变化,幅度高,则脉冲宽,反之。         多数负载需要的PWM调制频率都高于10Hz,要想实现呼吸灯的效果必须提高调制频率,通常调制频率为1Khz~200Khz之间。在LED控制中PWM作用于电源部分,脉宽调制的脉冲频率通常大于100Hz,人眼就不会感到闪烁。这里我们取PWM调制频率为1KHzPWM周期为1ms     脉冲频率一定时,输出脉冲的占空比越大,相当于输出的有效电平越大,随着占空比的不同,LED的亮度也将不同。如占空比为0时,则LED不亮,为100%时,则LED最量,我们让占空比从0~100%变化,再从100%~0不断变化,则就可实现呼吸灯效果。     本龙8国际下载呼吸灯的一个周期为2s,分为占空比增“吸”和占空比减“呼”两种模式,每个为1s,一个PWM周期为2ms,所以每个模式包含1000PWM周期,将每个PWM周期分为1000份,即每个时间段2us   龙8国际下载架构图:     时钟50M     image.png 龙8国际下载代码: 龙8国际下载模块 0  module huxi_led_state(clk,led,rst_n); 1   input clk; 2   input rst_n; 3   4   output reg led; 5   6   parameter T = 100_000; 7   8   localparam s0 = 1'b0; 9   localparam s1 = 1'b1; 10  11  reg [25:0] lw; 12  reg [25:0] hw; 13  14  reg [16:0] count; 15  16  // 产生2MS的脉冲 17  always @(posedge clk or negedge rst_n) 18   if(!rst_n) 19    begin 20     count <= 1'b0; 21    end 22   else 23    begin 24     if(count == T - 1) 25      begin 26       count <= 1'b0; 27      end 28     else 29      begin 30       count <= count + 1'b1; 31      end 32    end 33  34  wire flag; 35  assign flag =(count == T - 1) ? 1'b1:1'b0; 36  37  reg state; 38  39  // 通过在一个周期中加减高低电平的时间来产生PWM 40  always @(posedge clk or negedge rst_n) 41   if(!rst_n) 42    begin 43     lw <= T - 100; 44     hw <= 100; 45     state <= 1'b0; 46    end 47   else 48    begin 49     case (state) 50      s0:begin 51        if(flag && (lw > 100))   //判断低电平的时间 52         begin 53          lw <= lw - 100; 54          hw <= hw + 100; 55          state <= s0; 56         end 57        else if(flag && (lw == 100)) 58         begin 59          hw <= hw - 100; 60          lw <= lw + 100; 61          state <= s1; 62         end 63        else 64         begin 65          hw <= hw; 66          lw <= lw; 67          state <= s0; 68         end 69       end 70      s1:begin 71        if(flag && (hw > 100))   //判断高电平的时间 72         begin 73          hw <= hw - 100; 74          lw <= lw + 100; 75          state <= s1; 76         end 77        else if(flag && (hw ==100))    78         begin 79          hw <= hw + 100; 80          lw <= lw - 100; 81          state <= s0; 82         end 83        else 84         begin 85          hw <= hw; 86          lw <= lw; 87          state <= s1; 88         end 89       end 90     default : state <= s0; 91     endcase 92    end 93  94  reg [25:0] cnt; 95  reg sum; 96  97  //分频模块,产生不同占空比的LED亮的时间 98  always @(posedge clk or negedge rst_n) 99   if(!rst_n) 100   begin 101    sum <= 1'b0; 102    led <= 1'b1; 103    cnt <= 1'b0;  104   end 105  else 106    case (sum) 107     s0:begin 108       if(cnt < hw -1 )   //高电平的时间 109        begin 110         led <= 1'b0; 111         cnt <= cnt + 1'b1; 112        end 113       else 114        begin 115         cnt <= 1'b0; 116         sum <= s1; 117        end 118      end 119     s1:begin 120       if(cnt < lw -1) //低电平的时间 121        begin 122         led <= 1'b1; 123         cnt <= cnt + 1'b1; 124        end 125       else 126        begin 127         cnt <= 1'b0; 128         sum <= s0; 129        end 130      end 131     default:sum <= s0; 132    endcase 133 134 endmodule    测试模块 0 `timescale 1ns/1ps  1  module huxi_led_state_tb(); 2  reg clk; 3  reg rst_n; 4  5  wire led; 6  7  parameter T = 100_000; 8  9  initial begin  10   clk = 1'b1; 11   rst_n = 1'b0; 12 13   #200.1 rst_n = 1'b1; 14 15 16  end 17 18  always #10 clk = ~ clk;  19 20 21 22 huxi_led_state  huxi_led_state_date(  //例化龙8国际下载 23     .clk(clk), 24     .led(led), 25     .rst_n(rst_n) 26     ); 27 endmodule    仿真图: image.png
    
    仿真中可以看到点亮led等高电平在不停的增高,然后会降低,通过验证我们的龙8国际下载是正确的。
 

热门推荐

收藏 人收藏
分享:

评论

相关推荐

这种可编程衰减器最高可支持8×8输入输出的矩阵结构

可编程衰减器位于基站和终端之间,通过对射频信号的衰减控制,实现对无线信号的模拟,从而实现对测试场景的....
发表于 06-17 14:02 4次 阅读
这种可编程衰减器最高可支持8×8输入输出的矩阵结构

了解LatticeECP3 FPGA低功耗测量

看看LatticeECP3 FPGA的功耗是多么的低,无论是在实验室中测量,还是利用莱迪思的功耗计算....
的头像 Lattice视频 发表于 06-15 13:36 79次 观看
了解LatticeECP3 FPGA低功耗测量

介绍LatticeECP3 CPRI 的特点及解决方案

随着无线通信设备对低功耗低成本平台需求的日益增长, LatticeECP3 FPGA 成为降低器件成....
的头像 Lattice视频 发表于 06-15 13:26 76次 观看
介绍LatticeECP3 CPRI 的特点及解决方案

介绍MachXO迷你开发套件的特点与应用

看看利用MachXO迷你开发工具套件来龙8国际下载MachXO可编程逻辑器件是多么容易。 MachXO器件是....
的头像 Lattice视频 发表于 06-15 13:14 79次 观看
介绍MachXO迷你开发套件的特点与应用

数据中心芯片市场已经不断火热,竞争也日益激烈化

去年10月,英特尔发布了搭载英特尔Arria 10GX FPGA芯片的可编程加速卡;今天,戴尔和富士....
的头像 39度创意研究所 发表于 06-15 10:45 131次 阅读
数据中心芯片市场已经不断火热,竞争也日益激烈化

介绍FPGA市场发展

2011年12月,Lattice收购了Silicon Blue,斥资6300万美元,使Lattice....
的头像 Lattice视频 发表于 06-15 09:46 69次 观看
介绍FPGA市场发展

你好,DM368中 请问怎么使IPIPEIF、ISIF产生中断信号?

发表于 06-15 02:32 39次 阅读
你好,DM368中  请问怎么使IPIPEIF、ISIF产生中断信号?

Lattice公司FPGA产品三大定位

Lattice公司总裁兼CEO Bruno Guilmart说,该公司FPGA产品定位叁大块:中等密....
的头像 Lattice视频 发表于 06-15 01:49 68次 观看
Lattice公司FPGA产品三大定位

基于omapl138的uart2和FPGA通讯,请问如何修改arm Linux内核的配置?

发表于 06-15 00:07 29次 阅读
基于omapl138的uart2和FPGA通讯,请问如何修改arm Linux内核的配置?

你一定想知道FPGA的那些事...

作者:张泽小脚丫STEP 导读:FPGA(Field Programmable Gate Array....
发表于 06-14 13:35 221次 阅读
你一定想知道FPGA的那些事...

利用FPGA的可编程性和Java平台良好的移植性的嵌入式系统平台

传统的嵌入式系统龙8国际下载的主要目标是找到一种优化的体系结构来完成单一的,特定的功能。对这样的系统来说,A....
发表于 06-14 09:16 43次 阅读
利用FPGA的可编程性和Java平台良好的移植性的嵌入式系统平台

用FPGA来实现控制电阻的提供的龙8国际下载过程

本文介绍了用FPGA来实现控制电阻的提供,用软件的方式来龙8国际下载硬件,龙8国际下载过程中可用有关软件进行各种仿真....
发表于 06-14 09:06 46次 阅读
用FPGA来实现控制电阻的提供的龙8国际下载过程

一种基于fpga的多轴控制器,可以控制多轴电机的运动

介绍了一种基于fpga的多轴控制器,控制器主要由arm7(LPC2214)和fpga(EP2C5T1....
发表于 06-14 08:24 46次 阅读
一种基于fpga的多轴控制器,可以控制多轴电机的运动

可重构体系结构的异构加速器的发展和应用

近年来,在体系结构的顶级国际会议上,涌现了一批以可重构体系结构为基础的异构加速器工作,成为学术界的研....
发表于 06-13 15:49 94次 阅读
可重构体系结构的异构加速器的发展和应用

为应用选择最佳可编程SoC时进行的六个龙8国际下载考虑

SoC FPGA器件在一个器件中同时集成了处理器和FPGA体系结构。将两种龙8娱乐城官网合并起来具有很多优点,....
发表于 06-13 14:59 115次 阅读
为应用选择最佳可编程SoC时进行的六个龙8国际下载考虑

请问UART与MAC之间如何发送接收信息?

发表于 06-13 14:08 96次 阅读
请问UART与MAC之间如何发送接收信息?

FPGA学习系列:13. 任意分频器龙8国际下载

龙8国际下载背景: 分频在 fpga的龙8国际下载中一直都担任着很重要的角色,而说到分频,我相信很多人都已经想到了利....
的头像 FPGA学习交流 发表于 06-13 11:21 462次 阅读
FPGA学习系列:13. 任意分频器龙8国际下载

FPGA学习系列:14. 锁相环pll龙8国际下载

龙8国际下载背景: 在我们龙8国际下载工程中我们会用到100M,500M等时钟,如果我们的晶振达不到我们就需要倍频,....
的头像 FPGA学习交流 发表于 06-13 11:21 603次 阅读
FPGA学习系列:14. 锁相环pll龙8国际下载

FPGA学习系列:16. rom控制器龙8国际下载

龙8国际下载背景: ROM是只读存储器(Read-Only Memory)的简称,是一种只能读出事先所存数据....
的头像 FPGA学习交流 发表于 06-13 11:21 383次 阅读
FPGA学习系列:16. rom控制器龙8国际下载

补充: FPGA产生基于LFSR的伪随机数

大家好,又到了每日学习的时间了,上一篇《荐读:基于FPGA 的CRC校验码生成器》文中,提到了要实现....
的头像 FPGA学习交流 发表于 06-13 11:21 397次 阅读
补充: FPGA产生基于LFSR的伪随机数

FPGA学习系列:12. 边沿检测龙8国际下载

龙8国际下载背景: 在我们工程龙8国际下载中,有时会需要到上升沿和下降沿这么一个说法,通过上升沿和下降沿来驱动一个电....
的头像 FPGA学习交流 发表于 06-13 11:20 312次 阅读
FPGA学习系列:12. 边沿检测龙8国际下载

荐读:基于FPGA 的CRC校验码生成器

大家好,又到了每日学习的时间了,今天我们来聊一聊基于FPGA 的CRC校验码生成器。下面咱们就来具体....
的头像 FPGA学习交流 发表于 06-13 11:18 323次 阅读
荐读:基于FPGA 的CRC校验码生成器

Web Installer提供的各种特性及龙8国际下载方法

你有没有注意到在Netflix流媒体视频播放时,有时候视频模糊,然后很快恢复到高质量? 你知道Net....
的头像 FPGA开发圈 发表于 06-13 09:19 366次 阅读
Web Installer提供的各种特性及龙8国际下载方法

DE2-115详细中文数据手册免费下载

DE2-115 套装包含了所有使用开发板会用到的器件资源,您额外需要的仅是一台装有微软视窗操作系统的....
发表于 06-13 08:00 28次 阅读
DE2-115详细中文数据手册免费下载

FPGA定点小数的常规格式、相对于浮点小数的优势与劣势和计算的概述

所谓定点小数,就是小数点固定地隐含在某一位置上的数据。由于小数点的位置是固定的,所以就没有必要储存它....
的头像 电子龙8娱乐城官网应用ChinaAET 发表于 06-12 19:34 290次 阅读
FPGA定点小数的常规格式、相对于浮点小数的优势与劣势和计算的概述

关于主流深度学习芯片的优缺点分析

深度学习全称深度神经网络,本质上是多层次的人工神经网络算法,即模仿人脑的神经网络,从最基本的单元上模....
的头像 39度创意研究所 发表于 06-12 09:46 505次 阅读
关于主流深度学习芯片的优缺点分析

如何在SDK系统中添加新的目标配置

赛灵思SDK允许您使用远程主机中的赛灵思硬件服务器来调试远程目标设备.....
的头像 FPGA开发圈 发表于 06-12 09:11 524次 阅读
如何在SDK系统中添加新的目标配置

FPGA龙8国际下载的WNS太高怎么办?五个窍门帮你打赢FPGA优化战役!

发表于 06-11 16:11 209次 阅读
FPGA龙8国际下载的WNS太高怎么办?五个窍门帮你打赢FPGA优化战役!

verilog 如何驱动AD9280采集电压

发表于 06-11 15:56 182次 阅读
verilog 如何驱动AD9280采集电压

推荐:如何看懂电路原理图

大家好,又到了每日学习的时间了,今天我们来聊一聊如何去看懂电路原理图。 电器修理、电路龙8国际下载都是要通过....
的头像 FPGA学习交流 发表于 06-11 15:15 695次 阅读
推荐:如何看懂电路原理图

如何区分同步复位和异步复位?

问:如何区分同步复位和异步复位?可以理解为同步复位是作用于状态,然后通过状态来驱动电路复位的吗(这样....
的头像 FPGA学习交流 发表于 06-11 15:15 453次 阅读
如何区分同步复位和异步复位?

几幅图弄清DFT、DTFT和DFS的关系

大家好,又到了每日学习的时间了,今天咱们来聊一聊数字信号处理中DFT、DTFT和DFS的关系,咱们通....
的头像 FPGA学习交流 发表于 06-11 15:15 500次 阅读
几幅图弄清DFT、DTFT和DFS的关系

荐读:如何学习FPGA

大家好。又到了每日学习的时候了,近期很多人问我该如何去学FPGA,那么今天咱们就来聊一聊。 一、入门....
的头像 FPGA学习交流 发表于 06-11 15:15 739次 阅读
荐读:如何学习FPGA

C语言包括哪些东西?哪些部分重要,哪些部分需要着重理解?

大家好,又到了每日学习时间了,学习过 verilog HDL 的各位都知道其和C语言有点类似,那今天....
的头像 FPGA学习交流 发表于 06-11 15:15 222次 阅读
C语言包括哪些东西?哪些部分重要,哪些部分需要着重理解?

如何使用 Nios II 处理器进行你中意的龙8国际下载之第二部分教程

使用 Nios II 处理器进行龙8国际下载”第二部分
的头像 英特尔 Altera视频 发表于 06-11 14:36 423次 观看
如何使用 Nios II 处理器进行你中意的龙8国际下载之第二部分教程

如何使用FPGA控制ADC0809龙8国际下载一个量程为5V的数字电压表详细资料概述

使用FPGA控制ADC0809,龙8国际下载一个量程为5V的数字电压表。要求采用3位数码管显示电压值,可以显....
发表于 06-11 08:00 28次 阅读
如何使用FPGA控制ADC0809龙8国际下载一个量程为5V的数字电压表详细资料概述

FPGA如何对EM636165TS-6G进行初始化使其进入正常工作状态?

发表于 06-10 20:28 123次 阅读
FPGA如何对EM636165TS-6G进行初始化使其进入正常工作状态?

GPU和FPGA优缺点的对比详细概述你现在要开始了解FPGA了

谈谈GPU与FPGA的一些看法
的头像 FPGA极客空间 发表于 06-10 11:44 1181次 阅读
GPU和FPGA优缺点的对比详细概述你现在要开始了解FPGA了

FPGA工程师的成长轨迹分析

搞定时序分析和约束– 看懂RTL视图和Technology视图第三阶段:从业 -> 专业从产品需求....
的头像 EDN电子龙8娱乐城官网龙8国际下载 发表于 06-09 09:05 403次 阅读
FPGA工程师的成长轨迹分析

纯数字电路的FPGA,实现平方根是比较麻烦的

如图,使用CORDIC算法计算平方根,FPGA资源的使用情况。逻辑单元使用了10%,乘法器使用的6个....
的头像 FPGA极客空间 发表于 06-08 14:40 350次 阅读
纯数字电路的FPGA,实现平方根是比较麻烦的

FPGA龙8国际下载中的RAM的两种实现方法

大家好,又到了每日学习的时间了,今天我们来聊一聊在FPGA龙8国际下载中RAM的两种使用方法,RAM是用来在....
的头像 FPGA学习交流 发表于 06-08 11:30 740次 阅读
FPGA龙8国际下载中的RAM的两种实现方法

基于FPGA vivado 17.2 的数字钟龙8国际下载

基于FPGA vivado 17.2 的数字钟龙8国际下载
的头像 FPGA学习交流 发表于 06-08 09:41 679次 阅读
基于FPGA vivado 17.2 的数字钟龙8国际下载

基于matlab FPGA verilog的FIR滤波器龙8国际下载

本例程实现8阶滤波器,9个系数,由于系数的对称性,h(0)=h(8),h1(1)=h(7),h(2)....
的头像 FPGA学习交流 发表于 06-08 09:41 817次 阅读
基于matlab FPGA verilog的FIR滤波器龙8国际下载

ISE龙8国际下载流程简介--华清远见fpga培训视频教程

本视频教程主要主要介绍Xilinx公司开发龙8国际下载流程中的各个功能模块,包括ISE中的龙8国际下载输入,综合,设....
的头像 EE techvideo 发表于 06-08 02:35 238次 观看
ISE龙8国际下载流程简介--华清远见fpga培训视频教程

fpga Default Latch FPGA龙8国际下载的独热码的使用和调试技巧的详细概述

发表于 06-07 17:57 204次 阅读
fpga Default Latch FPGA龙8国际下载的独热码的使用和调试技巧的详细概述

几个FPGA时序优化简单技巧

发表于 06-07 17:55 207次 阅读
几个FPGA时序优化简单技巧

人工long8龙8国际pt进入“大航海时代”

人工long8龙8国际pt也从一场龙8娱乐城官网革命,逐渐走向了产业落地。long8龙8国际pt手机、long8龙8国际pt家居设备、long8龙8国际pt音箱……等设备,已经完全进....
的头像 芯师爷 发表于 06-07 17:16 1067次 阅读
人工long8龙8国际pt进入“大航海时代”

AI计算的几条路线,微软为什么选择FPGA?

做芯片主要的缺点是投资大、时间周期长,芯片做好后里面的逻辑就不能修改。人工long8龙8国际pt的算法一直在快速迭代,....
的头像 ssdfans 发表于 06-07 16:40 487次 阅读
AI计算的几条路线,微软为什么选择FPGA?

8 忠告 FPGA系统龙8国际下载时序检查问题

发表于 06-07 15:52 253次 阅读
8 忠告 FPGA系统龙8国际下载时序检查问题

FPGA学习系列:11. 按键消抖龙8国际下载

龙8国际下载背景:在我们的工程龙8国际下载中我们会或多或少的用到开关,开关分为好多种,不管是哪一种开关在按下还是抬起....
的头像 FPGA学习交流 发表于 06-07 13:51 333次 阅读
FPGA学习系列:11. 按键消抖龙8国际下载

噪声系数与噪声因子

为了衡量电子系统的噪声性能,需要引入噪声因子F(Noise Factor)和噪声系数NF(Noise....
的头像 FPGA学习交流 发表于 06-07 13:51 181次 阅读
噪声系数与噪声因子

NI R series FPGA项目创建,该装的驱动都装了,但是就是没办法创建FPGA项目,请问这是怎么回事?

发表于 06-06 20:22 116次 阅读
NI R series FPGA项目创建,该装的驱动都装了,但是就是没办法创建FPGA项目,请问这是怎么回事?

FPGA的瓶颈被突破,双目的大规模应用即将到来!

R-CAR V3H的运算能力达到4.2TFLOPS,超过Mobileye EyeQ4的3TFLOPS....
的头像 佐思汽车研究 发表于 06-06 10:54 467次 阅读
FPGA的瓶颈被突破,双目的大规模应用即将到来!

应用FPGA来龙8国际下载和实现DES加密算法的详细中文资料概述

随着信息龙8娱乐城官网的发展,计算机应用渗透到社会生活的各个领域,特别是军事的应用,使人们对信息的依赖程度越来....
发表于 06-06 10:00 54次 阅读
应用FPGA来龙8国际下载和实现DES加密算法的详细中文资料概述

莱迪思FPGA在网络边缘计算AI开发方案

FPGA 向来是高大上的形象,即便在人工long8龙8国际pt火热的今天,围绕 FPGA 讨论的焦点也集中在云端的加速....
发表于 06-06 03:04 218次 阅读
莱迪思FPGA在网络边缘计算AI开发方案

Xilinx DocNav工具的使用(文档查询利器)

DocNav(Documentation Navigator)可以看作是Xilinx的文档、视频“集....
发表于 06-05 05:05 99次 阅读
Xilinx DocNav工具的使用(文档查询利器)

基于FPGA龙8国际下载的long8龙8国际pt控制器VHDL龙8国际下载及测试

由于FPGA在long8龙8国际pt控制器方面的大量使用,龙8国际下载后的测试便成了龙8国际下载者在开发过程中必须重点考虑的问题,同时....
发表于 06-04 11:25 190次 阅读
基于FPGA龙8国际下载的long8龙8国际pt控制器VHDL龙8国际下载及测试

FPGA龙8国际下载中的HLS 工具应用

在集成电路行业飞速发展的今天,缩短产品开发的周期而又不牺牲验证过程,这不可避免地成为了商业市场的一个....
发表于 06-04 01:43 168次 阅读
FPGA龙8国际下载中的HLS 工具应用

FPGA人才需求缺口有多大_如何学习FPGA?

FPGA是现场可编程门阵列的简称,FPGA的应用领域最初为通信领域,但目前,随着信息产业和微电子技....
的头像 电子发烧友网工程师 发表于 06-03 05:32 375次 阅读
FPGA人才需求缺口有多大_如何学习FPGA?

兼顾FPGA和单片机

当今,FPGA和单片机的应用非常广泛,在有FPGA知识的基础上,笔者认为可以把FPGA作为主要的学习....
的头像 FPGA极客空间 发表于 06-02 10:39 588次 阅读
兼顾FPGA和单片机