小梅哥和你一起深入學習FPGA之點亮LED燈(上)

2020-12-07 電子產品世界

  在之前更新的目錄裡面,並沒有安排這個實驗,第一個實驗應該是獨立按鍵的檢測與消抖。可是,當小梅哥來做按鍵消抖的實驗時,才發現沒有做基本的輸出設備,因此按鍵檢測的結果無法直觀的展示出來。也算是為後續實驗做鋪墊吧,第一個實驗就安排成了點亮LED燈。

本文引用地址:http://www.eepw.com.cn/article/270853.htm

  一、 實驗目的

  實現4個LED燈的亮滅控制

  二、 實驗原理

  LED燈的典型電路如下2-1所示,我們控制led燈的亮滅,實質就是去控制FPGA的IO輸給LED負極一個低電平或者高電平。從圖中可知,我們給對應的led負極上一個低電平,就會有對應的電流通過 電阻,流過led燈,於是LED燈就會被點亮;當給led負極一個高電平時,led兩端電壓相等,因此沒有電流流過,led則呈熄滅狀態。

  

 

  圖2-1 led燈典型電路

  三、 硬體設計

  本實驗的硬體電路即如圖2-1所示,讀者一看即懂,因此本節內容略。

  四、 架構設計

  雖然本實驗只是一個簡單的點亮led燈實驗,整個實驗代碼不過四五行,但是為了遵循小梅哥一直喜歡的那種模塊化的設計理念,因此本設計還是將led的驅動做成子模塊的形式。

  本實驗由兩個模塊組成,分別為led驅動模塊和頂層例化模塊,可能看過其它開發板資料的同學會覺得這樣反而增加了系統的複雜程度,但是,小梅哥如此設計必定有我的道理,圖4-1為本實驗的模塊組織結構

  

 

  圖4-1 led實驗模塊組織結構圖

  由圖可知本實驗僅有n個輸出埠,對應了n個led燈(為了代碼的可移植性,這裡並沒有將led的個數限定死,而是採用了參數化的設計,因此,在實際使用過程中,就可根據實際不同的需要,自由的調整led的個數)。在modelsim仿真過程中,所有信號必須要有復位初始值,因此復位信號(Rst_n)必不可少。可能讀者這裡會發現,與我昨天所寫的埠命名規範有出入。如果按照我所出的規範中來命名的話,則應該將復位信號命名為Global_Rst,對於這個問題,暫時小梅哥不做深入解說,其實嚴格意義上來說,這裡的這個Rst_n應該只能算是一個內部信號,該信號在實際工程應用中往往由鎖相環產生。這裡因為為了配合仿真,因此該信號就暫時被引出來,做了全局復位信號。詳細的關於全局復位與內部復位信號的處理,小梅哥在後面涉及到鎖相環的使用的實驗中會詳細解說。

 

  表4-1 led實驗埠說明

  五、 代碼組織方式

  本實驗中,每個模塊也就四五行的代碼,因此談不上代碼組織方式,因此本節從略。

  六、 關鍵代碼解讀

  以下是代碼片段:

  module LED_Driver #(parameter Width = 1)/*定義位寬參數*/

  (Rst_n,Sig,Led);/*定義模塊埠*/

  input Rst_n;

  input [Width-1:0] Sig;

  output [Width-1:0] Led;

  assign Led = (Rst_n)?Sig:{Width{1'b1}};/*復位輸出全1,否則按照Sig的值輸出*/

  endmodule

  以上為LED驅動模塊的代碼,第1行定義了一個參數「Width」,即位寬,因此在例化(調用)此模塊時,根據實際需要給Width賦予不同的值,則可實現不同的LED位寬的設置。第4至7行為輸入輸出埠定義,具體信號含義見表4-1。第9行為LED輸出賦值語句,有關該代碼的含義,請讀者自行閱讀夏宇聞老師的《Verilog數字系統設計教程》一書。小梅哥精力和時間實在太有限,沒辦法一一幫大家補充Verilog的知識,望見諒。總之,該語句實現了當復位信號為低電平時(系統處於復位狀態),所有LED全部熄滅;當復位信號為高電平(系統正常工作)時,led輸出對應的Sig信號各位的狀態。

  以下是代碼片段:

  module LED_TOP(Rst_n,Led);

  input Rst_n;

  output [3:0] Led;

  LED_Driver

  #( /*參數例化*/

  .Width (4)

  )

  LED_Driver_inst(/*埠例化*/

  .Rst_n(Rst_n),

  .Sig(4'b1001),/*OFF ON ON OFF*/

  .Led(Led)

  );

  endmodule

  以上為LED實驗的頂層模塊,其中將位寬參數例化為了4,即4個LED。因為沒有其他模塊提供Sig信號,因此直接將該信號賦值為4』b1001。則如果下載到實驗板上,會看到4個led燈分別處於「滅 亮 亮 滅」的狀態。

fpga相關文章:fpga是什麼

led燈相關文章:led燈原理

鎖相環相關文章:鎖相環原理

相關焦點

  • 一起學Arduino:點亮第一盞LED燈
    (模擬埠也一樣)2、點亮一盞LED燈學習程序語言第一個例子就是打個招呼:「hello world!」那麼學習Arduino Uno第一個例子就是點亮一盞LED燈!當你買回來一塊Arduino Uno板子時,肯定是急不可待地插上USB線,速度地連上電腦(或DC5V電源,比如充電寶)。
  • Led燈閃爍是什麼原因 led燈壞了怎麼維修
    QQ群:①群:468193845                           ②群:522898769導讀:如今的生活每個家庭都裝有LED燈,led燈開的時候,會發出各種各色的光,非常的漂亮,許多人都忠愛led燈,那led燈閃爍是什麼原因,我們大家應該都會注意到,當我們把led燈關了之後,會發現led燈一閃一閃的,這是怎麼回事呢?
  • 氙氣燈和led燈哪個亮
    氙氣燈和led燈哪個亮 網絡整理 發表於 2019-11-29 09:10:17   氙氣燈和led燈哪個亮   LED燈和氙氣燈哪種好一點呢?
  • led燈為什麼會閃爍 故障維修技巧有哪些
    如今的生活每個家庭都裝有LED燈,led燈開的時候,會發出各種各色的光,非常的漂亮,許多人都忠愛led燈,那led燈閃爍是什麼原因,我們大家應該都會注意到,當我們把led燈關了之後,會發現led燈一閃一閃的,這是怎麼回事呢?
  • 滷素燈和led燈的區別 滷素燈和led燈有什麼區別
    受經濟因素影響,現在的車主對於車的要求從最初的代步,到現在的節能、舒適、安全等一系列高要求,所以現在的廠商也在車上下了大功夫,燈就是其中之一,以前的滷素燈,大都換成了led燈,所以兩種燈有什麼不同呢?下面讓我們來看看滷素燈和led燈的區別吧。
  • LED燈三種常見故障及解決方法
    一般來說,LED燈是很難發生問題的,在LED燈的問題中,不外乎三種毛病:燈不亮、燈變暗、關燈後閃爍。今天我們來逐條分析解決各項問題。   LED燈的結構   LED燈有兩種形式,一種是吸頂燈,一種是燈泡。不論是哪種形式的燈,內部結構都是相同的,分為燈珠和驅動器。
  • 滷素燈和氙氣燈和led燈的區別?滷素燈和氙氣燈和led燈哪個好?
    網友問題:滷素燈和氙氣燈和led燈的區別?滷素燈和氙氣燈和led燈哪個好?網友回答:汽車大燈相當於汽車的眼睛,在汽車夜間行駛時要為汽車提供照明。滷素燈最大的優勢就在於其穿透能力強,結構簡單,成本較低,這也是最初汽車上滷素大燈獲得普及的原因。氙氣大燈有個美譽,被稱為「人造小太陽」,外形炫酷,所謂氙氣大燈是指大燈內部充滿包括氙氣在內的混合氣的稀有氣體,它通過內部的啟動器和電子鎮流器,在電極之間形成電弧從而發光。氙氣燈光顏色偏清冷色,具有亮度高,使用壽命長等優點,但同時也具有價格昂貴,維修成本高等致命缺陷。
  • led燈過亮怎麼降低亮度 led燈是什麼燈具
    燈具方面的一些情況多少人掌握的比較少,因為在於很多物品上,人們只要一開始在使用,之後都只會去使用,並不會做一些詳細的理解調查,但有時若遇到了問題,確實還得要在重新的理解,所以就不如一開始就弄明白一些狀況,這樣對自己也會有好處,那麼led燈過亮怎麼降低亮度?led燈是什麼燈具?
  • 聖誕樹的led燈怎麼裝 led燈不亮了怎麼修
    對於燈具的選擇,建議大家還是要注意一下方法,市場上銷售的燈具種類是比較多的LED燈屬於很常見的一種節能燈,很多的家庭在裝修房屋的時候會考慮選擇這種燈具,但是大家要注意一下具體的安裝方法,那麼聖誕樹的led燈怎麼裝?led燈不亮了怎麼修?下面我們來具體的了解一下吧。
  • 滷素燈改led車燈多少錢一套?滷素燈改led燈有必要嗎?
    原理是在光泡內注入碘或者溴,在高溫下升華鎢絲與滷素發生化學反應,冷卻後的鎢會重新凝固在鎢絲上,形成平衡的循環。滷素燈的優點是製造簡單、成本低廉、亮度容易調整和控制,缺點也明顯,如使用壽命短、發光效率低,光照效果差。滷素燈改led光一套多少錢?
  • 汽車Led燈和滷素大燈誰才更加的實用?
    車的大燈和人的眼睛一樣的重要,車的心靈窗戶,不僅僅是決定了車的安全同時也是決定了車的美觀,大多數的車有了大燈的承託,顯得格外的霸氣和時尚。隨著時代和科技的發展大燈的種類越來越多,形狀也是越來越多,作為車重要的電器組成的一部分,大燈尤為重要,可是隨著一天天地開燈和使用,汽車大燈變得沒有以前那麼亮了!
  • led變壓器接線方式
    LED燈都需要驅動電源的,有恆流驅動和阻容驅動,一般是220V50Hz交流電源輸入。大多LED燈使用專用的驅動集成電路(內部有電子變壓器),可以供給一套或多套LED燈使用,更為方便可靠。   led燈變壓器輸入輸出接線及注意事項   輸入:   led燈不能像傳統的白熾燈那樣直接接在220伏的交流電上,所以各種led燈條以及替換燈板都會搭配一個
  • led燈與平米參照表 如何選購LED燈
    相信大家都知道是led燈,它安裝在每個家庭中的角落中,它不僅小巧精緻,而且光照顏色也非常好。今天小編給大家介紹下led燈與平米參照表,如何選購LED燈?接下來我們跟著小編一起來看看吧!一、led燈與平米參照表1、首先led燈型號,使用功率不同它的價格也有所不同,像led日光燈管它有14瓦,9瓦,led燈泡有3瓦,6瓦,射燈有6瓦,12瓦,16瓦等。而有的廠商生產出來的商品它在使用功率上也不一定。
  • 如何用單片機點亮LED
    上圖中是給LED燈直接加電壓,使之點亮,這種控制方式是靠控制開關的通斷使之亮滅,同家庭裡的燈是一樣一樣的,單片機的出現開啟了電子設備智能時代,換一種方式,用單片機去控制LED燈的亮滅,而單片機靠執行程序去輸出想要的結果,真真正正地把人的思想實現出來。
  • 【改革開放四十年】從煤油燈到LED燈 40年巨變點亮生活
    天黑時點上一盞煤油燈,孩子在燈下寫作業,母親則陪伴一旁縫衣做鞋。比如針對學習用的檯燈,現在有一些頻閃低,燈光呈暖黃色,光線更加柔和的小檯燈,減輕了以往普通白熾燈的冷光造成的眼睛疲勞。  還有晚上用的長明小夜燈,燈光柔和,造型多樣,在茫茫黑暗中,起到指引照明的作用,同時又兼具一燈多用之功能,加入薰香精油即成薰香燈,加入驅蚊精油或驅蚊液可成環保驅蚊燈
  • 5瓦的led燈有多亮 led燈如何選購
    室內裝修的話,大家要注意選擇合適的燈具,如今很多的朋友們在裝修房屋的時候,更多的會使用的led燈,這種燈具有節能的效果,而且裝飾的效果也很不錯,大家可以根據自己的需求來進行選購,那麼5瓦的led燈有多亮?led燈如何選購?針對這些問題,下面我們來具體的了解一下吧。
  • led燈微亮有安全隱患嗎 led燈條不亮了怎麼修
    對於led燈,人們都不陌生,因為它存在於我們生活中,同時因為其諸多優勢,人們常常忽略其他材料的燈具,而直接選擇led燈。留意家裡led燈的人都會發現,led燈關燈後會有微亮的情況,這是否存在安全隱患?除了led燈,led燈條如果不亮了,應該如何修理呢?
  • led應急燈電源電路圖大全(六款模擬電路設計原理圖詳解)
    led應急燈電源電路圖(三) 本文就介紹一下常見的三款LED燈,一種使用三節普通AAA電池,一種是插接電話線,另一種自帶鉛酸蓄電池充電,這三款產品均採用高亮白光LED,並帶有反光板,燈杆採用金屬螺旋管,可隨意彎曲轉向自由調整燈頭角度,燈座上設有按鈕式開關,小巧實用,攜帶方便。圖1是其電路圖。
  • LED燈原理
    接下來我們就學習一下LED燈的原理吧~~~本文引用地址:http://www.eepw.com.cn/article/275007.htm1.LED燈原理--簡介  LED ,英文全稱為 Light Emitting Diode,又稱發光二極體。
  • led燈板井岡山珠寶燈條
    led燈板井岡山珠寶燈條 富特爾科技有限公司是供應LED超薄燈箱燈條線路板、牙籤板雙面玻纖板廠家LED硬燈條發展趨勢距離愛迪明出燈泡已經有一百多年的歷史了,在這一個漫長的時間裡面,燈泡以其價格低廉的優勢一直住主導這照明市場。