基于ARM+DSP的雙核架構(gòu)_第1頁
基于ARM+DSP的雙核架構(gòu)_第2頁
基于ARM+DSP的雙核架構(gòu)_第3頁
基于ARM+DSP的雙核架構(gòu)_第4頁
基于ARM+DSP的雙核架構(gòu)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、  基于ARM+DSP的雙核架構(gòu),很多工程師不知道如何入手進行開發(fā),提出了很多的疑問,比如對ARM工程師,很困惑的是如何使用DSP的資源?如何進行數(shù)據(jù)的交互?如何保持雙核之間的同步?對DSP工程師,則問到如何進行ARM調(diào)試?如何啟動DSP?如果進行媒體加速,如何操作外設(shè)獲取或發(fā)送數(shù)據(jù)等?;诓煌拈_發(fā)經(jīng)驗和基礎(chǔ),ARM工程師和DSP工程師會從完全不同的角度來看SOC的芯片,以至于拿到SOC的芯片根本不知道如何入手,這里就本人的經(jīng)驗與大家分享一下。  首先ARM+DSP的芯片,他是一個雙核的,對應(yīng)ARM和DSP分別是不同的指令集和編譯器,可以把SOC的芯片看成是兩個單芯片的合

2、成,需要兩套不同的開發(fā)工具,CCS3.3可以進行芯片級的調(diào)試和仿真,但是對應(yīng)ARM和DSP需要選擇不同的平臺。一般來說,ARM上面跑操作系統(tǒng),比如Linux,Wince等,在ARM上的開發(fā),除了bootloader以外,基本都是基于OS的開發(fā),比如驅(qū)動,內(nèi)核裁減,以及上層應(yīng)用等,需要的調(diào)試和仿真主要靠log或者OS提供的調(diào)試器,如KGDB,Platform Builder等?;贒SP核的開發(fā)和傳統(tǒng)單核DSP一樣,需要用CCS+仿真器來進行開發(fā)調(diào)試。      其次,對于芯片的外設(shè)接口,ARM核和DSP核都可以訪問,典型的情況是ARM控制所有的外設(shè),通過

3、OS上的驅(qū)動去控制和管理,這部分和傳統(tǒng)的ARM芯片類似;DSP主要是進行算法加速,只是和memory打交道,為了保持芯片的資源管理的一致性,盡量避免由DSP去訪問外設(shè)。當然,根據(jù)具體的應(yīng)用需求,DSP也是可以控制外設(shè)接口進行數(shù)據(jù)的收發(fā),這時,需要做好系統(tǒng)的管理,避免雙核操作的沖突。  對memory的使用,非易失的存儲空間,比如NAND、NOR Flash,基本也是由ARM訪問,DSP的算法代碼作為ARM端OS文件系統(tǒng)的一個文件存在,通過應(yīng)用程序進行DSP程序的下載和DSP芯片的控制。外部RAM空間,即DDR存儲區(qū),是ARM和DSP共享存在的,但是在系統(tǒng)設(shè)計的時候,需要把ARM和DS

4、P使用的內(nèi)存嚴格物理地址分開,以及預(yù)留出一部分用來交互的內(nèi)存空間。一般情況,ARM是用低端地址,DSP通過CMD文件分配高端地址,中間預(yù)留部分空間用來做數(shù)據(jù)交互,比如在OMAP3的Linux下的DVSDK中,128MB的DDR空間被分成三部分,低端地址從0x8000000到0x85800000-1的88MB空間給Linux內(nèi)核使用;從0x85800000到0x86800000-1的16MB給CMEM的驅(qū)動,用來做ARM和DSP的大塊數(shù)據(jù)交互,從0x86800000到0x88000000-1的24MB是DSP的代碼和數(shù)據(jù)空間。       芯片的

