dsp工程设计讲座课件.ppt

上传人(卖家):三亚风情 文档编号:2493893 上传时间:2022-04-25 格式:PPT 页数:60 大小:1.10MB
下载 相关 举报
dsp工程设计讲座课件.ppt_第1页
第1页 / 共60页
dsp工程设计讲座课件.ppt_第2页
第2页 / 共60页
dsp工程设计讲座课件.ppt_第3页
第3页 / 共60页
dsp工程设计讲座课件.ppt_第4页
第4页 / 共60页
dsp工程设计讲座课件.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

1、制作:DSP技术中心主讲:李玉柏WWW.DSPSOLUTION.COM 基于基于DSP的方案设计的设计要素的方案设计的设计要素 DSP方案设计步骤方案设计步骤 数字化设计数字化设计 模拟混合电路设计模拟混合电路设计 DSPs目标系统设计目标系统设计 系统软件开发系统软件开发 工程应用注意事项工程应用注意事项一个典型DSP SOLUTION设计ADCADCDACDAC平滑滤波器平滑滤波器防混迭滤波器防混迭滤波器信号预处理、MUX、程控放大等TMS320VC54xCONTROL-LER通信口通信口EPROMRAM设计要素: 算法分析及优化 DSP运算量核算及DSP选择 体系结构设计(单DSP结构还

2、是多DSP结构, 并行结构还是串行结构,全DSP结构还是 DSP/MCU混合结构等) 数字化要求 模拟混合电路(ADC/DAC)设计 吞吐量需求 存储器需求(SRAM、ROOM、FLASH等) 通信口需求 其它控制(电源设计、状态控制、时钟控 制、同步控制等)DSP方案设计的基本步骤 第一步:算法分析与优化 一个大型的DSP应用方案设计时,在目标板设计之前应提交下列报告: 需求分析 算法分析和优化分析 运算量的评估 体系结构设计评估 DSP方案比通用CPU和MCU方案的优势分析 开发工具需求 测试与验证方法DSP方案设计的基本步骤 第二步:DSP的选择 DSP应用方案的运算量需求 DSP适合处

3、理的领域 DSP的片上存储器资源、价格、外设配置 DSP与其他元件和部件的配套性 其他一些因素,如购买是否方便、功耗、在线仿真控制、与其他CPU的同步方式等 DSP方案设计的基本步骤 第三步:第三步:DSPDSP配置配置-DSP-DSP基本系统设计基本系统设计 选择了DSP后,就可以对DSP的外围电路进行设计。DSP外围电路包括本身的基本引脚连接、总线驱动、时钟控制、引导程序方式控制、存储器配置、通信口配置、I/O口控制、时序设计等,目的是保证DSP的基本工作模式和环境。我们又把对DSP的外围电路进行的设计称为DSP基本系统设计,或者称为DSP最小系统设计。 DSP方案设计的基本步骤 第四步:

4、第四步:模拟数字混合电路设计模拟数字混合电路设计 DSP应用方案是一个数字系统,如果要处理客观世界真实信号,必须有数字化设计。模拟数字混合电路设计一般包括信号调理、模数转换和数模转换、数据缓存等部分。在设计中实现DSP与模拟混合产品的无缝连接、以及保证数据吞吐量是关键。DSP方案设计的基本步骤 第五步:第五步:系统电路设计系统电路设计 为了保证系统功能与指标,需要在系统级进行设计与优化。一个高速处理的数字化系统的主要技术指标包括: 系统通过速率 系统分辨度 系统精度 系统线性误差 系统共模抑制比DSP方案设计的基本步骤 第六步:第六步:系统软件的编写与调试系统软件的编写与调试第七步:第七步:系

5、统测试与验证系统测试与验证 1 1)硬件部件的原理验证)硬件部件的原理验证 2 2)通过)通过DSPDSP的原理验证的原理验证 3 3)软件的仿真与算法验证)软件的仿真与算法验证 4 4)系统硬件功能验证与指标测试)系统硬件功能验证与指标测试 5 5)系统软件的完善)系统软件的完善 6 6)其它测试与验证)其它测试与验证 1 基带信号采样定理基带信号采样定理 要想连续信号抽取后能够不失真地还原出原信号,则抽取频率必须大于或等于两倍原信号频谱的最高频率。(Nyquist定理) f (x) F (w) 0 t 0 w f (nT) FT (w) 0 n 0 w2 带通采样定理带通采样定理 带通采样

