位置:51电子网 » 技术资料 » 嵌入式系统

TMS320C5402 DSP在嵌入式测控系统中的应用

发布时间:2008/8/22 0:00:00 访问次数:516

摘要:与通常在嵌入式测控系统中采用mcu(单片机)相比,tms320c5402dsp的运算和数据处理能力强、实时性好,在本设计中实现了较理想的pid温度控制效果;而且,文中给出了在tms320c5402dsp上实现的数据采集程序和pid算法程序的代码。

关键词:mcupiddsp温度

1c5402dsp的应用特点

  尽管从一般意义上讲,基于mcu(单片机)与dsp(数字信号处理器)这两类器件的系统都有各自的用途,但现在很多新兴的嵌入式应用,尤其是那些大型的复杂系统,在系统内同时实现信号与控制两种处理,它们既需要dsp的功能又需要mcu的功能。笔者正是基于这种尝试,在pid温度控制系统中,将dsp应用到mcu的应用场合,取得了较好的控制效果。随着dsp(数字信号处理器)制造技术的发展,其成本已经下降到较低水平;而dsp的处理速度可满足控制的实时性需求。本设计中选用了性价比高、运算能力强、实时性好的tms320c5402dsp来实现pid温度控制算法。c5402dsp相对于单片机的主要优势在于:首先,c5402dsp采用的是哈佛结构,有多组总线分别连接到程序存储空间和数据存储空间结构,片内有三组16bit数据总线cb、db、eb和一组程序总线pb以及对应的4组地址线cba、dba、eba、pba;其次,具有硬件乘加器,包括一个17*17bit乘法器和一个40bit专用加法器,可以在单周期内完成乘、加运算各一次,运算能力很强;还有,采用了流水线技术,指令具有6级流水线,相对于单片机而言,速度大大提高;另外,还具有串行口和并行口等外设,可满足控制的输入输出要求。

2系统硬件结构与工作原理

  系统的硬件结构如图1所示。本设计主要分为温度采集和pid控制两部分。dsp检查所得温度是否超过上下限值,若超过则报警并转入相应处理;否则根据所要求的标准温度值计算采集温度与标准值的偏差e(n),转入pid算法程序进行处理,得到输出控制信号y(n),通过y(n)来控制加热/降温装置进行工作,达到控温的效果。


图1系统结构原理框图

3软件设计

  本设计主要包括主程序、温度采集子程序、上下限温度值查询子程序、pid子程序等。其中,温度采集子程序和pid子程序是核心,本文将着重介绍。

  3.1温度采集程序

  dsp芯片通过串口0与单总线温度传感器ds18b20的数据线相连,对现场温度进行采集,dsp芯片tms320c5402通过串口0读出采集到的温度并对它进行滤波处理;通过串口1写中断,调用显示程序进行温度显示。为便于读者参考,下面给出ds18b20的dsp温度读写程序。

  (1)dsp写数据子程序

  tx0stm#pcr0,spsa0

  stm#0011001000000010b,mcbsp0

  rpt#100

  nop

  stm#pcr0,spsa0

  stm#0011001000000000b,mcbsp0

  rpt#1500

  nop

  stm#pcr0,spsa0

  stm#0011001000000010b,mcbsp0

  ret

  (2)dsp读数据子程序

  rxstm#pcr0,spsa0

  stm#0011001000000010b,mcbsp0

  rpt#120

  nop

  stm#pcr0,spsa0

  stm#0011001000000000b,mcbsp0

  rpt#120

  stm#pcr0,spsa0

  stm#0011001000000010b,mcbsp0

  rpt#120

  nop

  ld#04h,a

  stla,tmp

  portwtmp,7h

  stm#pcr0,spsa0

  ldmcbsp0,a

  and#0001h,a

  bcrx1,aneq

  rsbxc

  brx2

  rx1ssbxc

  rx2rorb

  ld#02h,a

  stla,tmp

  portwtmp,7h

  ret

  3.2pid算法在dsp上的实现

  经典pid控制算法的表达式为:

  y(t)=kp*[e(t)+1/ti*∫e(t)dt+td*de(t)/dt](3.1)

  式中:

  y(t)—调节器的输出信号

  e(t)—调节器的偏差信号,它等于给定值与测量值之差

  kp—调节器的比例系数

  ti—调节器的积分系数

  td—调节器的微分时间

  为了用dsp实现上式,必须将其离散化,用数字形式描述为:

  y(n)-y(n-1)=kp[e(n)-e(n-1)]+ki*e(n)+kd[e(n)-2e(n-1)+e(n-2)](3.2)

  其中:

  ki=kp*t/ti;

  kd=kp*td/t

  t—采样周期

  e(n)—第n次采样的偏差;

  e(n-1)—第n-1次采样时的偏差;

  e(n-2)—第n-2次采样时的偏差。

  由式(3.2)可知,要计算第n次输出值y(n),

