Ⅰ DSP有哪些特點適於進行數字信號處理
DSP的特點
對於沒有使用過DSP的初學者來說,第一個困惑就是DSP其他的嵌入式處理器究竟有什麼不同,它和單片機,ARM有什麼區別。事實上,DSP也是一種嵌入式處理器,它完全可以完成單片機的功能。
唯一的重要的區別在於DSP支持單時鍾周期的"乘-加"運算。這幾乎是所有廠家的DSP晶元的一個共有特徵。幾乎所有的DSP處理器的指令集中都會有一條MAC指令,這條指令可以把兩個操作數從RAM中取出相乘,然後加到一個累加器中,所有這些操作都在一個時鍾周期內完成。擁有這樣一條指令的處理器就具備了DSP功能。
具有這條指令就稱之為數字信號處理器的原因在於,所有的數字信號處理演算法中最為常見的算術操作就是"乘-加"。這是因為數字信號處理中大量使用了內積,或稱"點積"的運算。無論是FIR濾波,FFT,信號相關,數字混頻,下變頻。所有這些數字信號處理的運算經常是將輸入信號與一個系數表或者與一個本地參考信號相乘然後積分(累加),這就表現為將兩個向量(或稱序列)進行點積,在編程上就變成將輸入的采樣放在一個循環buffer里,本地的系數表或參考信號也放在一個buffer里,然後使用兩個指針指向這兩個buffer。這樣就可以在一個loop裡面使用一個MAC指令將二者進行點積運算。這樣的點積運算對與處理器來說是最快的,因為僅需一個始終周期就可以完成一次乘加。
了解DSP的這一特點後,當我們設計一個嵌入式系統時,首先要考慮處理器所實現的演算法中是否有點積運算,即是否要經常進行兩個數組的乘加,(記住數字濾波,相關等都表現為兩個數組的點積)如果有的話,每秒要做多少次,這樣就能夠決定是否採用DSP,採用多高性能的DSP了。
浮點與定點
浮點與定點也是經常是初學者困惑的問題,在選擇DSP器件的時候,是採用浮點還是採用定點,如果用定點是16位還是32位?其實這個問題和你的演算法所要求的信號的動態范圍有關。
定點的計算不過是把一個數據當作整數來處理,通常AD采樣來的都是整數,這個數相對於真實的模擬信號有一個刻度因子,大家都知道用一個16位的AD去采樣一個0到5V的信號,那麼AD輸出的整數除以2^16再乘以5V就是對應的電壓。在定點DSP中是直接對這個16位的采樣進行處理,並不將它轉換成以小數表示的電壓,因為定點DSP無法以足夠的精度表示一個小數,它只能對整數進行計算。
而浮點DSP的優勢在於它可以把這個采樣得到的整數轉換成小數表示的電壓,並不損失精度(這個小數用科學記數法來表示),原因在於科學記數法可以表示很大的動態范圍的一個信號,以IEEE754浮點數為例,
單精度浮點格式: [31] 1位符號 [30-23]8位指數 [22-00]23位小數
這樣的能表示的最小的數是+-2^-149,最大的數是+-(2-2^23)*2^127.動態范圍為20*log(最大的數/最小的數)=1667.6dB 這樣大的動態范圍使得我們在編程的時候幾乎不必考慮乘法和累加的溢出,而如果使用定點處理器編程,對計算結果進行舍入和移位則是家常便飯,這在一定程度上會損失是精度。原因在於定點處理處理的信號的動態范圍有限,比如16位定點DSP,可以表示整數范圍為1-65536,其動態范圍為20*log(65536/1)=96dB.對於32定點DSP,動態范圍為20*log(2^32/1)=192dB,遠小於32位ieee浮點數的1667.6dB,但是,實際上192dB對絕大多數應用所處理的信號已經足夠了。
由於AD轉換器的位數限制,一般輸入信號的動態范圍都比較小,但在DSP的信號處理中,由於點積運算會使中間節點信號的動態范圍增加,所以主要考慮信號處理流程中中間結果的動態范圍,以及演算法對中間結果的精度要求,來選擇相應的DSP。另外就是浮點的DSP更易於編程,定點DSP編程中程序員要不斷調整中間結果的P,Q值,實際就是不斷對中間結果進行移位調整和舍入。
DSP與RTOS
TI的CCS提供BIOS,ADI的VDSP提供VDK,都是基於各自DSP的嵌入式多任務內核。DSP編程可以用單用C,也可以用匯編,或者二者結合,一般軟體編譯工具都提供了很好的支持。我不想在這里多說BIOS,VDK怎麼用這在相應的文檔里說的很詳細。我想給初學者說說DSP的RTOS原理。用短短幾段話說這個復雜的東西也是挑戰!
其實DSP的RTOS和基於其他處理器的通用RTOS沒什麼大的區別,現在幾乎人人皆知的uCOSii也很容易移植到DSP上來,只要把寄存器保存與恢復部分和堆棧部分改改就可以。一般在用BIOS和VDK之前,先看看操作系統原理的書比較好。uCOS那本書也不錯。
BIOS和VDK其實是一個RTOS內核函數集,DSP的應用程序會和這些函數連接成一個可執行文件。其實實現一個簡單的多任務內核並不復雜,首先定義好內核的各種數據結構,然後寫一個scheler函數,功能是從所有就緒任務中(通過查找就緒任務隊列或就緒任務表)找出優先順序最高的任務,並恢復其執行。然後在此基礎上寫幾個用於任務間通信的函數就可以了,比如event,message box,等等。
RTOS一般採用搶先式的任務調度方式,舉例說當任務A等待的資源available的時候,DSP會執行一個任務調度函數scheler,這個函數會檢查當前任務是否比任務A優先順序低,如果是的話,就會把它當前掛起,然後把任務A保存在堆棧里寄存器值全部pop到DSP處理器中(這就是所謂的任務現場恢復)。接著scheler還會把從堆棧中取出任務A掛起時的程序執行的地址,pop到PC,使任務A繼續執行。這樣當前任務就被任務A搶先了。
使用RTOS之後,每個任務都會有一個主函數,這個函數的起始地址就是該任務的入口。一般每個任務的主函數里有一個死循環,這個循環使該任務周期地執行,完成一部分演算法模塊的功能,其實這個函數跟普通函數沒任何區別,類似於C語言中的main函數。一個任務創建的時候,RTOS會把這個函數入口地址壓入任務的堆棧中,好象這個函數(任務)剛發生過一次中斷一樣。一旦這個新創建任務的優先順序在就緒隊列中是最高的,RTOS就會從其堆棧中彈出其入口地址開始執行。
有一個疑問是,不使用RTOS,而是簡單使用一個主循環在程序中調用各個函數模塊,一樣可以實現軟體的調度執行。那麼,這種常用的方法與使用RTOS相比有什麼區別呢?其實,使用主循環的方法不過是一種沒有優先順序的順序執行的調度策略而已。這種方法的缺點在於,主循環中調用的各個函數是順序執行的,那麼,即使是一個無關緊要的函數(比如閃爍一個LED),只要他不主動返回,也會一直執行直到結束,這時,如果發生一個重要的事件(比如DMA buffer full 中斷),就會得不到及時的響應和處理,只能等到那個閃爍LED的函數執行完畢。這樣就使整個DSP處理的優先次序十分不合理。而在使用了RTOS之後,當一個重要的事件發生時,中斷處理會進入RTOS,並調用scheler,這時scheler 會讓處理這一事件的任務搶佔DSP處理器(因為它的優先順序高)。而哪個閃爍LED任務即使晚執行幾毫秒都沒任何影響。這樣整個DSP的調度策略就十分合理。
RTOS要說的內容太多,我只能講一下自己的一點體會吧
DSP與正(余)弦波
在DSP的應用中,我們經常要用到三角函數,或者合成一個正(余)弦波。這是因為我們喜歡把信號通過傅立葉變換映射到三角函數空間來理解信號的頻率特性。信號處理的一些計算技巧都需要在DSP軟體中進行三角函數計算。然而三角函數計算是非線性的計算,DSP並沒有專門的指令來求一個數的正弦或餘弦。於是我們需要用線性方法來近似求解。
一個直接的想法是用多項式擬合,這也正是大多數DSP C編譯器提供正餘弦庫函數所採用的方法。其原理是把三角函數向函數空間{1,x,x^2,x^3....}上投影,從而獲得一系列的系數,用這些系數就可以擬合出三角函數。比如,我們在[0,pi/2]區間上擬合sin,只需在matlab中輸入以下命令:
x=0:0.05:pi/2;
p=polyfit(x,sin(x),5)
就得到5階的多項式系數:
p =
0.00581052047605 0.00580963216172 -0.17193865685360
0.00209002716293 0.99969270087312 0.00000809543448
於是在[0,pi/2]區間上:
sin(x)= 0.00000809543448+0.99969270087312*x+ 0.00209002716293*x^2-0.17193865685360*x^3+
0.00580963216172*x^4+0.00581052047605*x^5
於是在DSP程序中,我們可以通過用乘加(MAC)指令計算這個多項式來近似求得sin(x)
當然如果用定點DSP還要把P這個多項式系數表用一定的Q值來改寫成定點數。
這樣的三角函數計算一般都需要幾十個cycle 的開銷。這對於某些場合是不能容忍的。
另一種更快的方法是藉助於查表,比如,我們將[0,pi/2]分成32個區間,每個區間長度就為pi/64,在每個區間上我們使用直線段擬合sin曲線,每個區間線段起點的正弦值和線段斜率事先算好,存在RAM里,這樣就需要在在RAM里存儲64個
常數:
32個起點的精確的正弦值(事先算好): s[32]={0,sin(pi/64),sin(pi/32),sin(pi/16)....}
32個線段的斜率: f[32]={0.049,.....}
對於輸入的每一個x,先根據其大小找到所在區間i,通常x用定點表示,一般取其高幾位就是系數i了,然 後通過下式即可求出sin(x):
sin(x)= s[i]*f[i]
這樣一般只需幾個CYCLE就可以算出正弦值,如果需要更高的精度,可以將區間分得更細,當然,也就需 要更多的RAM去存儲常數表。
事實上,不僅三角函數,其他的各種非線性函數都是這樣近似計算的。
Ⅱ 嵌入式軟體開發要學什麼要學哪些東西
嵌入式操作系統學習規劃
ARM+linux路線,主攻嵌入式Linux操作系統及其上應用軟體開發目標:
(1) 掌握主流嵌入式微處理器的結構與原理(初步定為arm9)
(2) 必須掌握一個嵌入式操作系統 (初步定為uclinux或linux,版本待定)
(3) 必須熟悉嵌入式軟體開發流程並至少做一個嵌入式軟體項目。
從事嵌入式軟體開發的好處是:
(1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,大多數人無條件接觸。
(2)與企業計算等應用軟體不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。
(3)哪天若想創業,搞自已的產品,嵌入式不像應用軟體那樣容易被盜版。硬體設計一般都是請其它公司給訂做(這叫「貼牌」:OEM),都是通用的硬體,我們只管設計軟體就變成自己的產品了。
(4)興趣所在,這是最主要的。
從事嵌入式軟體開發的缺點是:
(1)入門起點較高,所用到的技術往往都有一定難度,若軟硬體基礎不好,特別是操作系統級軟體功底不深,則可能不適於此行。
(2)這方面的企業數量要遠少於企業計算類企業。
(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基於嵌入式的難度。但大多數公司也並無此要求,只要有經驗即可。
(4)平台依託強,換平台比較辛苦。
興趣的由來:
1、成功觀念不同,不虛度此生,就是我的成功。
2、喜歡思考,挑戰邏輯思維。
3、喜歡C
C是一種能發揮思維極限的語言。關於C的精神的一些方面可以被概述成短句如下:
相信程序員。
不要阻止程序員做那些需要去做的。
保持語言短小精幹。
一種方法做一個操作。
使得它運行的夠快,盡管它並不能保證將是可移植的。
4、喜歡底層開發,討厭vb類開發工具(並不是說vb不好)。
5、發展前景好,適合創業,不想自己要死了的時候還是一個工程師。
方法步驟:
1、基礎知識:
目的:能看懂硬體工作原理,但重點在嵌入式軟體,特別是操作系統級軟體,那將是我的優勢。
科目:數字電路、計算機組成原理、嵌入式微處理器結構。
匯編語言、C/C++、編譯原理、離散數學。
數據結構和演算法、操作系統、軟體工程、網路、資料庫。
方法:雖科目眾多,但都是較簡單的基礎,且大部分已掌握。不一定全學,可根據需要選修。
主攻書籍:the c++ programming language(一直沒時間讀)、數據結構-C2。
2、學習linux:
目的:深入掌握linux系統。
方法:使用linux—〉linxu系統編程開發—〉驅動開發和分析linux內核。先看深,那主講原理。看幾遍後,看情景分析,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學習。最後深入代碼。
主攻書籍:linux內核完全剖析、unix環境高級編程、深入理解linux內核、情景分析和源代。
3、學習嵌入式linux:
目的:掌握嵌入式處理器其及系統。
方法:(1)嵌入式微處理器結構與應用:直接arm原理及匯編即可,不要重復x86。
(2)嵌入式操作系統類:ucOS/II簡單,開源,可供入門。而後深入研究uClinux。
(3)必須有塊開發板(arm9以上),有條件可參加培訓(進步快,能認識些朋友)。
主攻書籍:毛德操的《嵌入式系統》及其他arm9手冊與arm匯編指令等。
4、深入學習:
A、數字圖像壓縮技術:主要是應掌握MPEG、mp3等編解碼演算法和技術。
B、通信協議及編程技術:TCP/IP協議、802.11,Bluetooth,GPRS、GSM、CDMA等。
2010-8-21 16:46 回復
122.90.173.* 2樓
C、網路與信息安全技術:如加密技術,數字證書CA等。
D、DSP技術:Digital Signal Process,DSP處理器通過硬體實現數字信號處理演算法。
說明:太多細節未說明,可根據實際情況調整。重點在於1、3,不必完全按照順序作。對於學習c++,理由是c++不只是一種語言,一種工具,她還是一種藝術,一種文化,一種哲學理念、但不是拿來炫耀得東西。對於linux內核,學習編程,讀一些優秀代碼也是有必要的。
注意: 要學會舉一反多,有強大的基礎,很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種編程語言,並具有良好的邏輯思維。一定要理論結合實踐。
不要一味鑽研技術,雖然擠出時間是很難做到的,但還是要留點餘地去完善其他的愛好,比如宇宙,素描、機械、管理,心理學、游戲、科幻電影。還有一些不願意做但必須要做的!
技術是通過編程編程在編程編出來的。永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程在編程,完了在編程,在編程!等機會來了在創業(不要相信有奇跡發生,盲目創業很難成功,即便成功了發展空間也不一定很大)。
嵌入式書籍推薦
Linux基礎
1、《Linux與Unix Shell 編程指南》
C語言基礎
1、《C Primer Plus,5th Edition》【美】Stephen Prata著
2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)著
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux應用程序開發詳解》
Linux內核
1、《深入理解Linux內核》(第三版)
2、《Linux內核源代碼情景分析》毛德操 胡希明著
研發方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP詳解》
3、《Linux內核編程》
4、《Linux設備驅動開發》(LDD)
5、《Linux高級程序設計》 楊宗德著
硬體基礎
1、《ARM體系結構與編程》杜春雷著
2、S3C2410 Datasheet
英語基礎
1、《計算機與通信專業英語》
系統教程
1、《嵌入式系統――體系結構、編程與設計》
2、《嵌入式系統――採用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系統原理與實例開發》 楊宗德著
理論基礎
1、《演算法導論》
2、《數據結構(C語言版)》
3、《計算機組織與體系結構?性能分析》
4、《深入理解計算機系統》【美】Randal E. Bryant David O''Hallaron著
5、《操作系統:精髓與設計原理》
6、《編譯原理》
7、《數據通信與計算機網路》
8、《數據壓縮原理與應用》
C語言書籍推薦
1. The C programming language 《C程序設計語言》
2. Pointers on C 《C和指針》
3. C traps and pitfalls 《C陷阱與缺陷》
4. Expert C Lanuage 《專家C編程》
5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
《編程精粹--Microsoft 編寫優質無錯C程序秘訣》
6. Programming Embedded Systems in C and C++ 《嵌入式系統編程》
7.《C語言嵌入式系統編程修煉》
8.《高質量C++/C編程指南》林銳
盡可能多的編碼,要學好C,不能只注重C本身。演算法,架構方式等都很重要。
這里很多書其實是推薦而已,不必太在意,關鍵還是基礎,才是重中之重!!!
Ⅲ 給我一篇完整的dsp程序設計
隨著DSP晶元功能的增強,已不再進行單純的數字信號處理任務,而是作為一種MCU被廣泛使用,控制板上各種資源,同時完成採集、計算、控制、通訊等任務。特別是當使用了TCP/IP或其它復雜通訊協議時,沒有一個實時多任務操作系統是很難進行任務調度的。μC/OS-II作為一種源碼公開的佔先式實時多任務操作系統,總是執行處於就緒狀態的優先順序最高的任務,並支持Semaphore(信號量)、Mailbox(郵箱)、Message Queue(消息隊列)等多種常用的進程間通信機制,是大多數高可靠嵌入式設備的首選。
2 開發環境簡介
APCI5096是北京康拓工業電腦公司自行開發的一款DSP目標板,主要用於對模擬信號量的采樣處理。該目標板以TMS320VC32為CPU,同時具有完備的輸入/輸出功能,可以實現30通道、16位、300KSPS的模擬輸入。調試用編譯器為TI公司的Code Composer 『C3x-『C4x,版本是4.10版。
3 移植過程
3.1 μC/OS-II系統結構
圖1說明了μC/OS-II的軟硬體體系結構。應用程序軟體處於整個系統的頂層,只和μC/OS-II與處理器無關的代碼以及μC/OS-II與應用相關的代碼關聯。這樣保證了應用軟體的可重用性。
μC/OS-II與處理器無關的代碼提供了μC/OS-II的系統服務。利用這些API函數,應用程序可以進行內存管理、任務間的通信以及創建、刪除任務等。μC/OS-II與應用相關的代碼提供了對μC/OS-II本身的裁減,並可根據實際需要進行任務數、任務棧的大小等設置。
大部分的μC/OS-II代碼是使用ANSI C語言書寫的,因此μC/OS-II的可移植性較好。盡管如此,仍然需要使用C和匯編語言寫一些處理器相關的代碼。移植工作需要改寫的是與處理器相關的代碼,包括三個文件:OS_ CPU.H、OS_ CPU_ C
Ⅳ 做DSP開發,用C語言,對數據結構的要求高嗎
要求必須高,因為學習DSP主要是用來開發高速信號處理系統,那麼對演算法的時間復雜度比較高,而且,嵌入式系統本身沒有多大的存儲空間,這樣對空間復雜度要求比較高,所以,這都要求一個好的數據結構設計,故而如此。
Ⅳ DSP晶元和DSP技術的問題
你說的是其中的一部分知識,是DSP處理的信息的原理。
要向學習DSP的硬體開發,還要學習微機原理,由單片機系統的設計經驗最好。
還有就是DSP的開發環境,也就是CCS,要掌握常用的編程語言,有匯編語言和C語言的編程經驗最好.
首先要了解DSP的特點。
數字信號處理相對於模擬信號處理有很大的優越性,表現在精度高、靈活性大、可靠性好、易於大規模集成等方面。隨著人們對實時信號處理要求的不斷提高和大規模集成電路技術的迅速發展,數字信號處理技術也發生著日新月異的變革。實時數字信號處理技術的核心和標志是數字信號處理器。自第一個微處理器問世以來,微處理器技術水平得到了十分迅速的提高,而快速傅立葉交換等實用演算法的提出促進了專門實現數字信號處理的一類微處理器的分化和發展。數字信號處理有別於普通的科學計算與分析,它強調運算處理的實時性,因此DSP除了具備普通微處理器所強調的高速運算和控制功能外,針對實時數字信號處理,在處理器結構、指令系統、指令流程上具有許多新的特徵,其特點如下:
(1) 算術單元
具有硬體乘法器和多功能運算單元,硬體乘法器可以在單個指令周期內完成乘法操作,這是DSP區別於通用的微處理器的一個重要標志。多功能運算單元可以完成加減、邏輯、移位、數據傳送等操作。新一代的DSP內部甚至還包含多個並行的運算單元。以提高其處理能力。
針對濾波、相關、矩陣運算等需要大量乘和累加運算的特點,DSP的算術單元的乘法器和加法器,可以在一個時鍾周期內完成相乘、累加兩個運算。近年出現的某些DSP如ADSP2106X、DSP96000系列DSP可以同時進行乘、加、減運算,大大加快了FFT的蝶形運算速度。
(2) 匯流排結構
傳統的通用處理器採用統一的程序和數據空間、共享的程序和數據匯流排結構,即所謂的馮•諾依曼結構。DSP普遍採用了數據匯流排和程序匯流排分離的哈佛結構或者改進的哈佛結構,極大的提高了指令執行速度。片內的多套匯流排可以同時進行取指令和多個數據存取操作,許多DSP片內嵌有DMA控制器,配合片內多匯流排結構,使數據塊傳送速度大大提高。
如TI公司的C6000系列的DSP採用改進的哈佛結構,內部有一套256位寬度的程序匯流排、兩套32位的數據匯流排和一套32位的DMA匯流排。ADI公司的SHARC系列DSP採用超級哈佛結構(Super Harvared Architecture Computer),內部集成了三套匯流排,即程序存儲器匯流排、數據存儲器匯流排和輸入輸出匯流排。
(3) 專用定址單元
DSP面向數據密集型應用,伴隨著頻繁的數據訪問,數據地址的計算也需要大量時間。DSP內部配置了專用的定址單元,用於地址的修改和更新,它們可以在定址訪問前或訪問後自動修改內容,以指向下一個要訪問的地址。地址的修改和更新與算術單元並行工作,不需要額外的時間。
DSP的地址產生器支持直接定址、間接定址操作,大部分DSP還支持位反轉定址(用於FFT演算法)和循環定址(用於數字濾波演算法)。
(4) 片內存儲器
針對數字信號處理的數據密集運算的需要,DSP對程序和數據訪問的時間要求很高,為了減小指令和數據的傳送時間,許多DSP內部集成了高速程序存儲器和數據存儲器,以提高程序和數據的訪問存儲器的速度。
如TI公司的C6000系列的DSP內部集成有1M~7M位的程序和數據RAM;ADI公司的SHARC系列DSP內部集成有0.5M~2M位的程序和數據RAM,Tiger SHARC系列DSP內部集成有6M位的程序和數據RAM。
(5) 流水處理技術
DSP大多採用流水技術,即將一條指令的執行過程分解成取指、解碼、取數、執行等若干個階段,每個階段稱為一級流水。每條指令都由片內多個功能單元分別完成取指、解碼、取數、執行等操作,從而在不提高時鍾頻率的條件下減少了每條指令的執行時間。
(6) DSP與其它處理器的差別
數字信號處理器(DSP)、通用微處理器(MPU)、微控制器(MCU)三者的區別在於:DSP面向高性能、 重復性、數值運算密集型的實時處理;MPU大量應用於計算機;MCU則適用於以控制為主的處理過程。
DSP的運算速度比其它處理器要高得多,以FFT、相關為例,高性能DSP不僅處理速度是MPU的 4~10倍,而且可以連續不斷地完成數據的實時輸入/輸出。DSP結構相對單一,普遍採用匯編語言編程,其任務完成時間的可預測性相對於結構和指令復雜(超標量指令)、嚴重依賴於編譯系統的MPU強得多。以一個FIR濾波器實現為例,每輸入一個數據,對應每階濾波器系數需要一次乘、一次加、一次取指、二次取數,還需要專門的數據移動操作,DSP可以單周期完成乘加並行操作以及3~4次數據存取操作,而普通MPU完成同樣的操作至少需要4個指令周期。因此,在相同的指令周期和片內指令緩存條件下,DSP的運算送到可以超過MPU運算速度的4倍以上。
正是基於 DSP的這些優勢,在新推出的高性能通用微處理器(如Pentium、Power PC 604e等)片內已經融入了 DSP的功能,而以這種通用微處理器構成的計算機在網路通信、語音圖像處理、實時數據分析等方面的效率大大提高。
Ⅵ 嵌入式系統自學
你好,你的專業學習嵌入式的課程應該是非常對口的,建議你學習期間條件允許的話還是系統的學習一下,從應用層,系統層到底層驅動,因為你學東西的最終目的是為了就業嘛,這樣的話學習階段不要把方向定的那明確,否則對就業不利。關於學習的資料,你可以去華清遠見的網站上去看一下,好像有很多免費的技術資料和視頻。