petalinux zynq spi_ZYNQ 系列 01 | PL 实现按键控制 LED(1)
注:本篇文章由【開源騷客:OpenSoc】公眾號首發(fā),現(xiàn)轉(zhuǎn)載至頭條號。
新的開始,這一篇文章,就算是使用 Vitis 開發(fā) ZYNQ 的第一篇文章吧。
計劃把 ZYNQ 開發(fā)寫成一個系列,所使用的的軟件版本為 Vitis 2019.2,硬件平臺為 EBAZ4205 礦機(jī)板。
最新的軟件平臺配最便宜的硬件平臺,哈哈哈!
軟件版本可以說是最新的,選擇最新,意味著這系列文章過幾年后,依然不過時。硬件平臺,可以算是在 ZYNQ 開發(fā)板里面最便宜的,最便宜,意味著大多數(shù)都買得起!
作為第一篇文章,暫時先不涉及 ZYNQ 的 PS 部分,以傳統(tǒng) FPGA 的方式來做個小實(shí)驗,在 PL 端實(shí)現(xiàn)按鍵控制 LED。
當(dāng)然這個小實(shí)驗也可以作為驗證下 EBAZ4205 轉(zhuǎn)接板的好壞。
1.準(zhǔn)備工作
EBAZ4205 礦機(jī)板本身,在 PL 端是沒有焊接晶振的,但留出了使用晶振的位置。所以單純使用 PL 端進(jìn)行開發(fā)的話,咱們得先把板子上的晶振焊上。
PL晶振原理圖部分
在 X5 這個位置,我焊了一個3225封裝的 50M 晶振,L29的位置焊了一個 0R 電阻,R1372 焊了一個 33R 的電阻,C364 的位置焊了一個100nF 的電容,改動的地方就這幾個。
這里需要注意的是,L29在背面,當(dāng)時還找了挺久的一會,沒電感,直接用0R電阻代替了,如果想更狠一點(diǎn),用焊錫直接把 L29 連上也行!
2.Vivado 創(chuàng)建工程
對于 vivado 創(chuàng)建工程的步驟,就不詳細(xì)介紹了。寫這些步驟,截圖太多,效率太低了。之后還是計劃對這系列的文字版教程,錄個配套的視頻,在視頻里面,跟著做,來得更直接。
代碼如下:
工程代碼
其功能,最終就是實(shí)現(xiàn)按鍵按一次,LED 的狀態(tài)反轉(zhuǎn)一下,當(dāng)然內(nèi)部也有按鍵的消抖。
相關(guān)的引腳約束信息如下:
引腳約束信息
3.讓工程編譯的速度更快些
在 TCL 輸入框中輸入 set_param general.maxThreads 8,可以讓編譯的速度提升,vivado 默認(rèn)的線程數(shù)是2。
我總共花的時間是 1分半鐘 還不到,大家可以自行比較一下在設(shè)置了最大線程的狀態(tài)下,與沒有設(shè)置之前的編譯時間會快多少。這里我就不演示了。
這一點(diǎn)設(shè)置非常有意義哦,大家千萬別小看了它。
另外一點(diǎn),礦機(jī)板默認(rèn)是沒有 X5 這個晶振的,那沒有這個晶振,如何來實(shí)現(xiàn)本文中同樣的功能呢?
下一篇文章,將講解從 ZYNQ 的 PS 端引出時鐘給 PL 端使用,敬請關(guān)注!
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的petalinux zynq spi_ZYNQ 系列 01 | PL 实现按键控制 LED(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 歼16替换苏27和歼轰7
- 下一篇: lighttpd+fastcgi 返回5