5、啟動也是需要重點考慮的問題,一般情況下,是ARM啟動,和傳統(tǒng)的單核ARM一樣,支持不同的啟動方式,比如可以支持NAND,NOR,UART,SPI,USB,PCI等接口啟動。DSP默認處于復(fù)位狀態(tài),只有通過ARM的應(yīng)用下載代碼并且解除復(fù)位以后,DSP才能跑起來。有些應(yīng)用場景,需要DSP直接從外部上電就自啟動,有些芯片也是支持這種模式的。  最后,關(guān)于芯片的通信和同步,這個是困擾很多工程師的問題,為了便于客戶的開發(fā)和使用,TI提供了DSPLINK,CODEC ENGINE的DVSDK開發(fā)套件,基于DVSDK可以很方便的進行ARM+DSP的應(yīng)用開發(fā),下面對DVSDK的軟件架構(gòu),各個軟件模塊

6、的功能等做簡要介紹。          DVSDK是多個軟件模塊的集成,包括純DSP端的軟件模塊,ARM的軟件模塊和雙核交互的軟件模塊。DVSDK的軟件包都是基于實時軟件模塊(Real-Time-Software-Component:RTSC)的,還需要安裝RTSC的工具XDC,XDC是TI開源的一個工具,可以支持跨平臺的開發(fā),能夠最大程度的代碼重用;如果需要進行純ARM的開發(fā),還需要ARM的編譯工具以及Linux內(nèi)核或者Wince的BSP;如果需要進行DSP的算法開發(fā)或者DSP端開執(zhí)行代碼生成,還需要安裝DSP的

7、編譯器cgtools和DSP/BIOS;為了便于配置生成DSP端的可執(zhí)行代碼,通過向?qū)蒀odec的RTSC包和可執(zhí)行代碼,還可以選裝ceutils和cg_xml。  DVSDK的核心是Codec Engine,所有的其他軟件模塊基本都是圍繞Codec Engine的。Codec Engine是連接ARM和DSP的橋梁,是介于應(yīng)用層(ARM側(cè)的應(yīng)用程序)和信號處理層(DSP側(cè)的算法)之間的軟件模塊,在編譯DSP端可執(zhí)行代碼和ARM端應(yīng)用程序時,都需要Codec Engine的支持。Codec Engine主要有兩部分: ? ARM端應(yīng)用適配層,提供了精簡的API和對應(yīng)的庫給應(yīng)用層使

8、用。 ? DSP的算法調(diào)用層,提供了DSP算法的接口封裝規(guī)范,是的所有的算法通過簡單的配置就可以編譯到DSP的可執(zhí)行程序中。 最終的應(yīng)用程序需要通過Codec Engine的API接口來下載DSP代碼,調(diào)用DSP端的封裝好的算法,以及進行ARM和DSP的通信。     關(guān)于Codec Engine的介紹,可以參考幫您快速入門Codec Engine。  Codec Engine底層ARM和DSP的通信是建立在DSP/BIOS Link之上的,DSP/BIOS Link真正實現(xiàn)ARM和DSP交互的軟件模塊。由于DSP/BIOS Link是跨平臺的

9、,也是有ARM部分和DSP部分組成,其中在ARM端,包括基于OS的驅(qū)動和供應(yīng)用調(diào)用的庫文件,DSP端,必須要用DSP/BIOS,DSP的可執(zhí)行代碼需要包含DSP/BIOS Link的庫文件。DSP/BIOS  Link常用的主要有如下幾部分的軟件模塊: ? PROC相關(guān)的,主要是用來做DSP芯片的控制,比如啟動,停止等,下載DSP的可執(zhí)行代碼,以及直接讀寫DSP端的memory空間等 ? MSGQ相關(guān),ARM和DSP的通信是基于MSGQ的,MSGQ有輪詢等待的方式或者中斷的方式,MSG是基于共享內(nèi)存池的方式。Codec Engine通過MSGQ交互一些關(guān)鍵數(shù)據(jù),比如控制,和一些大塊數(shù)

