呼吸燈主要是利用PWM的方式,在固定的頻率下,通過調(diào)整占空比的方式來控制LED燈的亮度的變化,從而實現(xiàn)由暗漸亮再由亮漸暗的過程。
呼吸燈的整個FPGA實現(xiàn)流程主要由四個模塊組成,分別是計數(shù)器模塊,調(diào)節(jié)值產(chǎn)生模塊,計數(shù)方向模塊以及占空比調(diào)節(jié)模塊組成。
計數(shù)器模塊:計數(shù)器設(shè)置為五進制計數(shù)器,其輸出記為counter;
調(diào)節(jié)值產(chǎn)生模塊:為五進制加減計數(shù)器,用以產(chǎn)生占空比調(diào)節(jié)的比較值,其輸出記為compare;
計數(shù)方向模塊:通過高低電平控制調(diào)節(jié)值產(chǎn)生模塊的計數(shù)方向,其輸出記為flag;
占空比調(diào)節(jié)模塊:通過比較counter和compare的值來輸出不同電平控制LED燈。
counter通過與compare相比較來產(chǎn)生不同的電平,為實現(xiàn)占空比不斷變化,即高電平持續(xù)時間不斷變化,compare需不斷變化,但是在一個周期內(nèi),compare需固定不變,因此,每當(dāng)計數(shù)器模塊溢出一次,compare需隨之改變(加1或減1),其方向由flag控制。
(1)若flag=0,counter=4,compare!=3,則加計數(shù);
(2)若flag=0,counter=4,compare=3,則flag置1;
(3)若flag=1,counter=4,compare!=1,則減計數(shù);
(4)若flag=1,counter=4,compare=1,則flag置0.
從最終的實現(xiàn)結(jié)果可以看出,輸出信號的占空比在不斷變化,實現(xiàn)了設(shè)計要求。需要注意的是,為了使呼吸燈的實驗現(xiàn)象便于觀察,需要適當(dāng)延長計數(shù)器的計數(shù)周期。
-
FPGA
+關(guān)注
關(guān)注
1620文章
21510瀏覽量
598909 -
led燈
+關(guān)注
關(guān)注
22文章
1588瀏覽量
107399 -
PWM
+關(guān)注
關(guān)注
114文章
5058瀏覽量
212190 -
計數(shù)器
+關(guān)注
關(guān)注
32文章
2241瀏覽量
93973 -
呼吸燈
+關(guān)注
關(guān)注
10文章
108瀏覽量
42634
發(fā)布評論請先 登錄
相關(guān)推薦
評論