摘要:与通常在嵌入式测控系统中采用mcu(单片机)相比,tms320c5402dsp的运算和数据处理能力强、实时性好,在本设计中实现了较理想的pid温度控制效果;而且,文中给出了在tms320c5402dsp上实现的数据采集程序和pid算法程序的代码。

关键词:mcupiddsp温度

1c5402dsp的应用特点

  尽管从一般意义上讲,基于mcu(单片机)与dsp(数字信号处理器)这两类器件的系统都有各自的用途,但现在很多新兴的嵌入式应用,尤其是那些大型的复杂系统,在系统内同时实现信号与控制两种处理,它们既需要dsp的功能又需要mcu的功能。笔者正是基于这种尝试,在pid温度控制系统中,将dsp应用到mcu的应用场合,取得了较好的控制效果。随着dsp(数字信号处理器)制造技术的发展,其成本已经下降到较低水平;而dsp的处理速度可满足控制的实时性需求。本设计中选用了性价比高、运算能力强、实时性好的tms320c5402dsp来实现pid温度控制算法。c5402dsp相对于单片机的主要优势在于:首先,c5402dsp采用的是哈佛结构,有多组总线分别连接到程序存储空间和数据存储空间结构,片内有三组16bit数据总线cb、db、eb和一组程序总线pb以及对应的4组地址线cba、dba、eba、pba;其次,具有硬件乘加器,包括一个17*17bit乘法器和一个40bit专用加法器,可以在单周期内完成乘、加运算各一次,运算能力很强;还有,采用了流水线技术,指令具有6级流水线,相对于单片机而言,速度大大提高;另外,还具有串行口和并行口等外设,可满足控制的输入输出要求。

2系统硬件结构与工作原理

  系统的硬件结构如图1所示。本设计主要分为温度采集和pid控制两部分。dsp检查所得温度是否超过上下限值,若超过则报警并转入相应处理;否则根据所要求的标准温度值计算采集温度与标准值的偏差e(n),转入pid算法程序进行处理,得到输出控制信号y(n),通过y(n)来控制加热/降温装置进行工作,达到控温的效果。


图1系统结构原理框图

3软件设计

  本设计主要包括主程序、温度采集子程序、上下限温度值查询子程序、pid子程序等。其中,温度采集子程序和pid子程序是核心,本文将着重介绍。

  3.1温度采集程序

  dsp芯片通过串口0与单总线温度传感器ds18b20的数据线相连,对现场温度进行采集,dsp芯片tms320c5402通过串口0读出采集到的温度并对它进行滤波处理;通过串口1写中断,调用显示程序进行温度显示。为便于读者参考,下面给出ds18b20的dsp温度读写程序。

  (1)dsp写数据子程序

  tx0stm#pcr0,spsa0

  stm#0011001000000010b,mcbsp0

  rpt#100

  nop

  stm#pcr0,spsa0

  stm#0011001000000000b,mcbsp0

  rpt#1500

  nop

  stm#pcr0,spsa0

  stm#0011001000000010b,mcbsp0

  ret

  (2)dsp读数据子程序

  rxstm#pcr0,spsa0

  stm#0011001000000010b,mcbsp0

  rpt#120

  nop

  stm#pcr0,spsa0

  stm#0011001000000000b,mcbsp0

  rpt#120

  stm#pcr0,spsa0

  stm#0011001000000010b,mcbsp0

  rpt#120

  nop

  ld#04h,a

  stla,tmp

  portwtmp,7h

  stm#pcr0,spsa0

  ldmcbsp0,a

  and#0001h,a

  bcrx1,aneq

  rsbxc

  brx2

  rx1ssbxc

  rx2rorb

  ld#02h,a

  stla,tmp

  portwtmp,7h

  ret

  3.2pid算法在dsp上的实现

  经典pid控制算法的表达式为:

  y(t)=kp*[e(t)+1/ti*∫e(t)dt+td*de(t)/dt](3.1)

  式中:

  y(t)—调节器的输出信号

  e(t)—调节器的偏差信号,它等于给定值与测量值之差

  kp—调节器的比例系数

  ti—调节器的积分系数

  td—调节器的微分时间

  为了用dsp实现上式,必须将其离散化,用数字形式描述为:

  y(n)-y(n-1)=kp[e(n)-e(n-1)]+ki*e(n)+kd[e(n)-2e(n-1)+e(n-2)](3.2)

  其中:

  ki=kp*t/ti;

  kd=kp*td/t

  t—采样周期

  e(n)—第n次采样的偏差;

  e(n-1)—第n-1次采样时的偏差;

  e(n-2)—第n-2次采样时的偏差。

  由式(3.2)可知,要计算第n次输出值y(n),

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!