实时DSP系统设计开发流程和DSP工具
时间:11-25
来源:互联网
点击:
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处理器开发流程图。(图2)
虽然厂家不同,但提供的开发调试工具大致类同,一般有下列几种:
C语言编译器(C Compiler)
一般厂家为了开发DSP系统方便、减小编写汇编程序的难度,都提供了高级语言设计方法:一般是C语言。开发系统针对DSP库函数、头文件及编写的C程序,自动生成对应的汇编语言,这一步称为C编译。C编译器通常符合ANSI C标准,可以对编写的程序进行不同等级的优化,以产生高效的汇编代码;C编译器还具有对存储器的配置、分配及部分链接功能;并应具有灵活的汇编语言接口等多种功能。
C编程方法易学易用,但编译出的汇编程序比手工汇编程序长得多,因而效率一般只有20%~40%。为了克服C编译器低效率,在提供标准C库函数同时,开发系统也提供了许多针对DSP运算的高效库函数,例如FFT、FIR、IIR、相关、矩阵运算等,它们都是手工汇编的,带有高级语言调用/返回接口。
一般为了得到高效编程,在系统软件开发中,关键的DSP运算程序都是自行手工用汇编语言编写,按照规定的接口约定,由C程序进行调用,这样极大提高编程效率。
汇编器(Assembler)
将汇编语言原文件转变为基于公用目标文件格式的机器语言目标文件。
链接器(Linker)
将主程序、库函数和子程序等,由汇编器产生的目标文件链接在一起,产生一个可执行的模块,形成DSP目标代码。
软件模拟器(Simulator)
是脱离硬件的纯软件仿真工具。将程序代码加载后,在一个窗口工作环境中,可以模拟DSP的运行程序,同时对程序进行单步执行、设置断点,对寄存器/存储器进行观察、修改,统计某段程序的执行时间等。通常在程序编写完以后,都会在软件仿真器上进行调试,以初步确定程序的可运行性。软件仿真器的主要欠缺是对外部接口的仿真不够完善。
硬件仿真器(Emulator)
在线仿真工具,它用JTAG接口电缆把DSP硬件目标系统和装有仿真软件/仿真卡的PC接口板连接起来,用PC平台对实际硬件目标系统进行调试,能真实地仿真程序在实际硬件环境下的功能。
DSP开发系统
这是由厂家提供的一个包含DSP、存储器、常用接口电路的通用电路板和相应软件的软/硬件系统。通常有两种形式,一种是电路板卡的形式,插入计算机中;另一种是通过计算机的串口或并口连接到计算机。这些都是通过计算机的控制端口来控制DSP的运行,并且有简单的DSK(DSP starter Kit)入门套件,和较为复杂的EVM(Evaluation Module)评估模块等。这些都有助于初学者熟悉和使用DSP处理器的应用,也可以作为程序的初步运行对象,方便调试。
随着DSP应用范围的扩大、处理能力的加强以及DSP更新速度的加快,DSP处理系统越来越复杂,对设计者来说难度也越来越大,为此有的厂家已产生出一定标准,依据标准来设计生产电路板级DSP处理模块,同时为这种标准模块提供丰富的软件开发系统和算法库。其中典型的如TMS320C4X和SDSP2106X,它们可以通过通信口和全局总线插座,将若干个模块安装在母板上,方便地组成多处理器系统。这种模块化设计降低了硬件设计难度,减少了硬件设计时间,有利于更高效的开发DSP系统。
目前各DSP芯片生产厂家已经把以上列出的各开发工具集成在一起,构成集成开发环境。例如TI公司的CCS IDE(Code Composer Studio Integrated Development Environment)可以提供环境配置、源程序编辑、编译连接、程序调试、跟踪分析等各个环节,以加速软件开发进程,提高工作效率。它把编译、汇编、链接等工具集成在一起,用一条命令即可完成全部的汇编工作。另外把软、硬件开发工具集成在其中,使程序的编写、汇编、程序的软/硬件仿真和调试等开发工作在统一的环境中进行,给开发工作带来极大的方便。
在设计需求规范,确定设计目标时,其实要解决二个方面的问题:即信号处理方面和非信号处理的问题。
信号处理的问题包括:输入、输出结果特性的分析,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处理器开发流程图。(图2)
虽然厂家不同,但提供的开发调试工具大致类同,一般有下列几种:
C语言编译器(C Compiler)
一般厂家为了开发DSP系统方便、减小编写汇编程序的难度,都提供了高级语言设计方法:一般是C语言。开发系统针对DSP库函数、头文件及编写的C程序,自动生成对应的汇编语言,这一步称为C编译。C编译器通常符合ANSI C标准,可以对编写的程序进行不同等级的优化,以产生高效的汇编代码;C编译器还具有对存储器的配置、分配及部分链接功能;并应具有灵活的汇编语言接口等多种功能。
C编程方法易学易用,但编译出的汇编程序比手工汇编程序长得多,因而效率一般只有20%~40%。为了克服C编译器低效率,在提供标准C库函数同时,开发系统也提供了许多针对DSP运算的高效库函数,例如FFT、FIR、IIR、相关、矩阵运算等,它们都是手工汇编的,带有高级语言调用/返回接口。
一般为了得到高效编程,在系统软件开发中,关键的DSP运算程序都是自行手工用汇编语言编写,按照规定的接口约定,由C程序进行调用,这样极大提高编程效率。
汇编器(Assembler)
将汇编语言原文件转变为基于公用目标文件格式的机器语言目标文件。
链接器(Linker)
将主程序、库函数和子程序等,由汇编器产生的目标文件链接在一起,产生一个可执行的模块,形成DSP目标代码。
软件模拟器(Simulator)
是脱离硬件的纯软件仿真工具。将程序代码加载后,在一个窗口工作环境中,可以模拟DSP的运行程序,同时对程序进行单步执行、设置断点,对寄存器/存储器进行观察、修改,统计某段程序的执行时间等。通常在程序编写完以后,都会在软件仿真器上进行调试,以初步确定程序的可运行性。软件仿真器的主要欠缺是对外部接口的仿真不够完善。
硬件仿真器(Emulator)
在线仿真工具,它用JTAG接口电缆把DSP硬件目标系统和装有仿真软件/仿真卡的PC接口板连接起来,用PC平台对实际硬件目标系统进行调试,能真实地仿真程序在实际硬件环境下的功能。
DSP开发系统
这是由厂家提供的一个包含DSP、存储器、常用接口电路的通用电路板和相应软件的软/硬件系统。通常有两种形式,一种是电路板卡的形式,插入计算机中;另一种是通过计算机的串口或并口连接到计算机。这些都是通过计算机的控制端口来控制DSP的运行,并且有简单的DSK(DSP starter Kit)入门套件,和较为复杂的EVM(Evaluation Module)评估模块等。这些都有助于初学者熟悉和使用DSP处理器的应用,也可以作为程序的初步运行对象,方便调试。
随着DSP应用范围的扩大、处理能力的加强以及DSP更新速度的加快,DSP处理系统越来越复杂,对设计者来说难度也越来越大,为此有的厂家已产生出一定标准,依据标准来设计生产电路板级DSP处理模块,同时为这种标准模块提供丰富的软件开发系统和算法库。其中典型的如TMS320C4X和SDSP2106X,它们可以通过通信口和全局总线插座,将若干个模块安装在母板上,方便地组成多处理器系统。这种模块化设计降低了硬件设计难度,减少了硬件设计时间,有利于更高效的开发DSP系统。
目前各DSP芯片生产厂家已经把以上列出的各开发工具集成在一起,构成集成开发环境。例如TI公司的CCS IDE(Code Composer Studio Integrated Development Environment)可以提供环境配置、源程序编辑、编译连接、程序调试、跟踪分析等各个环节,以加速软件开发进程,提高工作效率。它把编译、汇编、链接等工具集成在一起,用一条命令即可完成全部的汇编工作。另外把软、硬件开发工具集成在其中,使程序的编写、汇编、程序的软/硬件仿真和调试等开发工作在统一的环境中进行,给开发工作带来极大的方便。
DSP 仿真 总线 电源管理 电子 电压 无线电 C语言 电路 相关文章:
- F1aSh存储器在TMS320C3X系统中的应用(11-11)
- 基于PIC18F系列单片机的嵌入式系统设计(11-19)
- DSP在卫星测控多波束系统中的应用(01-25)
- 基于PCI总线的双DSP系统及WDM驱动程序设计(01-26)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)
- DSP与单片机通信的多种方案设计(03-08)