DSP作业
- 格式:doc
- 大小:40.00 KB
- 文档页数:6
DSP 应用开发技术课程作业班级:学号:姓名:1. 请问DSP和单片机有什么本质的区别?有哪些不同点?DSP芯片实际上就是一种单片机,是集成高速乘法器,具有多组内部总线,能够进行快速乘法和加法运算,适用于高速数字信号处理的高速、高位单片计算机。
单片机比DSP应用范围更广,但DSP比单片机功能更强大。
(1)DSP的程序一般在RAM里运行,单片机的程序一般在flash或者ROM里运行,因为DSP的速度高,一般要100M以上,flash的速度达不到那么快;(2)由于DSP的程序一般在RAM里执行,而脱机程序必须存储在ROM里以便掉电后不丢失,所以需要在上电后把程序从ROM搬到RAM里。
因此一些DSP在片内ROM里固化了一段程序来做这个工作,这段程序就称为bootloader;(3)DSP的内核结构要较单片机复杂(这里说内核是因为现在的芯片都SOC化,很多单片机内核并不复杂,但加了很多片上外设也复杂了),针对信号处理做了硬件上的支持,如FIR、MAC、乘方、开方等;例如:典型的ARM核3万门,典型的51核1万门,而典型的DSP核xx门(呵呵,这个有待补充);(4)串行接口方式DSP多采用同步口,而单片机多采用异步口,DSP的同步串行口占用较少的CPU负荷,并且支持的速度更高;(5)DSP器件还提供了高度专业化的指令集,提高了FFT快速傅里叶变换和滤波器的运算速度。
2. 简述2000系列DSP器件2407内核各组成部分的功能机构与特点。
TMS320LF2407A CPU的基本组成模块如下:(1)输入定标移位部分;TMS320LF2407A的程序总线和数据总线是都是16位,但是其中央算术逻辑单元CALU却是32位的。
为了使数据能正确地在中央算术逻辑单元中运算,中央算术逻辑单元与程序和数据读总线之间加了一个输入定标移位器,对输入的数据向左移位。
输入移位模块的两个输入源分别是数据读总线和程序读总线。
数据读总线上的数据来自指令操作所需引用的数据存储器,程序读总线上的数据是指令码中的常数值。
第一章绪论1、简述DSP系统的构成和工作过程。
答:DSP系统的构成:一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等。
DSP系统的工作过程:①将输入信号x(t)经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠。
②经过采样和A/D转换器,将滤波后的信号转换为数字信号x(n)。
③数字信号处理器对x(n)进行处理,得数字信号y(n)。
④经D/A转换器,将y(n)转换成模拟信号;⑤经低通滤波器,滤除高频分量,得到平滑的模拟信号y(t)。
9、简述DSP系统的设计步骤。
答:①明确设计任务,确定设计目标。
②算法模拟,确定性能指令。
③选择DSP芯片和外围芯片。
④设计实时的DSP芯片系统。
⑤硬件和软件调试。
⑥系统集成和测试。
第二章TMS320C54x硬件结构1、TMS320C54X芯片的基本结构都包括哪些部分?答:①中央处理器②内部总线结构③特殊功能寄存器④数据存储器RAM⑤程序存储器ROM⑥I/O口⑦串行口⑧主机接口HPI⑨定时器⑩中断系统2、TMS320C54X芯片的CPU主要由哪几部分组成?答:①40位的算术运算逻辑单元(ALU)。
②2个40位的累加器(ACCA、ACCB)。
③1 个运行-16至31位的桶形移位寄存器。
④17×17位的乘法器和40位加法器构成的乘法器-加法器单元(MAC)。
⑤比较、选择、存储单元(CSSU)。
⑥指令编码器。
⑦CPU状态和控制寄存器。
3、TMS320VC5402共有多少可屏蔽中断?它们分别是什么?RS和NMI属于哪一类中断源?答:TMS320VC5402有13个可屏蔽中断,RS和NMI属于外部硬件中断。
第三章TMS320C54x指令系统第一次1、已知(80H)=50H,AR2=84H,AR3=86H,AR4=88H。
MVKD 80H,*AR2MVDD *AR2,*AR3MVDM 86H, AR4运行以上程序后,(80H)、(84H)、*AR3和AR4的值分别等于多少?解:(80H)=50H,(84H)=50H,*AR3=50H,AR4=50H2、已知,(80H)=20H、(81H)=30H。
DSP 作业1.DSP 芯片有哪些主要特点?答:DSP 的主要特点有:1.哈佛结构2.多总线结构3.流水线结构4.多处理单元5特殊的DSP 指令6.指令周期短7.运算精度高8.硬件配置强。
2.简述典型DSP 应用系统的构成。
答:输入信号首先进行带限滤波和抽样,然后进行数模变换将信号变换成数字比特流,根据奈奎斯特抽样定理,对低通模拟信号,为保持信号的不丢失,抽样频率至少必须是输入带限信号最高频率的2倍。
输入 输出 输出3.简述DSP 应用系统的一般设计开发过程。
如何选择DSP 芯片?答:DSP 应用系统的一般开发过程有:系统需求说明;定义技术指标;选择DSP 芯片及外围芯片;软件设计说明、软件编程与测试;硬件设计说明、硬件电力与调试;系统集成;系统测试,样机、中试与产品。
DSP 芯片的选择:1.DSP 芯片的运算速度2. DSP 芯片的价格3. DSP 芯片的硬件资源(存储器、ADC 、PWM 等等)4.DSP 芯片运算精度5.芯片开发工具:软件 硬件6..DSP 芯片功耗7.其他:封装、应用场合、售后服务等。
4.常用的DSP 芯片有哪些?答:C20x 、C24x 、C5x 、C54x 、C62xx 、C3x 、C4x 、C67xx 。
5.DSP 控制器的应用领域有哪些?答:(1)信号处理:数字滤波、快速FFT 、相关运算、谱分析、自适应铝波、卷积、模式匹配、加窗、波形产生等。
(2)通信:调制解调器、数据压缩、回拨抵消、多路复用、传真、自适应均衡、数据加密、扩频通信、纠错编码、可视电话等。
(3)语言:语音邮件、语音存储、语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认等。
(4)图形/图像:图像增强、动画、机器人视觉、二维/三维处理器、图像压缩与传输等。
(5)军事:导航、雷达处理、声纳处理、导弹制导等。
抗混叠滤波 A/D DSP 芯片 D/A 平滑滤(6)医学:病人监控、修复手术、超声设备等。
1、以 51i i i y ax ==∑ 为例,编写完整的.asm 汇编源程序以及.cmd 命令文件,写出程序注释,并叙述在CCS2.0集成开发环境下,调试程序的基本步骤。
其中 a 和x 的值由自己确定。
解:.title "mpy_add.asm".mmregs ;将存储映像寄存器导入列表STACK .usect "STACK",10h ;给堆栈段分配空间.bss a,5 ;将11个字空间分配给各个变量.bss x,5.bss y,1PA0 .set 0 ;将端口PA0全部置0.def start ;定义标号start.data ;定义数据代码段table:.word 4,4,4,4,4(设置8个单元的16位整型常量,其初值为4).word 4,4,4,4,4.text ;定义文本代码段start:STM #0,SWWSR ;将等待寄存器设为0,表示不等待STM #STACK+10h,SP ;设堆栈指针STM #a,AR1 ;将AR1指向变量a 的地址RPT #9 ;从程序存储空间转移9+1个值到数据储存空间MVPD table,*AR1+CALL SUM ;调用SUM 子程序end: B end ;循环等待SUM: STM #a,AR3 ;将AR3指向变量a 的地址STM #x,AR4 ;将AR4指向变量x 的地址RPTZ A,#4 ;将A 清0,并重复执行下一条指令4+1次MAC *AR3+,*AR4+,ASTL A,@y ;将寄存器A 中的低16位存入y 地址空间PORTW @y,PA0 ;将y 地址中的值输出到输出口RET ;子程序返回.end ;程序结束2、试举一例DSP 实际应用的例子,具体要求如下:1)画出系统基本的硬件连接电路或硬件电路框图;2)对系统的工作原理及工作过程进行详细介绍;3)给出DSP 软件程序和必要的注释;4)报告内容条理清楚,思路清晰;5)报告要求手写完成,格式要规范美观。
TMS320C62xx一、DSP简介自1982年推出第一款DSP后,德州仪器公司(Texas Instrument简称TI)不断推陈出新、完善开发环境,以其雄厚的实力在业界得到50%左右的市场份额。
TI的DSP经过完善的测试出厂时,都是以TMS320为前缀。
在众多款型DSP中,TI把市场销量好和前景看好的DSP归为三大系列而大力推广,TI也称之为三个平台(Platform)。
TMS320C2000 平台,包含16位C24xx和32位C28xx的定点DSP。
C24xx系列市场销量很好,而对C28xx系列,TI认为很有市场潜力而大力推广。
C2000针对控制领域做了优化配置,集成了了众多的外设,适合逆变器、马达、机器人、数控机床、电力等应用领域。
由于C2000定位在控制领域,其包含了大量片内外设,如IO、SCI、SPI、CAN、A/D等等。
这样C2000既能作为快速微控制器(单片机)来控制对象,也能作为DSP来完成高速数字信号处理,DSP的高性能与通用微控制器的方便性紧密结合在一起,所以C2000也常被称为DSP控制器。
这里C2000采用的是与OMAP 不同的途径简化了主从式设计。
C2000系列(定点、控制器):C20X,F20X,F24X,F24XX,C28X,F28XX 该系列芯片具有大量外设资源,如:A/D、定时器、各种串口(同步和异步),WATCHDOG、CAN总线/PWM发生器、数字IO脚等。
是针对控制应用最佳化的DSP,在TI所有的DSP中,只有C2000有FLASH,也只有该系列有异步串口可以和PC 的UART相连。
3)C6000 系列:C62XX,C67XX,C64XX 该系列以高性能著称,最适合宽带网络和数字影像应用。
32bit,其中:C62XX和C64XX是定点系列,C67XX 是浮点系列。
该系列提供EMIF扩展存储器接口。
该系列只提供BGA封装,只能制作多层PCB。
且功耗较大。
TMS320C5000 平台,包含代码兼容的定点C54x和C55x。
1.DSP有哪些显著特点?答:(1)在一个指令周期内可完成一次乘法和一次加法(2)程序和数据空间分开,可以同时访问指令和数据(3)片内有大容量的快速RAM(4)快速中断处理和硬件I/O支持(5)可以并行执行多个操作(6)支持流水线操作,使取指、译码和执行等操作可以重叠执行2.简述TMS320LF2407A的片内资源。
答:(1)40MIPS处理能力(2)两个事件管理模块能提供16路PWM输出、四个16位定时器,很便于对电机的控制(3)16路AD模拟通道(4)集成了CAN总线控制器(5)16位串行外设接口和串行通讯接口(6)高达40个可编程或复用的通用输入输出引脚(7)片内32K的flash程序存储器和2K数据程序RAM、2K单口RAM和544字节双口RAM(8)程序和数据空间可外扩至64K3.TMS320LF2407A通用定时器有哪些功能?简述其工作模式。
答:功能如下:(1)计时(2)使用定时器的比较功能产生PWM波(3)给事件管理器的其他子模块提供基准时钟。
有四种操作模式,分别为:停止/保持模式,连续递增计数模式,定向增/减计数模式,连续增/减计数模式。
4. 简述DSP C语言与ANSI C的主要区别答:DSP C语言以ANSI C为基础,并对ANSI C进行了相应的限定和扩展。
以下是LF2407 C语言的一些不同于一般标准C的特征:(1)标识符和常量所有标识符的前100个字符是有效的,区分大小写;不允许多字节字符;多字符的字符常数按序列中的最后一个字符来编码,例如:‘abc’==‘c’。
(2)数据类型整型、双精度型等数据类型长度与常见编译器中数据类型不同,所有的浮点型都是由MS320C2x/C2xx/C5x的32位的二进制浮点格式来表示。
size_t(sizeof操作符的结果)定义为unsigned int;ptrdiff_t(指针加减的结果)定义为int。
(3)类型转换浮点数转换为整型数为向零取整转换;指针和整型数可以自由转换。
已知离散时间系统差分方程为y(n)-0.5y(n-1)+0.06y(n-2)=x(n)+x(n-1),求 1、该系统的单位脉冲响应并绘图; 2、该系统的单位阶跃响应并绘图;3、已知x(n)=可自己指定 用filter 函数经过系统的响应并绘图;4、用conv_m 函数求系统响应并绘图。
>> a=[1,-0.5,0.06]; >> b=[1,1]; >> n=[0:100]; >> h=impz(b,a,n); >> subplot(2,1,1); >> plot(n,h); >> grid on >> xlabel('n'); >> ylabel('h(n)'); >> title('Step Response'); >> x=stepseq(0,0,100); >> s=filter(b,a,x); >> subplot(2,1,2); >> plot(n,s); >> xlabel('n'); >> ylabel('s(n)'); >> title('Step Response'); >> grid on01020304050607080901000.511.5nh (n )Step Response01020304050607080901001234ns (n )Step Response>> x=sin(0.2*pi*n); >> y=filter(b,a,x); >> subplot(2,1,1); >> plot(n,y); >> xlabel('n'); >> ylabel('y(n)');>> title('用filter 递推得到的系统响应'); >> grid on; >> n=[0:100];>> x=sin(0.2*pi*n); >> nx=[0:100]; >> h=impz(b,a,n); >> nh=[0:200];>> [y,ny]=conv_m(x,nx,h,nh); >> subplot(2,1,2);>> plot(ny,y); >> xlabel('n'); >> ylabel('y(n)');>> title('用conv_m 卷积得到的系统响应');>> grid on;0102030405060708090100-4-2024ny (n )用filter 递推得到的系统响应20406080100120140160180200-4-2024ny (n )用conv m 卷积得到的系统响应P3.3 ⑴>> w=[0:1:500]* pi /500; >> X=0.25*exp(j*3*w)./(exp(j*w)- 1*ones(1,501)); >> magX=abs(X); >> angX=angle(X); >> subplot(2,1,1); >> plot(w/pi,magX); >> grid>> xlabel('frequency in units of pi'); >> ylabel('|X|');>> title('Magnitude Part'); >> subplot(2,1,2); >> plot(w/pi,angX); >> grid>> xlabel('frequency in units of pi'); >> ylabel('radians'); >> title('Angle Part')00.10.20.30.40.50.60.70.80.9110203040frequency in units of pi|X |0.10.20.30.40.50.60.70.80.91-4-2024frequency in units of pir a d i a n sAngle PartP3.3 ⑶>> w=[0:1:500]* pi /500; >>X=-3*exp(j*4*w)./(0.9^3*(exp(j*w)-0.9*ones(1,501))); >> magX=abs(X); >>angX=angle(X); >>subplot(2,1,1); >>plot(w/pi,magX); >>grid>>xlabel('frequency in units of pi'); >>ylabel('|X|');>>title('Magnitude Part'); >>subplot(2,1,2); >>plot(w/pi,angX); >>grid>>xlabel('frequency in units of pi'); >>ylabel('radians'); >>title('Angle Part')0.10.20.30.40.50.60.70.80.910204060frequency in units of pi|X |0.10.20.30.40.50.60.70.80.91-4-2024frequency in units of pir a d i a n sAngle PartP3.4 窗函数n=10;window=boxcar(n); subplot(4,1,1)stem(abs(window)); ylabel('矩形窗'); title('幅度,M=10'); window=hanning(n); subplot(4,1,2)stem(abs(window)); ylabel('海宁窗'); window=triang(n); subplot(4,1,3)stem(abs(window)); ylabel('三角形窗'); window=hamming(n); subplot(4,1,4)stem(abs(window)); ylabel('哈明窗');n=25;window=boxcar(n); subplot(4,1,1)stem(abs(window)); ylabel('矩形窗'); title('幅度,M=25'); window=hanning(n); subplot(4,1,2)stem(abs(window)); ylabel('海宁窗'); window=triang(n); subplot(4,1,3)stem(abs(window)); ylabel('三角形窗'); window=hamming(n); subplot(4,1,4)stem(abs(window)); ylabel('哈明窗');n=50;window=boxcar(n); subplot(4,1,1)stem(abs(window));ylabel('矩形窗'); title('幅度,M=50'); window=hanning(n); subplot(4,1,2)stem(abs(window)); ylabel('海宁窗'); window=triang(n); subplot(4,1,3)stem(abs(window)); ylabel('三角形窗'); window=hamming(n); subplot(4,1,4)stem(abs(window)); ylabel('哈明窗');n=101;window=boxcar(n); subplot(4,1,1)stem(abs(window)); ylabel('矩形窗');title('幅度,M=101'); window=hanning(n); subplot(4,1,2)stem(abs(window));ylabel('海宁窗'); window=triang(n); subplot(4,1,3)stem(abs(window)); ylabel('三角形窗'); window=hamming(n); subplot(4,1,4)stem(abs(window)); ylabel('哈明窗');12345678910矩形窗幅度,M=1012345678910海宁窗12345678910三角形窗12345678910哈明窗51015202500.51矩形窗00.51海宁窗51015202500.51三角形窗51015202500.51哈明窗510152025303540455000.51矩形窗幅度,M=5000.51海宁窗00.51三角形窗510152025303540455000.51哈明窗20406080100120矩形窗海宁窗三角形窗20406080100120哈明窗P3.17 ⑴>> w=[0:1:500]*pi/500; >> H=(0.2+0.2*exp(-j*w)+ 0.2*exp(-2*j*w)+ 0.2*exp(-3*j*w)+ 0.2*exp(-4*j*w))./(1*ones(1,501)); >> magH=abs(H); >> angH=angle(H); >> subplot(2,1,1); >> plot(w/pi,magH); >> grid>> xlabel('frequency in units of pi'); >> ylabel('|H|');>> title('P3.17.1 Magnitude Part'); >> subplot(2,1,2); >> plot(w/pi,angH); >> grid>> xlabel('frequency in units of pi'); >> ylabel('radians'); >> title('Angle Part') ⑵>> w=[0:1:500]*pi/500;>> H=(1-exp(-j*w))./(1+1.95*exp(-j*w)+0.9025*exp(-2*j*w)); >> magH=abs(H); >> angH=angle(H);>> subplot(2,1,1); >> plot(w/pi,magH); >> grid>> xlabel('frequency in units of pi'); >> ylabel('|H|');>> title('P3.17.2 Magnitude Part'); >> subplot(2,1,2); >> plot(w/pi,angH); >> grid>> xlabel('frequency in units of pi'); >> ylabel('radians'); >> title('Angle Part')00.10.20.30.40.50.60.70.80.910.51frequency in units of pi|H |P3.17.1 Magnitude Part0.10.20.30.40.50.60.70.80.91-4-2024frequency in units of pir a d i a n sAngle PartP4.3 ⑴>> b=[0,0,2,1];a=[1,-1,0,0]; >> [delta,n]=impseq(0,0,7)delta = 1 0 0 0 0 0 0 0 n = 0 1 2 3 4 5 6 7 >> x=filter(b,a,delta)x = 0 0 2 3 3 3 3 3 >> x=2*impseq(2,0,7)+3*stepseq(3,0,7)x = 0 0 2 3 3 3 3 3>> zplane(b,a) >> title('P4.31题') ⑵>> b=[3,0.75*(4*sin(0.3*pi)-3*cos(0.3*pi))]; >> a=[1,-1.5*cos(0.3*pi),0.75*0.75]; >> [delta,n]=impseq(0,0,7)delta = 1 0 0 0 0 0 0 0 n = 0 1 2 3 4 5 6 7 >> x=filter(b,a,delta)x = 3.0000 3.7496 1.6184 -0.6822 -1.5118 -0.9492 0.0135 0.5458 >>x=3*(0.75).^n.*cos(0.3*pi*n).*stepseq(0,0,7)+4*(0.75).^n.*sin(0.3*pi*n).*stepseq (0,0,7)x = 3.0000 3.7496 1.6184 -0.6822 -1.5118 -0.9492 0.0135 0.5458>> zplane(b,a) >> title('P4.32题')-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81Real PartI m a g i n a r y P a r tP4.31题-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81Real PartI m a g i n a r y P a r tP4.32题0.10.20.30.40.50.60.70.80.910204060frequency in units of pi|H |P3.17.2 Magnitude Part0.10.20.30.40.50.60.70.80.9101234frequency in units of pir a d i a n sAngle PartP 4.11⑴>> a=[1,-11/4,13/8,-1/4];b=[1,-1,-4,4]; [R,p,C]=residuez(b,a) R = 0.0000-10.000027.0000p = 2.00000.50000.2500C = -16δX()1、x(n)=2δ(n−2)+3u(n−3)解:X(z)=Z(x(n))=2*1* +3* * |z|>1=2* + = |z|>1用matlab验证:>> b=[0,0,2,1];a=[1,-1,0,0];>> [delta,n]=impseq(0,0,7)delta =1 0 0 0 0 0 0 0n =0 1 2 3 4 5 6 7 >> x=filter(b,a,delta)x =0 0 2 3 3 3 3 3 >> x=2*impseq(2,0,7)+3*stepseq(3,0,7)x =0 0 2 3 3 3 3 3 >> zplane(b,a)>> title('P4.31题')。
DSP在通信系统中实现对三种音频信号的采样和分析的应用一、前言:数字信号处理(DSP)是一门涉及许多方面而又广泛应用于很多领域的学科,它是一种使用数学手段转换或提取消息,来处理现实信号的方法。
随着信息时代和数字世界的到来,数字信号处理技术得到了迅速的发展,已经成为了一个极其重要的研究领域。
本次设计可以算是对于数字信号处理技术一个基础的应用实例,主要是通过Matlab软件对现实中的音频信号进行采样以及分析研究。
二、设计目的:通过此次课程设计,让我们能够更好地巩固和运用在数字信号课程中学习到的理论知识和实验方法,加强我们将理论知识化为实践技巧的能力,主要是熟悉和学习如何使用Matlab对信号进行采集、截取、显示、存储和分析。
三、主要内容:这次课程设计将对三种音频信号进行分析研究与相互比较,其中的两种信号是用Matlab软件来录制的一段自己发出的声音和用汤匙敲击不锈钢杯的声音,然后再截取出它们的有效部分。
另一种是从电脑里找的Windows XP的开机启动声音。
完成这三种信号的采集工作之后,就分别用音频分析软件spectrogram和Matlab两种手段对它们进行分析研究和相互比较,得出相应的结论。
四、设计步骤:1.采集声音信号Windows XP开机启动的声音可直接由电脑中找出,这里主要是采集自己发出的声音和汤匙敲击不锈钢杯的声音。
一般来说,我们采集声音信号最简便的方法就是直接使用Windows自带的录音器。
但为了帮助学习Matlab,这里我们使用该软件来进行声音的录制。
下面就是录制自己发出的声音的一段程序:fs=8000;channel=1;t=3;fprintf('°´ÈÎÒâ¼üºó¿ªÊ¼ %dÃë¼Òô£º',t);pause;fprintf('¼ÒôÖÐ...');x=wavrecord(t*fs,fs,channel,'double');fprintf('¼Òô½áÊø\n');wavwrite(x,fs,'C:\Program Files\MATLAB\R2007a\work\UESTC.wav')fprintf('°´ÈÎÒâ¼üºó»Ø·Å:');pausewavplay(x,fs);这里不同于一般的命令操作方式,而是采用的编程操作方式。
1绪论数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用。
与模拟信号处理相比,数字信号处理具有精确、灵活、抗干扰能力强、可靠性高、体积小、易于大规模集成等优点数字信号处理器(DSP)主要针对描述连续信号的数字信号进行数学运算,以得到相应的处理结果。
这种数学运算以快速傅立叶变换(FFT)为基础,对数字信号进行实时的处理。
最近二十年来,由于集成电路技术的高速发展,用硬件来实现各种数字滤波和快速傅立叶变换成为可能,从而使DSP得到了非常快速的发展和广泛的应用。
在数字化的世界和互联网的时代,DSP变得越来越重要,可以说是无处不在1.1课题提出的背景1.1.1 数据采集技术数据采集是获取信息的基本手段,数据采集技术作为信息科学的一个重要分支, 以传感器、信号测量与处理、微型计算机等技术为基础而形成的一门综合应用技术,它研究数据的采集、存储、处理及控制等,具有很强的实用性。
随着现代科学技术的发展和计算机技术的普及,高速数据采集系统已应用于越来越多的场合,如通信、雷达、生物医学、机器人、语音和图像处理等领域。
数据采集系统追求的主要目标有两个:一是精度,二是速度。
对任何量值的测试都要有一定的精确度要求,否则将失去采集的意义;提高数据采集的速度不但可以提高工作效率,更重要的是可以扩大数据采集系统的适用范围,以便于实现动态测试。
1.1.2 数字滤波技术数字滤波器将输入信号序列通过一定的运算后变换为输出信号序列,从而完成滤波功能。
因此,数字滤波器就是一个数字系统(离散系统),而且一般情况下还是线性时不变系统。
与模拟滤波相比,数字滤波具有很多突出的优点:它可以满足滤波器对幅度和相位特性的严格要求,可以避免模拟滤波无法克服的电压漂移、温度漂移和噪声等问题。
且精度可以达到很高,容易集成。
1.1.3 CAN总线通信CAN即控制器局域网,是一种多主方式的串行通信总线。
第一章1.什么是DSP,DSP的两层含义?什么是DSP - 简单说就是数字信号处理数字信号处理(DSP)一般有两层含义,一层是广义的理解,为数字信号处理技术——Digital Signal Processing,另一层是狭义的理解,为数字信号处理器——Digital Signal Processor2.简述数字信号处理与模拟信号处理相比的优越性?数字信号处理的特点:精度高,可靠性高灵活性大,易于大规模集成,可获得高性能指标,抗干扰能力强体积小。
3.什么是哈佛结构,它和传统CPU所使用的冯.诺依曼结构有什么主要区别?哈佛结构采用双存储空间程序存储器和数据存储器是分开的有各自独立的程序总线和数据总线可独立编址和独立访问。
冯诺依曼程序存储器和数据存储器不分开所以哈佛结构比冯诺依曼结构有更快的指令执行速度。
4.DSP芯片的分类DSP的芯片可以按照以下的三种方式进行分类。
1. 按基础特性分静态DSP芯片和一致性DSP芯片。
2. 按数据格式分通用型芯片和装用型芯片3. 按用途分定点DSP和浮点DSP。
5.衡量DSP芯片运算速度的指标运算速度是DSP芯片的一个最重要的性能指标,也是选择DSP芯片时所需要考虑的一个主要因素。
DSP芯片的运算速度可以用以下几种性能指标来衡量:(1)指令周期。
就是执行一条指令所需要的时间,通常以ns为单位。
(2)MAC时间。
即一次乘法加上一次加法的时间。
(3)FFT执行时间。
即运行一个N点FFT程序所需的时间。
(4)MIPS。
即每秒执行百万条指令。
(5)MOPS。
即每秒执行百万次操作。
(6)MFLOPS。
即每秒执行百万次浮点操作。
(7)BOPS。
即每秒执行十亿次操作。
第二章1.C54x内部总线结构有中央处理器CPU,内部总线控制,特殊功能寄存器,数据存储器RAM,程序存储器ROM,I/O接口扩展功能,串行口,主机通信接口HPI,定时器,中断系统等10个部分组成2.TMS 320C 54x的累加器A和B的区别累加器A和B的唯一区别是累加器A的32~16位能被用做乘法累加单元中的乘法器输入,而累加器B不能。
《DSP在控制中的应用》作业一.嵌入式系统是嵌入式计算机系统的简称,是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,使用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
随着大量先进的微处理器制造技术的发展,越来越多的嵌入式系统用嵌入式处理器而非通用处理器建造,常用的嵌入式微处理器有PowerPC处理器、ARM系列处理器以及数字信号处理器(Digital Signal Processors,DSPs)等。
DSPs是针对实时数字信号处理而设计的嵌入式微处理器,在系统结构和指令算法方面经过特殊设计,因而具有很高的编译效率和指令执行速度,芯片内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速地实现各种数字信号处理算法,具有计算速度快、体积小、功耗低的突出优点,非常适合应用于嵌入式实时系统。
自世界上第一片通用DSPs一一TMS320C10于1982年在美国德州仪器(Texas Instruments,TI)公司产生以来,DSP处理器便显示出强盛的生命力。
短短二十多年,世界上许多公司便开发出各种规格的DSP处理器,并使它们在通信、自动控制、雷达、气象、导航、机器人等许多嵌入式实时领域得到了广泛应用。
嵌入式系统是信息产业在二十一世纪知识经济时代最重要的经济增长点之一,而软件设计是实现整个系统功能的关键。
与传统桌面或网络软件开发相比,DSP嵌入式软件开发有其自身的特点:依赖于专门的硬件平台;遵循传统的软件开发模式,但需要专门的开发工具;受成本、体积和功耗等资源的严格制约等。
另外,随着应用领域复杂性的提高,DSP软件的种类和数量也不断增加;随着DSPs计算能力的提高、成本与体积的减小,许多电子设备完成的功能改由DSP软件实现,这增加了软件设计的难度;市场竞争对开发时间提出了更高的要求,导致传统的基于过程、以编程为中心的开发方法难以适应新的环境对开发效率和质量的要求。
研究DSP软件设计技术具有广阔的应用价值和市场空间。
本课题对TI DSPs嵌入式应用系统软件设计技术进行研究,并将其运用到实时频谱仪的DSP软件设计过程中,完成基于DSPs的频谱分析仪,通过实时分析信号频谱监测有线电视网络反向通道噪声。
二.自1979年Intel公司开发的2920诞生以来,DSPs的发展历程概括的划分为四代:第一代DSPs包括:1979年Intel开发的2920和AMI公司的$2811、1980年NEC公司开发的ⅣPD7720和BELL研究所开发的DSP20、1982年日立公司开发的61810、TI公司开发的TMS32010等。
这一代产品的特点是采用了哈佛结构,设置了硬件乘法器。
第二代DSPs有1985年TI公司开发的TMS320C20、1986年NEC公司开发的 PD77230、AD公司开发的ADSP2100、MOTOROLA公司开发的DSP5600等。
与第一代相比,第二代DSPs在功能、速度及内存容量方面都有了很大的突破,并且还增强和完善了指令功能及寻址方式。
第三代DSPs是TI公司1987年开发的TMS320C30和1991年开发的TMS320C40、MOTOROLA公司开发的DSP96002,以及AD公司开发的ADSP21000系列等,这些芯片都是在第一、二代的基础上,为满足高速实时信号处理技术的需求而开发的32位浮点数信号处理器,特点是高速、多功能、大内存,能进行32位浮点运算及使用高级语言编程。
前三代DSPs的应用范围有限,主要集中在控制领域,对于是否有操作系统的支持要求不是很强烈。
软件设计主要以应用为中心,应用软件直接建立在硬件上,系统实现方式主要有循环轮转和前后台两种,软件规模小,设计简单。
第四代则为近几年开发的DSPs,主要是TI公司开发的TMS320C2xx/C5x/C54x、TMS320C62xx/C67xx/C64xx等,AD公司开发的ADSP210xx等。
第四代DSPs在前三代的基础上增加了多处理器并行工作能力,指令系统中设置了“循环寻址”和“位倒序”指令,并设置了单独的DMA总线及其控制器以提高数据传输能力。
从运算速度来看,执行一次乘加运算所需要的时间从80年代初的400ns减少到10ns以下,处理能力提高了上百倍;从制造工艺来看,80年代采用4um的N沟道MOS工艺,现在则普遍采用亚微米CMOS工艺,TI公司50%的芯片使用90nm工艺,C6455芯片使用65nm技术生产,并开始使用45nm技术。
在DSPs诞生初期,每个DSP系统的所有代码都要由用户自己开发。
随着DSPs处理速度和运算能力的不断提高,嵌入式实时系统承担更多的工作成为可能,系统日趋复杂,特别是从第四代DSPs开始,DSP实时应用系统的复杂度大大增加,在软件实时性、可靠性、可扩展性设计以及混合编程模式与代码优化等方面都对DSP软件设计提出了越来越高的要求。
DSP软件开发的时间通常占总开发时间的80%,开发周期大大拉长,市场的需求和开发的难度成为制约DSP应用发展的瓶颈。
为此,TI公司给DSPs引入了许多通用计算机微处理器的特点,并为其产品开发了汇编语言和C语言代码产生工具以及各种软硬件调试工具,特别是其推出了eXpressDSP算法标准软件以及DSP/BIOS实时操作系统内核。
DSP/BIOS是TI公司特别为TMS320C6000TM、TMS320C5000TM和TMS320C28xTM系列DSP平台所设计开发的一个尺寸可剪裁的实时多任务操作系统内核,并且也能在OMAPTM器件的DSP核上运行。
DSP/BIOS主要用于实时调度和同步以及主/目标机系统通信和实时监测,其基本功能是面向对象的任务管理、定时器管理、存储管理、资源管理、事件管理等等,并具有较好的移植性。
以往DSP应用软件设计者往往采用传统的DSP软件设计方法,即用中断或数据流驱动的编程模式,由软件设计者负责任务调度等操作,这样做虽然可以避免操作系统占用内存资源等问题,但随着基于DSP的实时多任务应用的日益普遍,这种传统的围绕顺序处理和循环来构建DSP应用软件的开发途径并不可取,越来越多的开发者开始采用基于DSP的多线程内核来设计应用软件。
多线程能够使实时多任务应用程序被清晰地分解成多个功能不同、优先级不同的线程,所以一个多线程应用程序更容易在不影响某些关键线程的响应时间的前提下进行维护和升级,而这一点在采用传统顺序处理和循环处理结构的应用程序中则很难做到。
同时,DSP/BIOS具有好的可裁剪性,允许用户裁剪出满足应用的最小系统,研究表明软件中内核响应时间非常短,对于C6000来说内核占用不到1%的CPU 时间,剩余99%的时间CPU用来做空闲循环,而这部分时间是可以由用户程序任务进行抢占的,是软件设计者可以利用的。
目前国外基于TI C5000、C6000 DSPs的嵌入式应用系统软件,70%.80%是利用DSP/B10S进行开发的。
另外,DSPs的各种不同的应用都面临需求分析、总体设计、框架设定等实时系统体系结构的问题,TI公司针对不同的应用级别提出了相应的参考框架(ReferenceFramework,RF),RF支持eXpressDSP标准,包括成熟的RFl、RF3、RF5以及即将推出的RF6,方便用户参考使用,同时,用户可根据实际需要进行修改使用。
eXpressDSP软件、操作系统内核DSP/BIOS 以及TI用户参考框架的推出使得DSP嵌入式应用系统软件的设计难度大大降低,系统开发周期缩短,形成了实际上的业界标准并进入了快速发展的时期。
数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。
DSP产业在约40年的历程中经历了三个阶段:第一阶段,DSP意味着数字信号处理,并作为一个新的理论体系广为流行;随着这个时代的成熟,DSP进入了发展的第二阶段,在这个阶段,DSP代表数字信号处理器,这些DSP器件使我们生活的许多方面都发生了巨大的变化;接下来又催生了第三阶段,这是一个赋能(enablement)的时期,我们将看到DSP理论和DSP架构都被嵌入到SoC类产品中。
” 第一阶段,DSP意味着数字信号处理。
80年代开始了第二个阶段,DSP从概念走向了产品,TMS32010所实现的出色性能和特性备受业界关注。
方进先生在一篇文章中提到,新兴的DSP业务同时也承担着巨大的风险,究竟向哪里拓展是生死攸关的问题。
当设计师努力使DSP处理器每MIPS成本降到了适合于商用的低于10美元范围时,DSP在军事、工业和商业应用中不断获得成功。
到1991年,TI推出价格可与16位微处理器不相上下的DSP芯片,首次实现批量单价低于5美元,但所能提供的性能却是其5至10倍。
到90年代,多家公司跻身DSP领域与TI进行市场竞争。
TI首家提供可定制 DSP——cDSP,cDSP 基于内核 DSP 的设计可使DSP具有更高的系统集成度,大加速了产品的上市时间。
同时,TI瞄准DSP电子市场上成长速度最快的领域。
到90年代中期,这种可编程的DSP器件已广泛应用于数据通信、海量存储、语音处理、汽车电子、消费类音频和视频产品等等,其中最为辉煌的成就是在数字蜂窝电话中的成功。
这时,DSP业务也一跃成为TI最大的业务,这个阶段DSP每MIPS的价格已降到10美分到1美元的范围。
21世纪DSP发展进入第三个阶段,市场竞争更加激烈,TI及时调整DSP发展战略全局规划,并以全面的产品规划和完善的解决方案,加之全新的开发理念,深化产业化进程。
成就这一进展的前提就是DSP每MIPS价格目标已设定为几个美分或更低。
三.DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。
其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。
它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。
它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP微处理器(芯片)一般具有如下主要特点:(1)在一个指令周期内可完成一次乘法和一次加法;(2)程序和数据空间分开,可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;(5)快速的中断处理和硬件I/O支持;(6)具有在单周期内操作的多个硬件地址产生器;(7)可以并行执行多个操作;(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。