MSP430单片机在电力系统操作电源中的应用

日期:2008-12-07 00:00:00   浏览次数:2793   

引言 

 

本文以MSP430单片机为例,详细介绍了MSP430单片机在电力操作系统设计中的应用。电力控制电源从相控整流到高频开关电源,其控制越来越复杂,促使人们采用新的控制手段来迅速反映模块变化,以大幅度提高开关电源模块稳定运行水平.在整个控制系统中,要求处理采样数据及采用的算法也越来越多.传统的微处理器如MSC51系列等单片机由于内部集成资源相对少、外围电路复杂、系统抗干扰能力差、不擅长数据处理的缺点以逐渐不能满足高科技水平的需要

 

MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的混合信号处理器.该单片机将大量的外围模块整合到片内,采用存储器-存储器结构,即用一个公共空间对全部功能模块进行寻址,同时用16位精算指令组(RISC)对全部功能模块进行操作,其RAM单元也可实现运算.在MSP430系列单片机中,系统各个功能模块完全是独立运行的.因其是在DSP的基础上发展起来的,所以具有DSP的一些优点。

 

其主要技术特点如下

1、超低功耗。

2、强大的处理能力。

3、高性能模拟技术及丰富的片上外围模块。

4、系统工作稳定。

5、方便高效的开发环境

 

本系统采用MSP430F155型号单片机,系统总体结构图如下

 

 

图1、系统总体结构图

 

1系统设计

 

1.1 最小系统的设计 

 

MSP430F155单片机具有非常丰富的片内资源,因此,最小系统无需配置过多的外围接口芯片就可满足本系统要求,其最小系统组成如系统整体结构图所示。

 

本系统基础时钟LFXT1振荡器工作在低频模式,外接低速晶振,作为内部时钟源。LFXT2振荡器外接8M晶振,工作于高频模式,作为其他外围模块的时钟源。

 

电源对A/D转换的精度有直接的影响,数字、模拟需要分别供电,并且电源连接接地点的旁路电容采用钽电容和磁片电容并联的方式,大大减少了噪声的影响,提高了供电质量及A/D转换精度。在模拟地和数字地之间接入反向并联的二极管对,以消除低于700mV的电压差。或者在模拟地和数字地之间接入一个0欧姆的电阻,以减少模拟地对数字地带来的噪声干扰,为单片机的稳定工作提供了良好的环境。用户通过JTAG接口进行程序下载,实现CPU仿真调试功能。

 

图2、最小系统结构图

 

 

1.2 逻辑电平转换电路

 

目前,很多设计中3V(含3.3V)逻辑系统和5V逻辑系统共存。随着更低电压标准的引进,不同电源电压逻辑器件间的接口问题会在很长一段时间内存在问题。

 

1.2.1 逻辑电平转换的必要性

 

在混合电压系统中,不同电源器件相互接口会存在3个问题:输入和输出最大电压限制问题两个电源间电流的互串问题;输入转换门限问题。

 

器件对加到输入脚或输出脚的电压通常是有限制的。这些引脚有二极管或分离元件接到Vcc。如果接入的电压过高,则电流将会通过二极管或分离元件流向电源。例如3V器件的输入端接上5V信号,则5V电源将会向3V电源充电。持续的电流将会损坏二极管和电路器件。在等待或掉电方式时,3V电源降落到0V,大电流将流通到地,这使总线上的高电压被下拉到地,这些情况将引起数据丢失和元件损坏。另外,用5V器件来驱动3V器件有很多不同情况,同样TTL和CMOS间的转换电平也存在不同情况。驱动器必须满足接收器的输入转换电平,并要有足够的容限保证不损坏电路元件。

 

1.2.2 逻辑电平接口电路设计

 

本系统是混合逻辑电平电路:MSP430是典型的低工作电压芯片(1.8-3.6),通讯芯片ADM2483采用的5V供电。在此选用74LVC07作为逻辑电平接口芯片。74LVC07是一种双电源的电平移位器,电路如下图所示。VDD1端用5V电源供电,而VCC端用3. 3V电源供电。

 

图3、ADM2483连接电路图

 

 

74LVC07的电平移位在其内部进行。双电源能保证两边的输出摆幅都能达到满电源幅值,并且有很好的噪声抑制性能。因此,该器件作为混合逻辑电平电路中的接口芯片是很理想的。

 

 

1.3 模拟量取样与变换电路

模拟量取样与变换电路主要完成强电信号与弱电信号之间的隔离和变换,该电路包括电压信号分压电路、电流信号放大电路、电平提升电路和滤波电路等。

 

1.3.1 电压信号转换电路

 

