⑴ 集美大學地理信息系統專業好不好
集美大學地理信息系統有兩個方向
1.地理信息系統專業(遙感與空間信息工程方向)(本科理工類學制四年)
培養目標:培養德智體全面發展的、具備堅實的遙感和空間信息工程基本理論、基本知識和基本技能,掌握空間信息獲取與處理、多源信息匹配與融合、遙感影像自動解譯技術和虛擬模擬的基本技術與方法,能從事空間信息應用系統的開發建設,和與數字化、信息化和網路化有關的科研、教學及工程技術工作的高層次復合型人才。
培養規格:掌握地球科學研究的對象和方法,建立起對地球系統的空間認知能力,熟悉遙感、全球定位系統和計算機科學的專門知識,熟練掌握空間數據獲取與處理的方法與技能;為空間信息系統的研究、開發和應用奠定堅實的基礎;培養學生具有扎實的數理基礎,初步具備空間數據分析與數據建模的能力;了解和掌握主要應用領域的特點,具備從事與本專業相關的應用研究、技術開發、生產管理和行政管理等工作的基本能力。
畢業生的服務方向及合適的工作崗位:
1、適合在高等院校或科研機構從事遙感與空間信息方面的教學、科研工作;
2、適合在資源、環境、水利、電力、交通、住房、土地、海洋、城鄉規劃等公共管理部門,從事與遙感和空間信息有關的管理工作;
3、適合在空間信息相關企業,從事系統開發與應用、數據生產與服務工作;
4、適合到部隊從事軍事測繪和軍事空間信息保障工作。
主要課程:高等數學、大學物理、地理學系列課程、計算機技術基礎系列課程、測量學、現代地圖學、遙感概論、數字圖像處理、攝影測量原理、遙感地學分析、計算機圖形學、模式識別、空間數據分析與建模、虛擬現實原理與技術、地理信息系統概論、GIS軟體技術與應用、GIS工程、組件式GIS、網路GIS、可視化編程語言、面向對象程序設計等。
2.地理信息系統專業(資源、環境與城鄉規劃方向)(本科理工類學制四年)
培養目標:培養德智體全面發展的、掌握資源、環境與城鄉規劃管理的基本理論和基本技能,掌握現代地圖學、遙感科學、計算機科學、地理信息系統等應用知識,和城市與區域管理、區域分析的基本方法,具有專業的地理科學素養和地球空間認知能力,熟悉我國資源環境保護、可持續發展戰略等方面的政策法規,能夠從事資源開發利用、環境保護與城鄉規劃管理相關工作的高級應用型人才。
培養規格:掌握地球科學研究的對象和方法,建立起對地球系統的空間認知能力,熟悉遙感、全球定位系統、地理信息系統和計算機科學的專門知識,了解相關的人文、社會科學知識和政策法規;通過城鄉規劃、生態、資源、環境等系列課程的學習,掌握主要應用領域的特點,掌握生態城市建設和城鄉規劃設計與管理的具體方法,能夠在相關的企、事業單位從事科研、教學、資源開發利用、城鄉規劃設計及管理等工作。
畢業生的服務方向及合適的工作崗位:
1、適合在高等院校或科研機構從事相關的教學、科研工作;
2、適合在資源、環境、經濟、國土、海洋、城建、市政、民政、旅遊、園林、規劃等公共管理部門,從事相關的管理工作;
3、適合在空間信息相關企業,從事系統應用、數據生產與服務工作。
主要課程:高等數學、大學物理、經濟學、管理學、運籌學、地理學系列課程、計算機技術基礎系列課程、測量學、現代地圖學、地理信息系統概論、GIS軟體技術與應用、遙感概論、數字圖像處理、計算機輔助設計、資源與環境概論、土地評價與土地管理、國土規劃、城市與區域規劃、生態環境規劃、房地產開發規劃等。
⑵ DSP與單片機的區別
DSP器件與單片機的比較
在過去的幾十年裡,單片機的廣泛應用實現了簡單的智能控制功能.隨著信息化的進程和計算機科學與技術、信號處理理論與方法等的迅速發展,需要處理的數據量越來越大,對實時性和精度的要求越來越高,在某些領域,低檔單片機已不再能滿足要求.
近年來,各種集成化的單片DSP的性能得到很大改善,軟體和開發工具也越來越多,越來越好;價格卻大幅度下滑,從而使得DSP器件及技術更容易使用,價格也能夠為廣大用戶接受;越來越多的單片機用戶開始考慮選用DSP器件來提高產品性能,DSP器件取代高檔單片機的可能性越來越大.
本文將從性能、價格等方面對單片機和DSP器件進行比較,在此基礎上,以TI的MS320C2XX系列DSP器件為例,探討DSP器件取代高檔單片機的可行性.
1.單片機的特點
所謂單片機就是在一塊晶元上集成了CPU、RAM、ROM(EPROM或EEPROM)、時鍾、定時/計數器、多種功能的串列和並行I/O口.如Intel公司的8031系列等.除了以上基本功能外,有的還集成有A/D、D/A,如Intel公司的8098系列.概括起來說,單片機具有如下特點:
具有位處理能力,強調控制和事務處理功能.價格低廉.如低檔單片機價格只有人民幣幾元錢.開發環境完備,開發工具齊全,應用資料眾多.後備人才充足.國內大多數高校都開設了單片機課程和單片機實驗.
2.DSP器件的特點
與單片機相比,DSP器件具有較高的集成度.DSP具有更快的CPU,更大容量的存儲器,內置有波特率發生器和FIFO緩沖器.提供高速、同步串口和標准非同步串口.有的片內集成了A/D和采樣/保持電路,可提供PWM輸出.DSP器件採用改進的哈佛結構,具有獨立的程序和數據空間,允許同時存取程序和數據.內置高速的硬體乘法器,增強的多級流水線,使DSP器件具有高速的數據運算能力. DSP器件還提供了高度專業化的指令集,提高了FFT快速傅里葉變換和濾波器的運算速度.此外,DSP器件提供JTAG介面,具有更先進的開發手段,批量生產測試更方便,開發工具可實現全空間透明模擬,不佔用用戶任何資源.軟體配有匯編/鏈接C編譯器、C源碼調試器.
目前國內推廣應用最為廣泛的DSP器件是美國德州儀器(TI)公司生產的TMS320系列.DSP開發系統的國產化工作已經完成,國產開發系統的價格至少比進口價格低一半,有的如TMS320C2XX開發系統只有進口開發系統價格的1/5,這大大刺激了DSP器件的應用.目前,已有不少高校計劃建立DSP實驗室,TI公司和北京聞亭公司都已制訂了高校支持計劃,將帶動國內DSP器件的應用和推廣(哈爾濱工程大學就是其中的一所,他們的實力非常強大)
⑶ 如何在VDSP下生成和調用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*f
這樣一般只需幾個CYCLE就可以算出正弦值,如果需要更高的精度,可以將區間分得更細,當然,也就需 要更多的RAM去存儲常數表.
事實上,不僅三角函數,其他的各種非線性函數都是這樣近似計算的.
1. 接觸DSP
在參加過一次社會上多的盡乎到了泛濫地步的"DSPxxx"培訓班之後,我"自信"已經具備DSP工師資格,便欣喜若狂跑道書店買了一本名為"DSP xxx應用"的書,作者叫xxx,並且是這個領域的牛人,這本書確實是很出色的書籍.但是當時,對於我這個對DSP一竅不通、剛剛入門的人來說卻建立了一個錯誤的概念--DSP是個很容易的領域,只要培訓一下,再稍微看看書,就可以成為專家.所以,現在看來,這些都是誤導,我認為學習DSP技術應該分為兩個階段,第一階段學習DSP技術基礎概念;第二階段學習DSP技術的行業應用.那本"DSP xxx應用"的書,它更適合書名應叫做"DSP中的數學或物理運用"...什麼的.
2. 購買DSP學習套件
有了興趣,就要去學習,於是我攛掇領導批准購買了DSP學習入門套件(DSK),許多公司均有銷售,如TI等,大概是需要3000-4000人民幣.買後不久,我就發現,這種套件對於我來說一點用處都沒有.因為我的基礎知識實在是太差了.這些套件對於我來說,只是另一種涵義的PC機及一些外圍設備,想要懂的這些東西,我就需要去讀更多的相關書籍,這時,很難沒有想要放棄的念頭,我開始有點畏懼DSP這種技術,門檻太高了.可是,我不能放棄,我已經投入了許多的金錢和時間,我不想丟掉這4000元錢,也不能對領導沒有交待.事實上,我沒有想到,我將付出更多的錢和時間去學習.
3. 再次參加培訓班,再次購買DSP書籍
在我就感到了無助,困惑之際.我又想到了放棄.雖然我的數學還算不錯,但其中遇到的一些問題在我思考後,還是無法解決,我越來越畏懼DSP了.於是,我開始在"google"上搜索DSP培訓相關的信息,終於發現聞亭公司"DSP培訓中心"的教程和內容正是我一直尋找的東西.也許是DSP技術對我的有著巨大的誘惑力,也許是我的之直著,我又一次勇敢的報名參加了培訓.32個課時之後,解決了我半年多來積累的很多粗淺的問題.再翻開培訓教材剛剛復讀了第一章時,我想如果這本教材是我讀到的第一本書,並且我沒有花4000元買那個可*的學習套件,我會毫不猶豫的投降,放棄學習DSP,但.......那個可*的xxx作者,他的書怎麼可以用作教學呀.他的書雖然讓我對DSP產生了濃厚的興趣,卻把我引到了一條艱難的路上,而且花了那麼多的冤枉錢....既然事已如此,我只有慢慢的去讀這些書籍,在我讀到教材的後面章節以後,我開始明白前面章節的內容,所以當你讀書遇到不明白的時候,千萬不要氣餒.有時,一個內容,可能需要讀上幾遍,才能明白,這比一開始的感覺要好的多了.
4. 實驗--至關重要的一步
現在,從你的架子上取下那套DSK,去嘗試做一些小實驗,我的第一個實驗是"正弦發生器",這個實驗比較簡單,但是它也花費了我幾周的時間去讀大量的關於串口、編碼、寄存器等的書並且進行大量的實驗.這個執行半小時的"正弦發生器",讓我查閱了恨不得夠組建一個圖書館的書籍,而且這個東西沒有任何用途.我是用匯編語言在54x中執行,這個實驗讓我很好的理解了什麼是DSP,什麼是McBSP, DMA, 等.當然問題也同步產生了,我就又不得不做了許多的實驗去驗證.我建議,在系統未定型之前,使用mathlab/simulink進行模擬,並且可以多實驗幾種晶元,這樣可以讓你明白更多的內容.我覺得我就要成為一個真正的DSP工程師了,我度過了最困難的時期.我覺得自己是個英雄,嘿嘿.
5. 去尋找一份與DSP相關的工作,去當個DSP工程師
我希望困難已經過去,但這種願望為時過早了.在DSP的研究中,我還遇到了很多的困難,由於篇幅有限,我就不在進行描述了.反正,如果想成為真正的DSP專家,就不要期望事情會變得容易.有些DSP開發人員並不知道什麼是真正的0和1,他們只會查閱各種參考書籍和參數表,我們並不提倡這種做法.因為這些人選擇了一種簡單的做法,但是他們並不是真正的DSP開發人員.他們只是編寫一些他們不理解的代碼,他們似乎在擔當著一台"編碼器"的角色.
6. 總結
這篇文章只是我的一點感慨,可能並不是很適用現在的DSP開發工程師,因為,市面上已經有了供你學習的DSP教學套件,搭配了多種實驗供你參考,輕松入門,如:聞亭公司的"大學實驗箱"什麼的.這個實驗箱提供了一個很好的實驗環境,並且為初學的你設計了多種實驗、教材,讓你由淺入深的學習.不會向我似的,繞一大圈才走到正
⑷ 求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*f
這樣一般只需幾個CYCLE就可以算出正弦值,如果需要更高的精度,可以將區間分得更細,當然,也就需 要更多的RAM去存儲常數表.
事實上,不僅三角函數,其他的各種非線性函數都是這樣近似計算的.
1. 接觸DSP
在參加過一次社會上多的盡乎到了泛濫地步的"DSPxxx"培訓班之後,我"自信"已經具備DSP工師資格,便欣喜若狂跑道書店買了一本名為"DSP xxx應用"的書,作者叫xxx,並且是這個領域的牛人,這本書確實是很出色的書籍.但是當時,對於我這個對DSP一竅不通、剛剛入門的人來說卻建立了一個錯誤的概念——DSP是個很容易的領域,只要培訓一下,再稍微看看書,就可以成為專家.所以,現在看來,這些都是誤導,我認為學習DSP技術應該分為兩個階段,第一階段學習DSP技術基礎概念;第二階段學習DSP技術的行業應用.那本"DSP xxx應用"的書,它更適合書名應叫做"DSP中的數學或物理運用"...什麼的.
2. 購買DSP學習套件
有了興趣,就要去學習,於是我攛掇領導批准購買了DSP學習入門套件(DSK),許多公司均有銷售,如TI等,大概是需要3000-4000人民幣.買後不久,我就發現,這種套件對於我來說一點用處都沒有.因為我的基礎知識實在是太差了.這些套件對於我來說,只是另一種涵義的PC機及一些外圍設備,想要懂的這些東西,我就需要去讀更多的相關書籍,這時,很難沒有想要放棄的念頭,我開始有點畏懼DSP這種技術,門檻太高了.可是,我不能放棄,我已經投入了許多的金錢和時間,我不想丟掉這4000元錢,也不能對領導沒有交待.事實上,我沒有想到,我將付出更多的錢和時間去學習.
3. 再次參加培訓班,再次購買DSP書籍
在我就感到了無助,困惑之際.我又想到了放棄.雖然我的數學還算不錯,但其中遇到的一些問題在我思考後,還是無法解決,我越來越畏懼DSP了.於是,我開始在"google"上搜索DSP培訓相關的信息,終於發現聞亭公司"DSP培訓中心"的教程和內容正是我一直尋找的東西.也許是DSP技術對我的有著巨大的誘惑力,也許是我的之直著,我又一次勇敢的報名參加了培訓.32個課時之後,解決了我半年多來積累的很多粗淺的問題.再翻開培訓教材剛剛復讀了第一章時,我想如果這本教材是我讀到的第一本書,並且我沒有花4000元買那個可*的學習套件,我會毫不猶豫的投降,放棄學習DSP,但.......那個可*的xxx作者,他的書怎麼可以用作教學呀.他的書雖然讓我對DSP產生了濃厚的興趣,卻把我引到了一條艱難的路上,而且花了那麼多的冤枉錢....既然事已如此,我只有慢慢的去讀這些書籍,在我讀到教材的後面章節以後,我開始明白前面章節的內容,所以當你讀書遇到不明白的時候,千萬不要氣餒.有時,一個內容,可能需要讀上幾遍,才能明白,這比一開始的感覺要好的多了.
4. 實驗——至關重要的一步
現在,從你的架子上取下那套DSK,去嘗試做一些小實驗,我的第一個實驗是"正弦發生器",這個實驗比較簡單,但是它也花費了我幾周的時間去讀大量的關於串口、編碼、寄存器等的書並且進行大量的實驗.這個執行半小時的"正弦發生器",讓我查閱了恨不得夠組建一個圖書館的書籍,而且這個東西沒有任何用途.我是用匯編語言在54x中執行,這個實驗讓我很好的理解了什麼是DSP,什麼是McBSP, DMA, 等.當然問題也同步產生了,我就又不得不做了許多的實驗去驗證.我建議,在系統未定型之前,使用mathlab/simulink進行模擬,並且可以多實驗幾種晶元,這樣可以讓你明白更多的內容.我覺得我就要成為一個真正的DSP工程師了,我度過了最困難的時期.我覺得自己是個英雄,嘿嘿.
5. 去尋找一份與DSP相關的工作,去當個DSP工程師
我希望困難已經過去,但這種願望為時過早了.在DSP的研究中,我還遇到了很多的困難,由於篇幅有限,我就不在進行描述了.反正,如果想成為真正的DSP專家,就不要期望事情會變得容易.有些DSP開發人員並不知道什麼是真正的0和1,他們只會查閱各種參考書籍和參數表,我們並不提倡這種做法.因為這些人選擇了一種簡單的做法,但是他們並不是真正的DSP開發人員.他們只是編寫一些他們不理解的代碼,他們似乎在擔當著一台"編碼器"的角色.
6. 總結
這篇文章只是我的一點感慨,可能並不是很適用現在的DSP開發工程師,因為,市面上已經有了供你學習的DSP教學套件,搭配了多種實驗供你參考,輕松入門,如:聞亭公司的"大學實驗箱"什麼的.這個實驗箱提供了一個很好的實驗環境,並且為初學的你設計了多種實驗、教材,讓你由淺入深的學習.不會向我似的,繞一大圈才走到正確的路上.另外,你也可以向他們的工程師咨詢.
⑸ 現在用什麼型號的DSP開發產品最多
這主要看你用在哪個領域,像基本的電機控制演算法什麼的2000系列就夠用了,,2407 2812
2812 用的多些,,如果圖像什麼的就要用到5000系。
⑹ 我目前正在學習DSP,誰有tms320c6713的視頻教程或者是哪裡有的賣開發板的最好便宜點兒,謝謝
視頻現在還沒有你要的型號的,一般都是54X的視頻,我覺得,你要是剛入門的話,看54X的也可以。至於開發板,國內有名的有合眾達、聞亭等,最好用的是TI原公司生產的,當然都比較貴,如果想要便宜的,只要入門的話,我建議你在網上專賣開發板的公司看一下,這些一般不太貴,只要夠用就行,甚至可以去淘寶上搜一下。還有就是,如果你不是新手的話,原來接觸過的定點的DSP,或者學過其他公司的DSP,我建議你選更高系列的浮點DSP,例如672X等,可以參考TI公司的網站。
⑺ DSP中 C55xx型號採用統一的程序/數據空間,其中統一的是什麼意思和獨立有什麼區別
1, DSP是單片機的一個分支。它有專門的FFT演算法需要的特殊指令,流水線指令處理。能以較高的速度進行運算。我們可以根據需要選用他。如果你作一個遙控器,選用他就沒優勢了。因為很多其他的用於遙控的單片機比他更適合用來作遙控器。如果你用89C51來作語音或圖像識別就不如DSP了。一個產品的設計要考慮,在滿足需求的情況下,他的性價比。
2,單片機長於控制場合應用,DSP長於信號分析運算,本身針對了不同的需求,應該不存在互相替代的問題。不過目前這兩者特點互相融合的趨勢倒是越來越明顯。
3,如果你還沒進入開發領域,把單片機的硬體摸透了對學DSP幫助很大,如果你還沒學單片機把起點架在DSP上也沒問題,以我的心得單片機你遲早要遇到,不如先學好他,對單片機能解決的問題,DSP的開發成本大得多,不過你將來要是遇到復雜的數字信號處理(如IIR,FIR,FFT)等,就用得上他了,它的速度和實時處理能力單片機是望塵莫及的。
還有一篇文章講這個的:
DSP器件與單片機的比較
在過去的幾十年裡,單片機的廣泛應用實現了簡單的智能控制功能。隨著信息化的進程和計算機科學與技術、信號處理理論與方法等的迅速發展,需要處理的數據量越來越大,對實時性和精度的要求越來越高,在某些領域,低檔單片機已不再能滿足要求。
近年來,各種集成化的單片DSP的性能得到很大改善,軟體和開發工具也越來越多,越來越好;價格卻大幅度下滑,從而使得DSP器件及技術更容易使用,價格也能夠為廣大用戶接受;越來越多的單片機用戶開始考慮選用DSP器件來提高產品性能,DSP器件取代高檔單片機的可能性越來越大。
本文將從性能、價格等方面對單片機和DSP器件進行比較,在此基礎上,以TI的MS320C2XX系列DSP器件為例,探討DSP器件取代高檔單片機的可行性。
1.單片機的特點
所謂單片機就是在一塊晶元上集成了CPU、RAM、ROM(EPROM或EEPROM)、時鍾、定時/計數器、多種功能的串列和並行I/O口。如Intel公司的8031系列等。除了以上基本功能外,有的還集成有A/D、D/A,如Intel公司的8098系列。概括起來說,單片機具有如下特點:
具有位處理能力,強調控制和事務處理功能。價格低廉。如低檔單片機價格只有人民幣幾元錢。開發環境完備,開發工具齊全,應用資料眾多。後備人才充足。國內大多數高校都開設了單片機課程和單片機實驗。
2.DSP器件的特點
與單片機相比,DSP器件具有較高的集成度。DSP具有更快的CPU,更大容量的存儲器,內置有波特率發生器和FIFO緩沖器。提供高速、同步串口和標准非同步串口。有的片內集成了A/D和采樣/保持電路,可提供PWM輸出。DSP器件採用改進的哈佛結構,具有獨立的程序和數據空間,允許同時存取程序和數據。內置高速的硬體乘法器,增強的多級流水線,使DSP器件具有高速的數據運算能力。DSP器件比16位單片機單指令執行時間快8~10倍,完成一次乘加運算快16~30倍。DSP器件還提供了高度專業化的指令集,提高了FFT快速傅里葉變換和濾波器的運算速度。此外,DSP器件提供JTAG介面,具有更先進的開發手段,批量生產測試更方便,開發工具可實現全空間透明模擬,不佔用用戶任何資源。軟體配有匯編/鏈接C編譯器、C源碼調試器。
目前國內推廣應用最為廣泛的DSP器件是美國德州儀器(TI)公司生產的TMS320系列。DSP開發系統的國產化工作已經完成,國產開發系統的價格至少比進口價格低一半,有的如TMS320C2XX開發系統只有進口開發系統價格的1/5,這大大刺激了DSP器件的應用。目前,已有不少高校計劃建立DSP實驗室,TI公司和北京聞亭公司都已制訂了高校支持計劃,將帶動國內DSP器件的應用和推廣(哈爾濱工程大學就是其中的一所,他們的實力非常強大)
3.DSP器件大規模推廣指日可待看
通過上述比較,我們可得出結論:DSP器件是一種具有高速運算能力的單片機。從應用角度看:DSP器件是運算密集型的,而單片機是事務密集型的,DSP器件可以取代單片機,單片機卻不能取代DSP。DSP器件價格大幅度下滑,直逼單片機看DSP器件廣泛使用了JTAG硬體模擬,比單片機更易於硬體調試。國產化的DSP開發系統為更多用戶採用DSP器件提供了可能性。DSP取代單片機的技術和價格的市場條件已經成熟看大規模推廣指日可待看(現在吹牛的人真是一點草稿都不打。不過DSP確實功能夠強大。)
結論:使用單片機的不一定了解DSP,並且非要用DSP不可;但使用DSP的一定了解單片機,並且能做出性價比高的產品。
附:
DSP器件的典型應用
隨著DSP性能不斷改善,用DSP器件來作實時處理已成為當今和未來技術發展的一個新熱點。TI公司最新推出的TMS320C2XX系列具有良好的性能價格比,基本可以取代16位單片機。其中TMS320C203單片價格不到人民幣100元,晶元內置544字的高速SRAM。外部可定址64K字程序/數據及I/O,指令周期在25ns~50ns之間,實時性處理比16位單片機快2倍以上,可取代一般的單片機。
MS320F206除了具有TMS320C203的功能外,內置32K字零等待快閃記憶體,可滿足單片設計的要求,能最大限度減少用戶板的體積。TMS320F240的指令、DSP核與TMS320C203、F206完全兼容,內置8K/16K字快閃記憶體,增加了兩路10位A/D,每路采樣頻率可達166kHz,提供9路獨立的PWM輸出,內置SCI和SPI介面,內置CAN匯流排介面。這些大大增強了TMS320X240的處理能力,在電機控制領域顯示了強大的生命力。它是一個典型的TMS320F240的用戶系統,它實現如下功能:
3相PWM輸出/3相電流測量/按鍵控制、液晶顯示/RS232通信,A/D、D/A介面,62K字零等待SRAM,擴展的輸入、輸出及雙向I/O口/JTAG介面。
⑻ TI的DSP(TMS320F2812)模擬器510和560有什麼區別
這個問題好,我用過510,對於560隻知道功能比510強大許多,具體卻沒有深究過。看了你的問題後,特意搜了下,找到一篇解釋的很詳細的,轉貼到這里,讓大家共享。
1. 實時調試工具和傳統模擬器的區別?
DSP 側重於數據流處理,而MCU(如X86,ARM)側重於事件處理。數據流需要
實時處理,所以DSP 子系統通常是實時系統。實時系統需要實時調試,但一般
的DSP 模擬器是不支持實時調試。
2.傳統Debuger 與實時調試的區別?
一般來說調試是通過調試工具完成的,調試工具通常是一個在PC 上運行
的軟體。Debugger 調試工具的主要任務是從目標CPU 獲取信息並控製程序在目
標CPU 上的運行。(例如單步執行,設置斷點,運行)但通常的模擬器在執行上
述工作時需要把在目標CPU 上運行的程序停下來。
實時系統需要實時調試工具,實時調試工具是在不停止目標CPU 工作的情
況下,從目標CPU 獲取信息並控製程序在目標CPU 上的運行。
想要實現實時調試,需要在調試工具和目標CPU 之間建立一條實時信息通道。
實時通道包括兩個方面:硬體通道和軟體通道。我們稱實時硬體通道為實時仿
真器,實時軟體通道為實時調試工具。
3. DSP 實時調試---Realtime emulator
要在調試工具和目標CPU 之間實現硬體實時通信通道,需要在PC 端和目標
DSP 端定義硬體介面。
TI 的DSP 用JTAG 作為硬體調試介面,我們通常所用的PC 端的硬體介面有
PCI,USB,EPP,PCMCIA,所以DSP 實時調試工具通常是一個盒子或一個PC 插卡加
盒子。實時調試工具的代表是TI 的XDS560 和聞亭公司的XDS560。TI 的XDS510
和聞亭公司的XDS510 是准實時模擬器(510 不支持AET)
4. Realtime debugger----High speed RTDX
為在調試工具和目標CPU 之間實現軟體實時數據交換通道,TI 在CCS 中定義
了RTDX 技術。RTDX 譯為實時數據交換。在PC 上使用CCS 調試工具的使用者要
在目標DSP 中使能RTDX 模塊,DSP 軟體工程師要把RTDX.obj 與他自己的程序連
接起來,然後在他的應用軟體中調用RTDX 功能。
當使用RTDX 功能時,需要停止目標DSP 的運行,然後在調試工具和DSP 之
間建立數據通道。
當使用TDS510 或XDS510 型號的模擬器時,RTDX 的速度僅有5-10K bytes/S,
對於DSP 的應用來說,這遠遠不夠。模擬器與DSP 的JTAG 介面造成了RTDX 的
瓶頸,想要增大RTDX 的帶寬就需要使用TDS560 或XDS560 和選擇DSP 的EJTAG
介面(如6211,64x,55x)。如果使用XDS560 和6211 晶元,RTDX 速度可以提
高到1.5M bytes/S,我們稱之為高速RTDX。
5. Real time Event debug----Advance Event Trigger (AET)
在實時系統,需要處理(像硬體中斷,定時器)這樣的實時事件。我們在
處理一般事件時,通常是在中斷程序入口插入一個軟體中斷,事件一旦被觸發,
程序將停在中斷處,我們可以觀察所需要的信息。但目標DSP 被停止運行後,
我們將丟失其他的實時事件和實時數據流。
為解決這樣的問題TI 提出了AET(高級事件觸發),我們可以在不停止DSP
運行的情況下捕捉到實時事件。要運行AET,我們需使用560 和選擇有EJTAG
介面的DSP 晶元(621X,64X,55X,OMAP)。510 不支持AET。
6. Summary
Ÿ 560----支持高速RTDX,ATE(選用有EJTAG 介面的DSP 晶元)---我們稱
之為實時調試工具
Ÿ 510----支持低速RTDX,不支持AET-----我們稱之為「准實時模擬器」或
「非實時模擬器」
Ÿ 標註:560 包含了510 的主要函數,將在CCS2.3 版本中包含所有的函數,
客戶通過選擇560 可以使他們的投資保值,因為他們早晚要將510 升級成560.
⑼ dsp用什麼模擬工具
這個問題好,我用過510,對於560隻知道功能比510強大許多,具體卻沒有深究過。看了你的問題後,特意搜了下,找到一篇解釋的很詳細的,轉貼到這里,讓大家共享。
1. 實時調試工具和傳統模擬器的區別?
DSP 側重於數據流處理,而MCU(如X86,ARM)側重於事件處理。數據流需要
實時處理,所以DSP 子系統通常是實時系統。實時系統需要實時調試,但一般
的DSP 模擬器是不支持實時調試。
2.傳統Debuger 與實時調試的區別?
一般來說調試是通過調試工具完成的,調試工具通常是一個在PC 上運行
的軟體。Debugger 調試工具的主要任務是從目標CPU 獲取信息並控製程序在目
標CPU 上的運行。(例如單步執行,設置斷點,運行)但通常的模擬器在執行上
述工作時需要把在目標CPU 上運行的程序停下來。
實時系統需要實時調試工具,實時調試工具是在不停止目標CPU 工作的情
況下,從目標CPU 獲取信息並控製程序在目標CPU 上的運行。
想要實現實時調試,需要在調試工具和目標CPU 之間建立一條實時信息通道。
實時通道包括兩個方面:硬體通道和軟體通道。我們稱實時硬體通道為實時仿
真器,實時軟體通道為實時調試工具。
3. DSP 實時調試---Realtime emulator
要在調試工具和目標CPU 之間實現硬體實時通信通道,需要在PC 端和目標
DSP 端定義硬體介面。
TI 的DSP 用JTAG 作為硬體調試介面,我們通常所用的PC 端的硬體介面有
PCI,USB,EPP,PCMCIA,所以DSP 實時調試工具通常是一個盒子或一個PC 插卡加
盒子。實時調試工具的代表是TI 的XDS560 和聞亭公司的XDS560。TI 的XDS510
和聞亭公司的XDS510 是准實時模擬器(510 不支持AET)
4. Realtime debugger----High speed RTDX
為在調試工具和目標CPU 之間實現軟體實時數據交換通道,TI 在CCS 中定義
了RTDX 技術。RTDX 譯為實時數據交換。在PC 上使用CCS 調試工具的使用者要
在目標DSP 中使能RTDX 模塊,DSP 軟體工程師要把RTDX.obj 與他自己的程序連
接起來,然後在他的應用軟體中調用RTDX 功能。
當使用RTDX 功能時,需要停止目標DSP 的運行,然後在調試工具和DSP 之
間建立數據通道。
當使用TDS510 或XDS510 型號的模擬器時,RTDX 的速度僅有5-10K bytes/S,
對於DSP 的應用來說,這遠遠不夠。模擬器與DSP 的JTAG 介面造成了RTDX 的
瓶頸,想要增大RTDX 的帶寬就需要使用TDS560 或XDS560 和選擇DSP 的EJTAG
介面(如6211,64x,55x)。如果使用XDS560 和6211 晶元,RTDX 速度可以提
高到1.5M bytes/S,我們稱之為高速RTDX。
5. Real time Event debug----Advance Event Trigger (AET)
在實時系統,需要處理(像硬體中斷,定時器)這樣的實時事件。我們在
處理一般事件時,通常是在中斷程序入口插入一個軟體中斷,事件一旦被觸發,
程序將停在中斷處,我們可以觀察所需要的信息。但目標DSP 被停止運行後,
我們將丟失其他的實時事件和實時數據流。
為解決這樣的問題TI 提出了AET(高級事件觸發),我們可以在不停止DSP
運行的情況下捕捉到實時事件。要運行AET,我們需使用560 和選擇有EJTAG
介面的DSP 晶元(621X,64X,55X,OMAP)。510 不支持AET。
6. Summary
⑽ 有單片機基礎在學習DSP有多難,DSP很難么我本科畢業/
1. 接觸DSP
在參加過一次社會上多的盡乎到了泛濫地步的"DSPxxx"培訓班之後,我"自信"已經具備DSP工程師資格,便欣喜若狂跑道書店買了一本名為"DSP xxx應用"的書,作者叫xxx,並且是這個領域的牛人,這本書確實是很出色的書籍。但是當時,對於我這個對DSP一竅不通、剛剛入門的人來說卻建立了一個錯誤的概念——DSP是個很容易的領域,只要培訓一下,再稍微看看書,就可以成為專家。所以,現在看來,這些都是誤導,我認為學習DSP技術應該分為兩個階段,第一階段學習DSP技術基礎概念;第二階段學習DSP技術的行業應用。那本"DSP xxx應用"的書,它更適合書名應叫做「DSP中的數學或物理運用」...什麼的。
2. 購買DSP學習套件
有了興趣,就要去學習,於是我攛掇領導批准購買了DSP學習入門套件(DSK),許多公司均有銷售,如TI等,大概是需要3000-4000人民幣。買後不久,我就發現,這種套件對於我來說一點用處都沒有。因為我的基礎知識實在是太差了。這些套件對於我來說,只是另一種涵義的PC機及一些外圍設備,想要懂的這些東西,我就需要去讀更多的相關書籍,這時,很難沒有想要放棄的念頭,我開始有點畏懼DSP這種技術,門檻太高了。可是,我不能放棄,我已經投入了許多的金錢和時間,我不想丟掉這4000元錢,也不能對領導沒有交待。事實上,我沒有想到,我將付出更多的錢和時間去學習3. 再次參加培訓班,再次購買DSP書籍
在我就感到了無助,困惑之際。我又想到了放棄。雖然我的數學還算不錯,但其中遇到的一些問題在我思考後,還是無法解決,我越來越畏懼DSP了。於是,我開始在「google"上搜索DSP培訓相關的信息,終於發現聞亭公司「DSP培訓中心」的教程和內容正是我一直尋找的東西。
也許是DSP技術對我的有著巨大的誘惑力,也許是我的執著,我又一次勇敢的報名參加了培訓。32個課時之後,解決了我半年多來積累的很多粗淺的問題。再翻開培訓教材剛剛復讀了第一章時,我想如果這本教材是我讀到的第一本書,並且我沒有花4000元買那個可*的學習套件,我會毫不猶豫的投降,放棄學習DSP,但……。那個可*的xxx作者,他的書怎麼可以用作教學呀。他的書雖然讓我對DSP產生了濃厚的興趣,卻把我引到了一條艱難的路上,而且花了那麼多的冤枉錢...。既然事已如此,我只有慢慢的去讀這些書籍,在我讀到教材的後面章節以後,我開始明白前面章節的內容,所以當你讀書遇到不明白的時候,千萬不要氣餒。有時,一個內容,可能需要讀上幾遍,才能明白,這比一開始的感覺要好的多了。
4. 實驗——至關重要的一步
現在,從你的架子上取下那套DSK,去嘗試做一些小實驗,我的第一個實驗是「正弦發生器」,這個實驗比較簡單,但是它也花費了我幾周的時間去讀大量的關於串口、編碼、寄存器等的書並且進行大量的實驗。這個執行半小時的「正弦發生器」,讓我查閱了恨不得夠組建一個圖書館的書籍,而且這個東西沒有任何用途。我是用匯編語言在54x中執行,這個實驗讓我很好的理解了什麼是DSP,什麼是McBSP, DMA, 等。
當然問題也同步產生了,我就又不得不做了許多的實驗去驗證。我建議,在系統未定型之前,使用mathlab/simulink進行模擬,並且可以多實驗幾種晶元,這樣可以讓你明白更多的內容。我覺得我就要成為一個真正的DSP工程師了,我度過了最困難的時期。我覺得自己是個英雄,嘿嘿。
5. 去尋找一份與DSP相關的工作,去當個DSP工程師
我希望困難已經過去,但這種願望為時過早了。在DSP的研究中,我還遇到了很多的困難,由於篇幅有限,我就不在進行描述了。反正,如果想成為真正的DSP專家,就不要期望事情會變得容易。有些DSP開發人員並不知道什麼是真正的0和1,他們只會查閱各種參考書籍和參數表,我們並不提倡這種做法。因為這些人選擇了一種簡單的做法,但是他們並不是真正的DSP開發人員.他們只是編寫一些他們不理解的代碼,他們似乎在擔當著一台「編碼器」的角色.
6. 總結
這篇文章只是我的一點感慨,可能並不是很適用現在的DSP開發工程師,因為,市面上已經有了供你學習的DSP教學套件,搭配了多種實驗供你參考,輕松入門,如:聞亭公司的「大學實驗箱」什麼的。這個實驗箱提供了一個很好的實驗環境,並且為初學的你設計了多種實驗、教材,讓你由淺入深的學習。不會向我似的,繞一大圈才走到正確的路上。另外,你也可以向他們的工程師咨詢。
祝所有DSP的研究者早日成功!