學(xué)DSP、FPGA、ARM,哪個(gè)更有前途?

發(fā)布時(shí)間:2014-6-16 16:51    發(fā)布者:nakey
關(guān)鍵詞: ARM , DSP , FPGA
1、這世界真是瘋了,貌似有人連FPGA原理是什么都不知道就開(kāi)始來(lái)學(xué)習FPGA了。
  2、DSP就是一個(gè)指令比較獨特的處理器。它雖然是通用處理器,但是實(shí)際上不怎么“通用”。技術(shù)很牛的人可以用DSP做一臺電腦出來(lái)跑windows,而實(shí)際上真正這么干的肯定是蠢材。用DSP做信號處理,比其他種類(lèi)的處理器要厲害;用DSP做信號處理之外的事情,卻并不見(jiàn)長(cháng)。而且信號處理的代碼一般需要對算法很精通的人才能真正寫(xiě)好。數據結構里面的時(shí)間復雜度和空間復雜度在這里是一把很?chē)揽岬某咦印?br />   
3、FPGA只不過(guò)披著(zhù)軟件的外衣,實(shí)際上是硬件。FPGA內部有兩層相對獨立的電路。使用者“編碼->編譯”后生成一個(gè)映像,這個(gè)映像作用于第一層電路。這層電路之際上就是一個(gè)0,1的開(kāi)關(guān)矩陣,這個(gè)開(kāi)關(guān)矩陣用來(lái)控制第二層工作電路,將第二層工作電路配置成一個(gè)相應的處理器。理論上FPGA可以配置成任何需要的處理器,而實(shí)際上為了盡量少出bug,FPGA開(kāi)發(fā)都使用已經(jīng)開(kāi)發(fā)好的“庫文件”,也就是把人家能穩定工作的電路圖拿過(guò)來(lái)。因此,對大多數FPGA開(kāi)發(fā)者來(lái)說(shuō),FPGA內部有幾個(gè)核基本上只能從庫文件里面選——除非你有能力自己設計核心內部的電路和核間總線(xiàn)——ram和rom也是用宏來(lái)配置,自己只需要改改外部的專(zhuān)用電路和接線(xiàn)方式等等。甚至外部的專(zhuān)用電路都有庫文件,搭個(gè)積木就完事了。玩FPGA真正掙錢(qián)的人是做積木的人,你原創(chuàng )幾個(gè)積木并且能申請專(zhuān)利,迫使人家給你交專(zhuān)利費,那你這輩子可以衣食無(wú)憂(yōu)了。
  
4、FPGA區別于A(yíng)SIC設計屬于硬件設計的范疇,ASIC是硬件全定制,FPGA是硬件半定制。具體來(lái)說(shuō):ASIC整個(gè)電路都由設計師設計的,用多少資源設計多少資源,一般多用于產(chǎn)品設計。而FPGA資源事先由廠(chǎng)商給定,例如Altera、Xilinx等都提供不同系列的FPGA芯片,設計師可以在給定資源下做硬件設計開(kāi)發(fā)。
  
5、DSP主要用于處理信號、事先算法,特點(diǎn)是多級流水,可以加快數據處理的速度,開(kāi)發(fā)環(huán)境主要是C語(yǔ)言?梢哉f(shuō)DSP應用的范圍更專(zhuān)。DSP的設計,可以理解為軟件設計,設計師不需要太了解DSP的結構。
  
6、DSP原意就是指數字信號處理,只不過(guò)DSP芯片由于主要功能是實(shí)現數字信號處理,實(shí)現各種算法,所以簡(jiǎn)稱(chēng)為DSP(數字信號處理器);FPGA一樣可以做DSP(數字信號處理),就意味著(zhù)可以用FPGA做硬件設計來(lái)實(shí)現DSP芯片的功能,當然,相比較專(zhuān)業(yè)的DSP芯片、成本太高。
  
7、現在除了FPGA和DSP之外還有一個(gè)近幾年熱門(mén)的產(chǎn)品:ARM。ARM主要應用與手持設備和嵌入式產(chǎn)品,幾乎籠罩了90%的市場(chǎng)份額?梢哉f(shuō)ARM開(kāi)發(fā)也偏向于軟件開(kāi)發(fā),設計者主要是講Wince系統或者Linux系統移植到ARM開(kāi)發(fā)平臺上,然后做各種軟件應用開(kāi)發(fā)。
  
