您好,歡迎訪問上?,F(xiàn)易電子元器件有限公司網(wǎng)站!
最近,我在做一個(gè)項(xiàng)目,該項(xiàng)目要求我這個(gè)MCU迷,轉(zhuǎn)向FPGA開發(fā)。在這個(gè)系列博客中,我將介紹如何將現(xiàn)有的MCU知識(shí)和經(jīng)驗(yàn)運(yùn)用到FPGA的開發(fā)中。在第一部分中,我介紹了FPGA的優(yōu)缺點(diǎn),以及Terasic DE10 nano開發(fā)套件,并且探討了影響FPGA設(shè)計(jì)的關(guān)鍵因素?,F(xiàn)在,在第2部分,我將分析示例代碼并發(fā)現(xiàn)更多的有用的資源。
MCU和FPGA之間的區(qū)別類似于摩托車和汽車之間的差異:盡管兩者都可以讓你從A點(diǎn)到達(dá)B點(diǎn),但是機(jī)制卻有著根本的不同。我認(rèn)為這個(gè)類比在描述MCU和FPGA的引腳模式、引腳類型以及串并行處理時(shí)非常貼切,在這些方面,兩者是完全不同的。
最初,我從Terasic的設(shè)置和指導(dǎo)實(shí)踐開始,但是一直處于困境中。每次編譯過程都會(huì)以錯(cuò)誤結(jié)束。為了堅(jiān)持下去,我會(huì)再喝一杯咖啡,并開始查閱英特爾開發(fā)人員專區(qū)網(wǎng)站。這個(gè)網(wǎng)站提供了更簡單的例子,我驚訝于復(fù)雜度的降低,在這里,示例很容易理解,這些示例甚至已經(jīng)被編譯和運(yùn)行了。一旦理解了基礎(chǔ)知識(shí),完成Terasic的示例就會(huì)相當(dāng)簡單,我認(rèn)為開始覺得困難的一部分原因是由于編譯器的建立,另一部分原因是現(xiàn)在我對(duì)它們更加熟悉了。
硬核處理器系統(tǒng)
Terasic DE10-Nano將MCU--即硬核處理器系統(tǒng)(HPS)與FPGA相結(jié)合,因此我決定從熟悉的領(lǐng)域即MCU開始研究。ARM(“我的第一個(gè)HPS”)的開發(fā)熟悉而簡單,在Eclipse IDE中運(yùn)行沒有任何阻礙,并且英特爾SoC開發(fā)工具使編程系統(tǒng)變得更簡單。我改進(jìn)了“Hello World”這個(gè)范例,多加了一行,除了測試編譯器的功能外,不會(huì)改變其他的功能。幸運(yùn)的是,我編譯成功了。IDE非常棒,非常像我過去處理過的大多數(shù)HPS IDE。
FPGA
最終,我不得不轉(zhuǎn)到FPGA部分,在這一部分,我可以同時(shí)(并行)做很多事情,這與MCU的串行方式不同。這個(gè)概念可能一時(shí)難以接受,但是,考慮到這個(gè)概念較為新穎,理解起來其實(shí)也不是很困難。由于預(yù)先的配置和安裝指導(dǎo),Intel Developer Zone無疑是最好的一套學(xué)習(xí)指南。
Intel Developer Zone安裝文件提供了基礎(chǔ)知識(shí),然后Terasic建立在這些新技能的基礎(chǔ)上,增加了更多的功能并提供了完整的流程,所以這套指南教給我們的并不是尋找,復(fù)制和粘貼的學(xué)習(xí)方法。英特爾推出了我的應(yīng)用程序所需的知識(shí)庫,包括構(gòu)建模塊圖,時(shí)序配置文件和I / O編程。在復(fù)雜的程序開發(fā)中,方框圖能夠提供清晰的視覺流程,時(shí)序配置文件則可以處理串并行協(xié)議和總線時(shí)序協(xié)議等問題。
每一個(gè)引腳都可以完成任意功能,這可能是FPGA最著名的特點(diǎn)了。(引腳編程是一個(gè)旅行!)引腳分配管理器非常炫酷,但查找表的工作量也是相當(dāng)艱巨的。值得慶幸的是,在Quartus的最新版本中,Terasic使用詳盡的命名模式,為所有端口和引腳提供了完整的映射。這使得編碼部分更加簡單。
遇到的挑戰(zhàn)
在新的開發(fā)環(huán)境中工作很不舒服。新的處理過程和快捷鍵都需要調(diào)整。當(dāng)然,新IDE的創(chuàng)建也會(huì)出現(xiàn)一些常規(guī)的設(shè)置問題。但是,文檔很清晰,圖像也有很大的幫助。因特爾已經(jīng)拓展其性能以創(chuàng)建Linux系統(tǒng)和Windows系統(tǒng),并為編程提供了Linux仿真,這些都極大的簡化了原始的處理過程。但是,在設(shè)置Linux時(shí)我仍然遇到了問題,并且不再嘗試自己編譯的Linux IDE。后來,我找到了一個(gè)120頁的指南才得以正確的設(shè)置它。下面就讓我們搞清楚具體是怎么操作的吧!
Takeaways
我很喜歡這個(gè)練習(xí),并且對(duì)此充滿信心。但是,下載、配置并且弄清楚下一步要做什么是相當(dāng)繁雜的。我對(duì)下一階段的任務(wù)感到興奮,我計(jì)劃引入不同的硬件,使用示例代碼來開發(fā)自己的軟件,并利用HPS和FPGA技術(shù)。我的計(jì)劃是利用HPS(使用外部硬件)來運(yùn)行OpenCV軟件,同時(shí)利用FPGA來加速視頻處理過程。
上?,F(xiàn)易電子元器件有限公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像
CopyRight 2020-2025 29711999.com.cn All rights reserved 滬ICP備2020031792號(hào)