采集电压范围不适合MSP430F155的要求,应对其信号进行缩小处理。用分压电阻将分压降至MSP430F155所需要的幅值VSE+。VSE+电压幅值用运放搭建的跟随器输出OUT-V,直接给单片机使用。图中的电位器微调,用于调整单片机系数。

 

图4

 

1.3.2 电流信号放大电路

 

高频开关电源输出电流也随着负荷变化,在几安培到三十安培之间变化。模块采用30A/75mV的分流器,将输出的电流信号转换为电压信号,并通过放大电路把电压信号升高到MSP430F155允许的幅值。运算放大器视精度要求使用,使用性能较好的运算放大器较容易达到较高的精度和较好的稳定性。此处选用BB公司的高精度运放OPA177。ISE-通过分流器采样的毫幅级电压值,经过调节反馈电位器VR3和R28的阻值得到IOC,再通过跟随器及电位器VR2微调,以符合单片机采样信号是电压信号的要求。由于分流器的输出和运放的地连在一起,减小了共模干扰。

 

图5

1.3.3 输出信号的给定放大电路

 

单片机通过D/A给定两个电压值分别控制输出电压的电压环和限流的电流环,以达到控制输出的目的。

 

由于MSP430F155系列的单片机D/A电压输出的最大幅值为VCC,达不到控制电压环和电流环所需要的幅值,从而采用下图所示的运算放大电路,V_DW所接的是电位器,它的位置是在前面板上,通过调节电位器改变电压参数,达到调节输出电压的目的。

图6

1.4 通讯电路

 

通讯模块是本系统的一个重要组成部分,控制器通过通讯模块实现历史运行数据及有关信息的上传和基本参数、控制命令等的接收,能否设计一个较为成功的通信电路将直接影响到控制器的调试、功能及其可用性。

 

由于30A高频开关电源模块模拟和数字共地,噪声干扰强度大,使ADM2483的5V电源畸形波动,最终导致通讯不能正常工作。所以ADM2483供电的5V电源是经过DC-DC转换所得。B0505S的输出电流100mA满足供电需求。 ADM2483内部采用磁耦隔离

 

2本系统采用MSP430F155的软件设计

 

本系统的软件设计使用C语言。并采用模块化结构设计,将各功能模块设计为独立的编程调试程序块,这样不仅有利于今后实现功能扩展,而且便于调试和连接,更有利于程序的移植和修改。其结构如下图所示。

 

图7、程序结构图

 

系统程序由数据采集模块、参数计算模块、中断报警模块、内部存储模块、通讯中断模块、控制模块等几个组成部分主程序流程图如下:

图8、主程序流程图

 

下面分别介绍各主要模块设计

 

2.1 数据采集模块设计

MSP430F155内部集成的12位精度的A/D转换模块内置参考电平发生器和采样保持电路,最大采样速率达200Ksps,转换时间短,能适应输入信号的变化,且具有很强的抗干扰能力,能够满足系统的需要。控制器对二个信号进行采样,对应A/D转换通道的3, 4通道,分别为:模块的输出电压和输出电流。

 

为了确保采样点在同一个采样周期内,软件采用定时中断采样法。定时中断时间t=T/N,其中t为定时中断时间,N为采样的点数,采样点数的选择还要考虑测量数据的精度和运算速度的因素。以满足MSP430F155运行的需要。

本系统高频晶振为8MHz,用TimerB作为定时中断器,定时器计数值为8000,即每隔1000us采一个点,每秒可采1000个数据。采集程序流程如下图所示。

 

图9、采集程序流程图

 

2.2 参数计算模块设计

 

控制器在现场运行中,总是存在着各种各样的现场干扰,为了保证控制器可靠的进行控制操作,必须尽可能大的抑制各种干扰和测量所引入的随机误差。为此,本系统除了在硬件上采用滤波技术之外,在软件算法中采用数字滤波。

 

常用的数字滤波算法有以下几种

 

2.2.1 程序判断法

 

程序判断法又称限幅滤波法,其方法是把两次相邻的采样值相减,求出增量(以绝对值表示),然后与两次允许的最大差值Y进行比较,Y的大小由被测对象的具体情况而定,若小于或等于Y,则取本次采样值;若大于Y;则取上次采样值作为本次采样值,即

|Yn一Yn-1|≤Y,则Yn有效,

|Yn一Yn-1|<Y,则Yn-1有效

 

2.2.2 中值滤波法

 

对某一参数连续采样N次(一般为齐次),将N次采样值按从小到大排队,再取中间值作为本次采样值。

 

2.2.3 算术平均滤波法

 

对连续N次采样值进行算术平均,其数学表达式为Y 其中Y为平均值,Y为第i次采样值。算术平均滤波法对信号的平滑程度完全取决于NN越大,平滑度越高,灵敏度越低。反之,平滑度低,灵敏度高。

 