10、據(jù)的地址指針等。大量的數(shù)據(jù)交互需要通過cmem實現(xiàn)。  在ARM端,配合Codec Engine使用的軟件模塊有LinuxUtils或者WinceUtils,包含cmem,SDMA等,cmem是用來在OS之外分配連續(xù)物理內(nèi)存空間,進行物理地址到虛地址,以及虛地址到物理地址空間轉(zhuǎn)化的。為了避免數(shù)據(jù)的多次復(fù)制,需要開辟一塊ARM和DSP共享的數(shù)據(jù)空間,ARM和DSP都可以直接訪問,這部分空間需要通過CMEM管理。對ARM來說,CMEM是OS上的一個驅(qū)動程序,需要通過IOCTL來實現(xiàn)內(nèi)存分配或者地址空間轉(zhuǎn)化。由于DSP可以訪問任何物理地址空間,通過ARM傳給DSP的指針必須是物理地址。&#

11、160; 為了適配一些播放器的接口,DVSDK還提供了DMAI(Digital Media Application Interface),DMAI提供了更為精簡的媒體接口和基于OS的音視頻捕捉、回放等接口,在Linux下的gstreamer和Wince下的dshow filter都是基于DMAI的。并且DMAI也提供了最基本的測試應(yīng)用例子,可以很方便的進行修改和測試。     如果只是調(diào)用現(xiàn)成的或者第三方的算法庫,可以只了解ARM端的軟件模塊,Codec Engine或者DMAI已經(jīng)提供了豐富的應(yīng)用接口,DSP可以認為是個單純的媒體加速器,把ARM+DS

12、P的芯片當作ASIC一樣使用。如果要充分發(fā)揮DSP的性能,就需要對DSP進行開發(fā)了。Codec Engine對DSP的算法只是規(guī)范了接口,以便于和Codec Engine一起生成DSP的可執(zhí)行程序。  開發(fā)DSP算法的工程師,和傳統(tǒng)的單核的DSP開發(fā)模式類似,只需要操作DSP核,基于CCS進行算法開發(fā),最后封裝成xDM的接口就可以了。具體如何進行DSP的打包,如何生成DSP的可執(zhí)行程序,在后續(xù)的文章繼續(xù)討論。arm是一種嵌入式芯片,比單片機功能強,可以針對需要增加外設(shè)。類似于通用cpu,但是不包括桌面計算機。DSP主要用來計算,計算功能很強悍,一般嵌入式芯片用來控制,而DSP用來計算

13、,譬如一般手機有一個arm芯片,主要用來跑界面,應(yīng)用程序,DSP可能有兩個,adsp,mdsp,或一個,主要是加密解密,調(diào)制解調(diào)等。FPGA和CPLD都是可編程邏輯器件,都可以用VHDL或verilog HDL來編程,一般CPLD使用乘積項技術(shù),粒度粗些;FPGA使用查找表技術(shù),粒度細些,適用觸發(fā)器較多的邏輯。其實多數(shù)時候都忽略它們的差異,中國電子頂級開發(fā)網(wǎng)-電子設(shè)計討論、博客、超人氣的電子工程師資料分享平臺一般在設(shè)計ASIC芯片時要用FPGA驗證,然后再把VHDL等程序映射為固定的版圖,制作ASIC芯片,在設(shè)計VHDL程序時,有可能要使用C仿真。SOC就是單片系統(tǒng),主要是器件太多設(shè)計復(fù)雜,成