6、时采样频率不一定要满足带通采样时采样频率不一定要满足Nyquist准则,带准则,带通采样的采样频率选择方法为:通采样的采样频率选择方法为:(1) fs 2 f (BW)(2) fs = 4fc / (2NZ-1)其中,其中,NZ=1,2,3, 的最大整数。的最大整数。 0 fs fc 盲区采样 H(f) - f s/2 - f 00 f 01 f 02 f 0N fmax f f 00 f 01 f 0(N-1) fmax f 射频直接采样原理射频直接采样原理 ),2, 1, 0(2) 1(0mfmfsm),2, 1, 0(4) 12(0mfmfsmsmnssmfmmfnmf) 33 () 2

7、2() 12() 22(1 正交采样 )(nI ) 12(40nffs Q(n) 正正交交采采样样器器 ADC Z-1 2 (-1)n )(jIeH 2 (-1)n )(jIeH 正正交交延延迟迟 校校准准滤滤波波 连续信号经量化处理要产生量化误差,对于均匀量化,量化误差的大小为:EundBSNRENEsenelog20677. 4)()2*3/(3/12/222222 其中,E为FS电平,us为信号有效电平。对于FS正弦输入,量化误差为:ndBSNRe676. 1)(4 ADC/DAC的选择的选择(1) ADC的种类:的种类: 逐次比较ADC 双线性ADC FLASH ADC - ADC(2

8、) ADC选择的标准:选择的标准:分辨率、速度、 输入动态范围、POWER等(3) DAC的选择的选择(4) 滤波器设计滤波器设计5、DSP与与ADC/DAC的接口的接口(1)对于串型ADC/DAC接口一般使用DSP的串口进行数据通信。 如C25与11通道的12位ADC TLC2543的接口设计如下:(2)对于并型ADC/DAC接口一般使用DSP的I/O口进 行数据通信。如DSP与12位ADC AD678的接口设 计如下:( (三三) ) 目标系统硬件设计目标系统硬件设计1 DSP的选择的选择 运算量运算量 价格价格 外设需求外设需求 其他因素其他因素2 DSP配置配置 DATA存储器大小存储

9、器大小 PROGRAM存储器大小存储器大小 存储器速度要求存储器速度要求 I/O口配置口配置3、DSP基本系统设计基本系统设计 与模数电路接口 BOOTLOADER设计 扩展存储器设计 时钟设计 中断设计 外设的使用 电源管理 其他 .1 1)、)、BOOTLOADERBOOTLOADER设计设计 MP/*MC=0(片上ROM有效),复位后程序从FF80开始运行,将跳转到BOOTLOADER代码开始出。 BOOT的流程取决于I/O口FFFF的值(BRS)和INT2 *RS后检测INT2是否有效?有效按HPI boot模式引导,否则,读I/O口FFFFh的BRS,决定其他的引导方式。 BRS决定

10、的引导方式 xxxx1000:8bit并口I/O引导 xxxx1100:16bit并口I/O引导 xx?00:串口引导(详细说明见后) xxxxxx01:8bit并行EPROM引导 xxxxxx10:16bit并行EPROM引导 xxxxxx11:热引导模式BRS决定的串口引导说明:决定的串口引导说明: xx000000:8bit缓冲串口BSP(FSX/CLKX作为输出) xx000100:16bit缓冲串口BSP(FSX/CLKX作为输出) xx010000:8bit缓冲串口BSP(FSX/CLKX作为输入) xx010100:16bit缓冲串口BSP(FSX/CLKX作为输入) xx100

11、000:8bit时分复用串口TDM (FSX/CLKX作为输出) xx100100:16bit时分复用串口TDM (FSX/CLKX作为输出)以EPROM引导为例: 为了保证引导成功,EPROM的数据组织必须遵守BOOTLOADER的规定的数据存放格式。利用DSP的编译工具可以很方便的生成符合引导规定的数据存放格式。这个工具是十六进制转换工具,该工具使用方法如下: HEX500 -e 1000h -boot -i -bootorg 08000H -memwidth 8 filemane其中最主要的是选项的正确使用。决定引导程序识别的数据格式的主要选项包括: -e VALUE 指定引导程序装入D

12、SP的程序存储器的启始地址,如本例的1000H -boot 转换生成引导表 -i 生成intel格式的EPROM数据格式 -bootorg VALUE 说明引导程序从外部数据存储器引导数据的启始地址,如本例EPROM的启始地址为08000H。 -memwidth VALUE 定义外部数据存储器的字宽,在本例为8位的EPROM。 另外还可以使用-swwsr VALUE来设置插入等待周期;使用-bscr VALUE来设置存储器块大小;使用romwidth VALUE来设置EPROM大小。 EPROM数据区地址(Hex)内容(Hex)含义8000088位BOOT标识(H)8001AA8位BOOT标识

13、(L)80027FSWWSR(H)8003FFSWWSR(L)8004F8BSCR(H)800500BSCR(L)800600程序入口XPC(H)800700程序入口XPC(L)800810程序入口地址(H)800900程序入口地址(L)800A20程序长度(H)800B00程序长度(L)800C00目标程序入口XPC(H)800D00目标程序入口XPC(L)800E10目标程序入口地址(H)800F00目标程序入口地址(L)8010CODE0程序代码0(H)8011CODE1程序代码0(L).C00ECODEN-2程序代码N-1(H)C00FCODEN-1程序代码N-1(L)C01000结束

14、标记C01100结束标记.FFFE80EPROM启始地址(H)FFFF00EPROM启始地址(L)2)外部存储器接口)外部存储器接口A22-A19A18A17A16A15A14-A0*PS*DS*IS*MSTRBR/*WA16A15A14-A0*OE*CS*WE下面给出一个扩展外部存储器的例子,重点注意: a、只使用一片128Kx16的RAM b、与内部有效的RAM相同的地址,外部RAM无效 c、外部 RAM的存 取速度不能全 速运行时,需 要根据速度插 入等待状态3)系统时钟设计与控制)系统时钟设计与控制 CLKOUT VCC crystal oscillator GNDExternal C

15、lock3.3V电路的两种接法: 内部振荡器 外部晶振两种时钟控制方式 a、Hardware-programmable PLL(C541、C542、C543、 C545 & C546)b、Software-programmable PLL(C541B/C545A/C546A /C548/C549/C5402/C5410/C5420) 由时钟模式寄存器控制(由时钟模式寄存器控制(CLKMD):):软件编程控制时钟举例:软件编程控制时钟举例: ( (设置设置 CLKOUT = CLKIN x 3)CLKOUT = CLKIN x 3) STM #0h, CLKMD ;switch to DIV m

16、ode TstStatu: LDM CLKMD, A AND #01b, A ;poll STATUS bit BC TstStatu, ANEQ STM #0214fh, CLKMD ;Set PLLON/OFF when ;STATUS is DIV mode ;PLLMUL=0010, PLLDIV=0 ;PLLCOUNT=00101000(41)4)、中断处理)、中断处理 a、外部中断引脚连接、外部中断引脚连接 b、修改中断向量表、修改中断向量表 c、中断服务程序、中断服务程序5)外设的使用)外设的使用 计数器的使用 标准SP的使用 缓冲SP的使用 McBSP的使用 TDM的使用 HP

17、I的使用与设计 DMA的使用与设计 其它I/O接口信号线(如XF、BIO等)的使用(四)、目标板系统软件设计(四)、目标板系统软件设计1、源程序的编写、源程序的编写在编写汇编语句时,应遵循以下规则:在编写汇编语句时,应遵循以下规则: 语句的开头只能是标号、空格、星号或分号。语句的开头只能是标号、空格、星号或分号。 标号是可选项;如果使用,必须从第一列开始。标号是可选项;如果使用,必须从第一列开始。 每个域必须由一个或多个空棵空格来分开。制表符等每个域必须由一个或多个空棵空格来分开。制表符等同于空格。同于空格。 注释是可选项。开始于第一列的注释用星号或分号(注释是可选项。开始于第一列的注释用星号

18、或分号(* 或或 ;)来标明,开始于其它列的注释必须由分号开头。)来标明,开始于其它列的注释必须由分号开头。一个源语句可以包含四个域,一般格式如下:一个源语句可以包含四个域,一般格式如下: label : instruction ; comment2、汇编编译指令的使用、汇编编译指令的使用汇编编译指令用来完成以下任务:汇编编译指令用来完成以下任务: 将代码和数据汇编进特定的段将代码和数据汇编进特定的段 为未初始化的变量保留存储器空间为未初始化的变量保留存储器空间 控制展开列表的形式控制展开列表的形式 存储器初始化存储器初始化 汇编条件块汇编条件块 定义全局变量定义全局变量 指定汇编器可以获得宏

19、的特定库指定汇编器可以获得宏的特定库 检查符号调试信息检查符号调试信息1)、程序段定义的汇编指令)、程序段定义的汇编指令段定义汇编指令使部分源程序放入适当的段中。段定义汇编指令使部分源程序放入适当的段中。. .bss 在.bss段中为未初始化的变量保留空间. .data 确认.data段中的代码段。.data段中通常包含 了初始化的数据(用.int/.word等定义)。. .sect 定义初始化了的带命名的段,并将紧接着的代 码或数据并入该段。. .text 该段中包含了可执行的代码。. .usect 在一个未初始化的有命名的段中保留空间使用格式和举例使用格式和举例. mmregs. bss

20、x, 20, 1. usect “sin-table”, 100. textLD #0, AADD x, A, B.sect “cal-sin”LD # lk, ASTL A, sin-tableRET. data. word 1, 2, 3, 4. int 043h, ff08h除.int和.word外还有很多用于常量说明的汇编指令,如.byte/.field/.space/.bes/.fload/.long/.string/.xfload等,请看教程。2 2)、引用其它文件的汇编指令)、引用其它文件的汇编指令. .copy/. .include 告诉汇编器开始从其它文件中读源语句。. .d

21、ef 确认一个在当前模块中定义的且能被其它模块使用的符号。. .global 声明一个外部符号,使其它模块在连接的时候可以使用它。如果在当前段定义了该符号,那么该符号就可以被其它模块使用;如果在当前段中没有定义该符号,则是使用了其它模块定义的符号。前一种功能与.def相同,后一种功能与.ref相同。. .mlib 向汇编器提供一个包含了宏定义的文挡库的名称。当汇编器碰见了一个在当前库中没有定义的宏,就在.mlib确认的宏库中查找。. .ref 确认一个在当前段中使用但在其它段中定义的符号。3 3)、条件汇编指令)、条件汇编指令. .if /. .elseif/. .else/. .endif

22、这些指令告诉汇编器根据表达式的值条件汇编一块代码。. .ifif表示一个条件块的开始,如果条件为真就汇编紧接着的代码。. .elseifelseif是表示如果.if的条件为假,而. .elseifelseif的条件为真,就汇编紧接着的代码。. .endifendif结束该条件块。. .loop/. .break/. .endloop 这组指令告诉汇编器按照表达式的值循环汇编一块代码。. .loop expression 标注一块循环代码的开始。. .break expressionbreak expression告诉汇编器当表达式为假时,继续循环汇编;当表达式为真时,立刻转到. .endloo

23、pendloop后的代码去。. .endloopendloop标注一个可循环块的末尾。4 4)、汇编时的符号指令)、汇编时的符号指令符号指令是使有意义的符号名与常数值或字符串相等同符号指令是使有意义的符号名与常数值或字符串相等同. .asg 该指令规定一个字符串与一个替代符号相等.asg “10, 20, 30, 40”, coefficients.byte coefficients. .eval 计算一个表达式的值并把结果传送到与一个替代符号等同的字符串中.eval x+1, x. .set/. .equ 这两条指令把一个常数值等效成一个符号,存放在符号表中且不能被清除。Cont1 .set

24、 0190h .int cont1, cont1*2, cont1*4其他符号指令: .label/.struct/.endstruct/.tag5)其他汇编指令)其他汇编指令. .align 使SPC对准1-word到128-word的边界。. .algebraic 告诉编译器文件包含了算术汇编源代码。. .end 结束编译。. .mmregs 定义存储器映射寄存器的符号名称。. .emsg/. .mmsg/. .wmsg 用来定义自己的错误和警告提示信息。. .newblock 对局部标号进行复位。. .sblock 指定几段为一模块。. .version 决定为之建立指令的处理器。输出列

25、表格式指令:. .drlist/. .drnolist/. .fclist/ fcnolist/3、命令文件的编写、命令文件的编写 命令文件的功能是说明目标文件如何连接到目命令文件的功能是说明目标文件如何连接到目标板,即装入存储器(或重定位)的方法。标板,即装入存储器(或重定位)的方法。命令文件包括:命令文件包括:1)、连接文件说明:)、连接文件说明:a.obj /* First input filename */b.obj /* Second input filename */-o prog.out /* Option to specify output file */-m prog.map

