基于DSP的自动代码生成及应用
, 提高代码质量, 减少代码体积。 内嵌S函数的实现是通过生成一个TLC 文件mymode.l t lc完成的。当TLC 在阅读mymode.l rtw时, 如果发现有S函数block, 并且在TLC 文件的搜索路径中有相应的TLC 文件, 则S函数被内嵌。 4. 3 代码生成 以上完成了仿真模型各个模块的建立, 如图3所示。 图3 仿真系统图 其中, 电压和电流的C larke Transformation 模块和C28x To Memory 模块是C28x DMC Library 和C2800 DSP Core Support中自带的模型, 在使用时只需要拖入仿真系统即可。 进入Simulink 的Conf iguration Parameters 对话框, 对Real- T im eW orkshop进行设置完成后, 点击Bu ild即可生成对应的DSP工程文件, 并且DDSL ink自动打开CCS, 进行编译调试, 如图4所示。 图4 CCSL ink自动调试DSP代码 由Mat lab自动生成的DSP代码能够实现AD转换、数字滤波及卡尔曼滤波计算, 但是由于程序中使用了很多缺省设置, 在运行中还有一些问题, 如中断处理程序只对定时器中断进行处理, 无法用图形方式观测变量值等, 需要进一步完善。 5 试验结果及分析 把修改完善后的代码加载到DSP实验板上, 对电机的电压和电流进行采样, 通过图5可以验证滤波器的效果。 在利用扩展卡尔曼滤波进行速度估算时, 以异步电机在两相静止坐标系下的电流Ia、Iβ、转子磁链Φa、Φβ、以及转速n 为状态变量, 进行一系列计算,这样就可以很方便的观测到磁链圆如图6( a)和估算的速度曲线如图6( b)。在计算过程中, 由于采样噪声、系统噪声、电机参数随温度变化等原因, 造成估算值在一定范围内浮动, 但是基本稳定。 6 结束语 试验证明, 应用M atlab对DSP进行实时调试和代码生成, 有效地改变了传统的设计方法。用M atlab快速建立T IDSP模型及直接生成C 语言程序的方法, 简化了DSP 软件的开发。在Embeddedtarget for TI C2000 工具箱中还包含其他工具, 如PWM 控制、CAN 总线控制及通用I /O 控制等。利用这些工具与Simu link中的其他工具相结合, 能够完成复杂功能的DSP程序设计, 并且只需要进行少量修改, 就可以实现功能正确的C 语言程序设计,大大提高了程序开发效率。
通过EKF完成了异步电机的速度在线辨识, 为以后建立异步电机无速度传感器矢量控制系统奠定了基础。
- 基于FPGA的原型板原理图的验证(06-05)
- 一个进位保留加法阵列的HDL代码生成器(06-05)
- CANopen对象字典生成办法(12-16)
- ASCII 8×8点阵字库生成器(11-29)
- KEIL MDK直接生成BIN(11-11)
- Arm Linux 内核生成过程(11-10)