在simulink 下开发dsp 首先以matlab 下的help 里的一个例子来说明在simulink 里仿真的电路转换为ccs 里的c 语言程序。 下面的例子主要功能是应用 ad 转换模块采集的信号来控制输出的pwm 波形: 原理图形如下: 上述模块可以在simulink 下的target for c2000 的c2000 target preferences 和 c281x chip support 里找到。其中 F2812 eZdsp 可以配置使用的dsp 芯片以及相关的存储器映射和外围设备。其双击打开为: ADC 模块的初试化配置为: PW M 模块的配置为: 本例仅仅对采集进来的信号做了放大的作用,故只用了一个放大器。 在此基础上,打开窗口菜单的simlation 里的configuration parameter,对其里的各个参数进行配置如图: 首先对solver 进行配置: 其次是硬件配置(hardw are implemenlation): 这里最重要是对real-time w orkshop 的配置: 里面的配置如图: 在以上配置好之后,确定并按ctrl+b,计算机将会在ccs 环境下自动生成c 语言代码。如图: 以上是基本的操作流程.。 个人的理解、体会及问题: 整个过程是matlab 里的embedded target for the ti tms320c2000 dsp platform 模块,简称为 ETTIc2000.此模块利用 real-time w orkshop 通过ccslink 模块直接将 simulink 模型生成 c 语言代码。 通过学习发现我们可以单独的将几个模块放在一起,中间不做任何连接,也可以运行生成代码,这样在模型用 simulink 很难搭建情况下,我们可以省去编程里复杂的初始化,应用此系统进行初始化,之后再进行算法编程。 在学习过程中的问题: (1) 在对 configuration parameter 里的solver 设置时,为何要用固定步长和离散的,起初以为是采样的原因,之后发现没有 ADC转换时也为相同设置,其他均会出错。 (2) 在学习中其说可以看到输出波形,但是在此模块中如何看?示波器应当接在那块?个人认为是在ccs 里看吗?但其说在simulink 里就可以看到,如何理解。 (3) 目前还有就是S 函数的问题,S 函数是否也可以直接转换为c代码,需要验证。 (4) 最后就是个人的一些尝试,在此基础上,通过搭建一些简单的实验电路,结果不是很好,原因最大是dsp 还不能熟练掌握。