OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » DSP开发中值得注意的几个问题

共1条 1/1 1 跳转至

DSP开发中值得注意的几个问题

助工
2014-12-21 10:32:54    评分
引言
 
  DSP是数字信号处理或数字信号处理器的缩写,它的应用正随着数字化的飞速发展而日益广泛。但是如何很快地入门进行DSP开发,一直都是业界讨论的问题。本文将以德州仪器公司(TI)的DSP为例来介绍一些开发经验,以供大家参考。
 
      选择DSP的型号
 
  目前市场上的主要DSP生产商包括TI,ADI,Motorola,Lucent和Zilog等,其中TI占有最大市场份额。产品包括了从低端的低速度DSP到高端的大运算量的DSP产品。目前,广泛使用的TI DSP有三个系列:C2000、C5000、C6000(C3X也有使用),其它型号都基本淘汰。需要提醒注意的是:在TI的DSP中,同一系列中不同型号的DSP都具有相同的DSP核,相同或兼容的汇编指令系统,其差别仅在于片内存储器的大小,外设资源(如定时器、串口、并口等)的多少;不同系列DSP的汇编指令系统不兼容,但汇编语言的语法非常相似。除了汇编语言外,TI还为每个系列都提供了优化的C/C++编译器,方便用户使用高级语言进行开发,效率可以达到手工汇编的90%甚至更高。
 
  在具体的开发中,根据所设计的系统要求和最终产品的成本估算,一般从以下几个方面去考虑选择什么型号的DSP芯片。
 
      DSP设计中的基本技巧
 
  MCU在控制、管理领域有不可替代的地位,因为它无论从成本,开发系统都很廉价和成熟。DSP在数字信号处理方面又是普通MCU,甚至通用CPU都无法比拟的。因此许多应用中采用MCU+DSP的结构,MCU负责管理,甚至运行嵌入式操作系统;而DSP仅仅负责快速的数据运算处SP的混合系统目前也很方便,有时采用多个低档的DSP并行比采用一片高档的DSP会大大降低系统的成本。如前锋公司的GSM手机综测仪采用3片VC5409并行处理,分别负责信道、基带和信令。
 
  多CPU的混合系统中使用RTOS。在DSP+MCU或多DSP的系统中,嵌入式操作系统,特别是实时嵌入式操作系统显得尤其重要。但实时操作系统不仅少,而且价格昂贵,但普通嵌入式操作系统很廉价,根据具体设计要求可以做不同的选择。目前也正在VC5471平台和C5000平台上尝试嵌入式操作系统
 
  电源管理。TI提供完整和详细的配套电源管理解决方案,这里不再赘述。
 
  常用电源管理芯片有TPS73HD318 、73HD325TPS7333等等。
 
  装入程序的实现方法。各个具体型号有所差别,但常用的方式不外乎HPI、16bit或8bit的并行EPROM,还有串口。在有MCU或PC做主控机的情况下一般都使用HPI方式。并行EPROM方式很方便,但需要注意代码的大小。串口加载可以用在多DSP的情况下进行。
 
      开发环境
 
  对于DSP工程师来说,除开必须了解和熟悉DSP本身的结构(包括软件指令系统和硬件结构)和技术指标外,大量的时间和精力是花费在熟悉和掌握其开发工具和环境上。因此,各DSP生产厂商以及许多第三方公司作了极大的努力,为DSP系统集成和硬软件的开发提供了大量有用的工具。下面重点讨论TI DSP的集成仿真环境CCS。
 
  CCS所包含功能有:
 
  (1)集成可视化代码编辑界面,可直接编写C、汇编、.H文件、.cmd文件等。
 
  (2)集成代码生成工具,包括汇编器、优化C编译器、连接器等等。
 
  (3)基本调试工具,如装入执行代码(.out文件),查看寄存器窗口,存储器窗口,反汇编窗口,变量窗口等,支持C源代码级调试。
 
  (4)支持多DSP调试。
 
  (5)断点工具,包括硬件断点、数据空间读/写断点,条件断点(使用GEL编写表达式)等等。
 
  (6)探针工具(probe points),可用于算法仿真,数据监视等。
 
  (7)剖析工具(profile points),可用于评估代码执行的时钟数。
 
  (8)数据的图形显示工具,可绘制时域/频域波形、眼图、星座图、图像等,并可自动刷新(使用animate命令运行)。
        (9)提供GEL工具,令用户可以编写自己的控制面板/菜单,从而方便直观地修改变量,配置参数等。
 
  (10)支持实时数据交换(RTDX)技术,利用该技术可在不中断目标系统运行的情况下,实现DSP与其它应用程序(OLE)实现数据交换。
 
  (11)开放式的插入(plug-ins)技术,支持其它第三方的ActiveX插件,支持各种仿真器包括软仿真(只需安装相应的驱动程序)。(12)提供DSP/BIOS工具,利用该工具可增强对代码的实时分析能力,如分析代码执行的效率,调度程序执行的优先级,方便管理或使用系统资源(代码/数据占用空间,中断服务程序的调用,定时器使用等等),从而减小开发人员对硬件资源熟悉程度的依赖性。
 
      结语
——回复可见内容——

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]