日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

我的 FPGA 学习历程(14)—— PWM 脉冲宽度调制

發(fā)布時間:2024/1/3 综合教程 37 生活家
生活随笔 收集整理的這篇文章主要介紹了 我的 FPGA 学习历程(14)—— PWM 脉冲宽度调制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

PWM 是一種調(diào)節(jié)輸出功率的技術(shù)(俗稱調(diào)壓),其原理在于改變輸出方波的占空比,具體輸出見下圖:

輸出信號為電壓值,當(dāng)負載為恒阻時,上圖中的輸出功率分別為 25%、50%、75%。

實現(xiàn)方法如下:

設(shè)置一個計數(shù)器,上圖中的第一行就是個 4 位的計數(shù)器,每滿 15 自動變?yōu)?0。那么可以得到輸出頻率等于時鐘的 1/16。

當(dāng)計數(shù)器的值小于某個值的時候輸出 0,高于或者等于某個值的時候輸出 1。

假設(shè)控制的是一個小燈為 1/8 功率輸出,那么我們需要的值就是 13 (4'hD),當(dāng)計數(shù)器小于等于 13 輸出 0,否則輸出 1。

具體代碼如下:

如果時鐘為 50MHz,一個時鐘周期為 2ns,根據(jù)推算可以得出上述的 PWM 輸出信號的周期為 32 ns,頻率大約 1.5MHz。由于 1.5MHz 的頻率遠遠的超過了人眼 100Hz 的分辨極限,所以在人看來 LED 會一直發(fā)光但亮度較低。

然而并不是所有的外設(shè)都能承受 1.5MHz 這么高的頻率。很多器件內(nèi)包含有三極管,但三極管是存在截止頻率上限問題,當(dāng)輸出管腳通過三極管來放大輸出電流時,過高的頻率會導(dǎo)致輸出失效,所以絕大多數(shù)情況下我們需要降低 PWM 的輸出頻率。

使用環(huán)形計數(shù)器可以得到任意整數(shù)分頻的電路,這在電子鐘篇中已經(jīng)試用過了。我們可以把分頻模塊的輸出作為另一個電路的時鐘輸入,可是這種方法生成的時鐘信號不夠穩(wěn)定。鎖相環(huán)可以對時鐘信號進行任意比例分頻,倍頻和移相等操作。鎖相環(huán)分為數(shù)字式(DLL)和模擬式(PLL)兩種,Altera 公司在 FPGA 里集成了模擬式鎖相環(huán),Xilinx 公司的器件集成的既有模擬的也有用數(shù)字式的。

與 ASICS 的自由布線相比,F(xiàn)PGA 內(nèi)部可用的時鐘就顯得十分有限了。FPGA 可用的時鐘牽扯到全局時鐘網(wǎng)絡(luò)的問題。由于這里不涉及畫板子的問題,對于時鐘網(wǎng)絡(luò)就不多做贅述了。

鎖相環(huán)的使用方法: 首先在 tools 菜單欄找到并打開 MegaWizard Plug-In Manager,按照下面的步驟配置使用 PLL IP 核









這個 IP 核輸出多達 5 個 信號,由于我們只需要用到一個輸出 c0,所以 c1 ~ c4 設(shè)置為默認(不開啟)即可。

這樣的話 PLL 核就配置好了,原理圖連接方法:

本文中時鐘為 50MHz,可以計算得到輸出頻率

50M = 50_000_000 –> 50_000_000 / 25_000 = 2000 –> 2000/16 = 125

125Hz 的一個周期為 0.008s = 0ms = 8_000 us,使用圖形仿真輸入來驗證顯然不太現(xiàn)實,此外我們在工程中使用了 IP 核,出于效率的考慮應(yīng)當(dāng)選用 Modelsim。但我在使用 Modelsim 仿真時出現(xiàn)了問題,Modelsim 總是報告分頻系數(shù)不正確,然而當(dāng)我把分頻系數(shù)降為 10 ,仿真器卻可以正常工作。我猜測可能是因為 Modelsim 在仿真 Cyclone IV E 系列 PLL 的時候調(diào)用的是 Cyclone III 的仿真文件,而 Cyclone IV 的 PLL 與 Cyclone III 也許并不完全一致,也有可能是仿真庫文件出現(xiàn)了問題。

覺得效果不夠明顯可以在 pwm 代碼中添加一個全亮的燈作為參照也可以把 duty 改為 4'hE(1/16 功率),此外還可以嘗試增大鎖相環(huán)中的分頻系數(shù)讓小燈閃動(只要鎖相環(huán)配置時出現(xiàn) able to implement the requested PLL 就表示配置可行)。

總結(jié)

以上是生活随笔為你收集整理的我的 FPGA 学习历程(14)—— PWM 脉冲宽度调制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。