资源描述
1-1,定点数字信号处理器(DSP)技术与应用,16位定点DSP—ADSP218X/219X,1-2,课程的主要内容和目的,本课程主要介绍 ADSP-218X / 219X系列16位定点DSP的体系结构和软/硬件开发环境,通过几个典型的实验使大家初步掌握DSP系统的硬件构成、 软件开发以及系统的综合调试方法。
课程的重要性:
—— 直接面向应用。
—— IT工程师三大实用技能
* PCB设计
* DSP应用
* FPGA应用,1-3,第一部分,数字信号处理器(DSP)概述,1-4,数字信号处理及数字信号处理器(DSP)Digital Signal Processor,1-5,数字信号处理,数字信号处理的特点,特别强调运算处理的实时性(Real-Time Capability),,,,,模拟/数字转换
A/D Converter,,数字信号
处理运算,,数字/模拟转换,D/A Converter,,,,,,待处理
的信号,,,,,,处理后
的信号,1-6,数字信号处理器(DSP)结构特点,— DSP面向高性能、重复性、数值运算密集型的实时处理,它具有适合数字信号处理算法的指令、适合数字信号处理数据结构的存储器结构和寻址机构、并行处理能力和嵌入式性能等。其体系结构一般具有以下特点:
采用分离地址与数据总线的哈佛结构(CPU:冯 .诺伊曼结构),有着较高的指令执行速度,但结构复杂需要两套地址产生电路。
采用流水线技术,使取指、译码、取操作数、执指等步骤并行完成,提高了指令的执行速度。
除了算数逻辑单元(ALU)外,具有独立的乘加器,使其能够在一个周期内完成相乘和累加两个操作,加快了各种典型处理算法的处理速度。
具有适用于典型处理算法的特殊存储器寻址方式,如循环寻址、位反序寻址等。
针对实时处理的专用的数据接口(RAM、DMA、SPORT,etc.),使数据的存取速度得以提高。
专门的指令流控制逻辑,如无附加开销的循环转移指令。
集成度高,能够实现单片、低功耗的处理系统。,1-7,数字信号处理器(DSP)的应用领域,通用数字信号处理(数字滤波、卷积、相关、变换等)
通信(高效调制/解调、编/解码器、自适应均衡、IP处理、软件无线电等)
语音处理(语音识别/合成/压缩/解压缩等)
图形/图象处理(图象变换、模式识别、图象压缩/解压缩等)
自动控制(高精度、高速度伺服控制)
军事/航空/航天(雷达/声呐信号处理、雷达成像、制导/火控系统、导航/定位系统、战场C3I系统等)
消费电子(数字高清晰度电视(HDTV)、CD/VCD/DVD编解码器、多媒体信息处理、汽车电子等),1-8,DSP的典型应用—MPEG-4因特网摄像机,1-9,DSP的分类,—— 主要分为通用DSP和专用DSP两大类
通用DSP:其所要实现的处理算法由软件程序控制实现。应 用灵活性大,通过更改软件程序能够实现不同的 处理算法。
产品是各种类型的可编程DSP芯片,应用较广泛 的是:
TI公司的TMS320系列
AD公司的ADSP21XX系列
专用DSP:针对某种具体应用而设计,所要实现的处理算法 由硬件直接实现。运算处理速度极高,但完成的 算法单一、精度和动态范围有限,需要与外围电 路配合才能构成系统,功耗也较大,因此应用范 围较窄, 主要应用于仪器/ 仪表以及军事等需要 极高处理能力的领域。
主要产品:FFT专用DSP、卷积/相关器、复乘加 器等。
* 用ASIC/FPGA实现的DSP,1-10,DSP的分类,横向滤波器
FFT
复乘/累加器
求模/相角,嵌入式DSP
定点 DSP
32bit浮点DSP
32bit浮点并行DSP
超高性能DSP,16bit 定点DSP
24bit 定点DSP,通用DSP,1-11,数字信号处理器(DSP)的开发与调试,— DSP系统的设计分为硬件/软件两个部分。两者可以在各自的开发平台上分别进行前期设计与调试,然后进行系统的联调。具体开发流程如图所示。
硬件设计
— DSP选型/系统结构确立
— 性能/功耗分析
— 开发周期/成本分析
— 电路设计/调试
调试工具:
DSP在线硬件仿真器(Emulator)、DSP开发/评估板(Evaluation Board)、
示波器、逻辑分析仪。
软件设计
— 算法确定/程序流程图
— 软件编制(汇编/C语言)
— 汇编/编译/链接
— 软件模拟
调试工具:
汇编/编译/链接程序,软件模拟/调试器(Simulator/Debugger)
系统联调——对整个系统的软/硬件进行的综合调试。
调试工具:硬件仿真器、DSP开发/调试集成环境(IDE/IDDE)、DSP OS,etc.,1-12,ADSP-218x在线仿真器,1-13,ADSP-218x开发/评估板,1-14,ADSP-218x开发/评估板所包含的功能部件,1-15,DSP系统的开发流程图—系统级设计,系统功能要求,系统性能及算法模拟,,,处理速度、开发周期、
体积、成本,功耗、
供货、升级,器件选型:
DSP型号、存储器、I/O、
FPGA、A/D、D/A,,系统设计框图,,,,,,硬件设计,软件设计,1-16,DSP系统的开发流程图—电路/软件设计,电路原理图设计,生成电路网表,设计印制电路板,印制板制造,器件安装,软件流程图绘制,高级语言程序设计,汇编语言程序设计,汇编算法库,实时运行库,,,,编译,汇编,,,链接,,,,,,软件模拟,,修正,,,,,,,,,硬件调试,,,,,,,,软/硬件系统联调,示波器
逻辑分析仪,,1-17,DSP系统的开发流程图—系统联调,系统在线仿真,,,硬件电路,软件程序,PC机仿真,,仿真结果?,,,有误错,修正,,,固化程序,,嵌入系统设备进行联调,,连接外部设备,,综合测试,,满足系统要求?,,,否,修正,,,,否,修正,,,成品制造,,示波器
逻辑分析仪,,1-18,DSP及其开发的新趋势,单片系统(System-On-Chip)
—— 随着VLSI技术的发展,针对一定的应用领域,可以使整个系统以DSP为核心进行设计,并将应用中所涉及的诸如 RAM、I/O、A/D、D/A等附加电路单元全部集成在一片IC芯片中,并且包括处理单元在内的各功能块都具有可重定义特性(Re-Configurable)
. 这样一来,系统以后的功能扩展与升级将非常简单,只需要重新编写软件程序即可。同时系统的功耗会大大的降低, 可靠性会大大的提高。而这对便携/移动应用非常重要。
模块化设计
—— DSP及支持芯片/软件生产厂商,均依据一定的标准,设计生产电路板级DSP处理模块, 同时为这种模块提供丰富的符合标准的软件开发系统和算法资源库。 这样做的好处是降低了硬件设计难度、 减少了硬件设计时间, 更重要的是模块化设计得到了丰富的软件支持,大大提高了设计效率。,1-19,二进制代数复习,1-20,DSP中的二进制数表示方法,ADSP-2100系列定点数DSP使用2的补码进行操作。若要有效地对该系列DSP进行编程,了解以下概念及定义是非常重要的。
1) 有符号 / 无符号数格式
2) 小数 / 整数格式
3) 小数的范围
4) 16进制到2进制的转换
5) 2进制到16进制的转换,1-21,2进制(Binary )- (16进制)Hexadecimal – 10进制(Decimal )数据转换表,,Decimal,,0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15,Hexadecimal,,0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F,Binary,,0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111,1-22,有符号数与无符号数,,无符号数,有符号数,0x0000 0V (最小负值),,0xFFFF 5V (最大正值),0x8000 -5V (最小负值),,0x0000 0V,,0x7FFF 5V (最大正值),,,S/U,U U U U U U U U U U U U U U U,0,15,,,2进制表示,实际物理量,1-23,有符号数(原码)与2的补码,有符号数(原码)的最高位(MSB)为符号位。
1——表示负数 0——表示正数
* 有符号数(原码)“0”有两种表示方法(+/-0)。
* 有符号数(原码)的运算比较复杂,类似于正负数的笔算 ,先要比较两个数绝对值的大小,然后确定如何计算,最 后在确定符号位。
2的补码——Xcmp = 2^n + X (n-字长位数)
* 性质:正数的补码与其原码相同。负数的补码仍是负数,它是 将其原码的符号位保持不变而将其数值部分求补得到。
“0”在补码中的表示是唯一的。
* 补码的求法:一个负数的补码等于其原码除符号位保持不变外 ,其余各位按位求反,再在最低位加1。
* 补码的运算:符号位与数值位一样参加运算(若符号位有进位 则丢弃)。
* 溢出的判别:“双高位判别法”
Cs:最高位(符号位)的进位情况。 若有进位,Cs = 1;
Cp:数值部分的最高位的进位情况。若有进位,Cp = 1;
Overflow = Cs xor Cp,1-24,2的补码表示方法,对于2的补码表示法, 一个数符号位的位权值是-(2)^(M-1),M是2进制小数点左边的位数。对于一个 4.2 型式的数字, 符号位的位权值是 -(2^3).,,,,例子:,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,,2进制小数点,符号位,,,,1-25,小数与整数表示法,• 1.15型式的小数格式,,S F F F F F F F F F F F F F F F,•,S I I I I I I I I I I I I I I I,•,,小数点,,小数点,• 16.0型式的整数格式,,,1-26,DSP是针对小数表示型式
进行优化设计的
DSP也支持整数表示型式,,1-27,16位二进制数的表示范围,,1-28,不同数制表示实例,,,+5 V,-5 V,0 V,,0x7FFF,0x0000,0x8000,,,,,,1,2,3,4,5,格式,0x7FFF,,0x3FFF,,0x0000,,0xCCCD,,0x8000,1),,2),,3),,4),,5),16.0,,1.15,,1-29,有两种将16进制数转换为10进制数的方法,一种简单,一种较复杂.
复杂的方法 : 先将16进制数转换成2进制数. 确定小数点的位置. 将每一位的2进制位数值乘以其响应的位权值。
例子: 将 0x2A00( 以1.15 、2的补码格式表示)转换10进制数值
0x2A00 = 0.010 1010 0000 0000
= 2^-2 + 2^-4 + 2^-6
= 0.25 + 0.0625 + 0.015625
= 0.328125 = 0.33 = 1/3
简单的方法 : 先将16进制数直接转换成10进制数(整数—整数)。再用转换后的10进制数除以2^N,N是2进制小数点右边的位数。
例子: 将 0x2A00( 以1.15 、2的补码格式表示)转换10进制数值
0x2A00 10752 / 2^15 = 10752 / 32768 = 0.328125,,16进制(1.15 格式)到10进制转换,1-30,,,,有两种将10进制数转换为16进制数的方法,一种简单,一种较复杂.
复杂的方法: 将10进制数用其2^N 的型式表示出来。
例子: 将0.8125转换成以1.15、 2的补码表示的16进制数值
简单的方法: 将10进制数乘以2^N ,N是1.15格式小数点右边的位数值。然后再计算16进制数值。
例子: 将0.8125转换成以1.15、 2的补码表示的16进制数值
0.8125 * 2^15 = 0.8125 * 32768 = 26624 0x6800,10进制到16进制转换 (1.15 格式),0.8125 =>,,,,,,,,,,,2,-2,2,-1,2,0,2,-3,2,-4,2,-5,2,-6,2,-7,1,1/2,1/4,1/8,1/16,1/64,1/32,1/128,0,0,0,0,1,0,1,1,=> 0x6800,
展开阅读全文
相关搜索
资源标签