DSP实验03讲义图文精.docx
- 文档编号:15737451
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:63
- 大小:1.39MB
DSP实验03讲义图文精.docx
《DSP实验03讲义图文精.docx》由会员分享,可在线阅读,更多相关《DSP实验03讲义图文精.docx(63页珍藏版)》请在冰点文库上搜索。
DSP实验03讲义图文精
DSP技术与实验
——基于ADSPBlackfin53x系列处理器
(第二版
王敏张焕颖郭万有
西安电子科技大学国家电工电子教学基地
ADI-DSP实验室
2008年3月
目录
第一章数字信号处理器概述(1
1.1数字信号处理及数字信号处理器(DSP(1
1.1.1数字信号处理(DigitalSignalProcessing(1
1.1.2数字信号处理器(DigitalSignalProcessor(1
1.2数字信号处理器分类(2
1.3数字信号处理器开发流程(3
1.3.1数字信号处理器(DSP的开发与调试(3
1.4DSP及其开发的总趋势(5
1.5二进制代数复习(5
1.5.1DSP中的二进制数表示方法(5
1.5.2有符号数(原码与2进制补码(7
1.5.316进制(1.15格式到10进制转换(8
1.5.410进制到16进制转换(1.15格式(9
第二章Blackfin53x系列DSP功能结构(10
2.1Blackfin53xDSP概述(10
2.2Blackfin53xDSP内核结构(10
2.2.1寄存器和寄存器组(12
2.2.2算术逻辑单元(ALU(14
2.2.3乘-累加器(MAC(18
2.2.4桶形移位器(Barrel-Shifter(22
2.3寻址模式(25
2.3.1地址寄存器(25
2.3.2数据地址产生器(DAG0,DAG1(26
2.3.3寻址方式(27
2.4BF533DSP存储器(31
2.4.1Blackfin内部的SRAM(31
2.4.2Blackfin533存储器映射图(32
2.4.3BF533DSP中的存储器层次(31
2.4.4可配置的存储器(32
2.4.5BF533的L1指令存储器(34
2.4.6BF533L1数据存储器(35
2.5高速缓冲存储器模式(37
2.5.1Cache(38
2.5.2指令cache(38
2.5.3数据Cache模式(40
2.6程序控制器(ProgramSequencer(41
2.6.1程序控制器的结构和相关寄存器(41
2.6.2程序流指令(42
2.6.3ADSP-BF533流水执行(42
2.6.4保护模式(44
2.6.5硬件循环缓冲(44
2.6.6中断/异常(44
第三章Blackfin53x系列DSP片上外设(52
3.1外部总线接口单元(EBIU(52
3.1.1BlackfinEBIU概述(52
3.1.2外部总线接口(52
3.1.3共享存储器接口(52
3.1.4异步存储控制器(53
3.1.5同步DRAM控制器(55
3.1.6总线授权与总线请求(57
3.2直接存储器访问(DMA(57
3.2.1BF533的DMA总线(58
3.2.2BF533DMA的优先级(58
3.2.3DMA的初始化(58
3.2.4DMA的设计(59
3.2.5传送模式(59
3.2.6DMA寄存器的设置(59
3.2.7停止DMA操作的方法(60
3.2.8存储器DMA(MemDMA(60
3.2.9优先级和传输控制(60
3.2.10关于BF533DMA的存储器映射寄存器(MMRs(61
3.3定时器和可编程标志符(TIMERandPF(62
3.3.1内核定时器(62
3.3.2看门狗定时器(64
3.3.3实时时钟(66
3.3.4通用定时器(68
3.3.5ADSP-BF533可编程标志符(75
3.4串行通信(80
3.4.1SPORT(80
3.4.2串行外设接口(SPI(84
3.4.3异步收发接口(UART(87
3.5并行外部接口(PPI(88
3.5.1PPI概述(88
3.5.2PPI的工作模式(88
3.5.3PPI存储器映射寄存器(90
第四章Blackfin53x系列DSP指令系统(93
4.1指令集描述(93
4.2算术运算指令(94
4.3程序流控制指令(99
4.4加载存储指令(100
4.5寄存器数据转移指令MOV(102
4.6栈控制指令(103
4.7逻辑指令(105
4.8移位指令(108
4.9控制代码位(CC操作指令(113
4.10外部事件操作指令(114
4.11缓存控制指令(115
4.12视频像素操作指令(116
4.13矢量操作(123
4.14并行执行指令(125
4.15编程介绍(127
第五章BlackfinDSP开发工具(130
5.1开发工具综述(130
5.2ADSP-BF533EZ-KITLite评估板介绍(132
5.2.1BF533EZ-Kit评估板简介(132
5.2.2使用ADSP-BF533EZ-KIT(133
5.3DSP程序开发过程(136
5.4VisualDSP++集成开发环境(137
5.5Debugger工具(141
5.6VisualDSP++操作使用举例(152
第六章基于ADSPBlackfin533EZ-KITLite的实验(155
6.1实验一——VisualDSP++的使用入门(155
练习一——运行C程序(155
练习二——运行C和汇编混合程序(159
练习三——数据绘图(Plotting(165
练习四——性能统计(167
6.2实验二——通用端口(GPIO实验(169
一、实验准备(169
二、实验目的(170
三、练习一——跑马灯的显示实验(170
四、练习二——UART数据传送实验(172
五、练习三——基于描述符的存储器DMA实验(174
六、练习四——定时器的演示实验(176
6.3实验三——数据采集和谱分析(179
6.4实验四——信号自相关的计算(181
6.5实验五——数据采集与滤波处理(185
6.6实验六——自适应噪声抵消器(187
6.7实验七——图像处理和图像编解码(190
参考文献(195
第一章数字信号处理器概述
1.1数字信号处理及数字信号处理器(DSP
1.1.1数字信号处理(DigitalSignalProcessing
数字信号是把原来的模拟量经过采样和模拟/数字转换,输出值为离散值的信号。
弱电和低频的信号处理任务,过去主要靠模拟电路来实现,近几十年来,已越来越多的依靠计算机和数字芯片来完成。
这些数字信号处理(DigitalSignalProcessing系统的特点如图1-1所示:
图1-1数字信号处理系统的一般特点
上述系统看起来增加了系统的复杂性,但实际上它却得到了广泛的使用,其原因在于它与模拟信号处理相比,具有以下优点:
灵活性、高精度和高稳定性、便于开发和升级、便于大规模集成、功能强。
1.1.2数字信号处理器(DigitalSignalProcessor
1.1.
2.1数字信号处理器结构特点
数字信号处理器(DSP面向高性能、重复性、数值运算密集型的实时处理,它具有适合数字信号处理算法的指令、适合数字信号处理数据结构的存储器结构和寻址机构、并行处理能力和嵌入式性能等,其体系结构一般具有以下特点:
(1采用分离地址与数据总线的哈佛结构(CPU:
冯·诺伊曼结构,有着较高的指令执行速度,但结构复杂需要两套地址产生电路。
(2采用流水线技术,使取指、译码、取操作数、执指等步骤并行完成,提高了指令的执行速度。
(3除了算数逻辑单元(ALU外,具有独立的乘加器,使其能够在一个周期内完成相乘和累加两个操作,加快了各种典型处理算法的处理速度。
(4具有适用于典型处理算法的特殊存储器寻址方式,如循环寻址、位反序寻址等。
(5针对实时处理的专用的数据接口(RAM、DMA、SPORT,etc.,使数据的存取速
1
度得以提高。
(6专门的指令流控制逻辑,如无附加开销的循环转移指令。
(7集成度高,能够实现单片、低功耗的处理系统。
1.1.
2.2Blackfin系列DSP的特点
BlackfinDSP的体系结构不仅特别适合于完成视频、图像、音频、语音和数据通信的数字信号处理,同时还提供综合的控制能力:
(1动态电源管理。
(2高度并行的计算单元。
Blackfin的核心是数据算术单元(DAU,它包括2个16位乘法累加器,2个40位算术逻辑单元,4个8位视频ALU和1个40位的单桶形移位器。
每个周期内,每个MAC能在4个独立的数据操作数上执行16位乘16位的乘法。
(3高性能地址产生器。
数据地址产生器(DAG可以完成位倒序寻址、循环寻址、自增/自减寻址和基址变址寻址等各种寻址方式。
(4视频指令。
支持专用于视频信号处理的算法,如MPEG2,MPEG4和JPEG压缩算法。
(5集成的更多的外围设备。
有PCI口,USB口,SPI口;集成SRAM和可设置为Cache或SRAM的一级存储器等。
(6配有专用视频接口,如PPI口。
1.1.
2.3数字信号处理器(DSP的应用领域
由于数字信号处理器(DSP强大的功能和特点,已经被越来越广泛的应用于各个领域,例如:
通用数字信号处理(数字滤波、卷积、相关、变换等、通信(高效调制/解调、编/解码器、自适应均衡、IP处理、软件无线电等、语音处理(语音识别/合成/压缩/解压缩等、图形/图象处理(图象变换、模式识别、图象压缩/解压缩等、自动控制(高精度、高速度伺服控制、军事/航空/航天(雷达/声呐信号处理、雷达成像、制导/火控系统、导航/定位系统、战场C3I系统等、消费电子(数字高清晰度电视(HDTV、CD/VCD/DVD编解码器、多媒体信息处理、汽车电子等。
1.2数字信号处理器分类
数字信号处理器主要分为通用DSP和专用DSP两大类:
(1通用DSP:
其所要实现的处理算法由软件程序控制实现。
应用灵活性大,通过更改软件程序能够实现不同的处理算法。
其产品是各种类型的可编程DSP芯片,应用较广泛的是:
①TI公司的TMS320各种序列的定点和浮点DSP②AD公司的ADSP218X,Blackfin5xx系列定点DSP,2106x,2116x等SHARC,Ts101、Ts201等TigerSharc系列浮点DSP。
(2专用DSP:
针对某种具体应用而设计,所要实现的处理算法由硬件直接实现。
运算2
处理速度极高,但完成的算法单一、精度和动态范围有限,需要与外围电路配合才能构成系统,功耗也较大,因此应用范围较窄,主要应用于仪器/仪表以及军事等需要极高处理处理能力的领域。
其主要产品有:
FFT专用DSP、卷积/相关器、复乘加器等。
图1-2为DSP的常见分类的示意图:
图1-2DSP的分类
1.3数字信号处理器开发流程
1.3.1数字信号处理器(DSP的开发与调试
DSP系统的设计分为硬件/软件两个部分。
两者可以在各自的开发平台上分别进行前期设计与调试,然后进行系统的联调。
具体开发流程如下所示:
z硬件设计:
——DSP选型/系统结构确立;
——性能/功耗分析;
——开发周期/成本分析;
——电路设计/调试;
调试工具:
DSP在线硬件仿真器(Emulator、DSP开发/评估板(EvaluationBoard、示波器、逻辑分析仪。
图1-3显示了DSP系统的系统级设计开发流程图。
z软件设计如图1-4所示:
——算法确定/程序流程图;
——软件编制(汇编/C语言;
——汇编/编译/链接;
——软件模拟;
3
调试工具:
汇编/编译/链接程序,软件模拟/调试器(Simulator/Debugger
z系统联调——对整个系统的软/硬件进行的综合调试:
调试工具:
硬件仿真器、DSP开发/调试集成环境(IDE/IDDE、DSPOS,等。
硬件设计软件设计
图1-3DSP系统的开发流程图—系统级设计
图1-4DSP系统的开发流程图—电路/软件设计
图1-5画出了DSP系统的系统联调流程图:
4
图1-5DSP系统的开发流程图—系统联调
1.4DSP及其开发的总趋势
DSP的开发趋势分为开发片上系统和模块化设计,具体如下:
(1片上系统(System-On-Chip
随着VLSI技术的发展,针对一定的应用领域,可以使整个系统以DSP为核心进行设计,并将应用中所涉及的诸如RAM、I/O、A/D、D/A等附加电路单元全部集成在一片IC芯片中,并且包括处理单元在内的各功能块都具有可重定义特性(Re-Configurable。
这样一来,系统以后的功能扩展与升级将非常简单,只需要重新编写软件程序即可,同时系统的功耗会大大的降低,可靠性会大大的提高,而这对便携/移动应用非常重要。
(2模块化设计
DSP及支持芯片/软件生产厂商,均依据一定的标准,设计生产电路板级DSP处理模块,同时为这种模块提供丰富的符合标准的软件开发系统和算法资源库。
这样做的好处是降低了硬件设计难度、减少了硬件设计时间,更重要的是模块化设计得到了丰富的软件支持,大大提高了设计效率。
1.5二进制代数复习
1.5.1DSP中的二进制数表示方法
ADSP-Blackfin53x系列定点数DSP使用2的补码进行操作,若要有效地对该系列DSP进行编程,了解以下概念及定义是非常重要的:
(1有符号/无符号数格式(2小数/整数格式(3小数的范围
Blackfin53x系列处理器支持8位、16位和32位的数运算,在这一节我们主要以16位数为例。
下面图1-6和图1-7表示x进制之间的转换关系和有无符号数的表示方法。
图1-6二进制、十六进制与十进制转换表
图1-7有无符号数的表示
Decimal
1234567891011121314
15
Hexadecimal
0123456789AB
CDEF
Binary000000010010001101000101011001111000100110101011
1.5.2有符号数(原码与2进制补码
有符号数(原码的最高位(MSB为符号位,其中1表示负数,0表示正数。
有符号数(原码的运算比较复杂,类似于正负数的笔算,先要比较两个数绝对值的大小,然后确定如何计算,最后在确定符号位。
其补码计算公式可用下式表示:
2进制补码——Xcmp=2^n+X(n为字长位数根据以前所学的知识,我们知道一个数的补码和原码性质:
正数的补码与其原码相同,负数的补码仍是负数,它是将其原码的符号位保持不变而将其数值部分求补得到。
复习一下有符号数的补码的求法:
一个负数的补码等于其原码除符号位保持不变外,其余各位按位求反,再在最低位加1。
对于补码的运算,符号位与数值位一样参加运算(若符号位有进位则丢弃。
在Blackfin53x系列DSP中,如果计算中数值出现了溢出,对于溢出的判别,通常采用“双高位判别法”,其过程如下:
①Cs:
最高位(符号位的进位情况,若有进位,则Cs=1;
②Cp:
数值部分的最高位的进位情况,若有进位,则Cp=1;
③Overflow=CsxorCp
对于2进制补码表示法,一个数符号位的位权值是-(2^(M-1,M是2进制小数点左边的位数。
对于一个4.2型式的数字,符号位的位权值是-(2^3。
图1-8显示了2进制补码的表示方法。
图1-82进制补码表示的各位的权重
例子:
0101.01=0*(-8+1*(4+0*(2+1*(1+0*(1/2+1*(1/4=5.25
1101.01=1*(-8+1*(4+0*(2+1*(1+0*(1/2+1*(1/4=-2.75
在DSP中,定点数有小数和整数两种表示法。
图1-9和图1-10分别给出了为1.15型式的小数格式和16.0型式的整数格式。
DSP一般是针对小数表示型式进行优化设计的,也支持整数表示型式。
图1-91.15型式的小数格式
图1-1016.0型式的小数格式
下表列出了16位二进制数的表示范围:
表1-116位二进制数的表示范围
图1-11列举一个不同数制表示实例:
图1-11不同数制表示实例
1.5.316进制(1.15格式到10进制转换
有两种将16进制数转换为10进制数的方法,一种简单,一种较复杂。
(1复杂的方法:
先将16进制数转换成2进制数,并确定小数点的位置,然后再将每一位的2进制位数值乘以其相应的位权值。
例子:
将0x2A00(以1.15、2的补码格式表示转换10进制数值0x2A00=
0.010101000000000=2^-2+2^-4+2^-6
=0.25+0.0625+0.015625
=0.328125=0.33=1/3
(2简单的方法:
先将16进制数直接转换成10进制数(整数—整数。
再用转换后的10进制数除以2^N,N是2进制小数点右边的位数。
例子:
将0x2A00(以1.15、2的补码格式表示转换10进制数值
0x2A00<=>10752/2^15=10752/32768=0.328125
1.5.410进制到16进制转换(1.15格式
目前有两种将10进制数转换为16进制数的方法,一种简单,一种较复杂,下面我们也实例说明。
(1复杂的方法:
将10进制数用其2^N的型式表示出来。
例子:
将0.8125转换成以1.15、2的补码表示的16进制数值,如图1-12所示:
图1-120.8125转换成以1.15格式
(2简单的方法:
将10进制数乘以2^N,N是1.15格式小数点右边的位数值。
然后再计算16进制数值。
例子:
将0.8125转换成以1.15、2的补码表示的16进制数值
0.8125*2^15=0.8125*32768=26624<=>0x6800
第二章Blackfin53x系列DSP功能结构
2.1Blackfin53xDSP概述
53x系列DSP内部包括了核处理器、L1存储器(指令和数据、DMA控制器、Blackfin
外部总线接口单元(EBIU、事件控制器等功能单元,还集成了实时钟、可编程标志引脚、支持红外功能的通用异步收发器(UART、同步串口(SPORTs、SPI串行口、可编程并行口(PPI、看门狗和定时器等片上外设(如图2-1。
内核时钟和片内系统时钟分别为核处理器和片内外设提供不同的时钟。
因此,Blackfin53x系列DSP不仅特别适合于完成视频、图像、音频、语音和数据通信的数字信号处理,同时还提供丰富的接口资源和控制能力。
图2-1Blackfin53x系列DSP功能块框图
Blackfin533处理器包括19根地址总线、16根数据总线,以及其它一些引脚资源。
其引脚图如图2-2所示:
–ADDR[19:
1]:
19位宽地址总线;
–DATA[15:
0]:
16位宽数据总线;
–/BR、/BG、/BGH:
分别为总线请求、总线确认和总线确认挂起引脚;
–AsynchronousMemoryInterface:
异步存储器界面,包括异步存储器选择/AMS[3:
0]、异步存储器字节使能/ABE[1:
0]、异步存储器准备响应ARDY、输出使能/AOE、写使能/AWE和读使能/ARE;
–SynchronousMemoryInterface:
同步存储器界面,包括数据屏蔽SDQM[1:
0](与/ABE复用、行地址选通/SRAS、列地址选通/SCAS、同步存储器选择/SMS、写使能/SWE、A10引脚SA10(用来刷新SDRAM、时钟使能SCKE和时钟输出CLKOUT;
–Timers:
包括三个计时器TMR0、TMR1、TMR2,其中TMR1和TMR2分别与PPI口帧同步PPI_FS1与PPI_FS2复用;
–PPIPort:
并行外设接口引脚,包括4个PPI口专用数据引脚PPI[3:
0]和一个PPI口时钟PPI_CLK引脚,其中PPI_CLK与外部计时器TMRCLK复用;
–GPIO:
16个GPIO引脚,其中各个引脚具有不同的复用功能,分别包括与PPI口、SPI口和定时器的复用;
–JTAGPort:
JTAG口引脚,包括JTAG时钟TCK,数据输出TDO与数据输入TDI,JTAG模式选择TMS,仿真数据输出/EMU和JTAGRESET引脚/TRST;
–SPIPort:
串行外设接口引脚,包括SPI时钟SCK,主机发送从机接收MOSI和主机接收从机发送MISO;
–SPORT0&SPORT1:
两套SPORT引脚,其功能相同,编程方法也相同,每个SPORT都有自己的一套控制寄存器和数据缓冲器。
SPORT引脚包括(x表示0或1:
接收时钟RSCLKx,接收帧同步RFSx,接收数据主通道DRxPRI和接收数据次通道DRxSEC,发送时钟TSCLKx,发送帧同步TFSx,发送数据主通道DTxPRI和发送数据次通道DTxSEC;
–UARTPort:
异步串口UART引脚,包括接收数据RX和发送数据TX;
–Real-TimeClock:
实时时钟引脚,包括RTC晶振输入RTXI和RTC晶振输出RTXO;
–Clock:
时钟引脚,包括时钟或晶振输入CLKIN与晶振输出XTAL;
–其它引脚,包括/RESET,NMI(不可屏蔽中断,BMODE[1:
0](引导模式设定,VROUT[1:
0](外部场效应管驱动,I/O电源供应,内核电源供应,实时时钟电源供应,以及接地。
图2-2Blackfin533引脚图
2.2Blackfin53xDSP内核结构
ADSP-Blackfin53x系列DSP内部结构大致相同,下面我们以ADSP-Blackfin533为例来说明其内部结构,其内核结构图如图2-3所示。
运算部件包括了两个40位的算术逻辑单元(ALU,两个40位的乘累加器(MAC和一个32位的桶形移位寄存器。
寻址单元包括两个数据地址产生器(DAG0、DAG1和指针寄存器(P0~P5,SP,FP。
此外,BF533提供了比较丰富的寄存器资源。
图2-3BlackfinDSP内核结构图
2.2.1寄存器和寄存器组
Blackfin处理器是一种由寄存器构成的器件,所有的计算模块都是在寄存器中执行数据,所有的外设都是由寄存器设置,存储器是由地址寄存器中的指针访问,有两种方式访问ADSP-BF533中的数据:
-直接引用名字进行访问
-存储器映射寄存器访问(MemoryMappedRegisters,MMRs
直接引用名称访问的寄存器是核寄存器(图2-4。
直接按名字访问的核寄存器有:
–数据寄存器组:
R0-R7
–累加寄存器组:
A0,A1
–指针寄存器组:
P0-P5,FP,SP,USP
–数据地址产生器(DAG:
I[3:
0],M[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 实验 03 讲义 图文
![提示](https://static.bingdoc.com/images/bang_tan.gif)