14、本高,可靠性差等缺點,所以單片系統(tǒng)是一個發(fā)展趨勢。SOPC就是可編程芯片系統(tǒng),就是可以用FPGA/CPLD實現(xiàn)一個單片系統(tǒng),譬如altera的Nios軟核處理器嵌入到Stratix中。FPGA與CPLD的區(qū)別系統(tǒng)的比較,與大家共享:盡管和都是可編程器件,有很多共同特點,但由于和結(jié)構(gòu)上的差異,具有各自的特點: 更適合完成各種算法和組合邏輯, 更適合于完成時序邏輯。換句話說,更適合于觸發(fā)器豐富的結(jié)構(gòu),而更適合于觸發(fā)器有限而乘積項豐富的結(jié)構(gòu)。的連續(xù)式布線結(jié)構(gòu)決定了它的時序延遲是均勻的和可預(yù)測的,而的分段式布線結(jié)構(gòu)決定了其延遲的不可預(yù)測性。在編程上比具有更大的靈活性。通過修改具有固定內(nèi)連電路的邏輯功能

15、來編程,主要通過改變內(nèi)部連線的布線來編程; 可在邏輯門下編程,而是在邏輯塊下編程。的集成度比高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實現(xiàn)。比使用起來更方便。的編程采用2或技術(shù),無需外部存儲器芯片,使用簡單。而的編程信息需存放在外部存儲器上,使用方法復(fù)雜。的速度比快,并且具有較大的時間可預(yù)測性。這是由于是門級編程,并且之間采用分布式互聯(lián),而是邏輯塊級編程,并且其邏輯塊之間的互聯(lián)是集總式的。在編程方式上,主要是基于2或存儲器編程,編程次數(shù)可達1萬次,優(yōu)點是系統(tǒng)斷電時編程信息也不丟失。又可分為在編程器上編程和在系統(tǒng)編程兩類。大部分是基于編程,編程信息在系統(tǒng)斷電時丟失,每次上電時,需從器件外部將編程數(shù)據(jù)重新寫入

16、中。其優(yōu)點是可以編程任意次,可在工作中快速編程,從而實現(xiàn)板級和系統(tǒng)級的動態(tài)配置。保密性好,保密性差。一般情況下,的功耗要比大,且集成度越高越明顯。隨著復(fù)雜可編程邏輯器件(CPLD)密度的提高,數(shù)字器件設(shè)計人員在進行大型設(shè)計時,既靈活又容易,而且產(chǎn)品可以很快進入市場。許多設(shè)計人員已經(jīng)感受到CPLD容易使用、時序可預(yù)測和速度高等優(yōu)點,然而,在過去由于受到CPLD密度的限制,他們只好轉(zhuǎn)向FPGA和ASIC?,F(xiàn)在,設(shè)計人員可以體會到密度高達數(shù)十萬門的CPLD所帶來的好處。CPLD結(jié)構(gòu)在一個邏輯路徑上采用1至16個乘積項,因而大型復(fù)雜設(shè)計的運行速度可以預(yù)測。因此,原有設(shè)計的運行可以預(yù)測,也很可靠,而且修

17、改設(shè)計也很容易。CPLD在本質(zhì)上很靈活、時序簡單、路由性能極好,用戶可以改變他們的設(shè)計同時保持引腳輸出不變。與FPGA相比,CPLD的I/O更多,尺寸更小。如今,通信系統(tǒng)使用很多標準,必須根據(jù)客戶的需要配置設(shè)備以支持不同的標準。CPLD可讓設(shè)備做出相應(yīng)的調(diào)整以支持多種協(xié)議,并隨著標準和協(xié)議的演變而改變功能。這為系統(tǒng)設(shè)計人員帶來很大的方便,因為在標準尚未完全成熟之前他們就可以著手進行硬件設(shè)計,然后再修改代碼以滿足最終標準的要求。CPLD的速度和延遲特性比純軟件方案更好,它的NRE費用低於ASIC,更靈活,產(chǎn)品也可以更快入市。CPLD可編程方案的優(yōu)點如下:邏輯和存儲器資源豐富(Cypress De

18、lta39K200的RAM超過480 Kb)帶冗余路由資源的靈活時序模型改變引腳輸出很靈活可以裝在系統(tǒng)上后重新編程I/O數(shù)目多具有可保證性能的集成存儲器控制邏輯提供單片CPLD和可編程PHY方案由于有這些優(yōu)點,設(shè)計建模成本低,可在設(shè)計過程的任一階段添加設(shè)計或改變引腳輸出,可以很快上市CPLD的結(jié)構(gòu)CPLD是屬於粗粒結(jié)構(gòu)的可編程邏輯器件。它具有豐富的邏輯資源(即邏輯門與寄存器的比例高)和高度靈活的路由資源。CPLD的路由是連接在一起的,而FPGA的路由是分割開的。FPGA可能更靈活,但包括很多跳線,因此速度較CPLD慢。CPLD以群陣列(array of clusters)的形式排列,由水平和垂