26、 /* Option to specify map file */2)、)、 存储分配说明存储分配说明3)、)、 段的分配与说明段的分配与说明a.obj b.obj c.obj /* Input filenames */-0 prog.out -m prog.map /* Options */MEMORY /* MEMORY directive */RAM: origin = 100h length = 0100hROM: origin = 01000h length = 0100hSECTIONS /* SECTIONS directive */.text: ROM.data: ROM.bs

27、s: RAM(五)、工程应用注意事项(五)、工程应用注意事项电平转换 定标流水线冲突 指令效率 .1、电源设计与电平转换 1)一般DSP有两个电源:CVCC、DVCC 电源设计中提倡使用有两路输出的电源芯片,如TPS73HD301、TPS73HD325、TPS73HD318 等。 复位电路设计结合电源设计。各各种种电电平平的的转转换换 3.3 Vcc2.4 Voh2.0 Vih1.5 Vt0.8 Vil0.4 Vol0 Gnd3.3V TTLLVT, LVC, LV5V Vcc4.44 Voh3.5 Vih2.5 Vt1.5 Vil0.5 Vol0 Gnd5V CMOS5V Vcc2.4 Vo

28、h2.0 Vih1.5 Vt0.8 Vil0.4 Vol0 Gnd5V TTLStandard TTL 2)如果DVCC=3.3V,则DSP不能承受5V电平,不能驱动5VCMOS,但可以驱动5VTTL,3.3VTTL,LVT,ALVC 3)电平转换可以使用SN74ALVC164245等4)使用省电模式: 省电模式可以使CPU暂时处于休眠状态,这时的功耗比正常模式要低,但能保持CPU的内容。 操作操作/特征特征IDLE1IDLE2IDLE3/HOLDCPU停止工作停止工作YYYY注注CPU时钟停止时钟停止YYYN外设时钟停止外设时钟停止NYYN锁相环(锁相环(PLL)停止工作)停止工作NNYN外

