我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 800|回复: 0

基于Matlab的TMS320LF2407程序快速设计 - 系统设计 - 电子工程

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 00:28:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
TMS320LF2407是TI公司主推的一种高性能、低价格DSP处理器,其处理速度达到30 MIPS,片内处理集成RAM、Flash及定时器外,还集成了A/D转换器、PWM控制器及CAN总线控制器等模块,特别适合于电机、电源变换等实时要求高的控制系统。但是通常设计DSP程序的方法是,在DSP的集成开发环境CCS中用C语言设计,需要花费大量的时间用来编写和输入程序代码。在 Matlab中用图形化的方式设计DSP的程序,能够缩短产品的开发时间。

<strong>1 Embedded Target for T1 C2000 DSP介绍</strong>

目前,新版本的Matlab软件(Matlab7.O)已经集成了TI公司C2000、C5000、C6000系列DSP的开发工具包,可在 Matlab/Simulink环境中用图形化的方式进行DSP的设计及仿真验证。并能将设计的图形文件(.mdl)直接转换成C语言程序。其中 C2000系列的开发工具是EmbeddedTarget for TI C2000 DSP。该工具包是TI公司与Math—Works公司共同开发的产品,在Matlab/Simulink中嵌入了eXpressDSP工具箱,支持 C24x及C28x系列的DSP处理器。在C24x系列DSP工具箱中,包含DSP处理器中的模/数转换(ADC)、CAN发送及接收、PWM控制等模块。用户可以在Matlab中调用这些图形化的功能模块及Simulik中的其他模块建立数字信号处理的模型,并可以对模型进行仿真验证,然后生成 TMS320C2000的C语言代码及CCS的工程项目文件,在CCS中经修改、编译后就可以下载到DSP目标板中运行。

<strong>2 ADC转换及FIR滤波处理程序的设计</strong>

以下是用Embedded target for TI C2000工具包设计ADC转换及FIR滤波的步骤。

步骤1,在新建的Simulink文件(.mdl)中,放入C2000 Target Preferences中的LF2407 eZdsp功能块,用于参数的初始化设置。对话框设置如图1所示。其中DSP定时器的时钟比例因子(Timer Clock Prescaler),可以选择I~128,则相应的定时器采样时间为:


<ignore_js_op>





2010-3-18 17:10:49 上传
<strong>下载附件</strong> (7.36 KB)




</ignore_js_op>


式中Timer Period是DSP的最大时钟计数周期,LF2407是16位定点处理器,所以Timer Period数是216-1。图1中设定的Timer Clock Prescaler数值是2,当LF2407的工作频率(CPU Clock Speed)为40MHz时,由上式计算出的定数器的采样时间是0.003 2 S。由于数据处理需要占用一定的运行时间,所以要通过试验选择适当的定时器采样时间。


<ignore_js_op>





2010-3-18 17:10:49 上传
<strong>下载附件</strong> (10.76 KB)




</ignore_js_op>


实现A/D转换的功能块是C24x ADC,其参数设置如图2所示。A/D转换通道可以选择模块A、B中的任一个通道,也可以选择多个通道,A/D转换的采样时间设置为64/80 000。

步骤2,设计FIR滤波器。在Simulink的信号处理工具箱(Signal Processing Bloekset)中,将滤波器设计专用工具(FDAToo1)放入文件中,双击图符,弹出图3所示的滤波器设计对话框。


<ignore_js_op>





2010-3-18 17:10:50 上传
<strong>下载附件</strong> (12.24 KB)




</ignore_js_op>


在图3中,选择滤波器类型为FIR低通滤波器,采样频率为6kHz,低通频率为1kHz,截至频率为2 kHz。先点击对话框中的Design Filter,然后再点击图3中实现模型(Realize Model)图标进入模型实现对话框,选择Over-write generated“filter”block,则在设计框图中生成一个名称为“Filter”的FIR滤波器的功能框图,再将原先放入的FDATool 图标删除,将Filter连接到图中,完成的设计如图4所示。