软件设计中,采样的电压、电流均采用了软件滤波算法。由于本系统的实时性要求不是很高,而可靠性要求较高,因而滤波算法选取主要考虑计算的稳定。为了提高系统的计算速度,所有的计算均是边采样边计算。

 

2.3 通讯模块设计

 

要保证通讯成功,单片机必须能处理以下问题:单片机可以识别外部传来的附加在命令之上的数据:单片机应该能够识别无效指令通信中,单片机应能处理一些通信错误,并对错误做出相应的处理;不管收到任何传送给本机的命令,本机都应做出相应的响应。通信协议包含下面几个部分的内容:命令部分、数据部分、编号部分、误检测部分和起始字、结束字。

 

图10

 

2.4 FLASH型信息存储器读写程序设计

 

在恶劣的工作环境中,测控系统常常受到各种干扰。干扰的主要影响之一是破坏了系统正常工作所需的各种可编程常数以及测控得到的测量数据,从而使得整个系统的可靠性大为降低。因此,保护这些要求非易失性存储的关键数据不被破坏、确保数据的安全性对于测控系统来说是至关重要的。

 

本系统中,一些参数要由用户来设定,在系统断电以后,要求这些参数不会丢失。MSP430F155芯片集成有256字节的FLASH信息存储器,而且在编程时可以通过修改配置文件来将属于程序存储空间的地址划分为信息存储空间以适应所需保存的数据量的要求,因此,从数据的可靠性以及保存的数据量、擦写次数和硬件成本等因素考虑,本系统利用MSP430F155芯片片内集成的FLASH信息存储器来记录系统参数。

 

3软件抗干扰设计

 

3.1 开关量输入输出的抗干扰措施

 

干扰信号一般都是很窄的脉冲,而开关量信号持续有效的时间较长。根据这一特点,可以对同一开关量信号连续多次采集或间隔一个很短的时间多次采集。间隔的时间可以根据有用信号的宽度和要求相应的速度来确定,连续两次或两次以上采集的结果完全相同才一认为有效。

 

在系统中,常常会用开关量输出电路来IGBT等执行机构。这些执行机构动作时,往往产生干扰信号,有时这些干扰信号会通过公用线路反馈到输出接口,可能改变输出寄存器的内容,造成误动作。最有效的软件解决办法就是重复输出相同的数据给外部负载。如有可能,重复周期尽可能地短,使外部设备收到干扰信号还来不及作出反应,正确的输出信息又送到了,这样就可以防止误动作。

 

3.2 模拟量输入输出的抗干扰素措施

 

干扰信号作用到模拟量输入通道上,使A/D转换结果偏离真实值口对于微弱的模拟量信号,问题更为严重。如果仅仅采样一次,无法确定结果是否可信,必须多次采样,对采样序列值经过比较和处理后,才能得到一个较为可信的转换值。亦即进行数字滤波。

 

数字滤波的方法有很多种,比如算术平均值滤波、加权平均值滤波、滑动平均值滤波、惯性滤波等。在本系统中,A/D滤波采用中值滤波法、算术平均值滤波等,以减少系统的随机干扰对采样结果的影响。

 

3.3程序执行过程中的抗干扰素措施

 

如果干扰信号通过某种途径作用到CPU上,则CPU就不能按正常执行状态执行程序而引起混乱,即程序“跑飞”。程序“跑飞”后往往将一些操作数当作操作码来执行,从而引起整个程序的混乱。采用“指令冗余”,就是在一些关键的地方人为地插入一些单字节的空操作指令。当程序“跑飞”到某条单字节指令上时,就不会发生将操作数当成指令来执行的错误,即该条指令不会被前面冲下来的失控程序拆散,而会得到完整的执行,从而使程序重新纳入正常轨道。

 

另一种软件抗干扰素措施即所谓“软件陷阱”。“软件陷阱”是一条引导指令,用来捕获跑飞的程序并强行将捕获的程序引向一个指定的地址,在那里有一段专门处理错误的程序。通常软件陷阱都安排在正常程序执行不到的地方,故不会影响程序的执行效率。

 

如果“跑飞”的程序落到一个临时构成的死循环中,冗余指令和软件陷阱都将无能为力,这时只有采用复位的方法强迫程序从头开始重新运行来使系统恢复正常。最常用的一种自动复位方法就是采用“看门狗”。

 

4结束语

 

综上所述,MSP430单片机通过软件和硬件的设计,充分地在它的抗干扰性、运算速度快等性能。在电力系统操作电源中可以安全、稳定的运行。达到了预期的设计要求,并且已经在正式的产品中开始应用。