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设计中的基本技巧
可以同时使用FIFO为CY7C4225(1k×18)。
多CPU的混合系统。MCU在控制、管理领域有不可替代的地位,因为它无论从成本,开发系统都很廉价和成熟。DSP在数字信号处理方面又是普通MCU,甚至通用CPU都无法比拟的。因此许多应用中采用MCU+DSP的结构,MCU负责管理,甚至运行嵌入式操作系统;而DSP仅仅负责快速的数据运算处SP的混合系统目前也很方便,有时采用多个低档的DSP并行比采用一片高档的DSP会大大降低系统的成本。如前锋公司的GSM手机综测仪采用3片VC5409并行处理,分别负责信道、基带和信令。
多CPU的混合系统中使用RTOS。在DSP+MCU或多DSP的系统中,嵌入式操作系统,特别是实时嵌入式操作系统显得尤其重要。但实时操作系统不仅少,而且价格昂贵,但普通嵌入式操作系统很廉价,根据具体设计要求可以做不同的选择。目前也正在VC5471平台和C5000平台上尝试嵌入式操作系统电源管理。TI提供完整和详细的配套电源管理解决方案,这里不再赘述。常用电源管理芯片有TPS73HD318 TPS73HD325TPS7333等等。
装入程序的实现方法。各个具体型号有所差别,但常用的方式不外乎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工具,利用该工具可增强对代码的实时分析能力,如分析代码执行的效率,调度程序执行的优先级,方便管理或使用系统资源(代码/数据占用空间,中断服务程序的调用,定时器使用等等),从而减小开发人员对硬件资源熟悉程度的依赖性。
结语
以上讨论了DSP开发中会遇到的几个基本问题。当然,在实际操作中还会有很多其它的问题和相应的处理技巧,这里不可能都包括。希望通过此文能对大家的DSP开发有所帮助。
- Linux标准趋向统一(11-12)
- 巴西的新电视机顶盒采用意法半导体(ST)的最先进的解码器技术(03-24)
- 基于TMS320C62X DSP的混合编程研究(07-12)
- 视频跟踪算法在Davinci SOC上的实现与优化(10-06)
- 展望未来 多核DSP技术不仅仅是小把戏(04-03)
- 嵌入式软件工程师必须知道的:volatile的作用(05-01)