19、直路由通道連接起來。這些路由通道把信號送到器件的引腳上或者傳進來,并且把CPLD內(nèi)部的邏輯群連接起來。CPLD之所以稱作粗粒,是因為,與路由數(shù)量相比,邏輯群要大得到。CPLD的邏輯群比FPGA的基本單元大得多,因此FPGA是細粒的。CPLD的功能塊CPLD最基本的單元是宏單元。一個宏單元包含一個寄存器(使用多達16個乘積項作為其輸入)及其它有用特性。因為每個宏單元用了16個乘積項,因此設(shè)計人員可部署大量的組合邏輯而不用增加額外的路徑。這就是為何CPLD被認為是"邏輯豐富"型的。宏單元以邏輯模塊的形式排列(LB),每個邏輯模塊由16個宏單元組成。宏單元執(zhí)行一個AND操作,然后

20、一個OR操作以實現(xiàn)組合邏輯。每個邏輯群有8個邏輯模塊,所有邏輯群都連接到同一個可編程互聯(lián)矩陣。每個群還包含兩個單端口邏輯群存儲器模塊和一個多端口通道存儲器模塊。前者每模塊有8,192b存儲器,后者包含4,096b專用通信存儲器且可配置為單端口、多端口或帶專用控制邏輯的FIFO。CPLD有什麼好處? I/O數(shù)量多CPLD的好處之一是在給定的器件密度上可提供更多的I/O數(shù),有時甚至高達70%。時序模型簡單CPLD優(yōu)于其它可編程結(jié)構(gòu)之處在于它具有簡單且可預(yù)測的時序模型。這種簡單的時序模型主要應(yīng)歸功于CPLD的粗粒度特性。CPLD可在給定的時間內(nèi)提供較寬的相等狀態(tài),而與路由無關(guān)。這一能力是設(shè)計成功的關(guān)

21、鍵,不但可加速初始設(shè)計工作,而且可加快設(shè)計調(diào)試過程。粗粒CPLD結(jié)構(gòu)的優(yōu)點CPLD是粗粒結(jié)構(gòu),這意味著進出器件的路徑經(jīng)過較少的開關(guān),相應(yīng)地延遲也小。因此,與等效的FPGA相比,CPLD可工作在更高的頻率,具有更好的性能。CPLD的另一個好處是其軟件編譯快,因為其易于路由的結(jié)構(gòu)使得布放設(shè)計任務(wù)更加容易執(zhí)行。細粒FPGA結(jié)構(gòu)的優(yōu)點FPGA是細粒結(jié)構(gòu),這意味著每個單元間存在細粒延遲。如果將少量的邏輯緊密排列在一起,FPGA的速度相當快。然而,隨著設(shè)計密度的增加,信號不得不通過許多開關(guān),路由延遲也快速增加,從而削弱了整體性能。CPLD的粗粒結(jié)構(gòu)卻能很好地適應(yīng)這一設(shè)計布局的改變。靈活的輸出引腳CPLD的

