久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1732|回復: 1
打印 上一主題 下一主題
收起左側

FPGA 1位閃爍燈設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:588548 發表于 2019-8-5 08:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

1位閃爍燈設計
一、項目背景
LEDLight Emitting Diode),發光二極管,是一種能夠將電能轉化為可見光的固態的半導體器件,它可以直接把電轉化為光。LED的心臟是一個半導體的晶片,晶片的一端附在一個支架上,一端是負極,另一端連接電源的正極,使整個晶片被環氧樹脂封裝起來。
半導體晶片由兩部分組成,一部分是P型半導體,在它里面空穴占主導地位,另一端是N型半導體,在這邊主要是電子。但這兩種半導體連接起來的時候,它們之間就形成一個P-N結。當電流通過導線作用于這個晶片的時候,電子就會被推向P區,在P區里電子跟空穴復合,然后就會以光子的形式發出能量,這就是LED燈發光的原理。而光的波長也就是光的顏色,是由形成P-N結的材料決定的。
LED可以直接發出紅、黃、藍、綠、青、橙、紫、白色的光。
最初LED用作儀器儀表的指示光源,后來各種光色的LED在交通信號燈和大面積顯示屏中得到了廣泛應用,產生了很好的經濟效益和社會效益。以12英寸的紅色交通信號燈為例,在美國本來是采用長壽命,低光視效能的140瓦白熾燈作為光源,它產生2000流明的白光。經紅色濾光片后,光損失90%,只剩下200流明的紅光。而在新設計的燈中,Lumileds公司采用了18個紅色LED光源,包括電路損失在內,共耗電14瓦,即可產生同樣的光效。汽車信號燈也是LED光源應用的重要領域。
對于一般照明而言,人們更需要白色的光源。1998年發白光的LED開發成功。這種LED是將GaN芯片和釔鋁石榴石(YAG)封裝在一起做成。GaN芯片發藍光(λp=465nmWd=30nm),高溫燒結制成的含Ce3+YAG熒光粉受此藍光激發后發出黃色光射,峰值550nLEDm。藍光LED基片安裝在碗形反射腔中,覆蓋以混有YAG的樹脂薄層,約200-500nm LED基片發出的藍光部分被熒光粉吸收,另一部分藍光與熒光粉發出的黃光混合,可以得到白光。
對于InGaN/YAG白色LED,通過改變YAG熒光粉的化學組成和調節熒光粉層的厚度,可以獲得色溫3500-10000K的各色白光。這種通過藍光LED得到白光的方法,構造簡單、成本低廉、技術成熟度高,因此運用最多。

明德揚的教學板一共有8個可發綠光的LED燈。下面是LED燈的原理圖。
左邊的LED6~LED13是板子的絲印。右邊的LED1~LED8是信號線名,讀者在板子上是不可見的。
LED燈一端連著高電平3.3V,另一端是信號線LED1~LED8。如果LED1~LED8是高電平,則電流不導通,那么LED燈則不會發光。如果LED1~LED8是低電平,則電流會導通,那么LED燈就發光。所以LED燈發不發光,是取決于信號LED1~LED8是處于什么電平。

信號線LED1~LED8又連到哪里呢?搜索下原理圖文檔,可以發現這些信號是連到FPGA的管腳上的。
下面信號線和FPGA管腳的連接圖,例如信號線LED1是連接到FPGAAA4管腳上。


教學板絲印
信號線
FPGA管腳
LED1
LED1
AA4
LED2
LED2
AB4
LED3
LED3
AA5
LED4
LED4
AB6
LED5
LED5
AA10
LED6
LED6
AB13
LED7
LED7
AB14
LED8
LED8
AB16

LED1~LED8分別與FPGA8個管腳相連,所以LED1~LED8處于什么電平,即LED燈是否要發光,就取決于FPGA管腳的輸出了。
例如FPGA管腳AB14連到LED7上。要控制這個燈的亮滅,FPGA只需要將管腳AB14輸出為低高就可以了。當輸出為高電平時,LED7燈為滅,當輸出為低電平時,LED7燈為暗。8LED燈都可由FPGA獨立控制。
二、設計目標
本工程使用1LED---LED1,實現一個閃爍燈的功能。工程的工作時鐘是50M,也就是時鐘周期為20ns。當管腳AA4輸出低電平時,LED1燈亮,輸出高電平時,LED1燈滅。具體功能要求是:1秒,亮N秒。N的變化是:123---9秒,然后再次循環。下面是波形圖:
上板效果圖如下圖所示。

