|
當(dāng)今,F(xiàn)PGA和單片機的應(yīng)用非常廣泛,在有FPGA知識的基礎(chǔ)上,筆者認為可以把FPGA作為主要的學(xué)習(xí)目標,單片機作為輔助技能。其實二者是相互促進的。不管是FPGA還是單片機的開發(fā)其實都是基于較強的邏輯性,在這一點上二者是有共同之處的,但是在程序編寫的邏輯性上,F(xiàn)PGA所用的硬件描述語言是要超出C語言不少的。 FPGA編寫出一個完整的功能是需要對整個工程架構(gòu)非常熟悉才能完成的,要先學(xué)好狀態(tài)機,然后各種組合、時序邏輯,折騰起來對于個人的邏輯思維能力有著很強的鍛煉效果,而這種鍛煉是每一個邏輯設(shè)計人員都要有的,當(dāng)你的邏輯思維能力很出色的時候,學(xué)習(xí)單片機也就非常容易了。 FPGA其實是硬件系統(tǒng),F(xiàn)PGA的開發(fā)過程能使開發(fā)人員對很多的硬件底層都有接觸和了解,比如簡單的一個串口,可能在單片機上直接使用幾個庫函數(shù)就搞定,但是FPGA將會接觸到數(shù)據(jù)接收的模式,波特率和系統(tǒng)時鐘的設(shè)置算法以及數(shù)據(jù)的移位,使能,各種標記位的設(shè)置等等。一個熟知底層架構(gòu)的嵌入式工程師才能走的更遠。 單片機和FPGA的應(yīng)用方面,雖然現(xiàn)在SOC很火熱,Xilinx和intel都將ARM核嵌入到FPGA內(nèi)部,但也有很多公司用單片機和FPGA架構(gòu)。將單片機作為FPGA的上位機,向FPGA發(fā)送指令,F(xiàn)PGA去做各種算法實現(xiàn)和邏輯控制。因為FPGA的工作頻率可以很高,IO翻轉(zhuǎn)速度也相當(dāng)快,然后對于數(shù)字信號處理等的算法方面也有很多的優(yōu)勢,所以在射頻微波領(lǐng)域有著廣泛的應(yīng)用。 FPGA真的可以說是一個很強大的系統(tǒng),它的靈活性很強,雖然對于很多功能上可能沒有單片機使用起來那么方便,但是當(dāng)你對這兩個都有一定的了解認識以后發(fā)現(xiàn),同時能將他們玩轉(zhuǎn)是一件很有趣的事情。 版權(quán)所有權(quán)歸卿萃科技,轉(zhuǎn)載請注明出處 |
|
|