22、粗粒結(jié)構(gòu)和時序特性可預(yù)測,因此設(shè)計人員在設(shè)計流程的后期仍可以改變輸出引腳,而時序仍保持不變。新的CPLD封裝CPLD有多種密度和封裝類型,包括單芯片自引導(dǎo)方案。自引導(dǎo)方案在單個封裝內(nèi)集成了FLASH存儲器和CPLD,無須外部引導(dǎo)單元,從而可降低設(shè)計復(fù)雜性并節(jié)省板空間。在給定的封裝尺寸內(nèi),有更高的器件密度共享引腳輸出。這就為設(shè)計人員提供了"放大"設(shè)計的便利,而無須更改板上的引腳輸出。arm是一種嵌入式芯片,比單片機功能強,可以針對需要增加外設(shè)。類似于通用cpu,但是不包括桌面計算機。DSP主要用來計算,計算功能很強悍,一般嵌入式芯片用來控制,而DSP用來計算,譬如一般手機有一

23、個arm芯片,主要用來跑界面,應(yīng)用程序,DSP可能有兩個,adsp,mdsp,或一個,主要是加密解密,調(diào)制解調(diào)等。ARM其實就是一個知識產(chǎn)權(quán),ARM公司本身不生產(chǎn)芯片,但是向其它公司提供授權(quán)。alterA有嵌入ARM內(nèi)核的SOPC芯片,搜搜應(yīng)該能搜的到的。如果自己設(shè)計一個ARM芯片,顯然是不大可能的,即使設(shè)計出來嵌入式芯片,也不能叫ARM。當然用FPGA設(shè)計簡單的處理器芯片應(yīng)該還是有可能的,好象外國大學(xué)都有這樣的課程設(shè)計,也有很多書籍介紹設(shè)計簡單的處理器芯片的。感覺處理器芯片主要就是把指令譯碼,分派給不同的功能部件來執(zhí)行工作, 如果再加上流水線,預(yù)測執(zhí)行以及存儲器、外設(shè)等等功能,應(yīng)該工作量很大

24、的。其實象工作量特別大的運算,一般還是用FPGA/ASIC來實現(xiàn)的,譬如在手機基帶芯片中,碼片級的運算,一般是用FPGA/ASIC,而比特級的運算,應(yīng)該用DSP實現(xiàn)的多。DSP FPGA ARMFPGA 2010-10-12 12:32:18 閱讀50 評論0   字號:大中小 訂閱 FPGA 區(qū)別于ASIC設(shè)計 屬于硬件設(shè)計的范疇 ASIC是硬件全定制 FPGA是硬件半定制 具體來說 ASIC整個電路都由設(shè)計師設(shè)計的 用多少資源設(shè)計多少資源 一般多用于產(chǎn)品設(shè)計 FPGA資源事先由廠商給定 例如Altera Xilinx等都提供不同系列的FPG

25、A芯片 設(shè)計師可以在給定資源下做硬件設(shè)計開發(fā) DSP 主要用于處理信號 事先算法 特點是多級流水 可以加快數(shù)據(jù)處理的速度 開發(fā)環(huán)境主要是C語言 可以說DSP應(yīng)用的范圍更專 DSP的設(shè)計 可以理解為軟件設(shè)計 設(shè)計師不需要太了解DSP的結(jié)構(gòu) 補充幾個小概念 DSP愿意就是指數(shù)字信號處理 只不過DSP芯片由于主要功能是實現(xiàn)數(shù)字信號處理 實現(xiàn)各種算法 所以簡稱為DSP(數(shù)字信號處理器) FPGA一樣可以做DSP(數(shù)字信號處理),就意味著可以用FPGA做硬件設(shè)計來實現(xiàn)DSP芯片的功能,當然,相比較專業(yè)的DSP芯片 成本太高 現(xiàn)在除了F

