1基礎(chǔ)理論部分
1.1分頻
分頻,是的,這個(gè)概念也很重要。分頻是指將一單一頻率信號(hào)的頻率降低為原來(lái)的1/N,就叫N分頻。實(shí)現(xiàn)分頻的電路或裝置稱(chēng)為“分頻器”,如把33MHZ的信號(hào)2分頻得到16.5MHZ的信號(hào),3分頻得到11MHZ的信號(hào),10分頻得到3.3MHZ的信號(hào)。
分頻主要是相對(duì)于主晶振來(lái)說(shuō),用不到那么高的頻率,開(kāi)發(fā)板一般根據(jù)具體需要會(huì)加入晶振,一般若是功耗較高可選用50MHz,其他情況可以相對(duì)調(diào)整,如24MHz等等。那么分頻的典型應(yīng)用,二分頻,四分頻,八分頻,還有任意分頻。
對(duì)于分頻,我們可以利用quartus ii 自帶的PLL進(jìn)行分頻,這樣會(huì)占用一定的資源,也可以利用計(jì)數(shù)器實(shí)現(xiàn)一定的分頻,注意,FPGA中不同于其他的CPU,沒(méi)有計(jì)時(shí)器的概念,只有計(jì)數(shù)器。
1.2 LED
LED(light emitting diode),發(fā)光二極管,簡(jiǎn)稱(chēng)LED,是一種能夠?qū)㈦娔苻D(zhuǎn)化成可見(jiàn)光的固態(tài)的半導(dǎo)體器件,可以直接把電轉(zhuǎn)換成光??梢杂迷陔娐芳皟x器中作指示燈,或者組成文字或數(shù)字顯示等。有不同化合物制成的二極管如砷,鎵,磷等化合物制成,不同的化合物組合會(huì)顯示不同顏色的光。
在設(shè)計(jì)LED的驅(qū)動(dòng)電路時(shí),不能直接接到3.3V或者5V來(lái)點(diǎn)亮,LED有額定電流,超過(guò)這個(gè)額定電流,LED就會(huì)燒掉,反接也會(huì)燒掉。一般的LED的額定電流從10mA~1A不等。FPGA開(kāi)發(fā)采用的LED主要是貼片0805或者0603等,額定電路一般從10mA~30mA.
1.3 74HC595
開(kāi)發(fā)板上面的LED控制是用串入并出/串出的移位寄存器74HC595芯片,芯片在電路中的接入情況如圖5.1所示,實(shí)物圖如圖5.2所示。其中MR引腳直接接高電平,不進(jìn)行復(fù)位。串出引腳9不接,不進(jìn)行串出引腳的使用。輸出使能引腳13直接接地,手冊(cè)上建議。11和12引腳分別為移位寄存器時(shí)鐘輸入和存儲(chǔ)時(shí)鐘輸入,分別引出。
圖5.1 LED部分電路圖
圖5.2 實(shí)物圖
2 verilog代碼實(shí)現(xiàn)部分
2.1 74HC595 控制部分
14行定義了一個(gè)全局參數(shù)WIDTH = 8,用來(lái)控制程序下面所有的有關(guān)于數(shù)量的使用。
59行和60行分別定義了時(shí)鐘信號(hào)和時(shí)鐘使能信號(hào),其中時(shí)鐘信號(hào)sclk時(shí)鐘周期前半段為低電平,后半段為高電平,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的中間采樣,時(shí)鐘使能信號(hào)led_time可以控制數(shù)據(jù)和時(shí)鐘對(duì)齊。48行的state是一個(gè)狀態(tài)改變的寄存器,只要數(shù)據(jù)一更新,state就有效。
75行定義了update_input信號(hào)用來(lái)檢測(cè)輸入數(shù)據(jù)的變化。
狀態(tài)轉(zhuǎn)換部分,在case語(yǔ)句中先檢測(cè)state的初始位,然后進(jìn)入循環(huán)操作,檢測(cè)update_input是否使能,使能更新state,不使能保持state,更新后開(kāi)始輸出位數(shù)計(jì)數(shù)器led_cnt的計(jì)數(shù)
在121到123行,對(duì)輸出的三路信號(hào)進(jìn)行了約束限制,這種方法值的借鑒,在用不到時(shí)不輸出信號(hào),用到時(shí)輸出信號(hào),最大量的節(jié)省時(shí)鐘。Led_data_out是先從高位輸出到低位。
2.2 LED數(shù)據(jù)產(chǎn)生部分
在模塊聲明處,仍舊使用全局定義變量,控制模塊中常量的使用。
計(jì)數(shù)模塊,產(chǎn)生時(shí)鐘使能信號(hào)。
Reg型變量Led_out_cnt是用來(lái)控制LED變化, 每當(dāng)時(shí)鐘信號(hào)使能開(kāi)始計(jì)數(shù),板卡上面一共有8個(gè)LED,所以計(jì)數(shù)8個(gè)即可。
LED解碼部分,通過(guò)上面的led_out_cnt信號(hào)進(jìn)行解碼,控制LED的流水操作。
3 modelsim驗(yàn)證部分
43行產(chǎn)生時(shí)鐘信號(hào),通過(guò)PERIOD進(jìn)行周期控制。49~51產(chǎn)生復(fù)位信號(hào),當(dāng)時(shí)鐘兩次下降沿后復(fù)位信號(hào)拉高。56行用來(lái)監(jiān)測(cè)led_out輸出的時(shí)間,生成的腳本文件如圖5.3所示。
圖5.3仿真波形
圖5.4是利用腳本文件生成,可以觀察到實(shí)現(xiàn)了流水功能,且時(shí)間間隔1s;
圖5.4 腳本生成文件
3.2 led_74HC595 模塊仿真
前半部分和上述都一樣,可以作為固定部分,大家可以自行復(fù)制即可。59行到63行增加了系統(tǒng)輸入信號(hào)初始化部分。在輸入信號(hào)輸入前,最好最安全就是進(jìn)行一次初始化。
75行到87行是對(duì)輸入進(jìn)行模擬輸入,并監(jiān)測(cè)led_data-out信號(hào),輸出的結(jié)果如圖5.5所示,由圖可以看到時(shí)間間隔為120ns。
圖5.6是仿真波形,可以看到時(shí)鐘led_sclk每次采樣在輸入信號(hào)的正中間位置,最大程度保證采樣可靠。
圖5.5 腳本文件
圖5.6 仿真波形
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1645文章
22036瀏覽量
618097 -
led
+關(guān)注
關(guān)注
242文章
23828瀏覽量
673795 -
分頻器
+關(guān)注
關(guān)注
43文章
492瀏覽量
51141 -
驅(qū)動(dòng)電路
+關(guān)注
關(guān)注
155文章
1584瀏覽量
109922
發(fā)布評(píng)論請(qǐng)先 登錄
Texas Instruments SN74HC74/SN74HC74-Q1雙路D型觸發(fā)器特性/應(yīng)用/框圖

常用電器控制電路精選
74VHC595;74VHCT595移位寄存器規(guī)格書(shū)

74VHC595-Q100;74VHCT595-Q100移位寄存器規(guī)格書(shū)

74HC595-Q100;74HCT595-Q100移位寄存器規(guī)格書(shū)

74HC595;74HCT595移位寄存器規(guī)格書(shū)

74hc244和74hc373功能區(qū)別是什么?
CD74HC4067的COMMON端口是如何實(shí)現(xiàn)輸入和輸出的切換的?
SN74HC244和SN74LV244數(shù)據(jù)速率如何通過(guò)Datasheet參數(shù)計(jì)算?
74hc595的功能及作用是什么
74HC595常用移位寄存器芯片資料包
74HC595PW(nexperia)移位寄存器中文參數(shù)_功能圖_引腳圖_封裝尺寸

評(píng)論