最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于单片机MSP430的正弦输出波形设计

来源:动视网 责编:小OO 时间:2025-09-30 21:09:51
文档

基于单片机MSP430的正弦输出波形设计

Ξ收稿日期:2006-03-14;修回日期:2006-04-15作者简介:陈古波(1975-),男,重庆人,主要从事实验教学工作.【计算机与自动化】基于单片机MSP430的正弦输出波形设计Ξ陈古波,向险峰,李双(重庆工学院电工电子技术实验中心,重庆400050)摘要:根据电力系统模拟测试继电保护的需要,采用MSP430单片机产生正弦信号来控制需要输出的模拟量.介绍了该方法的硬件组成和软件编程,并给出了具体的程序.最后介绍了该设计在实际的测试系统中的应用.关键词:正弦波;MSP430F1611;
推荐度:
导读Ξ收稿日期:2006-03-14;修回日期:2006-04-15作者简介:陈古波(1975-),男,重庆人,主要从事实验教学工作.【计算机与自动化】基于单片机MSP430的正弦输出波形设计Ξ陈古波,向险峰,李双(重庆工学院电工电子技术实验中心,重庆400050)摘要:根据电力系统模拟测试继电保护的需要,采用MSP430单片机产生正弦信号来控制需要输出的模拟量.介绍了该方法的硬件组成和软件编程,并给出了具体的程序.最后介绍了该设计在实际的测试系统中的应用.关键词:正弦波;MSP430F1611;
 Ξ 收稿日期:2006-03-14;修回日期:2006-04-15

作者简介:陈古波(1975-),男,重庆人,主要从事实验教学工作.

【计算机与自动化】

基于单片机MSP430的正弦输出波形设计

Ξ

陈古波,向险峰,李 双

(重庆工学院电工电子技术实验中心,重庆 400050)

摘要:根据电力系统模拟测试继电保护的需要,采用MSP430单片机产生正弦信号来控制需要输

出的模拟量.介绍了该方法的硬件组成和软件编程,并给出了具体的程序.最后介绍了该设计在实际的测试系统中的应用.关 键 词:正弦波;MSP430F1611;在线编程;象限;继电保护中图分类号:TP21    文献标识码:A 文章编号:1671-0924(2006)08-0087-03

The Design of Sinusoidal W ave ’s Output B ased on SCM MSP 430

CHE N G u-bo ,XI ANG X ian-feng ,LI Shuang

(E lectrical &E lectronic T echnology Lab Center ,Chongqing Institute of T echnology ,Chongqing 400050,China )

Abstract :Based on demand of electric power system for simulated relay protection test ,SC M MC U (MSP430)is used to produce sinus oidal signal s o as to control the output of simulative variables.This paper introduces the hardware com ponents and s oftware programming and puts forward specific programs ,and final 2ly introduces the application of the design in actual testing systems.

K ey w ords :sinus oidal wave ;MSP430F1611;On-line programming ;quadrant ;relaying protection

0 引言

  随着工业技术的迅猛发展,人们对电力的运行提出了更高的要求.要保证电力的运行可靠,必须配备先进的检测手段.以往检测电力设备,多采用模拟装置产生正弦信号进行调试,这种方法可控性不强,操作比较繁琐,无法实现自动化测试,精度也不能满足要求.本文中基于单片机MSP430的正弦输出波形设计,采用数字式的方式产生正弦信号,保证了输出的可控性和操作的简单性,能完全实现了自动化测试功能.本文中采用的TI 公司的MSP430单片机,由于指令少,编程语言采用C 语言编程(C430),具有在线编程的功能,可以大大缩短开发周期,降低开发成本.相对于系统机而言,基于单片机的设备由于携带方便,性能可靠,且具有价格优势,更适合于基层的检测调试.

1 正弦波的特征

  正弦函数的表达式为y =A sin (ωt +θ

),由该函数表达式可以得知正弦函数有3个量:幅值A ,初始相位θ,角频率ω(转化为频率f ,其关系式为ω=2πf ).如果这3个量是确定的,正弦函数就只是一个与时间有关的周期函数.