29、部地址线处于高阻状态外部地址线处于高阻状态NNNY外部数据线处于高阻状态外部数据线处于高阻状态NNNY外部控制信号线处于高阻状态外部控制信号线处于高阻状态NNNY退出省电模式的方式:置退出省电模式的方式:置/HOLD为为高高NNNY不可屏蔽硬件中断不可屏蔽硬件中断YNNN不可屏蔽软件中断不可屏蔽软件中断YYYN/NMIYYYN/RSYYYN2、定点DSP的定标 1)一般定点DSP有两种定标表示法:Q、S Q15 - S0.15 - -1X0.9999695 Q5 - S10.5 - -1024X1023.96875 2)浮点数(x)转换成定点数(xq): xq = (int)X*2Q 3)定点

30、数(xq)转换成浮点数(x): x = (float)xq*2Q 4)C54x通过归一化支持定标操作: 相关指令EXP、NORM 归一化一个数是先求其指数,然后把它调整到最大精度格式。实现方法如下:3、DSP的流水线冲突 1)C54x采用六级流水线操作 2)一般流水线冲突时DSP会自动插入时延解决冲突(见后) 3)有时需要程序员自己调整解决冲突,如: stlm a,brc rsbx sxm nop nop rptb loop-1 ld *ar5+, a . loop: stlm a, st1 ssbx cpl nop nop sub *ar2-, a nop nop ld 27h, a预取指

31、取指 解码 访问 读 执行STL A, *AR3+ LD #0, A ADD *AR4+, *AR5+, A ; AR3和AR5都指向程序驻留的DARAMSTL A, *AR3+(写操作延迟到下一个周期) LD #0, A(上一条指令的写操作在这个周期执行)ADD *AR4+, *AR5+, A 预取指 取指 解码 访问 读 执行本来应该在此取指 实际访问存储器写EB预取指 取指 解码 访问 读 执行写EB读DB读CB4、指令效率的提高 C54x中有一些指令功能差不多,但编写出的程序效率不同,灵活使用,如:MPYR Smem, dst;T*(Smen)dstMACR Smem, dst;(;(Smen)*T+src( MPYR +ADD); srcMACD Smen,pmen,src;pmend PAR (MAC+DELY+LD);(;(Smem)*(pmed); +(src) src;(;(Smem)T;(;(Smem) Smem+1谢谢大家!谢谢大家!联系电话:(联系电话:(028)3201455E-mail:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(dsp工程设计讲座课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|