当前位置:文档之家› 基于DSP的定时器实现数字振荡器(汇编语言)

基于DSP的定时器实现数字振荡器(汇编语言)

基于DSP的定时器实现数字振荡器(汇编语言)
基于DSP的定时器实现数字振荡器(汇编语言)

基于DSP 的定时器实现数字振荡器

一、实验目的

1.更进一步掌握定时器和中断的使用;

2.学会用数字振荡器方法产生正弦/余弦信号;

二、实验原理

利用定时器及中断产生频率为f 正弦信号,定时器被设置成每1/fs 产生中断一次(等效于采样速率),在中断服务程序中用迭代算法计算出一个正弦值。用此方法可以很精确地产生某频率的正弦波。

设一个传递函数为正弦序列sin T ω,其Z 变换为2111)(-----=

Bz

Az Cz z H ,其中A=2cos T ω,B=-1,C=sin T ω。设初始条件为0,求出其反Z 变换得:

[][1][2][1]y k Ay k By k Cx k =-+-+-

是一个二阶差分方程,其单位冲击响应即为sink ωT ,利用单位冲击函数x[k-1]的性质,即仅当k=1时,x[k-1]=1,推导得:

[][1][2]y n Ay n By n =-+-

在k>2以后,y[k]能用y[k-1]和y[k-2]算出,这是一个递归的差分方程。式中2cos 2cos(2**/)s A T n f f ω==, 1B =-

sin sin(2**/)s C T n f f ω==

fs 为采样频率,f 为正弦波频率。A 为正弦波幅度。可见用数字频率振荡器产生正弦波的实质就是用程序实现上述的递归差分方程。

如要产生振荡器的频率为2kHz 正弦波,设采样速率为40k ,通过定时器设置,每隔25us 中断一次,即产生一个y[n]。则递归差分方程系数为:

2cos 2cos(2**/)s A T f f ωπ==2cos(2**2000/40000)2*0.95105652π==

B=-1

sin sin(2**/)sin(2**2000/40000)0.30901699s C T f f ωππ====

为了便于定点DSP 处理,将所有系数除以2,然后用16位定点格式表示为:A=6D4BH ,B=C000H ,C=214FH ,这便是产生2kHz 正弦信号的三个系数。

主程序初始化时先计算出y[1]和y[2],然后开放定时器中断,以后每次进入定时器中断服务程序时,利用前面计算出的y[1]和y[2]计算出新的y 。

初始化y[1]和y[2]

SSBX FRCT ;置FRCT=1,准备进行小数乘法运算

ST #0x79BC,AA ;将常数装入变量AA

ST #0xC000H ,BB ;将常数装入变量BB

ST #0x13C7H ,CC ;将常数装入变量CC

PSHD CC ;将CC 压入堆栈

POPD Y2 ; 初始化Y2=CC

LD AA,T ; 将AA 装到 T 寄存器

MPY Y2,A ;Y2乘以系数A ,结果放入A 寄存器

STH A,Y1 ;将A 寄存器的高16位存入变量Y1

;中断服务程序段:

LD BB,T ;将系数B 装入T 寄存器

MPY Y2,A ;Y2乘系数B ,结果放入A 寄存器

LTD Y1 ;将Y1装入T 寄存器,同时复制到Y2

MAC AA,A ;完成新正弦数据计算,A 寄存器

;中为Y1*AA+Y2*BB

STH A,1,Y1 ;将新数据存入Y1,因所有系数都

;除过2,在保存结果时转移一位,

;恢复数据正常大小

STH A,1,Y0 ;将新正弦数据存入Y0

VC5402的片内定时器利用CLKOUT 时钟计数,用三个寄存器(TIM 、PRD 、TCR )来控制定时器。到定时器实际上可以有20个比特的周期寄存器。它对CLKOUT 信号计数,先将PSC 减1,直到PSC 为0,然后用TDDR 重新装入PSC ,同时将TIM 减1,直到TIM 减为0。这时CPU 发出TINT 中断,同时在TOUT 引脚输出一个脉冲信号,脉冲宽度为CLKOUT 一致。然后用PRD 重新装入TIM ,重复下去直到系统或定时器复位。因而定时器中断的频率由下面的公式决定:

TINT 的频率=()()

111+?+?PRD TDDR t c ,其中t c 表示CLKOUT 的周期。设置PRD 寄存器值为

12499,TINT 中断频率为40kHz 。

定时器初始化程序段为:

STM #10H ,TCR ;停止定时器

STM #2499H ,PRD ;设置PRD 寄存器值为2499,

;TINT 中断频率为Foutclk =(2499+1)= 100MHz/2500 = 40 kHz

STM #20H ,TCR ;重新装入TIM 和PSC ,然后;

;启动定时器,在开放中断屏蔽寄存器IMR 后,就可以产生频率为2000Hz 的正弦波。

三、实验内容与步骤

1.使用C54x 汇编语言实现数字振荡器,并通过CCS 提供的显示窗口观察输出信号波形以及频谱。

2.根据确定数字振荡器的频率,确定系数。数字振荡器系数的确定在前面已经说明,

3. 启动 CCS ,新建工程文件,如文件名为sinewave.pjt 。并建立如下文件:

汇编源程序exer3.asm

.title "for test INT service program ...(25 us) "

.mmregs

.global _c_int00,_tint,vector

OFF_INTIMER .set 04Ch ; vector of INTtimer at

VECTOR+OFF_INTIMER

INIT_A .set 079bch ; A/2=0.9510498

INIT_B .set 0c000h ; B/2=-0.5

INIT_C .set 013c7h ; C/2=0.1545105

.bss y0,1

.bss y1,1

.bss y2,1

.bss temp,1

.bss AA,1

.bss BB,1

.bss CC,1

.text

_c_int00:

ld #0,dp

ssbx intm ; disable all interrupt !

st #1fffh,sp

ld #vector, a ; get vector table address ! and #0FF80h, a

andm #007Fh, pmst

or pmst, a

stlm a, pmst ; 设置IPTR

stm #10h,TCR ; init TIMER

stm #2499,PRD ; f=100M/(2499+1)=40kHz

stm #20h,TCR ; reset TIMER

ldm IMR,a ; read back IMR

or #08h,a ; enable TIMER interrupt

stlm a,IMR ; set IMR

ld #temp,dp ; set DP

ssbx FRCT ; prepare for fraction mpy

st #INIT_A,AA ; init AA,BB,CC

st #INIT_B,BB ;

st #INIT_C,CC ;

pshd CC

popd y2 ; init y2,y2=CC

ld AA,T ; T=AA

mpy y2,a ; y2*AA -> a

sth a,y1 ; y2*AA -> y1

stm #0h,TCR ; enable TIMER

nop

rsbx intm ; enable all int !

again:

nop

b again

nop

nop

nop

nop

nop

nop

;------------------------------------------------------------- ; interrupt for INT_TIMER !

;------------------------------------------------------------- _tint:

ld #BB,DP

ld BB,T ; T=BB

mpy y2,a ; a=y2*BB

ltd y1 ; T=y1,y2=y1

mac AA,a ; a=a+y1*AA

sth a,1,y1 ; new cos data -> y1

sth a,1,y0 ; new cos data -> y0

nop ; set breakpoint in CCS !!!

int1_end:

nop

rete

.end

vec_table.asm文件

.mmregs

.ref _ret

.ref _c_int00

.ref _tint

.global vector

.sect ".int_table"

;-------------------------------------------------------------------- ; interrupte vector table !

;-------------------------------------------------------------------- vector:

rs b _c_int00

nop

nop

nmi b __ret

nop

nop

sint17 b __ret

nop

nop

sint18 b __ret

nop

nop

sint19 b __ret

nop

nop

sint20 b __ret

.word 0,0

sint21 b __ret

.word 0,0

sint22 .word 01000h

.word 0,0,0

sint23 .word 0ff80h

.word 0,0,0

sint24 .word 01000h

.word 0,0,0

sint25 .word 0ff80h

.word 0,0,0

sint26 .word 01000h

.word 0,0,0

sint27 .word 0ff80h

.word 0,0,0

sint28 .word 01000h

.word 0,0,0

sint29 .word 0ff80h

.word 0,0,0

sint30 .word 01000h

.word 0,0,0

int0 b __ret

nop

nop

int1 b __ret

nop

nop

int2 b __ret

nop

nop

tint b _tint

nop

nop

brint0 b __ret

nop

nop

bxint0 b __ret

nop

nop

trint b __ret

nop

nop

dmac1 b __ret

nop

nop

int3 b __ret

nop

nop

hpint b __ret

nop

nop

q26 .word 0ff80h

.word 0,0,0

q27 .word 01000h

.word 0,0,0

dmac4 b __ret

nop

nop

dmac5 b __ret

nop

nop

q30 .word 0ff80h

.word 0,0,0

q31 .word 01000h

.word 0,0,0

;--------------------------------------------------------------------------

; end of interrupte vector table !

;-------------------------------------------------------------------------

__ret rete

链接定位sinewave.cmd

MEMORY

{

PAGE 1:

INT_D : ORIGIN=80h, LENGTH=1F80h

PAGE 0:

EXT_P : ORIGIN=2000h, LENGTH=2000h

}

SECTIONS{

.text : > EXT_P PAGE 0

.int_table : > (EXT_P ALIGN (128) PAGE (0))

.data : > INT_D PAGE 1

}

选择Project 菜单中的Add File to Project 选项,将汇编源程序exer3.asm、

vec_table.asm 和连接定位sinewave.cmd文件依次添加到工程文件中。注意,你可以在添加

文件对话框中选择显示不同的文件类型来加快文件选择速度。你也可以使用鼠标右键单击工程文件名(如sinewave.pjt)并选择Add Files 项来添加需要的文件。其中,exer3.asm 包括初始化代码和中断服务程序,而vec_talbe.asm 包含中断向量表。

4. 选择 Project 菜单中的Options 选项,或使用鼠标右键单击工程文件名(如sinewave.pjt)并选择build options 项来修改或添加编译、连接中使用的参数。选择Linker 窗口,在“Output Filename”栏中写入输出OUT 文件的名字,如sine.out,

你还可以设置生成的MAP文件名。

5. 完成编译、连接,正确生成OUT文件。然后使用File 菜单的“Load Program”选项,将生成的OUT 文件(如sine.out)装入DSP 的片内存储器。这时CCS 将显示程序的启始地址_c_int00。

6. 选 View→Graph→Time/Frequency…打开图形显示设置窗口。在弹出的对话框中按图8.1设置,

图8.1 图形属性设置

主要修改“Start Address”为y0(y0为生成的正弦波输出变量);“Acquisition Buffer Size”为1,“DSP Data Type”为“16-bit signed integer”。想想为什么要这样修改?

7. 在汇编源程序的中断服务程序(_tint)中的“nop”语句处设置断点。选择Debug→Animate,运行程序,观察输出波形。数一数一个周期的正弦波有多少个点?算算频率是否是2kHz?另外,想想Run 和Animate 两种运行方式的区别?

8. 用右键单击图形显示窗口,并选择“Proporties”项以便修改显示属性。将“DisplayType”项改为“FFT Magnitude”以便显示信号频谱。修改“Sampling Rate(Hz)”项为40000,然后退出。注意观察生成的正弦波频率。

四、实验仪器设备

1.计算机

2.DES-320PP—A教学实验系统

五、思考题

1.本实验程序产生了一个 2kHz 的正弦信号,请修改程序,产生一个频率相同的余弦信号。为了验证产生的COS 信号,可以同时生成SIN 和COS 信号,然后在两个图形窗口中显示波形。它们应该正好相差π/2 相位。

2. 重新设计和实现一个数字振荡器,采样频率改为为20KHz,输出正弦信号的频率为4KHz。

DSP课程设计——信号发生器(方波)

成绩评定表 学生姓名王子豪班级学号1103030423 专业电子信息工程课程设计题目信号发生器(方 波) 评 语 组长签字: 成绩 日期2015 年 1 月日

课程设计任务书 学院信息科学与工程学院专业电子信息工程学生姓名王子豪班级学号1103030423 课程设计题目信号发生器(方波)实践教学要求与任务: 基于Dsp的信号发生器设计: 1、设计一个信号发生器(方波)。 2、在XF引脚上输出任意频率的方波。 工作计划与进度安排: 1、选题、查阅资料及编写软件程序(或硬件原理图设计)。 2、课内上机调试程序及仿真。 3、课外上机调试程序及仿真。 4、调试出结果、调试结果验收并写报告。 5、修改报告及提交报告电子版(修改之后)。 6、正式提交报告(打印版)及参加第一次答辩。 指导教师:2014 年月日 专业负责人: 2014年月日 学院教学副院长: 2014年月日

目录 1 绪论 (1) 1.1 设计背景 (1) 1.2 设计目的 (2) 1.3 设计任务 (2) 2 设计过程 (3) 2.1 设计原理 (3) 2.2 XF引脚周期性变化 (3) 2.3 子程序的调用 (4) 3 程序代码 (5) 3.1 源程序 (5) 3.2SDRAM初始化程序 (7) 3.3 方波程序连接命令文件 (9) 4 调试仿真运行结果分析 (10) 4.1 寄存器仿真结果 (10) 4.2 模拟输出仿真 (12) 5.设计总结 (13) 参考文献 (13)

信号发生器(方波) 1 绪论 1.1 设计背景 数字信号处理是20世纪60年代,随着信息学科和计算机学科的高速发展而迅速发展起来的一门新兴学科。它的重要性日益在各个领域的应用中表现出来。其主要标志是两项重大进展,即快速傅里叶变换(FFT)算法的提出和数字滤波器设计方法的完善。数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信息便于应用的目的。例如:滤波、检测、变换、增强、估计、识别、参数提取、频谱分析等。 数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理的研究方向应该更加广泛、更加深入.特别是对于谱分析的本质研究,对于非平稳和非高斯随机信号的研究,对于多维信号处理的研究等,都具有广阔前景。 数字信号处理技术发展很快、应用很广、成果很多。多数科学和工程中遇到的是模拟信号。以前都是研究模拟信号处理的理论和实现。模拟信号处理缺点:难以做到高精度,受环境影响较大,可靠性差,且不灵活等。数字系统的优点:体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维与多维处理。随着大规模集成电路以及数字计算机的飞速发展,加之从60年代末以来数字信号处理理论和技术的成熟和完善,用数字方法来处理信号,即数字信号处理,已逐渐取代模拟信号处理。 数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们所需要的信号形式。数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。数字信号处理技术及设备具有灵活、精确、

DSP是TMSTM系列DSP产品中的定点数字信号处理器

第1章绪论 TMS320C54x TM DSP是TMS320TM系列DSP产品中的定点数字信号处理器。C54x DSP 满足了实时嵌入式应用的一些要求,例如通信方面的应用。 C54x的中央处理单元(CPU)具有改进的哈佛结构,它的特点是最小化的功耗和高度的并行性。除此之外,C54x中多样化的寻址方式和指令集也大大提高了整个系统的性能。 1.1 TMS320系列DSP简介 TMS320TM系列DSP包括定点DSP、浮点DSP和多处理器DSP(也称DSPs),其结构是专门为实时的信号处理设计的。TMS320系列DSP有以下一些特性使得该系列的产品有着广阔的应用领域: ?非常灵活的指令集。 ?固有的操作灵活性。 ?高速运行的性能。 ?创新的并行结构。 ?成本效率高。 ?对C语言的友好的结构。 1.1.1 TMS320系列DSP的历史、发展和优势 1982年,德州仪器公司(TI)推出了TMS320系列中第一代定点DSP产品——TMS320C10。在这一年年末,《电子产品》杂志赠予TMS320C10“年度产品”的称号。TMS320C10成为后续的TMS320系列DSP的模型。 今天,TMS320 DSP系列包括三大DSP平台:TMS320C2000TM、TMS320C5000TM和TMS320C6000TM。在C5000TM DSP平台中又包含三代产品:TMS320C5x TM、TMS320C54x TM 和TMS320C55x TM系列。 C5000 DSP平台中的器件都采用了相同的CPU结构,但结合了不同的片内存储器和外设结构。这些不同的结构满足了世界范围内电子市场的很多领域的需要。当把存储器、外设和CPU结合起来集成到单个芯片上时,整个系统的费用就大大地降低了,电路板的体积也减小了。图1-1所示为TMS320系列器件的演化过程。

基于DSP2812 定时器产生方波信号的硬件设计

学号1049721203024 成绩 课程作业 DSP技术 题目:基于DSP2812定时器产生方波 学院(系):信息工程学院 专业班级:电子与通信工程124班 学生姓名:毛大龙 指导教师:孟哲 硬件□软件□ ppt□ 2012年 1 月 8 日

基于DSP2812定时器产生方波硬件设计 1.系统硬件设计内容 本次设计所设计的定时器(信号发生器)是采用TI公司生产的DSP芯片TMS320VC2812和D/A转换芯片TLC7528组成,产生稳定的方波。 我们主要是利用了数字信号处理器以及数模转换器两个部分,其中DSP芯片 TMS320VC2812是系统的核心处理器(控制器),TLC7528芯片是一个模数转换器,主要通过c2812芯片产生的时钟信号作为模数转换器的使能信号,TLC7528被驱动后,将系统产生的数字信号进行转化(数模转换),输出连续的模拟信号,即产生一定占空比的方波(初次我们设定的PWM波占空比为10%,产生的波形频率为1KHZ)最后通过示波器把模拟波形输出到示波器上,整个系统设计简单,清晰易懂。 2.系统设计思想 本系统是以TMS320VC2812这个DSP芯片为核心,通过DSP芯片进行控制和处理,从而产生稳定的方波(PWM)波形,通过D/A转换芯片实现把数字信号转换为模拟信号。整个硬件系统所要做的就是正确连接DSP芯片和D/A转换芯片,确保芯片正常工作,得到稳定的输出波形结果。 系统整体设计方案框图如下: 图1—1 系统整体硬件设计方案 3.系统硬件电路设计原理及框图 3.1系统硬件电路设计原理 整个硬件电路设计主要由中心处理器和模数转换器构成,其核心部分就是

DSP是TMS320TM系列DSP产品中的定点数字信号处理器

DSP是TMS320TM系列DSP产品中的定点数字信 号处理器 TMS320C54x TM DSP是TMS320TM系列DSP产品中的定点数字信号处理器。C54x DSP 满足了实时嵌入式应用的一些要求,例如通信方面的应用。 C54x的中央处理单元(CPU)具有改进的哈佛结构,它的特点是最小化的功耗和高度的并行性。除此之外,C54x中多样化的寻址方式和指令集也大大提高了整个系统的性能。 1.1 TMS320系列DSP简介 TMS320TM系列DSP包括定点DSP、浮点DSP和多处理器DSP(也称DSPs),其结构是专门为实时的信号处理设计的。TMS320系列DSP有以下一些特性使得该系列的产品有着宽敞的应用领域: ?专门灵活的指令集。 ?固有的操作灵活性。 ?高速运行的性能。 ?创新的并行结构。 ?成本效率高。 ?对C语言的友好的结构。 1.1.1 TMS320系列DSP的历史、进展和优势 今天,TMS320 DSP系列包括三大DSP平台:TMS320C2000TM、TMS320C5000TM和TMS320C6000TM。在C5000TM DSP平台中又包含三代产品:TMS320C5x TM、TMS320C54x TM 和TMS320C55x TM系列。 C5000 DSP平台中的器件都采纳了相同的CPU结构,但结合了不同的片内储备器和外设结构。这些不同的结构满足了世界范畴内电子市场的专门多领域的需要。当把储备器、外设和CPU结合起来集成到单个芯片上时,整个系统的费用就大大地降低了,电路板的体积也减小了。图1-1所示为TMS320系列器件的演化过程。

控制最优化平台高效益平台 高性能平台 图1-1 TMS320系列DSP的演化过程 1.1.2 TMS320系列DSP的典型应用 表1-1列出了TMS320系列DSP的一些典型的应用。TMS320 系列DSP与标准的微处理器/微运算机器件相比,能够为传统信号处理咨询题提供更合适的处理方式,例如处理语音合成和滤波咨询题。TMS320系列DSP也支持多个操作需要同时进行处理的复杂应用场合。 表1-1 TMS320 系列DSP的典型应用

可变输出频率方波发生器设计

山东理工大学计算机学院课程设计(微机原理及接口技术) 班级计科0504 姓名帅令 学号 0512108018 指导教师姚艳芝 二○○八年一月九日

课程设计任务书及成绩评定 1、设计题目:可变输出频率方波发生器设计; 直流电机速度控制器设计 2、设计内容和要求: 学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。 1.可变输出频率方波发生器设计:设计一个输出方波频率可利用按键改变的方波信号发生器(可以使用D/A也可以直接使用8253产生方波),利用键盘选择方波发生器的输出频率并驱动喇叭。输出频率=键号*100HZ。 2.直流电机速度控制器设计:利用按键控制直流电动机的转速。按键定义如下:0 停止,1 1/10转速, 2 2/10转速…… 9 最高速(D/A输出满量程),键号每加1,D/A输出增加0.5V 3、设计任务和要求: 3.1 接口设计、连接和调试 根据所选题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过。 3.2 程序设计、调试 要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释,并在实验系统上调试通过。 3.3 课程设计说明书 a、本次课程设计的目的和意义。 b、设计报告:字数约2000-3000字(不包括程序清单),内容包括:○1设计题目;○2系统的主要功能、作用以及主要技术性能指标;○3总体设计方案、工作和组成原理(框图)或设计说明、采用的技术路线等;○4系统设计:接口电路设计,程序设计(程序框图和程序清单及注释)其他有关的理论分析和计算;○5设计总结:对整个设计工作过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识、收获和提高。 c、作品的使用或操作说明。 d、设计图纸或图表(如接口电路原理图等)。装订时将课程设计说明书附在该3页之后。 3.4设计内容不允许抄袭和复印,否则取消设计成绩。

DSP数字信号处理

数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。 简介 简单地说,数字信号处理就是用数值计算的方式对信号进行加工的理论和技术,它的英文原名叫digital signal processing,简称DSP。另外DSP也是digital signal processor的简称,即数字信号处理器,它是集成专用计算机的一种芯片,只有一枚硬币那么大。有时人们也将DSP看作是一门应用技术,称为DSP 技术与应用。 《数字信号处理》这门课介绍的是:将事物的运动变化转变为一串数字,并用计算的方法从中提取有用的信息,以满足我们实际应用的需求。 本定义来自《数字信号处理》杨毅明著,由机械工业出版社2012年发行。 特征和分类 信号(signal)是信息的物理体现形式,或是传递信息的函数,而信息则是信号的具体内容。 模拟信号(analog signal):指时间连续、幅度连续的信号。 数字信号(digital signal):时间和幅度上都是离散(量化)的信号。 数字信号可用一序列的数表示,而每个数又可表示为二制码的形式,适合计算机处理。 一维(1-D)信号: 一个自变量的函数。 二维(2-D)信号: 两个自变量的函数。 多维(M-D)信号: 多个自变量的函数。 系统:处理信号的物理设备。或者说,凡是能将信号加以变换以达到人们要求的各种设备。模拟系统与数字系统。 信号处理的内容:滤波、变换、检测、谱分析、估计、压缩、识别等一系列的加工处理。 多数科学和工程中遇到的是模拟信号。以前都是研究模拟信号处理的理论和实现。 模拟信号处理缺点:难以做到高精度,受环境影响较大,可靠性差,且不灵活等。数字系统的优点:体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维与多维处理 随着大规模集成电路以及数字计算机的飞速发展,加之从60年代末以来数字信号处理理论和技术的成熟和完善,用数字方法来处理信号,即数字信号处理,已逐渐取代模拟信号处理。 随着信息时代、数字世界的到来,数字信号处理已成为一门极其重要的学科和技术领域。 数字信号处理器 DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点: (1)在一个指令周期内可完成一次乘法和一次加法;

(完整word版)DSP期末复习题及答案

一、填空题(每空 2 分,共20 分) 1、在C语言和C55x汇编语言的混合程序设计中,C函数的参数和返回值传递到 C55x的寄存器中。在函数“long func(int *p1, int i2, int i3, int i4) ” 中,*p1 传递到AR0 寄存器,i2 传递到T0 寄存器,i4 传递 到AR1 寄存器,返回值由AC0 寄存器传递。 2、汇编语言“mov*AR0,AC0”使用的寻址方式是间接寻址模式,“mov#0x3, DPH”使用的寻址方式是直接寻址模式,“mov*(#0x011234) ,T2”使用 的寻址方式是绝对寻址模式。 3、指令执行前AC0的值是0012345678,那么汇编语句“AND #0x7f ,AC0”, 执行之后,AC0的值是0000000078 。 4、C55x 的链接器命令文件中,SECTIONS命令的主要作用是告诉链接器如何将输 入段组合成输出段,以及在存储器何处存放输出。MEMOR命Y令的主要作用是定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长 度。 二、简述题(共40 分) 1、根据你的理解,试列举DSP 芯片的特点?(5 分) 答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的DSP 指令;快速的指令周期;丰富的外设 2、TMS320C55x芯片的总线结构有何特点,主要包括哪些总线?它们的功 能是什么?(6 分) 答:TMS320C55x DSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数 据总线允许同时读取指令和操作数,实现高度的并行操作。 采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期内 进行两次读操作数和一次写操作数。独立的程序总线和数据总线允许CPU同时访问 程序指令和数据。 包括12 条总线,分别是:PAB和PB、BAB和BB、CAB和CB、DAB和DB、EAB和EB、FAB和FB。 3、DSP为了降低功耗采取了哪些措施?( 6 分) 答:双电压供电;多种工作模式 4、TMS320C55x的总存储空间为多少?可分为哪 3 类,它们的大小是多 少?存储器空间的各自作用是什么?( 6 分) 答:程序空间16M Byte ;I/O 空间64K Words;数据空间8M Words 5、TMS320C55x有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列 举一条指令(6 分) 答:直接寻址模式,mov #K16,DP; 间接寻址模式,mov *AR0,AC0; 绝对寻址模式,mov *(#0x011234) ,T2; MMR寻址模式,mov *abs16( #AR2), T2 ; 寄存器位寻址模式,btstp @30, AC1 ; 圆形寻址模式。 6、将C源程序转换成可执行文件需要经过哪些步骤?( 6 分) 答:创建C源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接; 生成可执行文件

DSP数字信号处理器特性

DSP数字信号处理器特性 周晓昱(龙口中隆计控公司) 现在,数字信号处理技术已经被广泛应用到各种工业仪器仪表上。近十年来,国内越来越多的生产厂家,也将该技术应用到科氏力质量流量计的信号处理上。使国产质量流量计的稳定性、准确度都得到了很大的提高。与国际先进水平的差距越来越小。 科里奥利质量流量计的工作原理是:用激振使测量管在固有频率下振动。当管道内的介质处于静止时,测量管上所受到的科里奥利力(简称科氏力),是大小相同,方向相同的。而当测量管中的介质流动时,测量管两侧所受的科氏力,大小相同而方向相反。在这两个力的作用下,测量管就会产生微量的扭转弹性变形。测量管两侧的振动相位差就发生了改变。相位差的大小与介质流过的质量成一定规律。因此,可以通过测量相位差的变化,确定介质的流量大小。 当有外来振动源产生一个或多个“噪声”频率时,会在测量管上产生一个附加力来干扰科氏力,从而造成测量的误差。要准确地计量质量流量,必须排除这些干扰。例如,流量计附近有产生机械振动的设备,周围动力电(如电焊机等)的耦合等。都会产生不确定频率或固定频率的干扰。如何清除这些干扰?采用模拟电路进行信号处理时,一般是采取各种滤波的办法。但效果并不理想。 数字信号处理器(简称DSP)是一个实时处理信号的微处理器。使用DSP技术与使用时间常量去阻抑和稳定信号相比,其优点是能够以一个被提高了的采样率去过滤实时信号。减少了流量计对流量的阶跃变化的响应时间。使用多参数数字处理器(MVD)变送器的响应时间比使用模拟信号处理的传统变送器快2~4倍,更快的响应时间会提高短批量控制的效率和精确度。

特别是对于气体流量的测量,DSP技术就更具优势。因为高速气体通过流量计容易引起较严重的噪声。DSP技术因能够用数字技术更好地滤波,同时进一步减小了质量流量计对噪声的敏感度。因此,可以将混杂在流量信号中的噪声减至最小。实践证明,采用MVD变送器测量气体介质,比以前采用模拟信号变送器,在重复性和精确度上都有了显著提高。 DSP技术为科氏力质量流量计提供了一个更好地处理掉来自于外界干扰信号的手段。它使得这些干扰信号无所遁形。从而极大地提高了质量流量计的测量精度,以及运行的稳定性。 运用DSP技术,再加之对密度信号的监测与分析。还有希望解决一直困扰着科氏力质量流量计运行过程中,因介质产生气化,测量管内壁沉淀或挂壁造成的计量误差问题。使科氏力质量流量计再上一个台阶。

DSP期末复习题及答案

一、填空题(每空2分,共20分) 1、在C语言和C55x汇编语言的混合程序设计中,C函数的参数和返回值传递到 C55x的寄存器中。在函数“long func(int *p1, int i2, int i3, int i4)” 中,*p1传递到AR0寄存器,i2传递到T0寄存器,i4传递到AR1寄存器,返回值由AC0寄存器传递。 2、汇编语言“mov *AR0,AC0”使用的寻址方式是间接寻址模式,“mov #0x3, DPH”使用的寻址方式是直接寻址模式,“mov *(#0x011234),T2”使用的寻址方式是绝对寻址模式。 3、指令执行前AC0的值是0012345678,那么汇编语句“AND #0x7f, AC0”, 执行之后,AC0的值是0000000078。 4、C55x 的器命令文件中,SECTIONS命令的主要作用是告诉器如何将输入段组合 成输出段,以及在存储器何处存放输出。MEMORY命令的主要作用是定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度。 二、简述题(共40分) 1、根据你的理解,试列举 DSP 芯片的特点?(5分) 答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的DSP 指令;快速的指令周期;丰富的外设 2、TMS320C55x 芯片的总线结构有何特点,主要包括哪些总线?它们的功 能是什么?(6分) 答:TMS320C55x DSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。 采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期进 行两次读操作数和一次写操作数。独立的程序总线和数据总线允许CPU同时访问程 序指令和数据。 包括12条总线,分别是:PAB和PB、BAB和BB、CAB和CB、DAB和DB、EAB和EB、FAB和FB。 3、DSP 为了降低功耗采取了哪些措施?(6分) 答:双电压供电;多种工作模式 4、TMS320C55x 的总存储空间为多少?可分为哪 3 类,它们的大小是多 少?存储器空间的各自作用是什么?(6分) 答:程序空间16M Byte;I/O空间64K Words;数据空间8M Words 5、TMS320C55x有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列 举一条指令(6分) 答:直接寻址模式,mov #K16,DP; 间接寻址模式,mov *AR0,AC0; 绝对寻址模式,mov *(#0x011234),T2; MMR寻址模式,mov *abs16(#AR2), T2; 寄存器位寻址模式,btstp 30, AC1; 圆形寻址模式。 6、将C源程序转换成可执行文件需要经过哪些步骤?(6分) 答:创建C源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;;生成可执行文件 7、常用的TMS320C55x汇编命令有哪些,它们的作用是什么?(5分)

如何选择DSP芯片(精)

1 速度: DSP 速度一般用MIPS 或FLOPS 表示,即百万次/秒钟。根据您对处理速度的要求选择适合的器件。一般选择处理速度不要过高,速度高的DSP ,系统实现也较困难。 2 精度: DSP 芯片分为定点、浮点处理器,对于运算精度要求很高的处理,可选择浮点处理器。定点处理器也可完成浮点运算,但精度和速度会有影响。 3 寻址空间:不同系列DSP 程序、数据、I/O空间大小不一,与普通MCU 不同,DSP 在一个指令周期内能完成多个操作,所以DSP 的指令效率很高,程序空间一般不会有问题,关键是数据空间是否满足。数据空间的大小可以通过DMA 的帮助,借助程序空间扩大。 4 成本:一般定点DSP 的成本会比浮点DSP 的要低,速度也较快。要获得低成本的DSP 系统,尽量用定点算法,用定点DSP 。 5 实现方便:浮点DSP 的结构实现DSP 系统较容易,不用考虑寻址空间的问题,指令对C 语言支持的效率也较高。 6 内部部件:根据应 DSP 应用选型举例 面向数字控制、运动控制的DSP 系统开发的DSP 芯片选型 面向数字控制、运动控制主要有磁盘驱动控制、引擎控制、激光打印机控制、喷绘机控制、马达控制、电力系统控制、机器人控制、高精度伺服系统控制、数控机床等。当然这些主要是针对数字运动控制系统设计的应用,在这些系统的控制中,不仅要求有专门用于数字控制系统的外设电路,而且要求芯片具有数字信号处理器的一般特征。 例如在控制直流无刷电动机的DSP 控制系统中,直流无刷电机运行过程要进行两种控制,一种是转速控制,也即控制提供给定子线圈的电流;另一种是换相控制,在转子到达指定位置改变定子导通相,实现定子磁场改变,这种控制实际上实

基于2812DSP的PWM产生方法

基于TMS320F2812 DSP的PWM产生方法PWM(Pulse-Width Modulation)即脉宽调制技术,广泛运用于各种工业控制中,现需要用TMS320F2812DSP产生该波形,主要通过如下几点来实现。 一、硬件芯片选型 依托现有条件,选用合众达的eZ dsp TMS320F2812开发平台作为目标板。首要关注其datesheet和电路图。 如图1所示,产生的PWM波通过目标板P8插针口的第15根脚输出,测试时需要通过示波器检查该口的输出状态。

事件管理器(Event Manager)是产生PWM波的核心模块,包括通用定时器、比较单元、捕获单元、QEP电路等,这里主要用到通用定时器中的定时器1。图2表示EV A中通用定时器1的相关寄存器,对这些寄存器进行配置是产生PWM 波的必经之路。 二、软件编程实现 在了解2812DSP各相关寄存器的前提下,通过在CCS3.3环境下编程可实现。 https://www.doczj.com/doc/e88636460.html,S3.3软件环境学习 一个完整的DSP工程文件需要由头文件(.h)、库文件(.lib)、源文件(.c)、和CMD文件共同组成。在实际编程中,我们通常是打开某一个例程工程文件,其中很多头文件已经被默认添加进去,一般不需要改动,源文件在相应地方进行改动即可。 2.编程实现 DSP芯片在一定时钟节拍驱动下才能正常工作,因此需要对系统时钟进行配置,通常使用外部时钟,并将PLL控制寄存器PLLCR取最大值10,送至CPU 的时钟则为150MHz。 主函数流程图如图3所示: 初始化包括:系统时钟配置、PIE控 制寄存器初始化、PIE中断向量表初始 化、GPIO口初始化、事件管理器EV A初 始化。 开中断实际上是定时器T1开始计 数。在通用定时器初始化的时候便将中断 打开。 当T1CNT和T1CMPR的值相等时发 生比较匹配事件,如果T1控制寄存器 T1CON的TWCMPR为1,定时比较器被 使能,且GPTONA的位TCMPOE为1 时,定时器比较输出被使能,那么

DSP数字信号处理器考试复习资料

DSP数字信号处理器考试复习资料 1.DSP:数字信号处理 2.模拟信号:幅值和时间上都是连续变化的信号。 3.数字信号:幅值为量化的,时间是离散的。 4.DPS芯片的结构特点: 【1】采用哈佛总线结构 【2】采用流水线技术 【3】增加硬件功能单元 (1)设置硬件乘法器 (2)增加辅助寄存器算术单元 5.F28335是TI公司推出的C200系列,双电源供电,C28X系列,3.3V,I/O接口1.9V(150MHz),1.8V(没有150MHz) 6.C200(实时控制) 【1】c24x16位定点DSP 【2】c28x32位定点DSP,工作频率150MHz,晶振频率30MHz 7.c500(低功耗) 【1】c54x 【2】c55x 8.c6000(高性能) 【1】c62x32位 【2】c64x32位

9.DSP硬件开发工具 【1】DSP开发板 【2】DSP仿真器 10.软件开发工具:CCS 11.F28335的基本组成 【1】中央处理器(cpu) 【2】系统控制逻辑 【3】存储器 【4】片上外设 12.F28335总线包括: 【1】程序地址总线PAB(22) 【2】程序读数据总线PRDB(32) 【3】数据读地址总线DRAB(32) 【4】数据读数据总线DRDB(32) 【5】数据/程序写数据总线DWDB(32) 【6】数据写地址总线DWAB(32) 13.状态寄存器: 【1】ST0(16位) 【2】ST1(16位) (1)D0.INTM:全局中断屏蔽。1,禁止全局可屏蔽中断;0,开全局可屏蔽中断

(2)D6.EALLOW:寄存器访问使能。1,允许访问被保护的寄存器;0,禁止访问被保护的寄存器 14.F28335片内振荡器及锁相环 14.如果F28335外接晶振频率为30MHz,DIV设置为1010(二进制)或10(十进制)或0xA(十六进制),DIVSEL设置为2,则时钟模块输出时钟(也是CPU的输入时钟)CLKIN频率为: F=(OSCCLK*10.0)/2=30MHz*10/2=150MHz CLKIN 15.F28335的低功耗模式 【1】IDIE(空闲)模式 【2】STANDBY(待机)模式 【3】HALT(暂停)模式 16.看门狗电路就是一个定时器电路 【1】复位信号 【2】中断信号 17.F28335寻址方式有寄存器寻址、堆栈寻址、直接寻址、间接寻址

DSP 相关知识及TMS320F2812性能介绍

第一章 DSP 相关知识及TMS320F2812性能介绍 数字信号处理(DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。在通常的实时信号处理中,它具有可程控、可预见性、精度高、稳定性好、可靠性和可重复性好、易于实现自适应算法、大规模集成等优点,这都是模拟系统所不及的。 1.1 DSP系统构成 数字信号处理器是利用计算机或专用处理设备,在模拟信号变换成数字信号以后,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等高速实时处理的专用处理器,其处理速度比最快的CPU还快10~50倍。一个典型的DSP系统,输入信号首先进行带限滤波和抽样,然后进行A/D变换将信号变换成数字比特流。DSP芯片的输入是A/D变换后得到的以抽样形式表示的数字信号,DSP芯片对输入的数字信号进行某种形式的处理,如进行一系列的乘累加操作(MAC)。最后,经过处理后的数字样值再经D/A变换转换为模拟样值,之后再进行内插和平滑滤波就可得到连续的模拟波形。必须指出的是,上面给出的DSP 系统模型是一个典型模型,但并不是所有的DSP系统都必须具有模型中的所有部件。 1.2 DSP系统的特点 数字信号处理系统是以数字信号处理为基础,因此具有数字处理的全部优点: (1)接口和编程方便。DSP系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,与这样的系统接口以实现某种功能要比模拟系统与这些系统接口容易得多;另外,DSP系统中的可编程DSP芯片可使设计人员在开发过程中灵活方便地对软件进行修改和升级。 (2)稳定性和可重复性好。DSP系统以数字处理为基础,受环境温度、湿度、噪声、电磁场的干扰和影响较小,可靠性高;数字系统的性能基本不受元器件参数性能变化的影响,因此数字系统便于测试、调试和大规模生产。 (3)精度高。16位数字系统可以达到10-5的精度。 (4)特殊应用。有些应用只有数字系统才能实现,例如信息无失真压缩、V 型滤波器、线性相位滤波器等等。 (5)集成方便。DSP系统中的数字部件有高度的规范性,便于大规模集成。当然,数字信号处理在高频信号处理上也存在一定的缺点。DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。此外,DSP技术更新的速度快,数学知识要求多,开发和调试工具还不尽完善。

DSP原理及应用考试卷答案1(精)

1.DSP的狭义理解为数字信号处理器,广义理解为数字信号处理方法。 2.在直接寻址中,指令代码包含了数据存储器地址的低 7 位。当ST1中直接寻址编辑方式位CPL =0 时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编辑方式位 CP L =1 时,加上SP基地址形成数据存储器地址。 3.TMS320C54有两个通用引脚,BIO和XF, BIO 输入引脚可用于监视外部接口器件的状态; XF 输出引脚可以用于与外部接口器件的握手信号。 39~32 保护位31~16 高阶位 15~0 低阶位 4.累加器又叫做目的寄存器,它的作用是存放从ALU或乘法器/加法器单元输出的数 据。它的存放格式为 5.桶形移位器的移位数有三中表达方式:立即数; ASM ; T低6位 6.DSP可以处理双16位或双精度算术运算,当C16=0 位双精度运算方式,当 C16=1 为双16位运算方式。 7.复位电路有三种方式,分别是上电复位;手动复位;软件复位。 8.立即数寻址指令中在数字或符号常数前面加一个 # 号,来表示立即数。 9.位倒序寻址方式中,AR0中存放的是 FFT点数的一半。 10.一般,COFF目标文件中包含三个缺省的段:.text 段;.data 段和.bss 段。11.汇编源程序中标号可选,若使用标号,则标号必须从第一列开始;程序中可 以有注释,注释在第一列开始时前面需标上星号或分号,但在其它列开始的注释前面只能标分号。 12.’C5402有23条外部程序地址线,其程序空间可扩展到 1M ,内程序区在第0页。 13.指令执行前有关寄存器及数据存储器单元情况如下图所示,请在下图分别填写指令执行后有关寄存器及数据存储器单元的内容。 ADD *AR3+,14,A

数字信号处理器DSP补充讲义

数字信号处理器DSP 补充讲义 一、Q 数的定义与四则运算 1. Q 数的定义 对于16位的DSP 而言,Q 数定义共有16种,其简化写法分别是Q15、Q14、Q13、Q12、Q11、Q10、Q9、Q8、Q7、Q6、Q5、Q4、Q3、Q2、Q1、Q0,其数学含义可以在其标准定义中更加明确,分别应当是:Q1.15、Q2.14、Q3.13、Q4.12、Q5.11、Q6.10、Q7.9、Q8.8、Q9.7、Q10.6、Q11.5、Q12.4、Q13.3、Q14.2、Q15.1、Q16.0,即标准形式为Qn:m 其数学意义是Q 数的最大整数的绝对值≤2n-1 ;例如Q15其整数位小于等于1;Q14的整数位小于等于2;Q13的整数位小于等于4;…Q1的整数位小于等于16384;Q0的整数位小于等于32768。其最大整数位数是n 位。小数位的最小刻度为=2-m ,由m 位二进制数表示。 例如:Q15小数位的最小刻度为=2-m =2-15 =3.0518×10-5,Q14小数位的最小刻度为=2-m =2-14=6.1035×10-5 , …Q1小数位的最小刻度为=2-m =2-1 =0.5。 2. Q 数圆 对于16位的DSP,如果是有符号数,则,可以表示为图1所描绘的Q 数圆,Q 数圆在整个圆周上分布有216=65,536个数据点,每一个数据点,都具有唯一性。Q 数圆的起始点为0000,其在该圆的垂直轴线的正上方;Q 数圆的右半圆为正数,其最大值顺时针旋转,在该圆的垂直轴线的正下方右边第一个点,其16进制的数值为7FFF ,但是,其对于不同的Q 数,其真值是不同的,例如:7FFF 对于Q15格式,其代表的数值是0.9999695,但是,其对于Q13格式,其代表的数值是3.9999。 补码 8000 ∶Q1=16383.5Q0=32767 ∶ Q1=-16384Q0=-32768 图1 Q 数圆的定义与数据的分布 Q 数圆的左半圆为负数,其起始点为FFFF 为补码格式, 在该圆的垂直轴线的正上方左边第一个点,其真值在Q15格式时为-3.0518×10-5,其原码是8001,与正数0001呈现垂直轴Y 轴对称。其最小值为逆时针旋转,在该圆的垂直轴线的正下方的点,其16进制的数值为8000为补码格式,但是,其对于不同的Q 数,其真值是不同的,例如:8000对于Q15格式,其代表的数值是-1,但是,其对于Q13格式,其代表的数值是-4。 3.实数的真值与Q 数的转换方法: 在DSP 的实际运算中,实数需要根据其大小和位数转化为相应的Q 数,方可以作为常数,写入到程序中,其转换的办法需要遵循下列公式: 假定实数的真值为R ,其需要转换的Q 数值为Qm ,m=0,1,2…15。 Qm=R ×2m (1) 例1:R =0.5,需要转换成为Q15格式, 则,Q15= R ×2m =0.5×215=16384=4000h 例2:R =-0.5,需要转换成为Q15格式, 则,Q15= -R ×2m =-0.5×215=-16384=-4000h(原码) 需要转换为补码(取反加1): -4000h =BFFF(反码)=C000(补码) 在DSP 的实际运算中,Q 数也需要根据其大小和位数转化为相应的实数真值,其转换的办法需要遵循下列公式: 假定Q 数值为Qm ,m=0,1,2…15,其需要转换的实数的真值为R 。 R=Qm ×2-m (2) 例3:Q15数的3FFF 转换为实数真值 3FFFh=16383×2-15=0.499969 例4:Q15数的C001转换为实数真值 C001补码(取反加1)=3FFFh C001=-16383×2-15 =-0.499969 例5:R =1.999756,需要转换成为Q13格式, 则,Q15= R ×2m =1.999756×213 =16382=3FFEh 例6:Q13格式的数C002, 需要转换成为实数真值,C002补码(取反加1)=3FFEh C002=-16382×2-13=-1.999756 R =-1.999756 显然,Q 数圆的16位数在几何空间上是确定和唯一的,但是,在16位数相同的情况下,Q 数值不同,

DSP方波发生器实验

实验一频率可编程的方波发生器一、实验目的 1.掌握片内外设 - 定时器的初始化设置 2.掌握片内外设–中断控制系统的初始化设置 3.掌握根据给定条件计算定时器定时周期PRD 二、实验要求 1.利用定时器 2.利用中断系统, 3.利用通用I/O口---- XF 4. 画程序流程图 三、实验内容与步骤 1. 在CCS环境下建立方波发生器的工程项目 2. 编写方波发生器的.ASM主程序 3. 编写方波发生器的.ASM中断服务程序 4. 编写方波发生器的复位向量.ASM文件 5. 编写方波发生器的链接命令 .CMD文件 6. 添加上述文件到方波发生器的工程项目中 7. 调试可编程的方波发生器(200ms) 8. 调试可编程的方波发生器(2s) 9. 利用CCS中的图形窗口显示方波发生器产生的波形 四、实验数据 主程序及中断程序代码(Fangbo.asm): .title "fangbo.asm" .mmregs .def CodeStart ;程序入口 .def TINT0_ISR ;Timer0中断服务程序 STACK .usect "STACK",10H ;分配堆栈空间 edata .usect "edata",100 K_TCR_SOFT .set 0B<<11 ;设置TCR定时器控制寄存器的内容;0左移11位K_TCR_FREE .set 0B<<10 ;TCR第10位free=0 K_TCR_PSC .set 0B<<6 ;TCR第9-6位,可设TDDR一样,也可不设自动加载 K_TCR_TRB .set 1B<<5 ;TCR第5位TRB=1此位置1,PSC会自动加载的 K_TCR_TSS .set 0B<<4 ;TCR第4位TSS=0 K_TCR_TDDR .set 1001B<<0 ;TCR第3-0位TDDR=1001B K_TCR .set K_TCR_SOFT|K_TCR_FREE|K_TCR_PSC|K_TCR_TRB|K_TCR_TSS|K_TCR_TDDR K_TCR_STOP .set 1B<<4 ;TSS=1时计数器停止 .data ;数据区 DATA_DP: ;数据区指针 XF_Flag: .word 1 ;当前XF的电平标志,如果XF_Flag=1,则XF=1 .text ;程序区CodeStart: STM #STACK+10H,SP ;设堆栈指针SP

1第一章 数字信号处理和DSP系统

实验实训中心
DSP实习创新设计
实验实训中心
https://www.doczj.com/doc/e88636460.html,

推荐教材及学习网站
推荐教材
《TMS320C55X 系列DSP 指令系统、开发工具与编程指南》 译:李海森 清华大学出版社 《TMS320C55X DSP 原理及应用》 主编 汪春梅 电子工业出版社 主编:汪春梅
实验实训中心
学习网站
https://www.doczj.com/doc/e88636460.html, www ti com cn https://www.doczj.com/doc/e88636460.html, https://www.doczj.com/doc/e88636460.html, https://www.doczj.com/doc/e88636460.html, TI公司网站 TI公司中国网站 合众达公司网站 论坛

DSP实习创新设计 实习创新设计
实验实训中心
第1章 数字信号处理和DSP系统
肖 飞

授 课 内 容
一、实时数字信号处理技术的发展 二、数字信号处理器的应用 三、数字信号处理器的特点 数字信号处 的特点 四 德州仪器公司的DSP产品 四、德州仪器公司的 五、DSP芯片的选择 五 片的选择 六、DSP应用系统设计流程 七、DSP软件开发流程
实验实训中心

实验实训中心
1 1 实时数字信号处理技术的发展 1.1
典型实时数字信号处理系统的基本部件
A 输入
抗混叠 滤波器
A
ADC
D
数字信 号处理
D
DAC
A
抗镜像 滤波器
A 输出
DAC 数/模转换器(Digital-to-Analog Converter) ADC 模/数转换器(Analog-to-Digital A l t Di it l Converter C t ) 抗混叠滤波器 抗镜像滤波器 (Anti-aliasing g filter) (Anti-image filter)

DSP三角波、方波、锯齿波信号发生器(精)

《DSP原理及应用》课程实验报告 学生: 所在班级:电信1001 指导教师: 记分及评价: 项目满分5分 得分 一、实验名称 实验8:函数波形信号发生器 二、任务及要求 1.设计一个可产生方波、三角波、锯齿波的信号发生器,要求频率可调。 2.在CCS软件环境下用时频图演示出来。 三、波形发生器源程序 #include #include #define N 1024

#define t 1// 修改t可以改频率,频率等于t*N int outbuffer[N]; int i=0; char a=1;//1为三角波 2为方波 3为锯齿波int j,k=0,n=0; void delay(int z//延时函数 { int i,j; for(i=0;z>i;i++ { for(j=0;j<200;j++; } } void main(void { while(1 { switch (a { case 1: //三角波 for(j=0;j<20;j++ { outbuffer[i]=k; i++; k++; delay(t;

} for(j=0;j<20;j++ { outbuffer[i]=k; i++; k--; delay(t; } break; case 2: //方波 for(j=0;j<20;j++ { outbuffer[i]=255; i++; //k++; delay(t; } for(j=0;j<20;j++ { //k--; outbuffer[i]=0; i++; delay(t; } break; case 3: //锯齿波

相关主题
文本预览
相关文档 最新文档