2 单片机的选型

  单片机选型主要应从以下几个方面入手:①单片机系列产品的完整性是否利于后续产品的升级;②其管脚能否兼容;③RAM 的空间容量;④程序空间的大小;⑤端口及中断的数量;⑥编程方式是否容易;⑦有无硬件乘法器.

参数的选择需要根据项目的要求而定,在笔者开发的这个项目中,选用的是TI 公司的MSP430F1611单片机,其主要参数、结构和功能如下:①低电源电压范围:1.8~3.6V ;②从等待到唤醒时间:6μs ;③基本时钟模块配置:

第20卷 第8期Vol.20 No.8重 庆 工 学 院 学 报

Journal of Chongqing Institute of T echnology

2006年8月Aug.2006

高速晶体(最高10MH z )、低速晶体(32768H z )、DC O 具有3/7个捕获/比较寄存器的16位定时器T imer-A3/T imer-B7;④两通道串行通信接口可用于异步与同步(软件选择US ART /SPI 模式);⑤具有一个硬件乘法器和12位A/D 转换器———ADC12;⑥2个具有中断功能的8位并行端口———P1和P2;⑦多达48K B 的F LASH ROM 和10K B RAM ;⑧具有串行在线编程和安全熔丝的程序代码保护功能.

3 项目的实现

3.1 硬件部分.由单片机MSP430的P1和P4口(

具有控制I/O 方向、输出、输入的功能)输出16位的正弦函数数值,经过D/A 转换,输出正弦波形.D/A 选用16位、有4路输出的DAC74.图1为该项目硬件框图:

图1 硬件实现电路框图

  其中键盘为项目的功能选择部分,通过旋转编码器实

现数值输入,开入量采集为继电保护的触点引入处理电路,保护电路用于仪器出口出现故障时切断输出,D/A (DAC74)将单片机输出的数值转化为所需的正弦波形,滤波放大是将D/A 输出波形进行放大、平整光滑处理,功率模块是将小信号放大,目的是能够提供强负载的大电流、电压,通过外接高精度的检测仪表可以自动调节仪器的输出精度.3.2 软件部分.由于单片机处理的是数字信号,而正弦波是一个连续变化的模拟量,所以就必须对一个周期内的正弦波形进行点数选择(斩波处理).周期内选择的点数越多,得到的波形就越接近真实的波形;但另一方面,由于单片机处理的速度有限,点数如果选取过多,单片机就无法处理其它程序,进而导致死机.本文中在一个周期内(一个

周期360°)选择100点,即每隔3.6°计算一个正弦函数值,由

单片机中断送出.图2为该程序流程图.

由于单片机处理正弦函数的计算会耗去很长时间,

如果单片机一边中断送数,一边计算下一个点的正弦函数值,这样在速度响应上就会存在问题.因此该项目采用先计算好一个周期为100点的正弦函数值,存放在RAM 中,在中断送数的过程中只负责取出数据即可.根据正弦函数的特点有:

当0°ΦαΦ180° sin α=sin (180°-α

)当180°<α<360° sin α=-sin (360°-α)所以,只要0°ΦαΦ90°求出的函数值,周期内其它函数

值也就相应确定(在此用sinn[]数组存储以0.1°为步长、0°ΦαΦ90°的正弦函数值),其目的是为了节约单片机的程序

空间,如果以0.1°(分辩率)存储一个点(2个字节),90°需要

占用1.8K 字节,360°就需要占用7.2K 字节,这会对单片机的有限空间将造成极大浪费.

图2 MSP430输出正弦波形程序流程图

  由于sinn[]数组只存储了0°ΦαΦ90°的函数值,所以在

求整个周期内的函数值时,需要判断该点所处的象限,再进行查表计算.以下为在RAM 中存放周期内100个点的正弦函数值的实现程序:

v oid zxcx w (long fz ,float g ,int zero )∥正弦函数初始相位判断及计算{ int n ,n0,t ;float g f ;xx1:∥计算初始相位0°~90°的正弦函数数组

n0=g f 310;∥初始点

for (n =0;n <100;n ++) ∥总点数为100,正弦波两个点之间相差3.6°, { t =n0+363n ;    ∥而sinn[]存储的两个点间隔0.1°

if (t >900)g oto c11;      ∥第1象限an[n]=0x7fff +zero +(fz 3sinn[t ]>>15);return ;   c11: if (t >1800)g oto c22;    ∥第2象限

t =1800-t ;an[n]=0x7fff +zero +(fz 3sinn[t ]>>15);return ;

   c22: if (t >2700)g oto c33;    ∥第3象限

t =t -1800;an[n]=0x7fff +zero -(fz 3sinn[t ]>>15);return ;

88重庆工学院学报

t=3600-t;an[n]=0x7fff+zero-(fz3sinn[t]>>15);return;   c44:∥第1象限

    t=t-3600;an[n]=0x7fff+zero+(fz3sinn[t]>>15);return;

   }

}

v oid zxa(float vifa,float ga,int zeroa)∥A相正弦函数(幅值、相位、零点)

{

 long a;

 int n;∥满度为30000

 a=vifa32003iF LASH-Valuea+0.5;∥iF LASH-Valuea为修正系数 zxcx w(a,ga,zeroa);

 for(n=0;n<100;n++)

 {bn1[23n]=an[n]>>8;

 bn1[2

3n+1]=an[n];}

}

如果一个周期频率f=50H z,则T=1/f=20ms,根据项目要求在一个周期内单片机送出100个点,那么单片机每隔200μs就需送出一个点,下面为定时器中断定时间隔设定的程序.如果要改变周期的频率,只需改变CCR0的值即可,程序如下:

∥定时器timer-A设置

T ACT L=0x0214;  ∥设timer-A时钟源为系统主时钟MC LK(10MHZ),0x0200

∥设timer-A为增记数模式,0x0010

∥设timer-A定时器清0,0x0004

CCT L0=CCIE;     ∥中断允许

CCR0=2000;     ∥定时器设定值,2000=200uS

为了得到连续的正弦波形,单片机在送数的过程不能被其他程序中断,只要当定时器的值满足设定值时,就按既定点的顺序送出正弦波的函数值.以下为中断函数程序:

#pragma vector=TI MERA0-VECT OR

interrupt v oid T imer-A0(v oid)∥定时器A中断函数

{

  P5OUT=0X0F;     ∥选A通道和W

  P4OUT=bn1[n1];∥P4口输出高8位

  n1++;

  P1OUT=bn1[n1];∥P1口输出低8位

  n1++;

  if(n1>199)n1=0;∥送完100点后n1置0重新下一个周期送数

  P6OUT=0XF0;∥DA片选变低

  P6OUT=0XF7;

}

4 项目的应用

  通过单片机实现正弦波的输出,外接电压、电流功率放大模块,就可方便地实现对电压、电流幅值的自由调节、频率大小的改变和相位的随意控制,可广泛应用于电力系统中的继电保护的测试.如可用于电流、电压、频率动作值测试,相位动作边界测试,触点动作时间的测试,整祖传动测试(瞬时故障、永久故障),低周减载测试等等.

参考文献:

[1] 胡大可.MSP430系列F LASH型超低功耗16位单片机

[M].北京:北京航空航天大学出版社,2001.

[2] 胡大可.MSP430系列单片机C语言程序设计与开发

[M].北京:北京航空航天大学出版社,2003:56-177.

[3] 魏小龙.MSP430系列单片机接口技术及系统设计实

例[M].北京:北京航空航天大学出版社,2002.

[4] 尹项根.电力系统继电保护原理与应用[M].武汉:华

中科技大学出版社,2001.

[5] 张举.微型机继电保护原理[M].北京:中国水利水电

出版社,2004.

(责任编辑 刘 舸)

98

陈古波,等:基于单片机MSP430的正弦输出波形设计

文档

基于单片机MSP430的正弦输出波形设计

Ξ收稿日期:2006-03-14;修回日期:2006-04-15作者简介:陈古波(1975-),男,重庆人,主要从事实验教学工作.【计算机与自动化】基于单片机MSP430的正弦输出波形设计Ξ陈古波,向险峰,李双(重庆工学院电工电子技术实验中心,重庆400050)摘要:根据电力系统模拟测试继电保护的需要,采用MSP430单片机产生正弦信号来控制需要输出的模拟量.介绍了该方法的硬件组成和软件编程,并给出了具体的程序.最后介绍了该设计在实际的测试系统中的应用.关键词:正弦波;MSP430F1611;
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top