TMS320F280x实现模拟量输出控制器
模拟量输出控制器的主要功能是接受PC机和各类通信设备发出的指令信号,通过内部逻辑算法和硬件电路得到相应的模拟量值,用来控制伺服阀的开度,从而控制工艺运行状态。模拟量输出控制器的执行速度、输出精度关系着整个控制系统的控制质量。目前模拟量输出控制器主要是通过单片机和各种专用的芯片/电路,如专用的定时器,D/A转换电路,通信模块等配合实现的。但是由于单片机存在运行速度较慢、数据处理能力较弱以及内部资源不够丰富等固有的缺点,使得利用单片机所得到模拟量输出控制器的性能越来越达不到要求。
为从根本上解决此问题。本文以TI公司DSP芯片TMS320F2801为核心,结合DSP丰富的片内外设功能、流水线结构以及高效的特殊指令等优点,设计出模拟量输出控制器。
一 基于TMS320F280x的模拟量输出控制器的系统方案
数字信号处理系统是以数字信号处理为基础,与通用微处理器相比,DSP有以下优点:
(1)存储器结构:DSP采用哈佛结构,程序和数据存储器在两个分开的空间中,因此取指令和执行能完全重叠运行,进一步提高运行速度和灵活性。
(2)流水线结构:将指令的执行分解为取指令、译码、取操作数和执行等几个阶段。在程序运行过程中,不同指令的不同阶段在时间上是重叠的。流水线结构提高了指令执行的整体速度。
(3)硬件乘法累加单元:DSP处理器适用专门的硬件来实现单周期乘法,并使用累计器寄存器来处理多个乘积的累加,同时DSP的指令集都包含有MAC指令。
(4)零开销循环:DSP有专门支持循环结构的硬件,使得在循环计数、条件转移等循环机制处理时无需花费任何时间。
(5)特殊的寻址方式:DSP支持特殊的寻址方式,从而减小遇到此部分寻址方式时的处理时间。
(6)高效的特殊指令:DSP指令集设计了特殊的DSP指令用于专门的数字信号处理操作。提高指令执行的并行度,加快完成此操作的速度。
(7)丰富的片内外设:根据应用领域的不同,DSP芯片内集成了多种类型的内外设。丰富的内外设提高了处理速度和数据吞吐能力、简化了接口设计,同时降低了系统功耗并节约了电路板空间。
本次设计中应用的芯片为TMS 320F2801。芯片内部具有16kB的Flash, 12kB的SARAM。由于采用哈佛结构、指令流水线操作、硬件乘法/累加器功能以及多种寻址方式使得芯片的操作速度大大增加。芯片提供PLL锁相环模块用来控制DSP内核的工作频率,使得芯片内核的执行速度可达到100Mb/s。同时,TMS320F2801提供丰富的PWM资源,包括6路的EPWM波和2路的APMW波,从而实现8路PWM的模拟量输出功能。
二 模拟量输出控制器的硬件设计与实现
本模拟量输出控制器的系统结构如图1。
系统主要由DSP TMS320F2801、PWM转换D/A电路、自检信号转换电路、电源电路、看门狗电路、CAN接收器等几部分组成。考虑到模拟信号对数字信号的干扰,需要对模拟信号进行隔离,故硬件电路中加入光电耦合电路和高精度线性光耦电路对模拟侧信号和数字侧信号进行隔离。模拟量输出控制器的工作原理如下:控制器通过CAN通信接收到外部设备(包括PC机和支持通信协议的各种设备)下发的输出指令信号,DSP经过逻辑分析和运算设定8路PWM输出,然后通过PWM转换D/A电路得到现场信号所需要的模拟量输出值。同时,控制器会对产生的模拟量输出值进行自检,通过自检信号转换电路传送至DSP的A/D采样通道。这样,形成闭环控制,实时有效地控制模拟量输出信号。
三 电源供电电路的设计
TMS320F2801供电为两部分:内核供电1.8V和外核供电3.3V。芯片对于上电次序有着比较严格的要求,要求内核上电的时间必须提前于或者同时于外核上电的时间。
此次设计中,为满足TMS320F2801的上电要求,电源芯片选用TPS70151带上电次序的双电源管理芯片。TPS70151芯片输入电压为+5V,提供双电源输出,分别为3.3V和1.8V。通过电源管理芯片,用户可通过控制芯片上的SEQ端改变两路电源的上电顺序。在本次设计中,TPS70151芯片的SEQ端上拉,使得Vout2(1.8V)先上电,然后Vout1(3.3V)后上电,从而满足DSP芯片上电顺序的要求。
四 PWM输出产生方式及D/A转换电路的设计
TMS320F2801芯片提供大量外设功能供用户满足不同的要求。通过对芯片内部的增强型脉宽调制模块(EPWM)的设置可得到6路EPWM波形。同时,增强型捕获模块可以产生2路APWM波形。这样,模拟量输出控制器可产生8路PWM输出波形。
本设计中,通过光电耦合芯片将数字侧和模拟侧信号完全隔离。转换后的PWM波形经过RC滤波稳压和电流串联负反馈电路维持负载上的恒定电流。PWM经过二级RC滤波,稳压成平均电压Vi。Vi经过电压跟随电路以及电流串联负
输出控制器 TMS320F280x 相关文章:
- TMS320xF24xx至C2000 Piccolo TMS320F280xx 的迁移概述(04-07)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)