积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> DSP >> 应用论文
  相关分类: 应用论文 | TI DSP | 新产品 | 算法 | 下载 | DSP代码示例 | ADI DSP | freescale DSP |
TMS320C5402 DSP在嵌入式测控系统中的应用
 
作者:肖洪兵 李冬梅 李朝晖   来源:本站原创    点击数:83   更新时间:2008-9-1
您可以添加到网摘 让更多人关注此文章:

    摘  要:与通常在嵌入式测控系统中采用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融合的时代即将到来。

参考文献

  [1] 戴明桢,周建江. TMS320C54x DSP结构、原理及应用[M]. 北京:北京航空航天大学出版社, 2001

  [2] 潘新民,王燕芳. 单片微型机算机实用系统设计[M]. 北京:人民邮电出版社, 1996

  [3] 肖洪兵等.跟我学用单片机[M].北京:北京航空航天大学出版社,2002



相关文章
· DSP与PC机的无线交换调制模块设计[428]
· ARM CPU S3C44B0X与C54X DSP的接口设计[131]
· 利用双处理器延长电池使用寿命[198]
· 基于C语言设置TMS320 DSP中断向量表[158]
· 用FPGA构成液晶显示控制器[177]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
通嘉科技推出PWM调光LED驱动器L
台积电联电欲削减成本 强制
4G标准芯片受欢迎 多模W
全球芯片厂商集体削减开支 
德国一处理器架构开发商指控赛灵思和安
微型燃料电池2年商业化 续
陕西投资50亿元建立西安半导体产业园
富士通微电子推出同时支持MPEG-2
意法半导体(ST)与麻省理工学院微系
高效率 I2C 
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
[原创]嵌入式凌动工控主板PV...
[转]教你如何进行电磁兼容设计...
[转]汽车和专业音响原厂设计原...
诺基亚,三星手机原厂图纸和PC...
电子元器件可靠性和失效分析经典...
[建议]FPGA设计技巧与实例...
Xilinx FPGA设计快速...
基于CPLD的各种设计实例和分...
教你如何学会MSP430单片机...
凌阳单片机教程(共8章)非常详...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网