国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的呼吸燈設(shè)計(jì)(附源工程)

FPGA技術(shù)江湖 ? 來(lái)源:FPGA技術(shù)江湖 ? 2025-01-16 10:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

設(shè)計(jì)背景

呼吸燈廣泛應(yīng)用于手機(jī)之上,并成為各大品牌新款手機(jī)的賣(mài)點(diǎn)之一。如果手機(jī)里面有未處理的通知,比如說(shuō)未接來(lái)電,未查收的短信等等,呼吸燈就會(huì)在控制之下完成由亮到暗的逐漸變化,感覺(jué)好像是人在呼吸,起到一個(gè)通知提醒的作用。

設(shè)計(jì)原理

關(guān)于呼吸燈設(shè)計(jì)實(shí)現(xiàn)的理論主要是PWM有關(guān)知識(shí)。PWM(Pluse Width Modulation)脈沖寬度調(diào)制,是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過(guò)高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來(lái)對(duì)一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。并廣泛應(yīng)用在從測(cè)量、通信、功率控制與變換及LED照明等許多領(lǐng)域中。顧名思義,就是占空比可調(diào)的信號(hào),那么什么是占空比呢?

占空比(Duty Cycle or Duty Ratio),可以解釋為,在一脈沖序列中(方波),正脈沖序列的持續(xù)時(shí)間與脈沖總周期的比值。也可理解為,電路釋放能量的有效時(shí)間與總釋放時(shí)間的比值。

PWM是怎樣實(shí)現(xiàn)調(diào)光呢?想要調(diào)節(jié)LED的亮度變化,實(shí)則是調(diào)節(jié)控制流經(jīng)LED的電流。電流增大則LED亮度增強(qiáng),反之減弱。但由于電流為模擬信號(hào),所以這時(shí)就用到了PWM。正如下圖所示:

e46d969a-d2db-11ef-9310-92fbcf53809c.png

使用一系列等幅不等寬的脈沖來(lái)代替一個(gè)正弦波,脈沖的寬度根據(jù)正弦波a的幅度變化,幅度高,則脈沖寬,反之。

多數(shù)負(fù)載需要的PWM調(diào)制頻率都高于10Hz,要想實(shí)現(xiàn)呼吸燈的效果,必須提高調(diào)制頻率,通常調(diào)制頻率為1Khz~200Khz之間。在LED控制中PWM作用于電源部分,脈寬調(diào)制的脈沖頻率通常大于100Hz,人眼就不會(huì)感到閃爍。這里我們?nèi)WM調(diào)制頻率為1KHz,PWM周期為1ms。

脈沖頻率一定時(shí),輸出脈沖的占空比越大,相當(dāng)于輸出的有效電平越大,隨著占空比的不同,LED的亮度也將不同。如占空比為0時(shí),則LED不亮,為100%時(shí),則LED最亮,我們讓占空比從0~100%變化,再?gòu)?00%~0不斷變化,則就可實(shí)現(xiàn)呼吸燈效果。

本設(shè)計(jì)呼吸燈的一個(gè)周期為2s,分為占空比增“吸”和占空比減“呼”兩種模式,每個(gè)為1s,一個(gè)PWM周期為2ms,所以每個(gè)模式包含1000個(gè)PWM周期,將每個(gè)PWM周期分為1000份,即每個(gè)時(shí)間段2us。

設(shè)計(jì)框架

設(shè)計(jì)框架圖: 50M時(shí)鐘

e48b8a6a-d2db-11ef-9310-92fbcf53809c.png

設(shè)計(jì)代碼

設(shè)計(jì)模塊huxi_led_state代碼:

module huxi_led_state(clk,led,rst_n);
  input clk;
  input rst_n;
  
  output reg led;
  
  parameter T = 100_000;
  
  localparam s0 = 1'b0;
  localparam s1 = 1'b1;
  
  reg [25:0] lw;
  reg [25:0] hw;
  
  reg [16:0] count;
  
  // 產(chǎn)生2MS的脈沖
  always @(posedge clk or negedge rst_n)
    if(!rst_n)
      begin
        count <= 1'b0;
      end
    else
      begin
        if(count == T - 1)
          begin
            count <= 1'b0;
          end
        else
          begin
            count <= count + 1'b1;
          end
      end
      
  wire flag;
  assign flag =(count == T - 1) ? 1'b1:1'b0;
  
  reg state;
  
  // 通過(guò)在一個(gè)周期中加減高低電平的時(shí)間來(lái)產(chǎn)生PWM波
  always @(posedge clk or negedge rst_n)
    if(!rst_n)
      begin
        lw <= T - 100;
        hw <= 100;
        state <= 1'b0;
      end
    else
      begin
        case (state)
          s0:begin
              if(flag && (lw > 100))   //判斷低電平的時(shí)間
                begin
                  lw <= lw - 100;
                  hw <= hw + 100;
                  state <= s0;
                end
              else if(flag && (lw == 100))
                begin
                  hw <= hw - 100;
                  lw <= lw + 100;
                  state <= s1;
                end
              else
                begin
                  hw <= hw;
                  lw <= lw;
                  state <= s0;
                end
            end
          s1:begin
              if(flag && (hw > 100))   //判斷高電平的時(shí)間
                begin
                  hw <= hw - 100;
                  lw <= lw + 100;
                  state <= s1;
                end
              else if(flag && (hw ==100))
                begin
                  hw <= hw + 100;
                  lw <= lw - 100;
                  state <= s0;
                end
              else
                begin
                  hw <= hw;
                  lw <= lw;
                  state <= s1;
                end
            end
        default : state <= s0;
        endcase
      end
      
  reg [25:0] cnt;
  reg sum;  
  always @(posedge clk or negedge rst_n)
    if(!rst_n)
      begin
        sum <= 1'b0;
        led <= 1'b1;
        cnt <= 1'b0; 
      end
    else
        case (sum)
          s0:begin
              if(cnt < hw -1 )
                begin
                  led <= 1'b0;
                  cnt <= cnt + 1'b1;
                end
              else
                begin
                  cnt <= 1'b0;
                  sum <= s1;
                end
            end
          s1:begin
              if(cnt < lw -1)
                begin
                  led <= 1'b1;
                  cnt <= cnt + 1'b1;
                end
              else
                begin
                  cnt <= 1'b0;
                  sum <= s0;
                end
            end
          default:sum <= s0;
        endcase
  
endmodule 
仿真測(cè)試

測(cè)試模塊代碼:

`timescale 1ns/1ps 
  module huxi_led_state_tb();
  reg clk;
  reg rst_n;
  
  wire led;
  
  parameter T = 100_000;
  
  initial begin
      clk = 1'b1;
      rst_n = 1'b0;
      
      #200.1 rst_n = 1'b1;
      
      
    end
    
    always #10 clk = ~ clk; 
  
  
  
  huxi_led_state  huxi_led_state_date(
          .clk(clk),
          .led(led),
          .rst_n(rst_n)
          );
  endmodule 
仿真圖:

e4ce0f02-d2db-11ef-9310-92fbcf53809c.png

仿真中可以看到點(diǎn)亮led等高電平在不停的增高,然后會(huì)降低,通過(guò)驗(yàn)證我們的設(shè)計(jì)是正確的。

END

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1660

    文章

    22386

    瀏覽量

    634265
  • 脈沖
    +關(guān)注

    關(guān)注

    20

    文章

    907

    瀏覽量

    99500
  • 呼吸燈
    +關(guān)注

    關(guān)注

    10

    文章

    117

    瀏覽量

    44018

原文標(biāo)題:源碼系列:基于FPGA的呼吸燈設(shè)計(jì)(附源工程)

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【瑞薩FPB-RA6E2試用】【瑞薩FPB-RA6E2】基于 PWM(脈寬調(diào)制)的 LED 呼吸-閃爍效果及設(shè)備樹(shù)理解

    基于 PWM(脈寬調(diào)制)的 LED 呼吸-閃爍效果及設(shè)備樹(shù)理解 0、視頻教程 https://www.bilibili.com/video/BV1Nk62BkEV2/?vd_source
    發(fā)表于 01-13 15:05

    PWM經(jīng)典應(yīng)用:LED亮度控制及呼吸實(shí)戰(zhàn)

    信號(hào)生成: 加熱控制: 本文特別分享PWM相關(guān)基礎(chǔ)知識(shí),并以Air8000核心板為例,演示LuatOS開(kāi)發(fā)中如何使用PWM功能實(shí)現(xiàn)LED亮度控制及呼吸效果,幫助開(kāi)發(fā)者快速上手。 一、 PWM相關(guān)基礎(chǔ)知識(shí) PWM具有高效、控制精度高及實(shí)現(xiàn)簡(jiǎn)便等優(yōu)點(diǎn),但PWM信號(hào)
    的頭像 發(fā)表于 01-05 20:50 ?176次閱讀
    PWM經(jīng)典應(yīng)用:LED亮度控制及<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>實(shí)戰(zhàn)

    基于PWM的LED調(diào)光技術(shù)與呼吸實(shí)現(xiàn)方法!

    利用PWM技術(shù)控制LED亮度,不僅效率高、響應(yīng)快,還能實(shí)現(xiàn)細(xì)膩的視覺(jué)過(guò)渡。系統(tǒng)介紹PWM的工作機(jī)制,結(jié)合具體硬件平臺(tái),展示如何編程實(shí)現(xiàn)LED的漸亮漸滅,最終完成一個(gè)完整的呼吸項(xiàng)目。 本文特別
    的頭像 發(fā)表于 12-15 13:03 ?369次閱讀
    基于PWM的LED調(diào)光技術(shù)與<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>實(shí)現(xiàn)方法!

    【應(yīng)用方案】“會(huì)呼吸”的電競(jìng)鍵盤(pán):艾為燈語(yǔ)?讓光與你并肩作戰(zhàn)

    呼吸產(chǎn)品15余年,艾為燈語(yǔ)更在行業(yè)樹(shù)立效標(biāo)桿,助力電競(jìng)鍵盤(pán)真正“會(huì)呼吸”,全面升級(jí)游戲體驗(yàn)。燈語(yǔ)交互,默契輔助狀態(tài)可視化,戰(zhàn)況一目了然血量告急、大招就緒、連擊
    的頭像 發(fā)表于 11-26 19:02 ?198次閱讀
    【應(yīng)用方案】“會(huì)<b class='flag-5'>呼吸</b>”的電競(jìng)鍵盤(pán):艾為燈語(yǔ)?讓光與你并肩作戰(zhàn)

    FZH367 具有獨(dú)立自動(dòng)呼吸功能的LED(12×16)點(diǎn)陣驅(qū)動(dòng)芯片 原廠技術(shù)支持

    (更大點(diǎn)陣優(yōu)勢(shì))。家電設(shè)備:高端家電狀態(tài)指示呼吸效果更細(xì)膩)。游戲設(shè)備:RGB燈光控制(多級(jí)聯(lián)支持復(fù)雜效)。工業(yè)控制:高可靠性故障指示(開(kāi)短路檢測(cè))。FZH367核心優(yōu)勢(shì)在于: ① 更大的點(diǎn)陣
    發(fā)表于 11-18 09:18

    LuatOS中PWM實(shí)現(xiàn)LED亮度調(diào)節(jié)與呼吸的實(shí)戰(zhàn)教程

    PWM在LED亮度調(diào)節(jié)和呼吸效果實(shí)現(xiàn)方面有著廣泛應(yīng)用。在LuatOS環(huán)境中,如何高效運(yùn)用PWM功能是開(kāi)發(fā)者需要掌握的關(guān)鍵。本實(shí)戰(zhàn)教程將通過(guò)具體案例,引導(dǎo)開(kāi)發(fā)者快速上手,輕松實(shí)現(xiàn)LED的精彩
    的頭像 發(fā)表于 11-11 19:05 ?8436次閱讀
    LuatOS中PWM實(shí)現(xiàn)LED亮度調(diào)節(jié)與<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的實(shí)戰(zhàn)教程

    【應(yīng)用方案】“會(huì)呼吸”的空調(diào):艾為燈語(yǔ)?讓空調(diào)將成為家庭“情緒調(diào)節(jié)師”

    圖1會(huì)呼吸的空調(diào)場(chǎng)景展示“會(huì)呼吸”的空調(diào)使用場(chǎng)景炎炎夏日,空調(diào)不再只是送風(fēng)機(jī)器,當(dāng)它點(diǎn)亮呼吸效,客廳瞬間擁有如同藝術(shù)裝置般的氛圍感,讓空調(diào)成為家中“有設(shè)計(jì)感的存在”。帶給你的不止是溫
    的頭像 發(fā)表于 09-16 19:03 ?497次閱讀
    【應(yīng)用方案】“會(huì)<b class='flag-5'>呼吸</b>”的空調(diào):艾為燈語(yǔ)?讓空調(diào)將成為家庭“情緒調(diào)節(jié)師”

    【沁恒CH585開(kāi)發(fā)板免費(fèi)試用體驗(yàn)】+PWM呼吸

    /下降沿/雙邊沿 4路26位PWM輸出 8路8位PWM輸出或前6路16位PWM輸出 今天在上期的點(diǎn)燈例程上,修改出兩路PWM輸出,讓開(kāi)發(fā)板上的LED0、LED1實(shí)現(xiàn)呼吸的效果。 根據(jù)SDK中提
    發(fā)表于 07-03 19:02

    用于呼吸流量及呼吸率的檢測(cè)測(cè)壓力傳感器

    前言利用微壓差傳感器實(shí)現(xiàn)呼吸流量及呼吸率的檢測(cè)。針對(duì)呼吸產(chǎn)生的氣體流速較小的特點(diǎn),我們選擇了靈敏度較高的差壓傳感器。在實(shí)際應(yīng)用中,微壓差傳感器的準(zhǔn)確性和穩(wěn)定性至關(guān)重要。通過(guò)對(duì)呼吸流量和
    的頭像 發(fā)表于 05-19 13:20 ?1008次閱讀
    用于<b class='flag-5'>呼吸</b>流量及<b class='flag-5'>呼吸</b>率的檢測(cè)測(cè)壓力傳感器

    便攜式呼吸機(jī)的硬件電路設(shè)計(jì)

    一、便攜式呼吸機(jī)壓力檢測(cè)原理便攜式呼吸機(jī)按照不同的通氣模式可以將呼吸機(jī)分為CPAP持續(xù)正壓通氣、AutoCPAP自動(dòng)正壓呼吸機(jī)、BiPAP雙氣道壓力
    的頭像 發(fā)表于 05-19 13:19 ?1136次閱讀
    便攜式<b class='flag-5'>呼吸</b>機(jī)的硬件電路設(shè)計(jì)

    紫光同創(chuàng)FPGA教程:呼吸——盤(pán)古系列PGX-Nano開(kāi)發(fā)板實(shí)驗(yàn)例程

    PGX-Nano是一套以紫光同創(chuàng)FPGA為核心的開(kāi)發(fā)板,選用紫光同創(chuàng)Logos2系列28nm工藝的PG2L50H_MBG324。板卡集成下載器芯片,便利用戶的使用。板卡搭載一顆容量為2MB的SRAM
    的頭像 發(fā)表于 04-14 09:59 ?1287次閱讀
    紫光同創(chuàng)<b class='flag-5'>FPGA</b>教程:<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>——盤(pán)古系列PGX-Nano開(kāi)發(fā)板實(shí)驗(yàn)例程

    使用單片機(jī)驅(qū)動(dòng)多組LED實(shí)現(xiàn)呼吸效果電路

    各位大佬,請(qǐng)教下,當(dāng)前我需要使用單片機(jī)驅(qū)動(dòng)控制20路并聯(lián)LED,需要PWM驅(qū)動(dòng)實(shí)現(xiàn)呼吸的效果,目前我是直接使用三極管驅(qū)動(dòng),這種電路會(huì)有什么問(wèn)題?跟有些使用三極管控制MOS來(lái)驅(qū)動(dòng)LED
    發(fā)表于 04-11 14:24

    【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】PWM呼吸

    【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】PWM呼吸 本文介紹了幸狐Omni3576邊緣計(jì)算套件實(shí)現(xiàn) GPIO 輸出電平的控制及 PWM 輸出即呼吸效果的項(xiàng)目設(shè)計(jì)流程。 GPIO
    發(fā)表于 04-03 04:59

    【瑞薩RA2L1入門(mén)學(xué)習(xí)】01. PWM 呼吸

    占空比的調(diào)節(jié)就是實(shí)現(xiàn)呼吸效果的關(guān)鍵。通過(guò)控制PWM信號(hào)的占空比,可以實(shí)現(xiàn)對(duì)LED亮度的連續(xù)調(diào)節(jié)。在遞增占空比階段,LED亮度逐漸增加;在遞減占空比階段,LED亮度逐漸降低。使用循環(huán)來(lái)控制的方式來(lái)實(shí)現(xiàn)
    發(fā)表于 03-07 11:43