原创 MSP430单片机在电力系统操作电源中的应用(二)

2009-10-25 13:29 1851 17 17 分类: 消费电子

 

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

 

参考文献

 

1.沈建华 杨艳琴 翟骁曙 MSP430系列16位超低功耗单片机原理与应用 清华大学出版社

2.秦龙 MSP430单片机C语言应用程序设计 电子工业出版社

3.胡大可 MSP430系列超低功耗16位单片机 北京航空航天大学出版社

  登陆www.adum.com.cn了解更多。

 

 

文章评论0条评论)

登录后参与讨论
我要评论
0
17
关闭 站长推荐上一条 /2 下一条