微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 实时DSP系统设计开发流程和DSP处理器开发工具简介

实时DSP系统设计开发流程和DSP处理器开发工具简介

时间:08-31 来源:互联网 点击:
DSP系统设计开发流程

在设计需求规范,确定设计目标时,其实要解决二个方面的问题:即信号处理方面和非信号处理的问题。  

信号处理的问题包括:输入、输出结果特性的分析,DSP算法的确定,以及按要求对确定的性能指标在通用机上用高级语言编程仿真。

非信号处理问题包括:应用环境、设备的可靠性指标,设备的可维护性,功耗、体积重量、成本、性能价格比等项目。  

算法研究与仿真这是DSP应用实际系统设计中重要的一步。系统性能指标能否实现,以何种算法和结构应对需求,都是在这一步考虑的。这种仿真是在通用机上用高级语言编程实现的,编程时最好能仿DSP处理器形式运行,以达到更好的真实性。  

DSP芯片选择中通常有下列几条应注意的:  

(1)精度:表数格式(定点或浮点),通常可以用定点器件解决的问题,尽量用定点器件,因为它经济、速度快、成本低,功耗小。但是在编程时要关注信号的动态范围,在代码中增加限制信号动态范围的定标运算。  

(2)字长的选择:一般浮点DSP芯片都用32位的数据字,大多数定点DSP芯片是16位数据字。而MOTOROLA公司定点芯片用24位数据字,以便在定点和浮点精度之间取得折中。字长大小是影响成本的重要因素,它影响芯片的大小、引脚数以及存储器的大小,设计时在满足性能指标的条件下,尽可能选用最小的数据字。   

(3)存储器安排:包括存储器的大小,片内存储器的数量,总线寻址空间等。片内存储器的大小决定了芯片运行速度和成本,例如TI公司同一系列的DSP芯片,不同种类芯片存储器的配置等硬件资源各不相同。  

(4)开发工具:在DSP系统设计中,开发工具是必不可少的,一个复杂的DSP系统,必须有功能强大的开发工具支持。  

开发工具包括软件和硬件两部分。软件开发工具主要包括:C编译器、汇编器、链接器、程序库、软件仿真器等,在确定DSP算法后,编写的程序代码通过软件仿真器进行仿真运行,来确定必要的性能指标。硬件开发工具包括在线硬件仿真器和系统开发板。在线硬件仿真器通常是JTAG周边扫描接口板,可以对设计的硬件进行在线调试;在硬件系统完成之前,不同功能的开发板上实时运行设计的DSP软件,可以提高开发效率。甚至在有的数量小的产品中,直接将开发板当作最终产品。  

(5)功耗与电源管理:在一些手提便携式的消费类电子产品中,供电电源的节省是很重要的问题,因而目前DSP生产厂商越来越重视这方面。它通常包括供电电压的选择和电源的管理功能。  

供电电压一般取得比较低,实施芯片的低电压供电,通常有3.3V,2.5V,1.8V,0.9V等,在同样的时钟频率下,它们的功耗将远远低于5V供电电压的芯片。  

加强了对电源的管理后,通常用休眠、等待模式等方式节省功率消耗。例如TI公司提供了详细的、功能随指令类型和处理器配置而改变的应用说明。  

(6)成本和厂家的销售后服务:特别要注意DSP芯片的生产和主推产品,以便以低的成本实施来要求产品。但低价位的芯片必然是功能较少、片内存储器少、性能上差一些的,这就带给编程一定的困难。  

(7)支持多处理器:近来各类软件在无线电产品及雷达中的应用中,都需要能处理高数据率、大运算量的应用系统。单一的处理器系统已难以承担这类复杂任务,因而采用多个处理器并行工作。这种情况下,各处理器之间连接和通讯功能是必须要作为主要因素予以考虑的。近年新推出的DSP芯片系列都改善了这方面性能,注意增加专门的接口或DMA通道,来支持多处理器的DSP运行。


DSP处理器软、硬件开发工具简介  

随着DSP处理器的功能不断强化和系统开发周期不断缩短,设计和调试DSP系统越来越依赖于DSP开发系统和开发工具,图2为DSP处理器开发流程图。

虽然厂家不同,但提供的开发调试工具大致类同,一般有下列几种:  

C语言编译器(C Compiler)  

一般厂家为了开发DSP系统方便、减小编写汇编程序的难度,都提供了高级语言设计方法:一般是C语言。开发系统针对DSP库函数、头文件及编写的C程序,自动生成对应的汇编语言,这一步称为C编译。C编译器通常符合ANSI C标准,可以对编写的程序进行不同等级的优化,以产生高效的汇编代码;C编译器还具有对存储器的配置、分配及部分链接功能;并应具有灵活的汇编语言接口等多种功能。  

C编程方法易学易用,但编译出的汇编程序比手工汇编程序长得多,因而效率一般只有20%~40%。为了克服C编译器低效率,在提供标准C库函数同时,开发系统也提供了许多针对DSP运算的高效库函数,例如FFT、FIR、IIR、相关、矩阵运算等,它们都是手工汇编的,带有高级语言调用/返回接口。  

一般为了得到高效编程,在系统软件开发中,关键的DSP运算程序都是自行手工用汇编语言编写,按照规定的接口约定,由C程序进行调用,这样极大提高编程效率。  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top