為什麼這篇arm mcu差異鄉民發文收入到精華區:因為在arm mcu差異這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Seabook (噗~~~~!)看板Electronics標題Re: [問題] FPGA跟DSP...
這問題我在2005年做機器人計畫時也有想過,先講結論是DSP勝出。
剛好摸過MCU(8051)、FPGA(ALTERA系列)、DSP(TI28XX),好像好多人都有這方面的困惑
以下為個人當時分析的一些心得: (好幾年沒寫韌體囉,希望資訊沒有過時)
[DSP]
專門為"某種"數位訊號處理設計的 數位訊號處理器 (當成某一種Microcontroller)
例1: TI的28XX就是針對馬達控制,馬達控制需要讀取光學編碼器(Encoder)的迴授,
這個動作需要一個邏輯電路+計數器 來算PULSE,如果用外部中斷做
大概MCU就一直在中斷,馬達跑越快,系統中斷越密集...很沒效率。
因此TI的28xx有內建數個解碼器可以讀取Encoder的值,只需要接好線路
設定好register 就可以讓硬體自動抓Encoder的值,不用耗CPU計算。
但是你把28XX用在影像處理上 就很吃力了,因為他的硬體不是針對影像的。
例2: TI的6XXX就是針對影像處理的 數位訊號處理器,
有浮點乘法處理器和一些可以加速影像處理計算的硬體,
同樣一個浮點A*B 用TI的6XXX會比TI的28XX快 (因為內建浮點運算)
同樣一個浮點A*B 用TI的28XX會比8051快 (因為28xx有乘加器)
DSP優點: 加速運算--選擇專用的DSP,很好上手也很好用。
DSP缺點: 針對特別應用設計,要選對顆DSP,換個應用就要換DSP
如果你要做馬達控制選6XXX 你就會發現沒辦法抓Encoder... 因為沒內建硬體
[FPGA]
可以分成兩個境界玩,第一個就是用來做邏輯電路、序向電路、狀態機之類的
第二個就是架一個類似ARM的32bit MCU 在FPGA上 (ALTERA公司稱做 NIOS)
也就是說你可以有一個MCU,再加上你自己做的硬體,想做什麼應用就修改硬體&程式
另外ALTERA也有出DSP的IP (可以外掛一些特別的DSP功能加速計算)
FPGA優點: 彈性大--可以針對特別應用寫加速處理的硬體,再掛到NIOS上
淡江大學的足球機器人就是用FPGA搞定一切...(當然要外加ADC電路)
FPGA缺點: 1.只能用於數位電路相關,需要加ADC DAC 硬體才能處理類比訊號
2. NIOS compiler 很慢 相較於DSP or 8051
===========================================
過來人建議:
看你想在學校練習演算法還是硬體,
用DSP可以讓你有比較多時間研究演算法 (其實也不多啦 DSP一堆REGISTER要設定 很耗時)
用FPGA可以讓你的建立良好的硬體基礎。 加油~!
※ 引述《loveices (冷河)》之銘言:
: 請問一下版上的學長們
: 到底FPGA跟DSP最明顯的差別在哪 我是指功能或應用上
: 假如要控制馬達和機器人視覺的影像處理
: 哪個用FPGA 哪個用DSP會比較好呢
: 抱歉小弟是初學者 希望版上學長指點一下 謝謝~~
--
他高傲,但是宅心仁厚;他謙虛,但是受萬人敬仰:
他可以把神仙賜給人的機械運用的出神入化...
可以做出堪稱神之藝術的超級機械!
他究竟是神仙的化身?還是地獄的使者?沒人知道!
但是可以肯定,每個人都給他一個稱號............................機械小天才!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.6.66
※ 編輯: Seabook 來自: 122.116.6.66 (11/21 08:21)