当前位置: 查字典论文网 >> 基于DSP模型的快速代码的生成

基于DSP模型的快速代码的生成

格式:DOC 上传日期:2023-02-19 01:43:37
基于DSP模型的快速代码的生成
时间:2023-02-19 01:43:37     小编:

关键词: TMS320F2812; TI DSP; Matlab/Simulink; 自动代码生成

Fast code generation based on DSP model

DENG Pan, HOU Zhi?min

Keywords: TMS320F2812; TI DSP; Matlab/Simulink; automatic code generation

0 引 言

DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器,主要由中央处理器、存储器和片内外设三部分组成,具有强大的数据处理能力和高运行速度,加上具有可编程性,所以被广泛应用于控制系统[4]。但是随着DSP的不断更新换代,硬件结构和代码的编写也越来越复杂,利用DSP的不断更新换代,硬件结构和代码的编写也越来越复杂,利用DSP进行开发时要求对DSP硬件性能和各种端口有足够的了解,开发门槛高,这样很不利于系统的快速开发[5]。用户可以在Matlab中调用这些图形化的功能模块及Simulink中的其他模块建立数字信号处理的模型,并可以对模型进行仿真验证,然后生成TMS320C2000的C语言代码及CCS的工程项目文件,在CCS中经修改、编译后就可以下载到DSP目标板中运行[6]。 1 搭建闪烁灯功能模型

可以利用模型输出一个高/低交替变换的电平来实现闪烁。在Matlab菜单栏中选择FILE NEW Model,建立一个新模型,命名为led_28207,并保存,在模块浏览器中找到Simulink Sources Constant 模块、Simulink Logic and Bit Operations Logical Operator 模块、Simulink Discrete Unit Delay模块,并添加到模型中,双击打开Logical Operator 模块,将Operator 项选择为XOR,选中Unit Delay 模块并按下“Ctrl+I”键翻转该模块,在模块浏览器中找到Simulink Sinks Scope模块,然后按图所示连接这些模块,按下仿真按钮后,添加On Off Gauges模块,可以更清晰直观地看到仿真结果,现将模型做如下修改。在模块浏览器中找到Simulink Port Subsystems For Iterator Subsystem,添加到模型中,双击打开For Iterator Subsystem模块,双击打开For Iterator 模块的设置对话框,将Iteration variable data type 项设置为int32型,在Iteration limit项中写入3000000,作为循环次数,用以延长每个状态的持续时间。在模块浏览器中找到Simulink Sinks Terminator,添加到子系统中,并与For Iterator连接,删除In1、Out1模块,可以看到,子系统的输入/输出端口已经删去,将其命名为delay,删去原模型中的Scope模块,在模块浏览器中找到Gauges Blockset Global Majic Active X Library On Off Gauges On Off Readout 模块,并将输出数据类型设置为double,修改完毕后单击“仿真”按钮,可见On Off Readout模块不停地闪烁(见图1)。

E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\47T1.tif

图1 功能模型仿真

2 代码模型

图2 配置Digital Output模块

3 自动代码生成

按上述步骤设置完毕后将目标板连接到主机上,然后单击模型工具栏的编译按钮,生成代码的报告如图3所示。

E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\47T3.tif

图3 代码生成报告

代码生成完毕后将自动启动CCS软件,建立工程并对代码进行编译,如图4所示。

4 硬件测试

编译完成后会自动下载.out文件并执行,led灯不停闪烁(见图5),与功能模型中的仿真结果一致,这说明自动生成的代码完全实现了在模型中设计的各项功能。

5 结 语

用Matlab快速建立DSP模型及直接生成C语言程序的方法,简化了DSP软件的开发。本文所提出的快速控制原型系统由于其控制性能优越且成本低,在控制实验系统中有着非常广泛的应用前景。

E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\47T4.tif

图4 编译信息

E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\47T5.tif

图5 硬件仿真结果

采用这种开发方法,开发人员不需写一行代码就可实现DSP系统的代码开发,极大地减轻了开发人员的工作负担,提高工作效率。学习使用该开发方法对广大DSP应用开发人员具有较大的实用意义。

参考文献

[3] 方正,张淇淳,齐玉成.基于DSP 的快速控制原型系统[J].东北大学学报:自然科学版,2009(8):1069?1073.

[6] 杜磊,薛重德,任志国.基于DSP的自动代码生成及应用[J].南京航空航天大学学报:自然科学版,2010(4):93?96.

[7] 赵秀玲,张利,武玉强.Matlab辅助DSP实现FIR数字滤波器[J].现代电子技术,2007,30(9):38?40.

[8] 王康佳,刘诗伟,孙番典.基于Matlab/DSP Builder任意波形信号发生器的两种设计[J].现代电子技术,2011,34(3):179?181.

全文阅读已结束,如果需要下载本文请点击

下载此文档

相关推荐 更多