26、PGA和DSP之外還有一個近幾年熱門的產(chǎn)品 ARM ARM主要應(yīng)用與手持設(shè)備和嵌入式產(chǎn)品 幾乎籠罩了90%的市場份額 可以說ARM開發(fā)也偏向于軟件開發(fā) 設(shè)計者主要是將wince系統(tǒng)或者 linux系統(tǒng)移植到ARM開發(fā)平臺上,然后做各種軟件應(yīng)用開發(fā) 所以 這三個方向都有其不同的應(yīng)用場合 很難講誰更有前途 不過 作為我個人而言 更喜歡做硬件設(shè)計 所以我選擇FPGA作為自己的方向 FPGA 主要是給設(shè)計者提供了一個硬件平臺 開發(fā)的核心還是需要獨立的應(yīng)用設(shè)計和高效的算法設(shè)計 所以設(shè)計者應(yīng)該處理好工具的掌握和具體設(shè) 計的區(qū)別這世界真是瘋了,貌似有人連FP

27、GA原理是什么都不知道就開始來學(xué)習(xí)FPGA了。 DSP就是一個指令比較獨特的處理器。它雖然是通用處理器,但是實際上不怎么“通用”。技術(shù)很牛的人可以用DSP做一臺電腦出來跑windows,而實際上真正這么干的肯定是蠢材。用DSP做信號處理,比其他種類的處理器要厲害;用DSP做信號處理之外的事情,卻并不見長。而且信號處理的代碼一般需要對算法很精通的人才能真正寫好。數(shù)據(jù)結(jié)構(gòu)里面的時間復(fù)雜度和空間復(fù)雜度在這里是一把很嚴酷的尺子。 FPGA只不過披著軟件的外衣,實際上是硬件。FPGA內(nèi)部有兩層相對獨立的電路。使用者“編碼->編譯”后生成一個映像,這個映像作用于第一層電路。這層電

28、路實際上就是一個0,1的開關(guān)矩陣,這個開關(guān)矩陣用來控制第二層工作電路,將第二層工作電路配置成一個相應(yīng)的處理器。理論上FPGA可以配置成任何需要的處理器,而實際上為了盡量少出bug,F(xiàn)PGA開發(fā)都使用已經(jīng)開發(fā)好的“庫文件”,也就是把人家能穩(wěn)定工作的電路圖拿過來。因此,對大多數(shù)FPGA開發(fā)者來說,F(xiàn)PGA內(nèi)部有幾個核基本上只能從庫文件里面選除非你有能力自己設(shè)計核心內(nèi)部的電路和核間總線ram和rom也是用宏來配置,自己只需要改改外部的專用電路和接線方式等等。甚至外部的專用電路都有庫文件,搭個積木就完事了。玩FPGA真正掙錢的人是做積木的人,你原創(chuàng)幾個積木并且能申請專利,迫使人家給你交專利費,那你這輩

29、子可以衣食無憂了。-arm可以跑復(fù)雜的os,dsp一般不能dsp就是n多個并行乘法器運算而已。樓上說得好。ARM處理器有包括系統(tǒng)模式,用戶模式等工作模式,并且每種模式下都有相應(yīng)的專有通用寄存器,因此可以快速地實現(xiàn)不同模式的切換,這對于操作系統(tǒng)來說是非常有益的,但是DSP,沒有這方面的考慮。另外,由于ARM內(nèi)核與片內(nèi)外設(shè)通過VPB相連,因此兩者相對獨立,這樣,ARM的片內(nèi)外設(shè)的搭配也更加靈活。不知道說得對不對,畢竟,對DSP得了解不多。歡迎指正隨便說說主要是兩個的作用不一樣。ARM是32位RISC芯片,手機數(shù)碼產(chǎn)品和工控上用,可以理解成CPU,可以上個OS也可以直接當單片機用。而DSP是作數(shù)字信

30、號處理的以TI的東西為例2000做控制,5000處理靜態(tài)圖象,6000處理動態(tài)圖象,8000是多DSP聯(lián)合控制用的。ARM是一個公司的名字,DSP=DIGITAL Signal ProcessingARM公司設(shè)計了多種CPU核心,是以32位RISC核心為主,以ARM設(shè)計的CPU核心做的芯片被俗稱為“ARM芯片”,但嚴格地說通常的ARM芯片應(yīng)該是指以ARM設(shè)計的CPU核心做的單片機,以ARM設(shè)計的CPU核心制作的SOC芯片一般不被稱為ARM芯片。所以樓主所說的ARM芯片就是一種高級的通用單片機。DSP=DIGITAL Signal Processing,即數(shù)字信號處理;與“A