所以,這三個(gè)方向都有其不同的應用場(chǎng)合,很難講誰(shuí)更有前途。不過(guò),作為我個(gè)人而言,更喜歡做硬件設計,所以我選擇FPGA作為自己的方向。FPGA主要是給設計者提供了一個(gè)硬件平臺,開(kāi)發(fā)的核心還是需要獨立的應用設計和高效的算法設計。所以設計者應該處理好工具的掌握和具體設計的區別。
  
各自特點(diǎn):
  
FPGA:并行處理,內部資源多。
  
DSP:成本低、低功耗、高性能的處理能力。具有強大的外部通信接口(SCI,SPI,CAN)便于構成大的控制系統。
  
特點(diǎn):

        (1)在一個(gè)指令周期內可完成一次乘法和一次加法;
  (2)程序和數據空間分開(kāi),可以同時(shí)訪(fǎng)問(wèn)指令和數據;
  (3)片內具有快速RAM,通?赏ㄟ^(guò)獨立的數據總線(xiàn)在兩塊中同時(shí)訪(fǎng)問(wèn);
  (4)具有低開(kāi)銷(xiāo)或無(wú)開(kāi)銷(xiāo)循環(huán)及跳轉的硬件支持;
  (5)快速的中斷處理和硬件I/O支持;
  (6)具有在單周期內操作的多個(gè)硬件地址產(chǎn)生器;
  (7)可以并行執行多個(gè)操作;
  (8)支持流水線(xiàn)操作,使取指、譯碼和執行等操作可以重疊執行。
  
本人認為FPGA更有前途!DSP其實(shí)只是個(gè)特殊的處理器,有專(zhuān)用的硬件乘法器,有桶形移位器可以把數據從存儲器移到ALU,還有流水線(xiàn)等技術(shù)。但FPGA同樣可以完成這些功能,并且FPGA是并行工作的,現在很多FPGA內部可以使用軟DSP或者硬核的DSP,當你的項目需要時(shí)序很?chē)栏竦那闆r非FPGA莫屬。比如說(shuō)用DSP和USB芯片CY68013進(jìn)行FIFO(同步傳送)數據時(shí),IFCLK可以是外部或內部,USB芯片在(IFCONFIG的IFCLKSRC里配置)。如果IFCLK使用內部的情況下,DSP根本無(wú)法知道我把數據送到FIFO數據端口后USB芯片內部時(shí)鐘過(guò)了多少周期,但FPGA就可以,因為FPGA的時(shí)鐘取自于USB芯片的48M輸出,在FPGA內部做一個(gè)狀態(tài)機,當數據送到USB芯片的FIFO數據端口時(shí),下一狀態(tài)把SLWR拉低,再下一狀態(tài)拉高,就等于USB內部過(guò)了一周期,數據就寫(xiě)進(jìn)USB芯片內部的FIFO了,我只是舉個(gè)簡(jiǎn)單的例子,很多關(guān)于時(shí)序的案例非FPGA莫屬,DSP做算法快速,成熟,FPGA更有挑戰,據我的經(jīng)驗,FPGA現在內部起碼有很多核是可以用的,這像一個(gè)可配置的單片機,不用的我就不放進(jìn)項目。以ACTEL的FPGA來(lái)說(shuō),用的比較多的軟核是:Core8051S、CoreABC、微處理器軟核,特別說(shuō)明CoreABC占用的空間非常少,可以裁減指令,可以配置數據寬度8,16,32,有1組通用輸入端口和輸出端口,可配置堆棧。有CoreDES,CoreAES128,CoreFROM,CoreI2C,CoreGPIO,CoreInterrupt,CoreLPC,CoreSDR,CoreUART,還有很多很多,看這些名字,很多人都知道干什么用的。

本文地址:http://selenalain.com/thread-130089-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
hongsayang 發(fā)表于 2014-6-18 08:06:44
THANKS
liyong7818 發(fā)表于 2014-7-11 09:15:43
最終取決于你隨什么感興趣,可以為興趣付出多少努力,如果不努力,選任何一種方向也不可能有成就(只對技術(shù)層面而言)
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页