<ignore_js_op>





2010-3-18 17:10:50 上传
<strong>下载附件</strong> (28.85 KB)




</ignore_js_op>


图4中添加的增益模块(Gain)是为了实现数据类型的转换。由于ADC转换输出的是16位整型数据,而滤波器的输入需要双精度浮点数据,因此Gain的数据类型参数(Signal datatypes)设为float(“double”)。Gainl是将浮点数转换为整型数,因此数据类型参数设为uint(16)。图4中添加寄存器 (C24x To Memory)模块是为了使设计完整。在生成的C程序中,增益模块Gainl的输出是rth-Gainl,可被其他应用程序调用。

步骤3,将图形文件生成C程序。在图4中,运行Simulation菜单下的Configuration Parameters项,弹出配置对话框,选择其中的Real-Time WorkShop项,点击Build按钮,则将图4的框图转化为TI C2000DSP的C语言代码,并自动调用CCS2软件编译运行该程序。生成的C语言程序包括:中断向量文件vectors.asm、中断服务程序 MW_c24xx_csl.C、ADC转换控制testADC.c、主程序TestADC_main.c等。

<strong>3 修改及完善程序</strong>

由Matlab直接生成的程序能够实现ADC转换及数字滤波功能,但是由于程序中使用了许多缺省设置,在运行过程中还存在一些问题。用上述方法生成的程序中,中断处理程序中只对定时器中断进行处理。当由于干扰信号引起其他中断时,会造成DSP停机,因此要在中断向量定义无效中断(_nothing),并在中断响应程序中添加中断服务程序。修改后的程序中,斜体部分是修改的代码。修改程序如下:

中断向量文件vectors.asm:


<ignore_js_op>





2010-3-18 17:10:50 上传
<strong>下载附件</strong> (3.87 KB)




</ignore_js_op>


<ignore_js_op>





2010-3-18 17:10:50 上传
<strong>下载附件</strong> (6.74 KB)




</ignore_js_op>


在ADC转换处理程序中,每次ADC转换结束后没有复位DSP的排序器指针。虽然程序中设定的是只进行一个通道的A/D转换,但结果却是16个通道的循环转换,造成数字滤波器的输人数据不正确,因此程序要作修改,在testadc_c中添加:

  TestADC_B.C24xADC=MMREGS[RESULT0]>>6;/*A/D转换结果右移6位*/
  MMREGS[ArN2TRL2]=MMREGS[ADCTRL2]l0X4242;/*复位排序器指针并清除A/D中断标志*/

如果需要通过t/o端口输出结果,则可以在testadc_c中定义一个I/o(portl00),然后将FIR滤波后的数据rtb-Gainl输出,程序如下:


<ignore_js_op>





2010-3-18 17:10:49 上传
<strong>下载附件</strong> (3.78 KB)




</ignore_js_op>


<strong>4 试验结果及结论</strong>

由上述方法设计的程序在TMS3201LF2407A处理器上能正常运行。试验结果证明,采用FIR滤波后,ADC转换的抗干扰能力有了明显的提高。用 Matlab快速建立TI DSP模型及直接生成C语言程序的方法,简化了DSP软件的开发。在Embedded target for TI C2000工具箱中还包含其他工具,如PWM控制、CAN总线控制及通用I/O控制等。利用这些工具与Simulink中的其他工具相结合,能够完成复杂功能的DSP程序设计,并且只需进行少量的修改,就可以实现功能正确的C语言程序的设计,节省程序的编写及输入时间。

<strong>参考文献</strong>

1. MathWorks Inc Embedded Target for the TI TMS320C2000TM DSP Platform user's guide 2005
2. 刘和平 TMS320LF240x DSP C语言开发应用 2003
3. Texas Instruments Inc TMS320LF/LC240xA DSP Controllers Reference Guide 2001

作者:西安交通大学 陈大科韩九强
刊名:单片机与嵌入式系统应用 2005 (11)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

公告:服务器刚移机,
大家请不要下载东西。
会下载失败


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表