31、RM芯片”這個俗稱一樣,“DSP芯片”是TI公司生產(chǎn)的一系列帶DSP功能單片機的俗稱??偨Y(jié)一下,“DSP芯片”是帶DSP功能的單片機,“ARM芯片”是帶或不帶DSP功能的單片機;如一定要講區(qū)別,若不考慮DSP功能,“DSP芯片”比“ARM芯片”在功能上弱很多,如樓上講的多種模式、跑OS、MMU、多種外設(shè)等許多差別。我收藏的一個帖子ARM(ADVANCED RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計了大量高性能、廉價、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。ARM架構(gòu)是面向低預(yù)算市場設(shè)計的第一款RISC微處理器,基本是32位單片機的行業(yè)標準,它提供一系列內(nèi)核、體系擴

32、展、微處理器和系統(tǒng)芯片方案,四個功能模塊可供生產(chǎn)廠商根據(jù)不同用戶的要求來配置生產(chǎn)。由于所有產(chǎn)品均采用一個通用的軟件體系,所以相同的軟件可在所有產(chǎn)品中運行。目前ARM在手持設(shè)備市場占有90以上的份額,可以有效地縮短應(yīng)用程序開發(fā)與測試的時間,也降低了研發(fā)費用。這里有一篇介紹ARM結(jié)構(gòu)體系發(fā)展介紹。DSP(DIGITAL singnal processor)是一種獨特的微處理器,有自己的完整指令系統(tǒng),是以數(shù)字信號來處理大量信息的器件。一個數(shù)字信號處理器在一塊不大的芯片內(nèi)包括有控制單元、運算單元、各種寄存器以及一定數(shù)量的存儲單元等等,在其外圍還可以連接若干存儲器,并可以與一定數(shù)量的外部設(shè)備互

33、相通信,有軟、硬件的全面功能,本身就是一個微型計算機。DSP采用的是哈佛設(shè)計,即數(shù)據(jù)總線和地址總線分開,使程序和數(shù)據(jù)分別存儲在兩個分開的空間,允許取指令和執(zhí)行指令完全重疊。也就是說在執(zhí)行上一條指令的同時就可取出下一條指令,并進行譯碼,這大大的提高了微處理器的速度 。另外還允許在程序空間和數(shù)據(jù)空間之間進行傳輸,因為增加了器件的靈活性。其工作原理是接收模擬信號,轉(zhuǎn)換為0或1的數(shù)字信號,再對數(shù)字信號進行修改、刪除、強化,并在其他系統(tǒng)芯片中把數(shù)字數(shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數(shù)以千萬條復(fù)雜指令程序,遠遠超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦

34、芯片。它的強大數(shù)據(jù)處理能力和高運行速度,是最值得稱道的兩大特色。由于它運算能力很強,速度很快,體積很小,而且采用軟件編程具有高度的靈活性,因此為從事各種復(fù)雜的應(yīng)用提供了一條有效途徑。根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下主要特點:(1)在一個指令周期內(nèi)可完成一次乘法和一次加法;(2)程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù); (3)片內(nèi)具有快速RAM,通??赏ㄟ^獨立的數(shù)據(jù)總線在兩塊中同時訪問; (4)具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持; (5)快速的中斷處理和硬件I/O支持; (6)具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器; (7)可以并行執(zhí)行多個操作; (8)支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行。 當然,與通用微處理器相比,DSP芯片的其他通用功能相對較弱些。區(qū)別是什么?:ARM具有比較強的事務(wù)管理功能,可以用來跑界面以及

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論