第一篇:DSP復(fù)習(xí)總結(jié)(精)
一.數(shù)字信號(hào)處理概述
1.DSP的優(yōu)勢:可控性強(qiáng),穩(wěn)定度高,精度高,抗干擾性強(qiáng),實(shí)現(xiàn)自適應(yīng)性,數(shù)據(jù)壓縮, 大規(guī)模集成。
2.實(shí)時(shí)數(shù)字信號(hào)處理:信號(hào)處理速度必須大于等于輸入信號(hào)更新的速度,而且信號(hào)輸入到
處理后輸出的延遲必須足夠的小
實(shí)時(shí)取決因素:芯片速度,運(yùn)算量(數(shù)據(jù)率,算法復(fù)雜度
3.DSP子系統(tǒng)實(shí)現(xiàn)方式:通用CPU,加速處理模塊,單片機(jī),專用DSP芯片,可編程FPGA 器件,通用可編程DSP芯片
3.DSP系統(tǒng)典型處理方法:數(shù)據(jù)流處理。塊處理 矢量處理
4.定點(diǎn)與浮點(diǎn)DSP芯片 定點(diǎn): 小數(shù)Xf轉(zhuǎn)換為定點(diǎn)數(shù)Xd:Xd=int(Xf×2Q 定點(diǎn)數(shù)Xd轉(zhuǎn)換為小數(shù)Xf:Xf=float(Xd×2-Q 0.25的Q15表示法——0.25×215=8192=0x2000 0x4623的Q15表示小數(shù)——17955×2-15=0.547943 第一位為符號(hào)位
浮點(diǎn): bit3bit3bit2bit2bit S e f 浮點(diǎn)數(shù)=(-1S×2(e-127×1.f-0.75=-(0.112=-(1.1×2-1=(-11×(1.1×2(126-127-0.75的IEEE單精度浮點(diǎn)格式數(shù)為:(BF400000H 5.DSPs芯片特點(diǎn)
算數(shù)單元:硬件乘法器是DSPs區(qū)別于早期通用微處理起的重要標(biāo)志 多功能單元使DSP在單位時(shí)間內(nèi)完成更多的操作,提高了程序執(zhí)行速度 總線結(jié)構(gòu):哈弗總線結(jié)構(gòu)
流水技術(shù):是提高DSPs程序執(zhí)行效率的另一個(gè)重要手段 專用尋址單元:地址的計(jì)算不再額外占用CPU時(shí)間 片內(nèi)存儲(chǔ)器:程序存儲(chǔ),數(shù)據(jù)存儲(chǔ),CACHE 豐富的外設(shè)
6.DSP處理器實(shí)現(xiàn)高速運(yùn)算途徑 ?硬件乘法器及乘加單元 ?高效的存儲(chǔ)器訪問 ?數(shù)據(jù)格式 ?零循環(huán)開銷 ?多個(gè)執(zhí)行單元
?數(shù)據(jù)流的線性I/O ?專門的指令集
6.DSP評(píng)價(jià)方法:傳統(tǒng)性能評(píng)價(jià) MIPS-----百萬指令每秒 MOPS-----百萬操作每秒 MFLOPS-----百萬浮點(diǎn)操作每秒 MACS-------乘加次數(shù)每秒 完整應(yīng)用評(píng)價(jià) 核心算法評(píng)價(jià)
7.選型依據(jù):速度,精度,芯片資源,開發(fā)工具,支持多處理器,功耗與電源管理,成本。
8.哈佛總線結(jié)構(gòu)包括6條總線:PAB(程序地址總線,DRAB(數(shù)據(jù)讀地址總線,DW AB(數(shù)據(jù)寫地址總線,PRDB(程序讀地址總線,DRDB(數(shù)據(jù)讀總線,DWEB(數(shù)據(jù)寫總線
第二章.TMS320C200 DSP處理器 1.內(nèi)部結(jié)構(gòu)
三個(gè)主要組成部分:中央處理單元,存儲(chǔ)器,外設(shè)
同系列芯片具有相同的中央處理單元、總線結(jié)構(gòu)和指令集。片內(nèi)存儲(chǔ)器以及外設(shè)有所區(qū)別
中央處理單元:中央算術(shù)邏輯部分(算術(shù)邏輯運(yùn)算,由累加器存放結(jié)果,輸出數(shù)據(jù)定標(biāo)移
位器進(jìn)行移位
輸入定標(biāo)部分(將來自存儲(chǔ)器的16位數(shù)據(jù)左移變成32位送往中央算數(shù)邏 輯單元 乘法部分
輔助寄存器算數(shù)單元(尋址+運(yùn)算 狀態(tài)寄存器
2.C2000總線結(jié)構(gòu)特點(diǎn)
(1采用各自獨(dú)立的數(shù)據(jù)地址總線分別用于數(shù)據(jù)讀(DBAB和數(shù)據(jù)寫(DW AB,因此CPU的讀寫可在一個(gè)周期內(nèi)進(jìn)行
(2 獨(dú)立的程序空間和數(shù)據(jù)空間允許CPU同時(shí)訪問程序指令和數(shù)據(jù)。3.引腳
DS(output:外部數(shù)據(jù)存儲(chǔ)器選通引腳 PS(output :外部程序存儲(chǔ)器選通引腳 IS(output :外部IO空間存儲(chǔ)器選通引腳 R/W(output :讀寫選擇信號(hào)
STRB(output :外部存儲(chǔ)器訪問選通引腳 READY(input :外設(shè)準(zhǔn)備好信號(hào)
MP/MC(input:工作模式選擇引腳。A0~A15:16位地址線 D0~D15:16位數(shù)據(jù)線
4.程序地址產(chǎn)生:程序計(jì)數(shù)器(利用16位的程序計(jì)數(shù)器PC對(duì)內(nèi)部和外部程序存儲(chǔ)器尋址
堆棧(16位寬、8級(jí)深度的硬件堆棧。功能:保存返回地址與重要數(shù)據(jù) 微堆棧(16位寬,1級(jí)深。功能:保存返回地址。無指令對(duì)微堆棧操作。流水線操作(4個(gè)獨(dú)立階段:取指令(Fetch、指令譯碼(Decode、取操作 數(shù)(Operand和執(zhí)行指令(Execute。5.轉(zhuǎn)移調(diào)用和返回指令
轉(zhuǎn)移(跳轉(zhuǎn):使控制轉(zhuǎn)換到新的地址單元
調(diào)用:使控制轉(zhuǎn)換到新的地址單元,將返回地址壓入堆棧 返回:使棧頂?shù)牡刂窂棾龅匠绦蛴?jì)數(shù)器PC中
6.重復(fù)指令RPT:它的下一條指令重復(fù)被執(zhí)行,執(zhí)行次數(shù)是重復(fù)指令中操作數(shù)加一。
例如:RPT #N INST1 INST2 運(yùn)行結(jié)果:INST1執(zhí)行N+1次
7.中斷控制(1中斷分類
觸發(fā)源角度:硬件中斷(內(nèi)部,外部,軟件中斷(指令觸發(fā) DSP管理中斷角度:可屏蔽中斷,不可屏蔽中斷(2中斷矢量表
又稱為中斷地址,表明中斷發(fā)生后,若DSP響應(yīng)中斷,指令執(zhí)行的地址。(3可屏蔽中斷設(shè)置
中斷標(biāo)志寄存器IFR:中斷請(qǐng)求到達(dá)CPU時(shí)為1 中斷屏蔽寄存器IMR:為0,屏蔽中斷 為1,中斷
中斷控制寄存器ICR:(4可屏蔽中斷響應(yīng)流程
中斷請(qǐng)求-----中斷響應(yīng)-------中斷服務(wù)(5非屏蔽中斷
硬件非屏蔽中斷:RS,NMI 軟件非屏蔽中斷:INTR k,NMI,TRAP(6中斷服務(wù)程序ISR 中斷服務(wù)程序是用戶編寫的,是對(duì)中斷事件做出響應(yīng)的子程序。
CPU 接收到中斷請(qǐng)求并響應(yīng)之后,就根據(jù)中斷矢量內(nèi)容轉(zhuǎn)移到相應(yīng)的中斷服務(wù)程序ISR 中
(7復(fù)位:優(yōu)先級(jí)最高的中斷,屬于非屏蔽外部中斷(硬件 復(fù)位操作至少需要6個(gè)時(shí)鐘周期 8.存儲(chǔ)器與I/O 空間
(1存儲(chǔ)器類型:程序存儲(chǔ)空間,數(shù)據(jù)存儲(chǔ)空間,IO 空間(2片內(nèi)存儲(chǔ)器與片外存儲(chǔ)器
片內(nèi):速度快,功耗低,運(yùn)行穩(wěn)定,訪問效率高。片內(nèi)存儲(chǔ)器類型:片內(nèi)雙訪問存儲(chǔ)器—DARAM 片內(nèi)單訪問程序/數(shù)據(jù)存儲(chǔ)器—SARAM 掩膜型片內(nèi)存儲(chǔ)器—ROM 閃速存儲(chǔ)器—FLASH 片外:容量大(3程序存儲(chǔ)空間
功能:程序存儲(chǔ)器存放程序的代碼、表格信息、固定操作數(shù)。程序運(yùn)行時(shí)只讀??刂菩盘?hào)引腳:PS ,STRB, 擴(kuò)展:兩片8K ×8位存儲(chǔ)器構(gòu)成8Kx16位的靜態(tài)存儲(chǔ)器與C2000相連(4數(shù)據(jù)存儲(chǔ)空間
功能:存放DSP 運(yùn)行時(shí)所需要的數(shù)據(jù),程序運(yùn)行時(shí)可讀寫。
控制信號(hào)引腳:DS :當(dāng)外部總線正被數(shù)據(jù)存儲(chǔ)器使用時(shí),DS 為低電平。STRB :當(dāng)外部總線正被使用時(shí),STRB 為低電平。BR :當(dāng)訪問全局?jǐn)?shù)據(jù)空間時(shí),BR 為低電平。
擴(kuò)展:2個(gè)8K 8bit 的RAM 完成8K 16bit 靜態(tài)存儲(chǔ)器與C2000的接口 本地?cái)?shù)據(jù)空間:直接尋址,間接尋址
全局?jǐn)?shù)據(jù)空間:用于保存與其他處理器共用的數(shù)據(jù),引腳BR ,低電平訪問全局(5I/O 空間 功能:輸入輸出
控制信號(hào)引:IS :當(dāng)外部總線正被IO 空間使用時(shí),IS 為低電平。STRB :當(dāng)外部總線正被使用時(shí),STRB 為低電平。訪問方式:IN、OUT 指令(6程序引導(dǎo)
功能:在復(fù)位時(shí),DSP 內(nèi)部的引導(dǎo)程序把用戶程序從外部的8位數(shù)據(jù)空間存儲(chǔ)器中引導(dǎo)到內(nèi)部的16位程序空間的RAM 中,從而開始運(yùn)行用戶程序
條件:DSP 復(fù)位時(shí),BOOT 引腳必須為0。(7存儲(chǔ)器配置 9.片內(nèi)外設(shè)(1時(shí)鐘產(chǎn)生器
(2定時(shí)器
定時(shí)器中斷頻率為
1(1(1++?=PRD TDDR f f clkout1TINT PRD為16位定時(shí)器周期寄存器;TDDR為4位(不超過15定時(shí)器除數(shù)寄存器;設(shè)置:PRD,TCR(3等待狀態(tài)發(fā)生器
等待狀態(tài)產(chǎn)生的兩種方式:使用READY信號(hào)(低電平有效靈活,可以產(chǎn)生任 為任意外部設(shè)備產(chǎn)生等待周期
設(shè)置片內(nèi)等待狀態(tài)發(fā)生器(WSGR:方便,可靠;為某一空間設(shè)置整體的等待周期(4同步串行口
基本信號(hào):時(shí)鐘信號(hào)CLKX,幀同步信號(hào)FSX,數(shù)據(jù)信號(hào)DX.中斷信號(hào):發(fā)送中斷XINT,接受中斷RINT DSP與串口的訪問方式:查詢,中斷 同步串行口發(fā)送模式: 利用內(nèi)部幀同步的突發(fā)模式(FSM=1,TXM=1 利用外部幀同步的突發(fā)模式(FSM=1,TXM=0 利用內(nèi)部幀同步的連續(xù)模式(FSM=0,TXM=1 利用外部幀同步的連續(xù)模式(FSM=0,TXM=0
同步串行口接收模式: 突發(fā)模式接收 連續(xù)模式接收(4異步串行口
基本信號(hào):數(shù)據(jù)信號(hào)TX,TR,握手信號(hào)IO0~IO3 9.通用IO引腳 BIO,XF,IO0~IO3 第三章.TMS320C2000軟件環(huán)境 1.尋址方式(1立即尋址 短立即數(shù)尋址方式
RPT #99;RPT后面的指令重復(fù)執(zhí)行100次 長立即數(shù)尋址方式
ADD #16384,2;累加器與數(shù)值16384左移2位后相加(2直接尋址
必須首先對(duì)DP進(jìn)行設(shè)置以確定數(shù)據(jù)頁面,然后再書寫進(jìn)行某種操作的指令,該指令的操作數(shù)將確定數(shù)據(jù)頁面內(nèi)部的特定偏移單元。其步驟如下: LDP #20H;初始化數(shù)據(jù)頁面指針
ADD 5Dh;累加器與當(dāng)前數(shù)據(jù)頁面內(nèi)偏移量5DH單元的內(nèi)容相加,結(jié)果存入累
加器中(3間接尋址
利用8個(gè)16位的輔助寄存器AR7~AR0,可提供靈活多變且功能強(qiáng)大的間接尋址方式。
LAR AR1,#289H MAR *,AR1 ADD *;ACC<=ACC+289H@DS C2000提供了4種修改方法供間接尋址選擇
(1無增量或減量。指令使用當(dāng)前AR內(nèi)容作為數(shù)據(jù)存儲(chǔ)器地址,指令執(zhí)行完成后,當(dāng)前AR 的內(nèi)容保持不變。ADD *;ACC=ACC+(ARx(2加1或減1。指令使用當(dāng)前AR內(nèi)容作為數(shù)據(jù)存儲(chǔ)器地址,然后將當(dāng)前AR內(nèi)容加1或減
1。ADD *+ ADD *-;ACC=ACC+(ARx, ARx=ARx-1(3加或減一個(gè)變址量。AR0中的值即是這個(gè)變址量。指令使用當(dāng)前AR內(nèi)容作為數(shù)據(jù)存儲(chǔ)
器地址,然后將當(dāng)前AR的內(nèi)容和AR0的值相加或相減,結(jié)果送到當(dāng)前AR中。
ADD *0+ ADD *0-;ACC=ACC+(ARx, ARx=ARx-AR0(4位翻轉(zhuǎn)加或減一個(gè)變址量。AR0中的值即是這個(gè)變址量,指令使用當(dāng)前AR內(nèi)容作為數(shù)
據(jù)存儲(chǔ)器地址,然后將當(dāng)前AR內(nèi)容與AR0的值位翻轉(zhuǎn)后相加或相減,結(jié)果送到當(dāng)前AR 中。
ADD *BR0+;ACC=ACC+(ARx, ARx=ARx+rc(AR0 ADD *BR0-2.匯編語言格式
[標(biāo)號(hào)][:] 助記符[操作數(shù)1,操作數(shù)2,…][;注釋]
例如: SYM1.set 2;符號(hào)SYM1等于2 BGN: LDP SYM1;將2裝入DP.word 016H;初始化一個(gè)字為16h NOP;空操作
BCND BGN,BIO;引腳BIO為低電平跳轉(zhuǎn)BGN LDP SYM+1;SYM1+1裝入到DP
3.偽指令宏指令
4.COFF—公共目標(biāo)文件格式
塊的定義:目標(biāo)文件中最小的單位,一個(gè)塊就是最終在TMS320存儲(chǔ)器映像中占據(jù)連續(xù)空間的一塊代碼或數(shù)據(jù)。
已初始化塊:.text.data.sect.asect 未初始化塊:.bss.usect 鏈接器的一個(gè)主要功能是將塊定位到目標(biāo)存儲(chǔ)器中。
匯編器的主要任務(wù)是為確定匯編語言程序的各部分分別屬于哪個(gè)特定的段。第四章.DSP系統(tǒng)設(shè)計(jì) 1.具體技術(shù)指標(biāo)
采樣頻率-------由信號(hào)頻率,帶寬決定
由采樣頻率確定任務(wù)書中最復(fù)雜算法所需最大時(shí)間以及系統(tǒng)對(duì)實(shí)時(shí)性要求判斷是能否完成工作。
片內(nèi)RAM容量及是否擴(kuò)展-----由數(shù)據(jù)量及程序長度決定 16/32位,定點(diǎn)/浮點(diǎn)-----------由系統(tǒng)精度決定
根據(jù)系統(tǒng)用途是計(jì)算還是控制,來決定對(duì)輸入輸出端口的要求。2.DSP目標(biāo)板設(shè)計(jì)要素 步驟: 第一步:算法分析與優(yōu)化
第二步:DSP的選擇 第三步:DSP配置
第四步:模擬數(shù)字混合電路設(shè)計(jì) 第五步:系統(tǒng)電路設(shè)計(jì)
第六步:系統(tǒng)對(duì)軟件的編寫與調(diào)試 第七步:系統(tǒng)測試與驗(yàn)證 3.硬件設(shè)計(jì)步驟
確定硬件方案--------器件選型--------原理設(shè)計(jì)----------PCB版圖設(shè)計(jì)--------硬件調(diào)試
(系 統(tǒng) 分 析 |(系 統(tǒng) 綜 合
原理設(shè)計(jì)是DSP 系統(tǒng)集成中關(guān)鍵的一步,其成功與否是DSP 系統(tǒng)能否正常工作的最重要的一個(gè)因素。
3.軟件設(shè)計(jì)步驟 4.系統(tǒng)集成
系統(tǒng)集成是將軟硬件結(jié)合起來,并組裝成一臺(tái)樣機(jī),在實(shí)際系統(tǒng)中運(yùn)行,進(jìn)行系統(tǒng)測試。
5.高精度ADC 轉(zhuǎn)換器結(jié)構(gòu):逐次逼近方式, Σ-Δ調(diào)制方式 積分方式
高速ADC 轉(zhuǎn)換器結(jié)構(gòu):并行比較型
串-并比較型 分路轉(zhuǎn)換型
6.高精度ADC 轉(zhuǎn)換器應(yīng)用: 精度與速度存在矛盾
對(duì)電源,接地,電路布局的要求都極為嚴(yán)格 外部電路的匹配 與后續(xù)電路之間的隔離 串行輸出方式
高速ADC 轉(zhuǎn)換器的應(yīng)用: 電平邏輯的匹配 時(shí)序邏輯的匹配 高速器件的接地 高速器件的去耦
7.高速ADC 器件的選擇:速度與精度折衷 保證裕量 避免全速運(yùn)行
8.性能測試:動(dòng)態(tài)有效位(ENOB 是用來衡量數(shù)據(jù)采集系統(tǒng)實(shí)際工作時(shí)有效的位數(shù),它是用分辨率來衡量實(shí)際工作時(shí)ADC 的噪聲均方值與理想ADC 標(biāo)識(shí)分辨率情況下的量化噪聲。
采用FFT 方法進(jìn)行測試,具體方案是:(a 采用單頻正弦信號(hào)輸入到ADC;(b 對(duì)ADC 輸出結(jié)果進(jìn)行快速傅里葉變換FFT ,計(jì)算SINAD(Signal-to-Noise and Distortion Ratio ,信號(hào)噪聲加失真比。
(c 有效位數(shù)ENOB=(SINAD-1.76/6.02。8.實(shí)時(shí)數(shù)據(jù)存儲(chǔ)
雙端口RAM :雙端口存儲(chǔ)器是一種專用存儲(chǔ)芯片,設(shè)有兩組物理地址、數(shù)據(jù)和讀寫控][log 10噪聲能量能基頻10量信號(hào) SINAD 制信號(hào)。兩個(gè)CPU可以通過這些控制信號(hào)同時(shí)訪問雙端口存儲(chǔ)器,實(shí)現(xiàn)數(shù)據(jù)共享
(1雙端口RAM構(gòu)成的乒乓存儲(chǔ)器 工作特點(diǎn): 人為的將雙端口存儲(chǔ)器分成兩部分,使得存儲(chǔ)器的讀寫操作分時(shí)工作,即同一時(shí)刻內(nèi)存儲(chǔ)器的兩部分處于不同的讀寫狀態(tài)。
對(duì)A寫數(shù)據(jù)時(shí),則DSP從B中讀取數(shù)據(jù);對(duì)B寫數(shù)據(jù)時(shí),則DSP從A中讀取數(shù)據(jù);有效的增加了DSP運(yùn)算處理時(shí)間,提高了系統(tǒng)的實(shí)時(shí)性(2先進(jìn)先出存儲(chǔ)器FIFO FIFO是一種先進(jìn)先出的存儲(chǔ)器,即先讀入的數(shù)據(jù)先讀出。FIFO器件常用作數(shù)據(jù)緩沖器,充當(dāng)兩個(gè)不同速率的系統(tǒng)之間的數(shù)據(jù)接口。
FIFO的共性:沒有地址線,只有讀寫時(shí)鐘,內(nèi)部地址依賴于對(duì)讀寫時(shí)鐘的計(jì)數(shù)。采用滿、空、半滿標(biāo)志來標(biāo)識(shí)存儲(chǔ)狀態(tài)。
9.高速實(shí)時(shí)信號(hào)的產(chǎn)生:數(shù)據(jù)存儲(chǔ)型,相位累加型
10.高速電路定義:線傳播延時(shí)大于數(shù)字信號(hào)驅(qū)動(dòng)端上升時(shí)間的1/2,則可認(rèn)為此類信號(hào)是高速信號(hào)并產(chǎn)生傳輸線效應(yīng)。
從本質(zhì)上講,高速數(shù)字系統(tǒng)的設(shè)計(jì)的核心問題是如何確保系統(tǒng)時(shí)序的正確。11.信號(hào)的完整性:指信號(hào)線上信號(hào)的質(zhì)量,主要包括反射、振鈴、地彈和串?dāng)_ 12.傳輸線效應(yīng):反射信號(hào)、串?dāng)_、過沖與下沖、電磁輻射
串?dāng)_:在一根信號(hào)線上有信號(hào)通過時(shí),在PCB板上與之相鄰的信號(hào)線就會(huì)感應(yīng)出相關(guān)信號(hào),這種現(xiàn)象叫做串?dāng)_。
串?dāng)_解決途徑:加寬走線間距 導(dǎo)線盡可能接近地線 差分布線技術(shù) 正交布線
合理布局布線。。13.避免傳輸線效應(yīng)的方法: 嚴(yán)格控制關(guān)鍵走線的長度 抑制電磁干擾
合理規(guī)劃走線的拓?fù)浣Y(jié)構(gòu) 電源去耦技術(shù)
14.高速PCB技術(shù)
第五章.可編程邏輯器件在DSP系統(tǒng)中的應(yīng)用 1.ASIC(專用集成電路 優(yōu)勢:體積小容量大 功耗低 可靠性高 保密性強(qiáng) 在線可編程能力
各種先進(jìn)的開發(fā)手段大大縮短了開發(fā)周期 2.FPGA(現(xiàn)場可編程門陣列
既繼承了門陣列邏輯器件密度高和通用性強(qiáng)的優(yōu)點(diǎn),又具備可編程邏輯器件的可編程特性。FPGA結(jié)構(gòu):查找表型,多路開關(guān)型
主要包括:可編程邏輯模塊(CLB,可編程輸入輸出模塊IOB,可編程內(nèi)部互聯(lián)PI 3.DSP與FPGA DSP:依賴于指令的串行執(zhí)行完成算法功能,易于實(shí)現(xiàn)跳轉(zhuǎn)、調(diào)用等功能 FPGA:依賴與內(nèi)部的邏輯資源的自由并行組合實(shí)現(xiàn)算法功能 DSP與FPGA的方案選擇依據(jù):系統(tǒng)的取樣速率 系統(tǒng)是否已經(jīng)使用C語言編制的程序 數(shù)據(jù)率?
多少個(gè)條件操作? 是否使用浮點(diǎn) 所需要的庫能否獲得 4.DSP+FPGA結(jié)構(gòu)
DSP+FPGA結(jié)構(gòu)最大的特點(diǎn)是結(jié)構(gòu)靈活,有較強(qiáng)的通用性,適于模塊化設(shè)計(jì),從而能夠提高算法效率;同時(shí)其開發(fā)周期較短,系統(tǒng)易于維護(hù)和擴(kuò)展
1.哈佛總線:PAB,DRAB,DWAB,DRAB,PRDB,DWEB 2.硬件設(shè)計(jì):ADC.DAC.內(nèi)存、電源、通信、邏輯控制、人機(jī)接口、總線 3.高速總線:PCI,PCB,VME 4.FPGA內(nèi)部模塊:可編程邏輯模塊CLB,可編程輸入輸出模塊IOB,可編程內(nèi)部互聯(lián)PI 5.DSP子系統(tǒng):通用CPU,加速處理模塊,專用DSP芯片,通用可編程DSP,可編程FPGA,單片機(jī)。
6.FPGA與DSP選取依據(jù):正確選擇單點(diǎn)接地與多點(diǎn)接地,分開數(shù)字模擬電路,加粗地線,將地線構(gòu)成閉環(huán)回路
7.高速電路PCB布線原則:合理選擇層數(shù),縮短高頻器件管腳間引線,減少連接過程用孔,減少管腳引線彎折,各類信號(hào)走線不能形成環(huán)路
8.高速ADC性能指標(biāo):動(dòng)態(tài)有效位(ENOB,采用FFT測試 9..text.data.sect.asect||||||.usect.bss
第二篇:dsp——期末復(fù)習(xí)總結(jié)
Dsp原理及應(yīng)用
1.簡述DSP芯片的主要特點(diǎn)。答:
(1)采用哈佛結(jié)構(gòu)。Dsp芯片普遍采用數(shù)據(jù)總線和程序總線分離的哈佛結(jié)構(gòu)或者改進(jìn)的哈佛結(jié)構(gòu),比傳統(tǒng)處理器的馮諾依曼結(jié)構(gòu)有更快的指令執(zhí)行速度。
(2)采用多總線結(jié)構(gòu)??赏瑫r(shí)進(jìn)行取指令和多個(gè)數(shù)據(jù)存取操作,并由輔助寄存器自動(dòng)增減地址進(jìn)行尋址,使CPU在一個(gè)機(jī)器周期內(nèi)可多次對(duì)程序空間和數(shù)據(jù)空間進(jìn)行訪問,大大地提高了dsp的運(yùn)行速度。
(3)采用流水線技術(shù)。每條指令可通過片內(nèi)多功能單元完成取指、譯碼、取操作數(shù)和執(zhí)行等多個(gè)步驟,實(shí)現(xiàn)多條指令的并行執(zhí)行。
(4)配有專用的硬件乘法-累加器。在一個(gè)指令周期內(nèi)可完成一次乘法和一次加法。(5)具有特殊的dsp指令。如:c54x中的FIRS和LMS指令,專門用于完成系數(shù)對(duì)稱的FIR濾波器和LMS算法。
(6)硬件配置強(qiáng)。具有串行口、定時(shí)器、主機(jī)借口、DMA控制器、軟件可編程等待狀態(tài)發(fā)生器等片內(nèi)外設(shè),還配有中斷處理器、PLL、片內(nèi)存儲(chǔ)器、測試接口等單元電路,可以方便地構(gòu)成一個(gè)嵌入式自封閉控制的處理系統(tǒng)。(7)省電管理和低功耗。(8)運(yùn)算精度高。
2.TI公司的DSP產(chǎn)品目前有哪三大主流系列?各自的應(yīng)用領(lǐng)域是什么? 答:
(1)TMS320C2000系列,稱為DSP控制器,集成了flash存儲(chǔ)器、高速A/D轉(zhuǎn)換器以及可靠的CAN模塊及數(shù)字馬達(dá)控制的外圍模塊,適用于三相電動(dòng)機(jī)、變頻器等高速實(shí)時(shí)工控產(chǎn)品等需要數(shù)字化的控制領(lǐng)域。
(2)TMS320C5000系列,這是16位定點(diǎn)DSP。主要用于通信領(lǐng)域,如IP電話機(jī)和IP電話網(wǎng)關(guān)、數(shù)字式助聽器、便攜式聲音/數(shù)據(jù)/視頻產(chǎn)品、調(diào)制解調(diào)器、手機(jī)和移動(dòng)電話基站、語音服務(wù)器、數(shù)字無線電、小型辦公室和家庭辦公室的語音和數(shù)據(jù)系統(tǒng)。
(3)TMS320C6000系列,采用新的超長指令字結(jié)構(gòu)設(shè)計(jì)芯片。其中2000年以后推出的C64x,在時(shí)鐘頻率為1.1GHz時(shí),可達(dá)到8800MIPS以上,即每秒執(zhí)行90億條指令。其主要應(yīng)用領(lǐng)域?yàn)椋?.數(shù)字通信:完成FFT、信道和噪聲估計(jì)、信道糾錯(cuò)、干擾估計(jì)和檢測等;2.圖像處理:完成圖像壓縮、圖像傳輸、模式及光學(xué)特性識(shí)別、加密/解密、圖像增強(qiáng)等。
3.簡述TMS320C54x的DARAM與其它存儲(chǔ)器有什么區(qū)別?
答:DARAM由一些分塊組成。每個(gè)DARAM塊在單周期內(nèi)能被訪問2次。4.請(qǐng)?jiān)敿?xì)描述馮·諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu),并比較它們的不同。答:
(1)馮諾依曼結(jié)構(gòu),采用單存儲(chǔ)空間,即程序指令和數(shù)據(jù)共用一個(gè)存儲(chǔ)空間,使用單一的地址和數(shù)據(jù)總線,取指令和取操作數(shù)都是通過一條總線分時(shí)進(jìn)行。當(dāng)進(jìn)行高速運(yùn)算時(shí)不但不能同時(shí)進(jìn)行取指令和取操作數(shù),而且還會(huì)造成數(shù)據(jù)傳輸通道的瓶頸現(xiàn)象,工作速度較慢。(2)哈佛結(jié)構(gòu)采用雙存儲(chǔ)空間,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開,有各自獨(dú)立的程序總線和數(shù)據(jù)總線,可獨(dú)立編址和獨(dú)立訪問,可對(duì)程序和數(shù)據(jù)進(jìn)行獨(dú)立傳輸,使取指令操作、指令執(zhí)行操作、數(shù)據(jù)吞吐并行完成,大大提高了數(shù)據(jù)處理能力和指令的執(zhí)行速度,非常適合于實(shí)時(shí)的數(shù)字信號(hào)處理。
5、TMS320C54x 系統(tǒng),有哪幾種尋址方式?每種尋址方式寫一條指令。答:
(1)立即尋址:LD
#80H,A
;立即數(shù)指令;
(2)絕對(duì)尋址:
MVKD 2000H, *AR5
;數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)?數(shù)據(jù)存儲(chǔ)器
;2000H為數(shù)據(jù)存儲(chǔ)器地址
(3)累加器尋址:READA 2000H
;程序存儲(chǔ)器數(shù)據(jù)?數(shù)據(jù)存儲(chǔ)器
;累加器A中存放的是程序存儲(chǔ)器地址
;2000H是數(shù)據(jù)存儲(chǔ)器地址(4)直接尋址:ADD 20H, B
;
操作數(shù)地址=DP左移7位+20H , CPL=0 操作數(shù)地址=SP
+20H , CPL=1(5)間接尋址:LD *AR2+, A
;
(6)存儲(chǔ)器映像寄存器尋址:LDM 39H, A
;數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)?累加器A
;SPSD0?累加器A(7)堆棧尋址:PSHM ST0 6.請(qǐng)描述FIRS指令的功能。答:
FIRS Xmem,Ymem,pmad
;有限沖激響應(yīng)(FIR)濾波器指令
;pmad?PAR ;如果 RC>0 ;B+AH x(PAR)?B ;((Xmem)+(Ymem))<<16 ?A ;PAR+1? PAR ;RC-1 ?RC FIRS指令實(shí)現(xiàn)一個(gè)對(duì)稱的有限沖激響應(yīng)(FIR)濾波器。首先Xmem和Ymem相加后的結(jié)果左移16位放入累加器A中。然后累加器A的高端(32~16位)和由pmad尋址得到的Pmem相乘,乘法結(jié)果與累加器B相加并存放在累加器B中。在下一個(gè)循環(huán)中,pmad加1.一旦循環(huán)流水線啟動(dòng),指令成為單周期指令。
7.FFT蝶形運(yùn)算對(duì)輸入序列倒序采用何種尋址方式?AR0中應(yīng)存放什么值? 答:
(1)間接尋址中的位倒序?qū)ぶ贩绞?。FFT運(yùn)算主要實(shí)現(xiàn)采樣數(shù)據(jù)從時(shí)域到頻域的轉(zhuǎn)換,要求采樣點(diǎn)輸入是倒序時(shí),輸出是順序;若輸入是順序,則輸出是倒序,采用位倒序?qū)ぶ贩绞秸梅螰FT算法的要求。
(2)AR0存放的整數(shù)值為FFT點(diǎn)數(shù)的一半。8.簡述主機(jī)接口(HPI)的通訊過程。答:
TMS320C54X的主機(jī)接口(HPI)是一個(gè)8位并行接口,通過8根外部數(shù)據(jù)線HD(0~7)實(shí)現(xiàn)DSP與其他總線或CPU進(jìn)行通信。當(dāng)TMS320C54X與主機(jī)傳送數(shù)據(jù)時(shí),HPI能自動(dòng)地將外部接口連續(xù)傳來的8位數(shù)組成16位數(shù),并傳送至TMS320C54X。當(dāng)主機(jī)使用HPI寄存器執(zhí)行數(shù)據(jù)傳輸時(shí),HPI控制邏輯自動(dòng)執(zhí)行對(duì)TMS320C54X內(nèi)部的雙尋址RAM的訪問,以完成數(shù)據(jù)處理。9.進(jìn)行塊重復(fù)操作要用到哪幾個(gè)寄存器?塊重復(fù)可否嵌套? 答:
RPT:循環(huán)執(zhí)行一條指令
RPTB:循環(huán)執(zhí)行一段指令,即塊循環(huán)指令(1)進(jìn)行塊重復(fù)操作的循環(huán)次數(shù)由塊循環(huán)計(jì)數(shù)器(BRC)確定,需要利用兩個(gè)寄存器:塊重復(fù)起始地址寄存器(RSA)、塊重復(fù)結(jié)束地址寄存器(REA)。(2)由于使用了不同的寄存器,因此可以實(shí)現(xiàn)循環(huán)嵌套。
10.TMS320C54x的CPU主要由哪幾個(gè)部分構(gòu)成?它們的功能是什么? 答:
(1)40位算術(shù)邏輯運(yùn)算單元ALU:可完成寬范圍的算術(shù)、邏輯運(yùn)算;
(2)2個(gè)40位的累加器A和B:可以作為ALU或MAC的目標(biāo)寄存器存放運(yùn)算結(jié)果,也可以作為ALU或MAC的一個(gè)輸入;
(3)支持—16~31位移位范圍的桶形移位寄存器:用于累加器或數(shù)據(jù)區(qū)操作數(shù)的定標(biāo),將輸入數(shù)據(jù)進(jìn)行0~31位的左移和0~16位的右移;
(4)乘法-累加單元MAC:可在一個(gè)流水線周期內(nèi)完成1次乘法運(yùn)算和1次加法運(yùn)算;(5)比較。選擇和存儲(chǔ)單元CSSU:用于完成Viterbi算法中的加法/比較/選擇(ACS)操作;
(6)指數(shù)編碼器EXP:用于支持指數(shù)運(yùn)算指令的專用硬件,可以在單周期內(nèi)執(zhí)行EXP指令,求累加器中指數(shù)的指數(shù)值;
(7)CPU狀態(tài)和控制寄存器:包括ST0、ST1和PMST,這些寄存器都是存儲(chǔ)器映像寄存器,可以很方便對(duì)它們進(jìn)行數(shù)據(jù)操作:1.將它們快速地存放到數(shù)據(jù)存儲(chǔ)器;2.由數(shù)據(jù)存儲(chǔ)器對(duì)它們進(jìn)行加載;3.用子程序或中斷服務(wù)程序保存和恢復(fù)處理器的狀態(tài)。
11.已知中斷向量TINT=13H,中斷向量地址指針I(yè)PTR=111H,求中斷向量地址是多少?
12.DSP的仿真器的作用是什么? 答:
(1)下載程序;
(2)樣機(jī)資源可視化,應(yīng)用程序調(diào)試;
(3)控制樣機(jī)運(yùn)行方式:單步執(zhí)行、執(zhí)行到斷點(diǎn)或者全速執(zhí)行。
第三篇:DSP原理及應(yīng)用復(fù)習(xí)總結(jié)
DSP芯片的主要結(jié)構(gòu)特點(diǎn):哈佛結(jié)構(gòu)、專用的硬件乘法器、流水線操作、特殊的DSP指令、快速的指令周期。
中央處理器的體系架構(gòu)分為:馮·諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu) 馮·諾依曼結(jié)構(gòu),是一種將程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合并在一起的存儲(chǔ)器結(jié)構(gòu)。由于取指令和存取數(shù)據(jù)要從同一個(gè)存儲(chǔ)空間存取,經(jīng)由同一總線傳輸,因而它們無法重疊執(zhí)行,只有一個(gè)完成后再進(jìn)行下一個(gè)。
哈佛結(jié)構(gòu)是一種將程序指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開的存儲(chǔ)器結(jié)構(gòu)。可以減輕程序運(yùn)行時(shí)的訪存瓶頸。
基礎(chǔ)特性分類:靜態(tài)DSP芯片、一致性的DSP芯片。數(shù)據(jù)格式分類:定點(diǎn)DSP芯片、浮點(diǎn)DSP芯片。用途分類:通用型DSP芯片、專用型DSP芯片。處理數(shù)據(jù)位數(shù)分類:16/32位 TMS320F2812芯片封裝方式兩類:179引腳的GHH球形網(wǎng)格陣列BGA封裝、176引腳的LQFP封裝。
DSP內(nèi)部總線分為:地址總線和數(shù)據(jù)總線。注意:DSP外部總線:即DSP芯片與外擴(kuò)存儲(chǔ)器的總線接口,包括19根地址線和16根數(shù)據(jù)線。
時(shí)序寄存器XTIMINGx主要用于設(shè)置讀寫時(shí)序參數(shù);配置寄存器XINTCNF2主要完成選擇是種,設(shè)置輸入引腳狀態(tài)及寫緩沖器深度;控制寄存器XBANK用于設(shè)置可增加周期的特定區(qū),以及設(shè)置增加的周期數(shù)。
命令文件CMD是DSP運(yùn)行程序必不可少的文件,用于指定DSP存儲(chǔ)器分配。由兩個(gè)偽指令構(gòu)成,即MEMORY(定義目標(biāo)存儲(chǔ)器的配置)和SECTIONS(規(guī)定程序中各個(gè)段及其在存儲(chǔ)器中的位置)。
28X系列DSP時(shí)鐘和系統(tǒng)控制電路包括:振蕩器、鎖相環(huán)、看門狗和工作模式選擇等
鎖相環(huán)和振蕩器的作用是為DSP芯片中的CPU及相關(guān)外設(shè)提供可編程的時(shí)鐘芯片內(nèi)部的外設(shè)分為告訴我社和低速外設(shè),可以設(shè)置不同的工作頻率看門狗模塊用于監(jiān)控程序的運(yùn)行狀態(tài),它是提高系統(tǒng)可靠性的重要環(huán)節(jié)。
28xDSP片上晶振電路模塊允許采用內(nèi)部振蕩器或外部時(shí)鐘源為CPU內(nèi)核提供時(shí)鐘
DSP處理器內(nèi)核有16根中斷線,包括和NMI兩個(gè)不可屏蔽中斷和INT1至INT14等14個(gè)可屏蔽中斷(均為低電平有效)。PIE中斷系統(tǒng)共分12組,每組有8個(gè)中斷復(fù)用1個(gè)CPU中斷。采用三級(jí)中斷機(jī)制:外設(shè)級(jí)、PIE級(jí)、CPU級(jí)
PIE中斷工作原理:當(dāng)某外設(shè)產(chǎn)生中斷,IF被置1,IE也被置1,發(fā)送到PIE控制器,中斷標(biāo)志PIEIFRx.v被置1,中斷請(qǐng)求發(fā)送到CPU,CPU級(jí)IFR中對(duì)應(yīng)INTx被置1,IER和INTM被使能,CPU響應(yīng)中斷請(qǐng)求。
CPU定時(shí)器用戶只能用T0,通用定時(shí)器是EV中的都可以用;CPU定時(shí)器只有周期中斷,而EV中的通用定時(shí)器可以有上溢中斷、下溢中斷、周期中斷、比較中斷四種。
功能控制寄存器:GPxMUX、GPxDIT、GPxQUAL。
數(shù)據(jù)寄存器:GPxSET寄存器設(shè)置每個(gè)引腳為高電平;GPxCLEAR清除每個(gè)引腳信號(hào);GPxTOGGLE反轉(zhuǎn)觸發(fā)每個(gè)引腳信號(hào);GPxDAT讀寫每個(gè)引腳信號(hào)
事件管理器包括:通用定時(shí)器、圈比較PWM單元、捕獲單元以及正交編碼脈沖電路QEP 全比較PWM單元產(chǎn)生脈寬調(diào)制信號(hào)可以控制直流電機(jī)或步進(jìn)電機(jī)的轉(zhuǎn)速;捕獲單元對(duì)光電編碼器的輸出信號(hào)進(jìn)行測量可以計(jì)算電機(jī)的轉(zhuǎn)速;正交編碼脈沖電路根據(jù)增量編碼器信號(hào)計(jì)算電機(jī)的旋轉(zhuǎn)方向等信息。
通用定時(shí)器的寄存器:控制寄存器(決定通用定時(shí)器的操作模式,例如選擇計(jì)數(shù)模式、時(shí)鐘、預(yù)分頻系數(shù)、比較寄存器的重裝載條件)、全局控制寄存器(規(guī)定了通用定時(shí)器針對(duì)不同時(shí)間采取的動(dòng)作、讀取計(jì)數(shù)方向、定義ADC的啟動(dòng)信號(hào))、比較寄存器(與通用定時(shí)器的計(jì)數(shù)值不斷比較,匹配時(shí),相應(yīng)引腳跳變,請(qǐng)求中斷)和周期寄存器(決定定時(shí)器的計(jì)數(shù)周期)是雙緩沖的
通用定時(shí)器的中斷:上溢中斷、下溢中斷、比較匹配、周期匹配
每個(gè)通用定時(shí)器都支持4種計(jì)數(shù)模式:停止/保持模式、連續(xù)遞增計(jì)數(shù)模式、定向遞增/遞減計(jì)數(shù)模式和連續(xù)遞增/遞減計(jì)數(shù)模式。
EV模塊各有3個(gè)全比較器,每個(gè)比較器對(duì)應(yīng)兩路PWM輸出
每個(gè)比較單元包括3個(gè)比較寄存器CMPRX,各帶一個(gè)映像寄存器;1個(gè)比較控制寄存器;1個(gè)動(dòng)作控制寄存器;6路帶三態(tài)輸出的PWM引腳以及控制和中斷邏輯。
較單元的輸入包括來自控制寄存器的控制信號(hào),通用定時(shí)器1的時(shí)鐘信號(hào)及下溢信號(hào)、周期匹配信號(hào)和復(fù)位信號(hào)。比較單元輸出信號(hào)是一個(gè)比較匹配信號(hào),如果比較操作被使能的話,比價(jià)匹配信號(hào)將中斷標(biāo)志置位,并在對(duì)應(yīng)的PWM引腳上產(chǎn)生跳變。比較單元的工作過程:通用定時(shí)器1的計(jì)數(shù)值不斷地與比較寄存器的值進(jìn)行比較,當(dāng)發(fā)生匹配時(shí),該比較單元的兩個(gè)輸出引腳發(fā)生跳變;ACTRA寄存器定義在發(fā)生比較匹配時(shí)每個(gè)輸出引腳為高有效電平或低有效電平。
PWM單元對(duì)稱/不對(duì)稱波形發(fā)生器、可編程死區(qū)單元DBU、PWM輸出邏輯和空間向量SVPWM狀態(tài)機(jī)組成。ADC模塊的特點(diǎn):12位模數(shù)轉(zhuǎn)換內(nèi)核,內(nèi)置雙采樣/保持器;順序采樣模式或并行采樣模式;模擬輸入電壓范圍0-3v;快速的轉(zhuǎn)換時(shí)間,最高采樣率12.5MSPS;16通道模擬信號(hào)輸入; 并行采樣:AdcRegs.ADCTRL3.bit.SMODE_SEL=1;順序采樣為0 雙排序AdcTegs.ADCTRL1.bit.SEQ_CASC=0;級(jí)聯(lián)排序?yàn)? AdcRegs.ADCMAXCONV.all=0x0033并雙;7并級(jí);77順雙;F順級(jí) AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0 ADC工作模式:連續(xù)模式和啟動(dòng)/停止模式。ADC電源:上電、掉電、關(guān)閉模式。
上電順序:給參考電源上電、給adc內(nèi)部參考電源電路供電、adc模塊完全供電后,等20μs才能執(zhí)行第一次模數(shù)轉(zhuǎn)換。
28x DSP的輸入信號(hào)電壓不能高于3.3V,模擬信號(hào)需經(jīng)過調(diào)理后進(jìn)入DSP的AD轉(zhuǎn)換輸入端口,未使用的模數(shù)轉(zhuǎn)換器輸入引腳,都要連接模擬地,否則會(huì)帶來噪聲信號(hào)
電源管理電路設(shè)計(jì):多電源正確連接;不允許有電源引腳懸空;減少噪音和互相干擾,數(shù)電和模電單獨(dú)供電,接地也分開,最終通過一個(gè)磁珠在單點(diǎn)連接
DSP編程語言特點(diǎn):c語言:具有良好可讀性和可移植性,開發(fā)率高;匯編語言:高的運(yùn)行效率,常用語時(shí)間要求比較苛刻的地方,比如終端服務(wù)子程序。
頭文件的作用:是c語言不可缺少的部分,是用戶程序和函數(shù)庫之間的紐帶;頭文件使用:用戶程序只要按照頭文件中的接口聲明來調(diào)用庫功能,編譯器就會(huì)從庫中提取相應(yīng)的代碼 C語言程序框架包含有寄存器結(jié)構(gòu)定義文件、外設(shè)頭文件、器件的宏與類型定義等,通過使用頭外設(shè)文件,可以容易控制片內(nèi)外設(shè)。
DSP程序包括:頭文件包含、函數(shù)聲明、宏定義、主函數(shù)main()和中斷服務(wù)子程序
主函數(shù)的編程步驟:1初始換系統(tǒng)控制2清除所有中斷并初始化PIE向量表3初始化所有用到的外設(shè)4開中斷5編寫用戶代碼 #include “DSP281x_Device.h”
#include “DSP281x_Examples.h”
interrupt void cpu_timer0_isr(void); void main(void)// {
InitSysCtrl(); DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable(); EALLOW;
PieVectTable.TINT0 = &cpu_timer0_isr;
EDIS;InitGpio();InitCpuTimers();
ConfigCpuTimer(&CpuTimer0,100,1000000);
StartCpuTimer0();IER |= M_INT1;
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
EINT;
ERTM; …… }
interrupt void cpu_timer0_isr(void)
{
CpuTimer0.InterruptCount++;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}
第四篇:DSP考試復(fù)習(xí)總結(jié)最終版
第一章 TMS320LF240X 系列芯片的特點(diǎn): ① 采用高性能 CMOS 技術(shù),使得供電電壓降為 3.3V,減少了控 制器的功耗;30MIPS 的執(zhí)行速度使得指令周期縮短到 33ns(30MHz),從而提高了控制器的實(shí)時(shí)控制能力。② 基于 TMS320C2XX DSP 的 CPU 核,保證了 F240X 系列 DSP 代碼與 TMS320 系列 DSP 代碼兼容。③ 片內(nèi)有高達(dá) 32K 字的 FLASH 程序存儲(chǔ)器、高達(dá) 1.5K 字的數(shù) 據(jù)/程序 RAM、544 字雙口 RAM(DRAM)和 2K 字的單口 RAM(SRAM)④ 兩個(gè)事件管理器模塊 EVA 和 EVB,每個(gè)包括:兩個(gè) 16 位通 用定時(shí)器;8 個(gè) 16 位脈寬調(diào)制通道;3 個(gè)捕獲單元,片內(nèi)光電編 碼器接口電路,16 通道 A/D 轉(zhuǎn)換器。⑤ 可擴(kuò)展的外部存儲(chǔ)器(LF2407)總共 192K 字空間;64K 程序 存儲(chǔ)器空間; 64K 字 I/O 尋址空間; 64K 字?jǐn)?shù)據(jù)存儲(chǔ)器空間。⑥ 10 位 A/D 轉(zhuǎn)換器最小轉(zhuǎn)換時(shí)間為 500ns,可選擇由兩個(gè)事件 管理器來觸發(fā)的兩個(gè) 8 通道輸入 A/D 轉(zhuǎn)換器或一個(gè) 16 通道 A/D 轉(zhuǎn)換器。⑦ 控制器局域網(wǎng) CAN2.0B; ⑧ 串行通信接口 SCI 模塊。⑨ 16 位串行外設(shè) SPI 接口模塊; ⑩ 基于鎖相環(huán)的時(shí)鐘發(fā)生器。11 高達(dá) 40 個(gè)可單獨(dú)編程或復(fù)用的 I/O 引腳 GPIO; 12 5 個(gè)外部中斷(兩個(gè)電機(jī)驅(qū)動(dòng)保護(hù)、復(fù)位和兩個(gè)可屏蔽中斷。13 電源管理包括 3 種低功耗模式,能獨(dú)立地將外設(shè)器件轉(zhuǎn)入低 功耗工作模式。?系統(tǒng)配置: 用來對(duì) DSP 片內(nèi)的功能模塊進(jìn)行用戶配置,根據(jù)具 體用途來進(jìn)行模塊定制。中斷模塊:主要包括-中斷優(yōu)先級(jí)和 中斷向量表、外設(shè)中斷擴(kuò)展控制器(PIE)、中斷向量、中斷響應(yīng)的 流程、中斷響應(yīng)的時(shí)間、CPU 中斷寄存器、外設(shè)中斷寄存器、復(fù) 位、無效地址檢測、外部中斷控制寄存器。?TMSLF240x DSP 具有 16 位地址線,可訪問三個(gè)獨(dú)立的地址空 間:1)程序存儲(chǔ)器空間-64K 字;2)數(shù)據(jù)存儲(chǔ)器空間-64K 字; 3)I/O 空間-64K 字。?DSP 引腳從性質(zhì)上分為:事件管理器 A(EVA)、事件管理器 B(EAB)、A/D 轉(zhuǎn)換器 ADC、CAN SCI SPI、外部中斷和時(shí)鐘、振 蕩器、PLL、FLASH、引導(dǎo)程序及其他、仿真和測試、地址、數(shù) 據(jù)和存儲(chǔ)器控制信號(hào)、續(xù)表、供電電源。第二章 ?系統(tǒng)控制和狀態(tài)寄存器 1(SCSR1),SCSR1 映射到數(shù)據(jù)存儲(chǔ)器 空間的 7018h 位15:保留; 位14: CLKSRC,為CLKOUT引腳輸出時(shí)鐘源的選擇位,0-CLKOUT 引腳輸出CPU時(shí)鐘;1-CLKOUT引腳輸出WDCLK時(shí)鐘。位13、12:LPM1,LPM0,低功耗模式選擇,指明在執(zhí)行IDLE 指令 后進(jìn)入哪一種低功耗模式。00-進(jìn)入IDLE1(LPM0)模式;01-進(jìn) 入IDLE2(LPM1)模式;1x-進(jìn)入 HALT(LPM2)模式。位11-9:CLK PS2-CLK PS0,(PLL)時(shí)鐘預(yù)定標(biāo)選擇位,選擇輸 入時(shí)鐘頻率fin的倍頻系數(shù)。000-4;001-2;010-1.33;011 -1;100-0.8;101
第五篇:DSP各種知識(shí)點(diǎn)總結(jié)
DSP芯片的特點(diǎn):(1).哈佛結(jié)構(gòu)(程序空間和數(shù)據(jù)空間分開)(2).多總線結(jié)構(gòu).(3)流水線結(jié)構(gòu)(取指、譯碼、譯碼、尋址、讀數(shù)、執(zhí)行)(4)多處理單元.(5)特殊的DSP指令(6).指令周期短.(7)運(yùn)算精度高.(8)硬件配置強(qiáng).(9)DSP最重要的特點(diǎn): 特殊的內(nèi)部結(jié)構(gòu)、強(qiáng)大的信息處理能力及較高的運(yùn)行速度。2 三類TMS320:(1)TMS320C2000適用于控制領(lǐng)域(2)TMS320C5000應(yīng)用于通信領(lǐng)域(3)TMS320C6000應(yīng)用于圖像處理 DSP總線結(jié)構(gòu): C54x片內(nèi)有8條16位主總線:4條程序/數(shù)據(jù)總線和4條對(duì)應(yīng)的地址總線。1條程序總線(PB):傳送自程序儲(chǔ)存器的指令代碼和立即操作數(shù)。3條數(shù)據(jù)總線(CB、DB、EB):CB和EB傳送從數(shù)據(jù)存儲(chǔ)器讀出的操作數(shù);EB傳送寫到存儲(chǔ)器中的數(shù)據(jù)。4條地址總線(PAB、CAB、DAB、EAB)傳送相應(yīng)指令所需要的代碼 4存儲(chǔ)器的分類: 64k字的程序存儲(chǔ)空間、64K字的數(shù)據(jù)存儲(chǔ)空間和64K字的I/O空間(執(zhí)行4次存儲(chǔ)器操作、1次取指、2次讀操作數(shù)和一次寫操作數(shù)。
5存儲(chǔ)器空間分配 片內(nèi)存儲(chǔ)器的形式有DARAM、SARAM、ROM。RAM安排到數(shù)據(jù)存儲(chǔ)空間、ROM構(gòu)成程序存儲(chǔ)空間。(1)程序空間:MP/MC=1
40000H~FFFFH 片外
MP/MC=0 4000H~EDDDH 片外
FF00H~FFFFH 片內(nèi) OVLY=1 0000H~007FH 保留
0080H~007FH 片內(nèi)
OVLY=0 0000H~3FFFH片外(2)數(shù)據(jù)空間:DROM=1 F000H~F3FFH 只讀空間 FF00H~FFFH保留
DROM=0 F000H~FEFFH 片外
6數(shù)據(jù)尋址方式
(1)立即尋址(2)絕對(duì)尋址<兩位>(3)累加器尋址(4)直接尋址@<包換數(shù)據(jù)存儲(chǔ)器地址的低7位>優(yōu)點(diǎn):每條指令只需一個(gè)字(5)間接尋址*按照存放某個(gè)輔助寄存器中的16位地址尋址的AR0~AR7(7)儲(chǔ)存器映像寄存器尋址(8)堆棧尋址
7尋址縮寫語 Smem:16位單尋址操作數(shù) Xmem Ymem 16位雙
dmad pmad PA16位立即數(shù)(0-65535)scr源累加器 dst目的累加器 lk 16位長立即數(shù)
8狀態(tài)寄存器ST0 15~13ARP輔助寄存器指針 12TC測試標(biāo)志位 11C進(jìn)位位 10累積起A的一出標(biāo)志位OVA 9OVB 8~0DP數(shù)據(jù)存儲(chǔ)器頁指針
9狀態(tài)寄存器ST1 CPL:直接尋址編輯方式
INTM =0開放全部可屏蔽中斷 =1關(guān)閉
C16 雙16位算數(shù)運(yùn)算方式
10定點(diǎn)DSP 浮點(diǎn)DSP:定點(diǎn)DSP能直接進(jìn)行浮點(diǎn)運(yùn)算,一次完成是用硬件完成的,而浮點(diǎn)需要程序輔助。
11重復(fù)操作:重復(fù)執(zhí)行單條指令,程序塊重復(fù)操作(可以響應(yīng)中斷)12復(fù)位操作:處理器從FF80h處取指 13中斷:兩大類:(1)可屏蔽:立即響應(yīng)(2)非屏蔽:(滿足下列條件才能響應(yīng))①優(yōu)先級(jí)別最高②狀態(tài)寄存器ST1中的INTM位為0③中斷屏蔽寄存器IMR中的相應(yīng)位為1 三個(gè)階段:(1)接受中斷請(qǐng)求(2)響應(yīng)中斷(3)執(zhí)行中斷服務(wù)程序
14復(fù)位的三種方式:上電復(fù)位,手動(dòng)復(fù)位,軟件復(fù)位
15常用匯編命令:.bss為未初始化的變量保留空間;usect在一個(gè)未初始化的有命名的段中為變量保留空間;.data通常包含了初始化的數(shù)據(jù);.sect定義已初始化的帶命名段,其后的數(shù)據(jù)存入該段;.text該段包含了可執(zhí)行的代碼;title.接在后面的是程序名;int用來設(shè)置一個(gè)或多個(gè)16位無符號(hào)整型常數(shù);word用來設(shè)置一個(gè)或多個(gè)16位帶符號(hào)整型常數(shù) 16.DSP系統(tǒng)的特點(diǎn):(1)精度高、抗干擾能力強(qiáng),穩(wěn)定性好。(2)編程方便、易于實(shí)現(xiàn)復(fù)雜算法(含自適應(yīng)算法)。(3)可程控。(4)接口簡單。(5)集成方便。
17.CPU部分:①先進(jìn)的多總線結(jié)構(gòu)(1條程序總線、3條數(shù)據(jù)總線和4條地址總線)。②位算術(shù)邏輯運(yùn)算單元(ALU),包括1個(gè)40位桶形移位寄存器和2個(gè)獨(dú)立的40位累加器。③17×17位并行乘法器,與40位專用加法器相連,用于非流水線式單周期乘法/累加(MAC)運(yùn)算。④比較、選擇、存儲(chǔ)單元(CSSU):用于加法/比較選擇。⑤指數(shù)編碼器:可以在單個(gè)周期內(nèi)計(jì)算40位累加器中數(shù)值的指數(shù)。⑥雙地址生成器:包括8個(gè)輔助寄存器和2個(gè)輔助寄存器算術(shù)運(yùn)算單元(ARAU)存儲(chǔ)器空間
192 K字可尋址存儲(chǔ)空間:64 K字程序存儲(chǔ)空間、64 K字?jǐn)?shù)據(jù)存儲(chǔ)空間及64 K字I/O空間 ⑦功能結(jié)構(gòu)上分:運(yùn)算部件和控制部件 18.累加器:目的寄存器 用來存放從ALU或乘法器/加法器單元輸出的數(shù)據(jù)。19.桶形移位器:立即數(shù);asm,T低6位
20.TMS320C54X有兩個(gè)通用引腳bio監(jiān)視外部 xf 握手信號(hào)
21.COFF3.公共目標(biāo)文件格式——COFF COFF的核心概念:使用代碼塊(段)和數(shù)據(jù)塊(段)編程,而不是指令或數(shù)據(jù)簡單的順序編寫。段的定義:就是在編寫匯編語言源程序時(shí),采用的代碼塊或數(shù)據(jù)塊,它占據(jù)存儲(chǔ)器的某個(gè)連續(xù)空間。21.COFF包含的三個(gè)缺省段 1text 2data 3bss 22.DSP指令系統(tǒng):助記符和代數(shù)
23.Dsp開發(fā)工具:代碼生成工具和代碼調(diào)節(jié)工具 24.Dsp按照用途分類:通用型和專用型
AR3+是加2或者減2 25.1狹義理解為數(shù)字信號(hào)處理器,廣義理解為數(shù)字信號(hào)處理方法
26.程序計(jì)數(shù)器的直可通過復(fù)位操作、順序執(zhí)行指令、分支轉(zhuǎn)移、累加器轉(zhuǎn)移、塊重復(fù)、子程序調(diào)用、從累加器調(diào)用子程序、中斷操作改變
27.MMR寫操作流水線沖突時(shí),采用推薦指令和插入空操作指令
28.定時(shí)器: 3個(gè)16位存儲(chǔ)器映射寄存器組成:定時(shí)器寄存器(TIM)、定時(shí)器周期寄存器(PRD)、定時(shí)器控制寄存器(TCR)。
.title “example.asm”
;用雙引號(hào)括起的源程序名
.mmregs
;定義存儲(chǔ)器映射寄存器的替代符號(hào)
STACK
.usect “STACK”, 10h
;在數(shù)據(jù)存儲(chǔ)器中留出16個(gè)單元作為
;堆棧區(qū),名為STACK
.bss
a, 4
.bss
x, 4
;在數(shù)據(jù)存儲(chǔ)器中空出4個(gè)存儲(chǔ)單元存放
;變量x1,x2,x3和x4..bss
y, 1
.def
start
;在此模塊中定義,可為別的模塊引用
.data
;緊跟其后的是已初始化數(shù)據(jù)
table:
.word 1, 2, 3, 4
;在程序存儲(chǔ)器標(biāo)號(hào)為table開始的8個(gè)單
.word 8, 6, 4, 2
;元存放初始化數(shù)據(jù)
.text
;緊跟其后的是匯編語言程序正文
start:
STM
#0, SWWSR
;SWWSR置0,不插等待周期
S
STM
#STACK+10H,SP
;設(shè)置堆棧指針
STM
#a, AR1
;AR1指向a的首地址
RPT
#7
;從程序存儲(chǔ)器向數(shù)據(jù)存儲(chǔ)器
MVPD
table, *AR1+
;重復(fù)傳遞共8個(gè)數(shù)據(jù)
CALL
SUM
;調(diào)用懲罰累加子程序 end:
B
end
;循環(huán)等待
SUM:
STM
#a, AR3
;將洗漱的首地址附給AR3
STM
#x, AR4
;降變量x的首地址附給AR4
RPTZ
A, #3
;降累加器清零,重復(fù)執(zhí)行下條指令4次
MAC
*AR3+, *AR4+, A
;乘法累加運(yùn)算
STL
A, @y
;結(jié)果送往變量y的存儲(chǔ)單元
RET
.end
;結(jié)束匯編,匯編器將忽略
5.堆棧用法:
壓入操作:SP先減1,然后再將數(shù)據(jù)壓入棧頂。
彈出操作:數(shù)據(jù)彈出后,再將SP加1。堆棧設(shè)置: size
.set 100 stack.usect “STK”, size
;自定義一個(gè)名為STK的保留空間,共100個(gè)單元
STM
#stack+size, SP;將這個(gè)保留空間的高地址(#stack+size)賦給SP,作為棧底,【例4.14】 對(duì)數(shù)組x[5]中的每個(gè)元素加1。
.bss
x, 5 begin:
LD
#1, 16, B
STM
#4,BRC
;BRC賦值為4
STM
#x,AR4
RPTB
next-1
;next-1為循環(huán)結(jié)束地址
ADD
*AR4,16,B,A
STH
A,*AR4+ next:
LD
#0, B
…
用next-1作為結(jié)束地址是恰當(dāng)?shù)?。如果用循環(huán)回路中最后一條指令(STH指令)的標(biāo)號(hào)作為結(jié)束地址,若最后一條指令是單字指令也可以,若是雙字指令,就不對(duì)了。
【例4.15】 編寫一段程序,首先對(duì)數(shù)組x[20]賦值,再將數(shù)據(jù)存儲(chǔ)器中的數(shù)組x[20]復(fù)制到數(shù)組y[20]。
.title “exp15.asm”
.mmregs
STACK
.usect “STACK”, 30h
.bss
x, 20
.bss
y, 20
.data
table:
.word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
.def start
.text Start:
STM
#x, AR1
RPT #19
MVPD
table, *AR1+;程序存儲(chǔ)器傳送到數(shù)據(jù)存儲(chǔ)器
STM #x, AR2
STM
#y, AR3
RPT
#19
MVDD *AR2+, *AR3+;數(shù)據(jù)存儲(chǔ)器傳送到數(shù)據(jù)存儲(chǔ)器 end:
B end
.end
計(jì)算 z=x+y-w LD @x,A ADD @y,A SUB @W, A STL A,@z 計(jì)算y=mx+b LD @m,T MPY @x,A ADD @b,A STL A,@y 計(jì)算 y=x1*a1+x2*a2 LD @x1,T MPY @a1,B LD @x2,T MAC @a2,B STL B,@y STH B, @y+1 找出最大值,并存放在累加器A中 STM #a,AR1 STM #x,AR2 STM #2, AR3 LD
*AR1+,T MPY *AR2+,A
;第一個(gè)成績累加器A中 Loop LD *AR1+.T
MPY *AR2+,B ;其他乘積在累加器B中
MAX A
;累加器A和B比較,選大的存在A中
BANZ loop,*AR3 ;此循環(huán)中共進(jìn)行三次乘法比較 數(shù)組 x【5】={1,2,3,4,5}初始化
.data TBL
.word
1,2,3,4,5
.bss
x,5
.text
STM
#x,AR5
RPT
#4
MVPD
TBL,*AR5+