打印

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

[复制链接]
692|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
DSP在嵌入式测控系统中的应用



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

1 C5402DSP的应用特点
        尽管从一般意义上讲, 基于MCU(单片机)与DSP(数字信号处理器)这两类器件的系统都有各自的用途,但现在很多新兴的嵌入式应用,尤其是那些大型的复杂系统,在系统内同时实现信号与控制两种处理,它们既需要DSP的功能又需要MCU的功能。笔者正是基于这种尝试,在PID温度控制系统中,将DSP 应用到MCU的应用场合,取得了较好的控制效果。随着DSP(数字信号处理器)制造技术的发展,其成本已经下降到较低水平;而DSP的处理速度可满足控制的实时性需求。本设计中选用了性价比高、运算能力强、实时性好的TMS320C5402 DSP来实现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写数据子程序
TX0  STM  #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读数据子程序
RX  STM  #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
        STL  A,TMP
        PORTW  TMP,7H  
        STM  #PCR0,SPSA0
        LD  McBSP0,A
        AND #0001H,A
        BC  RX1, ANEQ   
        RSBX C
        B  RX2
RX1  SSBX C  
RX2  ROR B  
  LD #02H,A
        STL A,TMP
        PORTW  TMP,7H  
        RET

3.2 PID算法在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),只要知道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具有专门的乘加指令,在DSP上非常容易实现;所以,该式成为PID算法在DSP上实现的依据。
在C5402DSP上实现的PID算法程序包括: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 MCU实现了PID温度控制,但由于单片机的运算功能较差,程序实现的效率不够高,实时性不好。本设计中由于选用了性价比高、运算能力强、实时性好的TMS320C5402 DSP来实现PID温度控制算法,取得了较好的控制效果。目前,许多MCU制造厂家在它们的体系结构中增加或扩充了各种 DSP 功能,例如增加了 MAC(乘法累加)指令等。同样,一些 DSP 体系结构也增加了像集成的外围设备、可编程的外部芯片选择连线、中断驱动的 I/O、定时器以及较大的外部存储器等功能部件。将来,对复杂的应用系统,可能不会再明确地区分DSP应用还是MCU应用。因此,DSP与MCU融合的时代即将到来。

相关帖子

沙发
htmlme| | 2019-1-10 16:29 | 只看该作者
工业控制领域的应用。

使用特权

评论回复
板凳
pklong| | 2019-1-10 16:29 | 只看该作者
《DSP原理及控制系统设计》

使用特权

评论回复
地板
touser| | 2019-1-10 16:29 | 只看该作者
目前 DSP 芯片在市场上应用最多的是通信领域

使用特权

评论回复
5
myiclife| | 2019-1-10 16:30 | 只看该作者
SP 被运用在语音编码,图像压缩和减少语音通信上。

使用特权

评论回复
6
uytyu| | 2019-1-10 16:30 | 只看该作者
系统重中之重就是实时性

使用特权

评论回复
7
iyoum| | 2019-1-10 16:30 | 只看该作者
C5000(C54x、 C55x)系列主要用于低功耗、便携的无线通信终端产品

使用特权

评论回复
8
wwppd| | 2019-1-10 16:31 | 只看该作者
C55x 超低功耗 DSP        

使用特权

评论回复
9
jkl21| | 2019-1-10 16:31 | 只看该作者
从硬件和软件两方面         

使用特权

评论回复
10
maqianqu| | 2019-1-10 16:32 | 只看该作者
谢谢楼主分享的            

使用特权

评论回复
11
dspmana| | 2019-1-10 16:32 | 只看该作者
DSP的计算速度非常快,适合这个设计。   

使用特权

评论回复
12
uytyu| | 2019-1-10 16:32 | 只看该作者
高精密仪器现在已经发展成为 DSP 的一个重要应用

使用特权

评论回复
13
htmlme| | 2019-1-10 16:33 | 只看该作者
DSP 芯片的内部采用程序和数据分开的哈佛结构

使用特权

评论回复
14
myiclife| | 2019-1-10 16:33 | 只看该作者
工业机器人被广泛应用,对机器人控制系统的性能要求也越来越高。

使用特权

评论回复
15
pklong| | 2019-1-10 16:33 | 只看该作者
DSP 应用系统由大型系统向小型化迈进了一大步。

使用特权

评论回复
16
touser| | 2019-1-10 16:33 | 只看该作者
应用 DSP 的领域较多, 未来新应用领域有望层出不穷。

使用特权

评论回复
17
dspmana| | 2019-1-10 16:33 | 只看该作者
楼主有源代码和硬件源文件吗?  

使用特权

评论回复
18
maqianqu| | 2019-1-10 16:33 | 只看该作者
TMS320C5402 使用的还是比较少一些。   

使用特权

评论回复
19
jkl21| | 2019-1-10 16:33 | 只看该作者
分布式测控系统吗?         

使用特权

评论回复
20
wwppd| | 2019-1-10 16:33 | 只看该作者
为超低功耗的紧凑型嵌入式产品提供高效的信号处理。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

717

主题

1010

帖子

3

粉丝