上板的演示視頻,請登陸網址查看:www.mdy-edu.com/xxxx
三、模塊設計
我們先分析一下板子上的LED燈。要控制1LED燈亮和滅,那就FPGA需要產生一個信號,假定為led,這個信號連接到led燈上。要讓LED燈滅,FPGA將信號led輸出為1;要讓LED燈亮,FPGA將信號led輸出為0
綜上所述,我們這個工程需要三個信號,時鐘clk,復位rst_n和輸出信號led
我們再分析一下功能需求,LED燈的變化規律是暗1秒,亮N秒,其中N的變化是:123---9秒,然后再次循環。從現象轉化成信號,其實就是信號led=1持續1秒,然后led=0持續N秒,其中N的變化是:123---9秒。波形示意圖如下:
上圖就是led信號的變化波形圖。在第1次時,led=1并持續1秒,然后led=0并持續1秒,共2秒時間;在第2次時,led=1并持續1秒,然后led=0并持續2秒,共3秒時間;以此類推,第9次時,led=1并持續1秒,然后led=0并持續9秒,共10秒時間。然后又再次重復。
由波形圖可知,我們需要1個計數器用來計算時間,如2秒、3秒等。本工程的工作時鐘是50MHz,即周期為20ns,計數器計數到2_000_000_000/20=100_000_000個,我們就能知道2秒時間到了。以此類推,在第2次時,數到150_000_000個,就知道了3秒時間到。第9次時,數到500_000_000個,就表示10秒時間到。另外,由于該計數器是不停地計數,永遠不停止的,可以認為加1條件一直有效,可寫成:assignadd_cnt==1。綜上所述,結合變量法,該計數器的代碼如下。
其中x表示該計數器cnt0要數的個數。該值如何定義,后面再思考。
再次觀察波形圖,我們發現有第1次,第2次直到第9次的字,說明這還需要另外一個計數器來表示第幾次。該計數器表示次數,自然是一次完成了就加1,因為加1條件可為end_cnt0。該計數器一共要數9次。所以代碼為:
有了兩個計數器,我們來思考輸出信號led的變化。概括起來,led有兩種變化點:變0和變1。變0的原因都是計數到1秒時間,也就是cnt0數到1_000_000_000/20=50_000_000個時,led0。變1的原因,都是計數時間到了,即end_cnt0。所以led信號的代碼如下:

最后我們再來思考變量x,我們在討論計數器cnt0的時候,曾經說過計數器計數到2_000_000_000/20=100_000_000個,我們就能知道2秒時間到了。以類類推,在第2次時,數到150_000_000個,就知道了3秒時間到。第9次時,數到500_000_000個,就表示10秒時間到。”可以看到,cnt0要數多少個是跟第幾次有關系的。第1次,數100_000_000個,第2次數150_000_000個。也就是與cnt1有關。因此x的代碼如下:


此次,主體程序已經完成。接下來是將module補充完整。
module的名稱定義為my_led。并且我們已經知道該模塊有三個信號:clkrst_nled。為此,代碼如下:

其中clkrst_n是輸入信號,led是輸出信號,并且三個信號都是1比特的,根據這些信息,我們補充輸入輸出端口定義。代碼如下:

接下來定義信號類型。
cnt0是用always產生的信號,因此類型為regcnt0計數的最大值為500_000_000,需要用29根線表示,即位寬是29位。因此代碼如下:
add_cnt0end_cnt0都是用assign方式設計的,因此類型為wire。并且其值是0或者11個線表示即可。因此代碼如下:

cnt1是用always產生的信號,因此類型為regcnt1計數的最大值為8,需要用4根線表示,即位寬是4位。因此代碼如下:
add_cnt1end_cnt1都是用assign方式設計的,因此類型為wire。并且其值是0或者11根線表示即可。因此代碼如下:
led是用always方式設計的,因此類型為reg。并且其值是0或者11根線表示即可。因此代碼如下:
x是用always方式設計的,因此類型為reg。并且其值是最大是500_000_000,需要29根線表示即可。因此代碼如下:

至此,整個代碼的設計工作已經完成。下一步是新建工程和上板查看現象。
如果你覺得有用的話,就請你回個貼或者贊,證明我的付出沒有白費,大家都不容易,q328908175,讓們共同學習。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:712130 發表于 2020-3-20 11:31 | 只看該作者
為什么看不了代碼
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久一级| 国产日韩视频 | 欧美区日韩区 | 亚洲一区二区在线视频 | 久久久精品久久久 | 天堂久久天堂综合色 | 欧美一级欧美三级在线观看 | 国产福利91精品 | 一级片片| 九九九精品视频 | 成人欧美一区二区三区视频xxx | 成人av在线播放 | 亚洲国产视频一区 | 久草久草久草 | 精品一二三 | 国产一区二区在线视频 | 91精品一区二区三区久久久久久 | 波霸ol一区二区 | 亚洲国产精品99久久久久久久久 | 九九综合 | 久久久人成影片一区二区三区 | 亚洲区一区二区 | 日本高清视频网站 | 91视频精选 | 国产精品一区二区久久久久 | 免费黄色在线 | 日韩小视频在线 | av一区二区三区四区 | 亚洲在线 | 中文字幕在线观看第一页 | 午夜视频免费网站 | 国产精品久久久久久久久 | 国产欧美一区二区三区在线看 | 日韩成人在线看 | 北条麻妃一区二区三区在线视频 | 色视频成人在线观看免 | 国产成人99久久亚洲综合精品 | 国产专区在线 | 久久久毛片 | 亚洲免费久久久 | 九九精品在线 |