南京工程学院 Dsp复习
Dsp復習知識點
1.?最小系統包括?每個模塊做什么的?
答:一個DSP系統要能夠正常的運行程序完成簡單的任務,并能夠通過JTAG進行調試,它的
最小系統應該包括:
?
DSP芯片;
電源 ----加電順序需求,電源監測需求和功耗分析;
時鐘源 ----時鐘管理;
復位電路;
JTAG電路;
程序ROM --接口
?
2.?什么叫定位
答:
連接器將段重定位到目標系統的存儲器映射圖內,這個功能稱為定位(allocation)。
在目標存儲器里安置輸出段并分配它的地址的過程稱為定位。
3.?數字信號中的幾種序列?
答:
1、單位采樣序列
2、單位階躍序列
3、實指數序列 ??
4、復指數序列 ?
5、矩形序列
6、正弦序列
7、周期序列
4.?C6000的2種尋址方式,地址計算
答:線性方式尋址和循環方式尋址
地址計算emmmmm
5.?目標文件?段
一個COFF目標文件總是包含有3個默認段:
.text段,通常含有可執行代碼。
.data段,通常含有初始化數據。
.bss段,通常為未初始化變量預留空間。
段有兩種基本類型:
初始化段:含有數據和代碼。.text和.data段是初始化段,由匯編偽指令.sect創建的命名段也是初始化段。
未初始化段:為未初始化的數據在存儲器映射圖內預留空間。.bss是未初始化段,由匯編偽指令.usect創建的命名段也是未初始化段。
6.?流水線技術
?
7.?(大)偽指令memory,sections的語法規則及用法
memory偽指令定義一個目標系統的存儲器映像圖。用戶可以給存儲器各部分命名,指定它們的起始地址和長度。 MEMORY 命令的一般語法如下:
MEMORY{
name 1 [( attr )] : origin = constant , length = constant [, fill = constant]
…
name n [( attr )] : origin = constant , length = constant [, fill = constant]}
命令的參數:name 命名一個存儲器區域。attr指定與所命名區域相關聯的1~4種屬性。origin 指定存儲器區域的起始地址;length指定存儲器區域的長度;fill為存儲器區域指定填充字符,以fill或f輸入
例:指定一個具有R和W屬性的存儲器區域,存儲器區域的起始地址為0x00000020,長度為0x00001000,填充常數為0x 0FFFFFFFF:
MEMORY
{ RFILE (RW) : o = 0x00000020, l = 0x00001000, f = 0x0FFFFFFFF}
sections偽指令告訴連接器怎樣把輸入段組合成輸出段,以及把輸出段放在存儲器的什么位置。
SECTIONS偽指令的一般句法如下:
SECTIONS{
name : [property [, property] [, property] . . . ]
…
name : [property [, property] [, property] . . . ]
}
Name:輸出段的段名; Property:輸出段屬性
如果不指定一個SECTIONS偽指令,連接器使用一個默認的組合和分配段的算法。
每一個段定義以段名name開始,段名是段定義的一部分。段名后是一張定義段內容以及段如何定位的屬性列表。屬性可以由可選的逗號分開。
段可能有以下的屬性:
Load allocation;Run allocation;Input sections;Section type;Fill value
?
8.?連接器給數據段分配的2種地址
答:連接器給每個輸出段在目標存儲器內分配兩個地址:
?
加載時的地址
和
運行時的地址。
?
9.?C6000的庫,運行時支持庫,dsp library庫
答:運行時支持庫包括的內容:
ISO C/C++標準庫;
C的I/O庫;
提供低級支持函數,實現和主機操作系統的I/O;
內聯算術程序;
系統啟動程序(_c_int00);
?
使C/C++程序可以利用特定指令的函數和宏。
當連接程序時,必須設置目標庫作為連接器輸入文件之一,其中只能連接被調用的I/O和運行時支持庫函數。
DSP函數庫(DSP Library,DSPLib)提供一些已優化的ANSI C兼容代碼函數模塊,用于通用信號處理、數學和矢量運算。包括FFT運算、卷積與濾波運算、自適應濾波運算、相關運算、矢量數學運算、三角運算、矩陣運算以及數據類型轉換運算等數十個函數模塊。
在DSPLIB中,包括下面的7個函數類別:
自適應濾波算法;相關算法;FFT算法;數字濾波和卷積算法;數學函數;矩陣運算;常用函數;
?
10.?系統設計 上電順序(外設內核啥的),為什么是這個順序?--先內核后外設
答:
DSP的一些I/O管腳是雙向的,方向由內核控制。
I/O電壓一旦被加上后,I/O管腳就立即被驅動,
如果此時還沒加核電壓,
那么I/O的方向可能就不確定是輸入還是輸出。
如果是輸出,且這時與之相連的其他器件的管腳也處于輸出狀態,
那么就會造成時序的紊亂或者對器件本身造成損傷。
這種情況下,就需要核電壓比I/O電壓先加載,至少是同時加載。
?
為了保證C6000芯片在電源未達到要求的電平時,不會產生不受控制的狀態,建議在系統中加入電源監測電路。
?
11.?常用數字信號處理算法有
算法一、
克服大脈沖干擾的數字濾波法:
1.限幅 濾波法 ?
2.中值 濾波法
3.基于 拉依達準則 的 奇異數據濾波法(剔除粗大誤差)
4. 基于 中值數 絕對偏差 的 決策濾波器
算法二、
抑制小幅度高頻噪聲的平均濾波法:通常采用具有低通特性的線性濾波器
1.算數 平均 濾波法 ?
2.滑動 平均 濾波法
3.加權滑動 平均 濾波法
算法三、復合濾波法
?
12.?(大)對dsp公共資源使用限制的6--7種情況
答:
對dsp指令集:
1,指令和功能單元之間的映射
2,延遲時隙
3,指令操作碼映射圖
4,并行操作
5,條件操作
6,資源限制
資源對公共指令集的限制:
1,使用 相同功能單元指令 的限制
2,使用 交叉通路 的限制
3,使用 長定點型數據 的限制
4,數據 讀寫 的限制
5,寄存器 讀取 的限制
6,寄存器 寫 的限制。
13.?為什么有類型說明符,即typedef ?
答:
使用typedef類型說明符,用戶可以自定義數據類型,簡化書寫,又增加了可讀性。
例://將無符號的整型數據定義為Uint32
typedef unsigned int Uint32;
?
14.?Dsp有幾個系列
答:TI將常用的dsp分為:TMS320C2000系列,TMS320C5000系列,TMS320C6000系列
TMS320系列,ADSP-21xx系列,SHARC系列,TigerSHARC系列,Blackfin系列
15.?處理器——分類 ,分為哪2類?
答:根據硬件指令系統設計的特點分為
復雜指令集 ?處理器CISC(Complex Instruction Set Computer) 和
精簡指令集 ?處理器RISC(Reduced Instruction Set Computer)
16.?匯編和C語言兩者的比較優劣勢
答:
匯編優點:
編譯和執行效率高,能夠滿足實時性要求很高的場合;;易實現嚴格的時序要求,和DSP硬件配合較好;
缺點:不易學、編程周期長;;可移植性差;;需詳細掌握系統的硬件結構細節;
C語言優點:
接近人的思維方式、便于編程、易學易用;;C語言的可移植性好;;不必詳細掌握系統硬件結構細節;
缺點:編譯、執行效率相對較低( >80%) ;;不如匯編語言緊湊;;不易保證嚴格的時間要求。
?
17.?數字信號處理 ?數字濾波器和傳統的有什么優缺點
答:數字濾波器指輸入、輸出均為數字信號,通過數值運算處理改變輸入信號所含頻率成分的相對比例,或者濾除某些頻率成分的數字器件或程序。它的優點:精度高;;穩定,適于批量生產;;體積小;;重量輕;;靈活;;不要求阻抗匹配;;可實現特殊的濾波功能
從濾波特性上分為:低通,高通,帶通,帶阻
從網絡結構上分為:IIR濾波器;FIR濾波器
數字濾波器的技術指標:1;幅頻特性:表示信號通過該濾波器后各頻率成分的衰減情況。2;相頻特性:反映各個頻率成分通過濾波器后在時間上的延時情況。
一般選頻濾波器的技術要求由幅頻特性給出,相頻特性一般不作要求;但如對輸出波形有要求,則需要考慮相頻特性的技術指標。
18.?C6000中資源 ?數據通路 大致資源架構
答:C6000文獻把在指令執行過程中使用的物理資源統稱為數據通路,其中包括執行指令的8個功能單元、通用寄存器組以及CPU與片內數據存儲器交換信息所使用的數據總線等。
8個功能單元(.L1,.L2,.S1,.S2,.M1,.M2,.D1,.D2)
兩個通用寄存器組(A和B)
2個數據讀取通路(LD1和LD2)
2個數據存儲通路(ST1和ST2)
2個寄存器組交叉通路(1X和2X)
2個數據尋址通路(DA1和DA2)
?
19.?奈奎斯特采樣定理,怎么采樣
答:設連續信號屬帶限信號,最高截止頻率為Ωc,如果采樣角頻率Ωs>2Ωc,那么讓采樣信號通過一個增益為T、截止頻率為Ωs/2的理想低通濾波器,可以唯一地恢復出原連續信號。否則, Ωs<2Ωc會造成采樣信號中的頻譜混疊現象,不可能無失真地恢復原連續信號。一般把臨界采樣頻率Ωs min =2Ωc稱為奈奎斯特采樣頻率。
20.?(大)序列中 ?序列之間互相關 ?(根據圖)求序列的卷積
答:(1)相關運算,設有離散信號x(n)和y(n),其線性相關函數為:
?
上式表示的相關運算,是兩數字序列的對應項相乘再相加的運算。式中m表示位移量,m>0表示序列左移,m<0表示右移。
(2)卷積:通過兩個函數x和h生成第三個函數y的一種數學算子,表征函數x與h經過翻轉和平移的重疊部分的面積。
卷積計算:1.圖解法
?
2.例:已知x(n)和h(n)分別為:和,試求x(n)和h(n)的線性卷積。
解?:?參看下圖,分段考慮如下:(1)對于n<0:(2)對于0≤n≤4:(3)對于n>4,且n-6≤0,即4<n≤6時:(4)對于n>6,且n-6≤4,即6<n≤10時:(5)對于(n-6)>4,即n>10時:
綜合以上結果,y(n)可歸納如下:
?
21.?存儲格式?大段,小端,dsp存儲格式有什么特點
Endian表示長數據存儲在外部存儲器中,每個尋址單元如字節,字訪問數據的次序,最常用的是字節次序。高字節先稱為大端格式,低字節先稱為小端格式。Dsp默認是小端格式。
?
22.?運算結果溢出,怎么解決
加減運算指令及溢出問題
1、分類
有符號數加減運算指令:
操作數為整型(32位)或長整型(40位)的ADD、SUB指令;
操作數為半字(16位)的ADD2/SUB2指令。
無符號數加減運算指令ADDU、SUBU,操作數為32或40位無符號數;
帶飽和的有符號數加減運算指令SADD、SSUB,操作數為32或40位有符號數;
與16位常數進行加法操作的指令ADDK。
2、溢出問題
運算結果超出目的操作數字長所能表示數的范圍,造成運算結果的高位丟失。
解決方法3種:
用較長的字長來存放運算結果,使目的操作數字長超出源操作數字長;
用帶飽和的加減運算指令做補碼數加減運算;
對整個系統乘一個小于1的比例因子,亦即將所有輸入的數值減小,以保持運算過程不產生溢出,但該方法會降低計算精度。
3、減法運算舉例
以相同的src1和src2做不同的減法指令說明:飽和減法指令與減法指令的差別;保護位防止溢出的作用。
SSUB ????.L2 ????B1,B2,B3
?
4、累加和運算舉例
計算累加和的程序,用長型數存放和數,有8位保護位
下述程序在進入loop循環前,已使寄存器A4指向存放數組的基地址,寄存器B1存放欲累加的個數,寄存器組A3:A2用來存放累加和,進入循環前已清零。
loop: ??LDW ??.D1 ???*A4++,A0
???????????NOP ???4
???????????ADD ???.L1 ????A3:A2,A0,A3:A2
???????????SUB ???.L2 ????B1,1,B1
???????????[B1] B ?.S1 ???loop
???????????NOP ???5
?
?
23.?什么叫周期序列,給一個序列證明是周期序列
答:若對所有n存在一個最小的正整數N,滿足
則稱序列x(n)是周期性序列,周期為N。
例:?因此,x(n)是周期為8的周期序列
一般正弦序列的周期性討論,,
不是周期序列
?
24.?C6000由三個主要部分組成:核CPU、外設和存儲器
CPU,包括:
程序取指單元
指令分配單元
指令譯碼單元
32個32位寄存器
兩個數據通路,每個數據通路4個功能單元
控制寄存器
控制邏輯
測試、仿真和中斷邏輯 ?
?
25.?Dsp與通用CPU的優勢
答:低成本,體積小,功耗低,對高頻信號進行實時處理
通用:龐大的存儲系統,先進復雜的操作系統
?
總結
以上是生活随笔為你收集整理的南京工程学院 Dsp复习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 笔试训练第三次知识点汇总
- 下一篇: 南京工程学院 嵌入式linux 复习