在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA學習系列:15. 呼吸燈(pwm)設計

FPGA學習交流 ? 來源:互聯網 ? 作者:佚名 ? 2018-06-13 11:21 ? 次閱讀

設計背景:

呼吸燈廣泛應用于手機之上,并成為各大品牌新款手機的賣點之一。如果手機里面有未處理的通知,比如說未接來電,未查收的短信等等,呼吸燈就會在控制之下完成由亮到暗的逐漸變化,感覺好像是人在呼吸起到一個通知提醒的作用。

設計原理:

關于呼吸燈設計實現的理論主要是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不斷變化,則就可實現呼吸燈效果。

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

設計架構圖:

時鐘50M

image.png

設計代碼:

設計模塊

0modulehuxi_led_state(clk,led,rst_n);

1 inputclk;

2 inputrst_n;

3

4 outputregled;

5

6 parameterT =100_000;

7

8 localparams0 =1'b0;

9 localparams1 =1'b1;

10

11 reg[25:0]lw;

12 reg[25:0]hw;

13

14 reg[16:0]count;

15

16 // 產生2MS的脈沖

17 always@(posedgeclk ornegedgerst_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 wireflag;

35 assignflag =(count ==T -1)?1'b1:1'b0;

36

37 regstate;

38

39 // 通過在一個周期中加減高低電平的時間來產生PWM

40 always@(posedgeclk ornegedgerst_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 elseif(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 elseif(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 regsum;

96

97 //分頻模塊,產生不同占空比的LED亮的時間

98 always@(posedgeclk ornegedgerst_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

134endmodule

測試模塊

0`timescale1ns/1ps

1 modulehuxi_led_state_tb();

2 regclk;

3 regrst_n;

4

5 wireled;

6

7 parameterT =100_000;

8

9 initialbegin

10 clk =1'b1;

11 rst_n =1'b0;

12

13 #200.1rst_n =1'b1;

14

15

16 end

17

18 always#10clk =~clk;

19

20

21

22 huxi_led_state huxi_led_state_date(//例化設計

23 .clk(clk),

24 .led(led),

25 .rst_n(rst_n)

26 );

27 endmodule

仿真:

image.png


仿真中可以看到點亮led等高電平在不停的增高,然后會降低,通過驗證我們的設計是正確的。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21777

    瀏覽量

    604686
收藏 人收藏

    評論

    相關推薦

    PWM驅動LED實現呼吸效果

    C51 利用pwm 驅動LED 實現呼吸效果
    的頭像 發表于 04-24 15:29 ?3874次閱讀
    <b class='flag-5'>PWM</b>驅動LED實現<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>效果

    FPGA呼吸

    基于FPGA呼吸一、目標1、占空比(pwm)的理解。2、計數器的應用。3、分頻的應用。二、要求四個LED從暗逐漸變亮,然后從亮逐漸變暗
    發表于 10-26 21:01

    dsp pwm 呼吸

    請問有沒有DSP PWM呼吸的原理講解及例程,新手,謝謝!
    發表于 10-17 19:32

    怎么通過PWM來實現呼吸

    個人理解:如果能實現電壓的變化就能實現呼吸了,如果能得到一個類似正弦電壓的電壓,那么就能實現這個呼吸。那么問題就來了,該怎么得到這個類似正弦電壓的電壓?STM32中的
    發表于 08-11 06:17

    PWM實現呼吸流程

    Conceit is the quicksand of success.  自負是成功的流沙。PWM實現呼吸PWM概述相關概念PWM設置流
    發表于 01-13 06:41

    PWM實現呼吸的應用

    stm32實現PWM最簡單方法前言一、PWM概念二、PWM應用輸出比較功能框圖三、PWM呼吸
    發表于 01-21 13:18

    STC15單片機呼吸程序介紹

    STC15單片機呼吸程序主控STC15W4K61S4頻率24Mhz該程序用了PCA/PWM作為LED的驅動,因為目標板(
    發表于 02-18 07:44

    使用PWM控制LED實現呼吸的效果

    本文主要講解使用PWM控制LED,實現呼吸的效果。
    的頭像 發表于 02-08 17:50 ?1.4w次閱讀
    使用<b class='flag-5'>PWM</b>控制LED實現<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的效果

    【ZYNQ Ultrascale+ MPSOC FPGA教程】第十章 PWM呼吸實驗

    本文主要講解使用PWM控制LED,實現呼吸的效果。
    發表于 01-26 08:27 ?1次下載
    【ZYNQ Ultrascale+ MPSOC <b class='flag-5'>FPGA</b>教程】第十章 <b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>實驗

    STM32_PWM呼吸

    全面屏發展,因此很多手機取消了呼吸這一功能,取而代之的是息屏顯示)2、什么是PWM?PWM:Pulse Width Modulation,脈沖寬度調制,是利用微處理器的數字輸出來對模
    發表于 11-26 12:21 ?20次下載
    STM32_<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    STC15呼吸

    STC15單片機呼吸程序主控STC15W4K61S4頻率24Mhz該程序用了PCA/PWM作為LED的驅動,因為目標板(
    發表于 12-23 19:26 ?33次下載
    STC<b class='flag-5'>15</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    STM32 使用PWM實現呼吸

    STM32 PWM實現呼吸使用STM32F103ZET6 定時器4 CH2通道產生PWM波,在GPIOD,GPIO_PIN13引腳LED1產生呼吸
    發表于 12-24 19:41 ?55次下載
    STM32 使用<b class='flag-5'>PWM</b>實現<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    通過STM32實現PWM呼吸的教程

    顧名思義,就是一個的亮度的變化,由亮變暗,從暗變亮,有一個漸變,規律的變化,像是人的呼吸,是呼吸,所以叫
    的頭像 發表于 07-26 15:20 ?1.3w次閱讀
    通過STM32實現<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的教程

    基于FPGA呼吸設計

    呼吸主要是利用PWM的方式,在固定的頻率下,通過調整占空比的方式來控制LED的亮度的變化,從而實現由暗漸亮再由亮漸暗的過程。
    的頭像 發表于 09-27 11:43 ?2159次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>設計

    仿真測試:呼吸PWM

    呼吸的效果是逐漸由暗變亮再逐漸由亮變暗,FPGA的引腳電壓只有“0”和“1”兩個等級。
    的頭像 發表于 10-10 14:52 ?1310次閱讀
    仿真測試:<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b><b class='flag-5'>PWM</b>
    主站蜘蛛池模板: 激情综合五月| 色噜噜狠狠成人影院| 色拍拍综合网| 激情六月婷婷| 手机在线观看毛片| 最新国产你懂的在线网址| 五月激情六月丁香| 日日添天天做天天爱| www.色com| 久久艹免费视频| 日本大片免费观看视频| 亚洲色图在线观看视频| 羞羞视频靠逼视频大全| 78m-78模成视频在线| 久草五月| 欧美午夜网| 天天插天天色| 午夜视频在线观看国产| bt天堂网在线www资源| 狠狠涩| 免费视频淫片aa毛片| 日本黄色免费在线| 色综合天天综合网国产成人网| 99久久久久国产精品免费| 女人本色高清在线观看wwwwww国产| 激情综合色五月丁香六月亚洲| 高清在线观看视频| 久久天天躁夜夜躁狠狠躁2020| 天天插天天爽| 手机看片日韩在线| 天天操天天擦| 手机看片福利永久| 天天狠狠| 手机在线观看视频你懂的| 天天干夜夜爽| 深夜视频在线免费| 神马午夜限制| 色偷偷尼玛图亚洲综合| 日日拍拍| 狠狠干欧美| 色婷婷激情综合|