新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > TMS320C5402 DSP在嵌入式测控系统中的应用

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

作者:时间:2009-04-02来源:网络收藏

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

  y(t)=KP*[e(t)+1/ TI *∫e (t)dt+TD *de(t)/dt] (3.1)

  式中:

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

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

  KP―调节器的比例系数

  TI―调节器的积分系数

  TD―调节器的微分时间

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

  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),只要知道y(n-1),e(n)、e(n-1)、e(n-2)即可。

  式(3.2)还可以表示为下式:

  y(n)- y(n-1)=d0*e(n)+d1*e(n-1)+d2*e(n-2) (3.3)

  式中:

  d0 = KP(1+T/TI+TD/T)

  d1 = -KP(1+2TD/T)

  d2 = KP*TD/T

  将式(3.3)代入(3.2)得:

  y(n)=d0*e(n)+d1*e(n-1)+d2*e(n-2)+y(n-1)

  上述式子是典型的乘加算式,而具有专门的乘加指令,在上非常容易实现;所以,该式成为算法在DSP上实现的依据。

  在C5402DSP上实现的算法程序包括:PID各参量的初始化,计算偏差值e(n),PID算法处理,e(n) 、y(n)参数更新等。这些功能在DSP上实现较之单片机而言,显得非常方便。

  在DSP上实现的程序代码如下。

  (1)PID初始化

  startpid: SSBX FRCT ;小数方式标志位

  STM #en+1, AR1 ;取e(n-1)地址送AR1

  RPT #1 ;重复2次

  MVPD #table,*AR1+ ;传送初始数据e(n-2),e(n-1)

  STM #yn, AR1 ;取y(n-1)地址送AR1

  MVPD #table+2,*AR1 ;传送初始数据y(n-1))

  STM #Kpid,AR1

  RPT #2 ;重复3次

  MVPD #table+3,*AR1+ ;传送初始数据d2,d1,d0

  (2)PID算法程序

  STM #en, AR1 ;取e(n)地址送AR1

  LD @Tx, A ;调入

  SUB #TSTD, A ;计算值与标准值的偏差

  STH A, *AR1+ ;输入偏差e(n)

  STM #en+2, AR1

  STM # Kpid+2, AR2

  STM #2, AR0

  LD *AR1-, T ;e(n-2)送T

  MPY *AR2-, A ;d2* e(n-2)

  LTD *AR1- ; e(n-1)送T, e(n-1)送e(n-2)

  MAC *AR2-, A ;A+ d1*e(n-1)

  LTD *AR1+0 ; e(n)送T, e(n)送e(n-1)

  MAC *AR2+0, A

  ADD A, @yn, A

  STH A, @yn ;保存y(n)

  PORTW @yn, PA1

  RET

4 结语

  在过去的设计中我们选用了80C51 实现了PID控制,但由于单片机的运算功能较差,程序实现的效率不够高,实时性不好。本设计中由于选用了性价比高、运算能力强、实时性好的 DSP来实现PID温度控制算法,取得了较好的控制效果。目前,许多制造厂家在它们的体系结构中增加或扩充了各种 DSP 功能,例如增加了 MAC(乘法累加)指令等。同样,一些 DSP 体系结构也增加了像集成的外围设备、可编程的外部芯片选择连线、中断驱动的 I/O、定时器以及较大的外部存储器等功能部件。将来,对复杂的,可能不会再明确地区分DSP还是。因此,DSP与MCU融合的时代即将到来。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