保捱科技网
您的当前位置:首页vhdl语言多功能信号发生器

vhdl语言多功能信号发生器

来源:保捱科技网
河南机电高等专科学校结课大作业

河南机电高等专科学校 《职业技能培训》结课大作业

多功能信号发生器设计

姓 名: 专业班级: 学 号: 0 任课教师: 时 间: 成 绩:

河南机电高等专科学校结课大作业

多功能信号发生器设计

医电08级1班 刘登臣 任课老师:石新峰

摘要:信号发生器是一种常用的信号源,广泛应用于电子电路,自动控制系统和教学实验等领域。目前使用的信号发生器大部分是函数发生器,且特殊发生器的价格昂贵,所以本设计使用的是ATc51单片机构成的发生器,可产生三角波方波正弦波等多种特殊波形和任意波形,波形的频率可用程序控制改变。在单片机上加外围器件矩阵式键盘,通过键盘控制波形频率的增减以及波形的选择,并用了LED显示频率的大小。在单片机的输入端口进行D/A转换,再通过运放进行波形调整。本设计具有线路简单、结构紧凑、价格低廉、性能优越等优点。

关键词:信号发生器;单片机;波形调整

河南机电高等专科学校结课大作业

目录

1. 概述 ............................................ 4 2. 设计要求 ........................................ 4 3. 总体构思 ........................................ 4 4. 各单元电路的设计和实现 ........................... 6 5. 功能仿真及其结果 .................................. 8 6. 编译,现在及调试 ................................ 17 7. 总结与展望...................................... 22 参考文献 ............................................ 22

河南机电高等专科学校结课大作业

1. 概述

近年来,正弦脉宽调制技术(简称为SPWM技术)以其优良的传输特性成为电力电子装置中调制技术的基本方式。SPWM法就是以正弦波作为基准波(调制波),用一列等幅的三角波(载波)与基准正弦波相交,由交点来确定逆变器的开关模式。这样产生的脉冲系列可以使负载电流中的高次谐波成分大为减小。电力电子技术和微机控制技术的发展使得正弦波脉宽调制技术(SPWM在电气传动、ups电源等领域得到广泛的应用,如何产生标准的、精确的和可控的SPWM信号是实现这种技术的关键。

2. 设计要求

1.学习MSP430F169单片机等器件的工作原理及各引脚的说明,掌握MSP430F169单片机系统的工作原理和设计方法。利用MSP430F169等元器件完成单片机系统设计和焊装、调试。

2.使用MAX038芯片实现正弦、三角波信号产生器和单片机测频电路、程序设计。

3.完成基于MSP430F169单片机的SPWM程序设计和SPWM驱动电路硬件焊装、调试

3. 总体构思

3.1总体设计框图

总体设计框图如图1-1所示。

河南机电高等专科学校结课大作业

图 1-1总体设计框图 1)按键

通过按键设定所需要的波形频率,并在LED上显示频率大小。 2)MSP430F169单片机模块

MSP430F169单片机构成的发生器,可产生三角波、方波、正弦波等多种特殊波形和任意波形。

3)LCM128显示模块

LCM128液晶显示模块是由128列行液晶显示点阵和其控制电路组成,显示模块不仅可以显示数字,还可以显示汉字和图形。

4)SPWM驱动电路

220V交流电经降压变压器降压后输出到整流桥变成单向脉动电压,经滤波电容滤波后变为直流电压。该直流电压值随电网电压波动,不能直接供给电子电路使用。7805是专用三端稳压器件,输入滤波后的电压(约为9V)输出稳定的5V电压供LCM128使用。 3.2信号发生器简介

信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。目前使用的信号发生器大部分是函数信号发生器,且特殊波形发生器的价格昂贵。本设计使用的是MSP430F169单片机构成的发生器,可产生三角波、方波、正弦波等多种特殊波形和任意波形,波形的频率可用程序控制改变。在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率大小。在单片机的输出端口接电路产生双路互补信号,电流源采用桥式稳压电源。本设计具有线路简单、结构紧凑、性能优越等优点

河南机电高等专科学校结课大作业

4. 各单元电路的设计和实现

4.1电源部分

220V交流电经降压变压器降压后输出到整流桥变成单向脉动电压,经滤波电容滤波后变为直流电压。 4.2 MSP430单片机

4.2.1 MSP430系列单片机的特点

MSP430系列单片机是德州仪器公司于上世纪九十年代开发出的产品,已在许多领域得到了广泛应用。MSP430系列单片机具有以下主要特点:

1)超低功耗。 2)强大的处理能力。 3)高性能模拟技术及丰富的片上外围模块。 4)方便高效的开发环境。5)系列化产品。

MSP430系列单片机的各系列产品型号、研发顺序如图2-1所示:

图4-1 MSP430系列单片机各系列产品

4.2.2 MSP430F169单片机结构概述

MSP430F169单片机结构框图如图2-2所示。其结构特点如下: 1)16位CPU通过总线连接到存储器和外围模块。 2)直接嵌入仿真处理,具有JTAG接口。 MSP430F169系列单片机包含以下主要功能部件:

1)CPU:MSP430系列单片机的CPU和通用微处理器基本相同,只是在设计上采用了面向控制的结构和指令系统。具有较高的执行速度和效率,增强了MSP430系列单片机的实时处理能力。

功能:(1)内部:执行指令译码、数据处理;(2)外部:通过三总线(地址

河南机电高等专科学校结课大作业

总线、数据总线和命令总线)控制片内所含外设模块。

2)存储器:存储程序、数据以及外围模块的运行控制信息。分为程序存储器和数据存储器。MSP430F413的F是指该单片机采用FLASH型程序存储器。

图4-2 MSP430F169单片机结构框图

3)外围模块(也称片内外设):经过地址总线(AB)、数据总线(DB)、中断服务及请求线与CPU相连。MSP430F169单片机包含的外围模块有:时钟模块、看门狗模块、定时器A、定时器B、比较器A、输入输出端口、A/D转换模块和D/A转换模块等。

4.2.3 产生SPWM的几种方法方法

众所同知,正弦波眯宽调具有结构简单、电网功率因数与逆变器输出电压无关、动态响应好、输出电压波形近似为正弦波和系统调速范镯宽等优点 SPWM渡形的生成方法一般有1种:自

然采样法、规则采样I法、规则采样I法和直接面积等教法,前三种比较常用,后一种往往被认为计算复杂而不予采用,经深入研究,它具有控制精度高、输出正弦波形好、开关点实时计算并不复杂,不像前三种方法的开关点计算都需要解比较复杂的方程。

自然采样法

按照SPWM控制的基本原理,在正弦波和三角波的自然交点时刻控制功率开关器件的通断,这种生成SPWM波形的方法称为自然采样法。正弦波在不同相位角时其值不同,因而与三角波相交所得到的脉冲宽度也不同。另外,当正弦波频率变化或幅值变化时,各脉冲的宽度也相应变化。要准确生成SPWM波形,就应准确地算出正弦波和三角波的交点。

规则采样法

规则采样法有两种:规则采样I法、规则采样Ⅱ法。自然采样法的主要问题

河南机电高等专科学校结课大作业

是SPWM波形每个脉冲的起始和终了时刻对三角波的中心线不对称,使求解困难。如果设法使SPWM波形的每一个脉冲都与三角载波的中心线对称,就可以简化,而且两侧的间隙时间相等,从而使计算工作量大为减轻。其实质是用阶梯波来代替正弦波,使算法简化。在规则法中,三角波每个周期的采样时刻都是确定的,不作图就可算出相应时刻的正弦波值。

等效面积法

任取正弦表中的一个小区间[t,t+dt],正弦波面积为Sl,则 S1 = M×Vs∫sinwtdt

= (M÷w)*Vs|coswt-cosw(t+dt)| 本实验采用的就是等效面积法。 4.3.3 逆变原理简述

通俗的讲,逆变器是一种将直流电(DC)转化为交流电(AC)的装置。它由逆变桥、控制逻辑和滤波电路组成。

逆变器的工作原理:

(1) 直流电可以通过震荡电路变为交流电。

(2)得到的交流电再通过线圈升压(这时得到的是方形波的交流电)。 (3) 对得到的交流电进行整流得到正弦波。

AC-DC就比较简单了 我们知道二极管有单向导电性,可以用二极管的这一特性连成一个电桥,让一端始终是流入的,另一端始终是流出的,这就得到了电压正弦变化的直流电,如果需要平滑的直流电还需要进行整流 ,简单的方法就是连接一个电容。

逆变的目的:实现可调频。为了产生SPWM,要严格控制逆变这个要求。

5. 功能仿真及其结果

5.1 多功能信号发生器系统电路图

多功能信号发生器系统电路图如图3-1所示。

河南机电高等专科学校结课大作业

图3-1多功能信号发生器系统电路图

图3-1多功能信号发生器系统电路图由以下六部分组成:

1)按钮控制 通过按钮设定所需要的波形频率,并在LED上显示频率大小。 2)MSP430F169单片机 MSP430F169单片机构成的发生器,可产生三角波、方波、正弦波等多种特殊波形和任意波形。

3)直流稳压电源。 4)LCM128液晶显示器。

5)双路互补SPWM信号产生电路 其中加速电容在正向时使三极管快速导通,反之快速截止。

6)LM741CN放大器。 5.2 MSP430F169单片机原理

5.2.1 MSP430F169单片机引脚简介

MSP430F169单片机部分引脚名称及功能如表3-1所述。 表5-1 MSP430F169引脚功能表

引脚名称

引脚编号

I/O

描述 模拟正电源

AVCC

端,向电压检测

电路,brownout,晶体振荡电路,所频环电路,比

河南机电高等专科学校结课大作业

较器A,端口1,以及液晶分压电阻网络供电。

模拟负电源

AVSS

62

端,内部连接于DVCC。

数字正电源

DVCC

1

端,提供所有部件电源。

数字地,所

DVSS

63

有部件的接地端。

VeREF+

10

外部参考电压输入。

晶振XT2输入。

晶振XT2输出。

通用数字

P5.4/MCLK

48

I/O

I/O;主要系统时钟MCLK输出。

P5.0/STE1†

44

I/O

通用数字I/O。

通用数字I/O。

通用数字I/O。

通用数字I/O。

通用数字I/O。

XT2IN 53 I/O

XT2OUT 52 I/O

P3.3/UCLK0/SCL 31 I/O

P3.2/SOMI0 30 I/O

P3.0/STE0 28 I/O

P1.1/TA0 13 I/O

河南机电高等专科学校结课大作业

通用数字

P1.0/TACLK

12

I/O

I/O;定时器A时钟输入。

XIN

8

I

基本振荡器XT1输入端。

晶体振荡器XT1输出端。

XOUT

PIO端

9 I/O

PIO端口是并行输入输出端口,8位。MSP430F413单片机PIO端口特点: 1)类型丰富: P1,P2,P3,P4,P5,P6,S和COM。

2)功能丰富:I/O,中断能力,其它片内外设功能,驱动液晶。

3)寄存器丰富:P1与P2各有7个寄存器,P3、P4、P5、P6有四个寄存器。 具有中断功能的数据输入、输出端口P1和P2各寄存器符号和功能如下所述(以P1口为例):

1)P3IN:输入寄存器;2)P3OUT:输出寄存器;3)P3DIR:方向选择寄存器;4)P3SEL:功能选择寄存器。

5.3 MSP430F169与点阵显示器LCM128接口 5.3.1 LCM128液晶显示模块简介

LCM128液晶显示模块是由128列行液晶显示点阵和其控制电路组成,整个电路板外形、尺寸如图3-2所示。该显示模块不仅可以显示数字,还可以显示汉字和图形。模块电路板下端有20个接线引脚,其中VDD与VSS引脚是LCM128液晶模块电源与地接入端,VOUT是LCM128液晶模块自生成负电压输出端。VO 需要一个外部的0V~-10V 负压输入,可接入电位器调整液晶灰度。在背光电路中需要串接5 欧姆电阻,直接将背光接入电源可能会造成损坏。其余引脚由单片机控制。

河南机电高等专科学校结课大作业

图5-2 LCM128液晶显示模块外型图

LCM128液晶显示模块的引脚定义如表5-2所示。

河南机电高等专科学校结课大作业

表3-2 LCM128引脚说明

5.3.2 LCM128驱动电路

1)电源电路设计

LCM128耗电量大,不能使用电池供电。5V直流稳压电源如图3-3所示。

河南机电高等专科学校结课大作业

图5-3 直流稳压电源电路图

220V交流电经降压变压器降压后输出到整流桥变成单向脉动电压,经滤波电容滤波后变为直流电压。该直流电压值随电网电压波动,不能直接供给电子电路使用。7805是专用三端稳压器件,输入滤波后的电压输出稳定的5V电压供LCM128使用。MSP430系列单片机电源电压范围是1.8-3.6V,因此将5V电压经二极管降压0.7V后,供单片机系统使用。经长期实验验证,单片机系统可长期安全可靠运行,其优点是与5V供电的TTL或CMOS电路接口,不必再加电平转换电路。

2)单片机与LCM128接口电路 MSP430F169单片机与LCM128接口电路如图3-1所示。

5.4 MSP430F169单片机产生双路互补SPWM信号原理 5.4.1定时器产生PWM信号原理

MSP430F413定时器A具有输出两路PWM信号的功能,占空比d = t/T中的周期等于写入CCR0数值乘以时钟周期,TA1占空比的t值等于写入CCR1值乘以时钟周期,TA2占空比的t值等于写入CCR2值乘以时钟周期。本设计中送入CCR1和CCR2的数据相同,但TA1和TA2的输出模式互补,以便驱动H桥产生正弦交流PWM脉冲。

由于是在单片机中预先存入PWM数值表,按表定周期更新PWM脉宽值,使单片机定时器输出相应脉宽的脉冲。此方法的优点是可以根据实际需要在单片机的波形存储器中写入不同波形,随时更改、添加,能满足产生不同波形的需要。 5.4.2 SPWM信号占空比数据求法

正弦三角函数取值范围在1与-1之间,但PWM不可能出现负值。因此,将正弦函数值加1,平移到正数范围。将一个交变周期分为36个PWM周期的正弦

河南机电高等专科学校结课大作业

波数据表如下所示,将数据表中数据除2,即可得该角度的占空比。

1.0000,1.1736,1.3420,1.5000,1.28,1.7660, //0_50度 1.8660,1.9397,1.9848,2.0000,1.9848,1.9397, //60_110度 1.8660,1.7660,1.28,1.5000,1.3420,1.1736, //120_170度 1.0000,0.82,0.6580,0.5000,0.3572,0.2340, //180_230度 0.1340,0.2340,0.3572,0.5000,0.6580,0.82}; //300_350度

结合上述互补输出电路可见,数值1对应的PWM占空比为0.5,则A、B两点的正负脉冲对称,平均值为0,与正弦波0度值对应。

用两路定时器输出端同步互补发出上表所述SPWM数据,则可驱动H桥产生2VDD峰-峰值的SPWM波。 5.5 MAX038芯片原理 5.5.1 MAX038芯片特点

MAX038CPP芯片采用20引脚DIP封装,引脚图如图3-4所示。各引脚功能简述如下:

图5-4引脚图

REF:芯片内部2.5 V参考电压输出; GND:模拟地;

A1,A0:输出波形选择,TTL/CMOS兼容; FADJ,DADJ:输出频率、占空比调节; IIN:震荡频率控制器电流输入; PDI,PDO:内部鉴相器输入、输出;

SYNC:同步信号输出,允许内部震荡器与外电路同步;

河南机电高等专科学校结课大作业

DGND,DV+:内部数字电路电源; V+,V-:MAX038电源(+5 V,-5 V); OUT:波形输出端。

MAX038芯片附加少许外围电路就能够产生三角波、锯齿波、正弦波、方波、矩形脉冲波形。

该芯片具有如下的功能特点:

(1)输出频率范围:0.1~20 MHz,最高可达40 MHz:

(2)输出波形占空比(15%~85%)可调,占空比可由DADJ端调整,如果DADJ端接地,则输出占空比为50%;

(3)具有低输出阻抗的输出缓冲器,输出阻抗的典型值为0.1 Ω; (4)备有TTL兼容的同步信号SYNC(方波输出,固定占空比为50%),方便组建频率合成器系统; (5)低温度漂移。

5.5.2 MAX038芯片应用电路

MAX038芯片应用电路如图3-5所示。

图5-5 MAX038芯片应用电路

在两个与TTL/CMOS信号输入匹配的地址引脚A1,A0上输入合适的代码信号,能够实现输出波形变换的控制,具体输入代码和输出波形的对应关系如表1所示。

河南机电高等专科学校结课大作业

当V+=5 V,V-=-5 V,VDADJ=VFADJ=VPDI=VPDO=0 V,RL=1 kΩ,CL=20 pF,输出波形、频率变化调整时,输出电压能够稳定的达到Vp-p=2 V。

6. 编译,现在及调试

6.1程序流程图

主程序图如图6-1所示。

计算频 N 率? 初始化程序 主程序入口

Y

图6-1 主程序图

主程序设计主要要完成的功能概括如下: (1) 完成三相SPWM信号发生功。

(2) SPWM调制波频率10KHz,经1uF电容滤波可在示波器上观测到逆变后的

计算显示MAX038频率 河南机电高等专科学校结课大作业

正弦信号。

SPWM产生流程图如图4-2 所示:

图6-2 SPWM产生流程图

SPWM主要由计数器B来实现,具体实现方法如下:

用CCR0的计数值来计算出SPMW的周期,用CCR1—CCR6来计算出占空比。由于CCR1—CCR6的数是自己设的,且要产生SPWM,故所设定的数值要按正弦规律来改变。

增加SPWM频率设定功能

中断返回 更新CCR1.CCR2和CCR3中SPWM数据 定时器B中断入口

图6-3增加SPWM频率设定功能

通过按钮电路来增加SPWM的频率并在显示屏上显示。 6.2多功能信号发生器程序

多功能信号发生器程序显示程序如下:

#include

河南机电高等专科学校结课大作业

#include

#define TOP 0 // 竖直方向零点 #define BOTTOM // 竖直方向坐标最大值 #define LEFT 0 // 水平方向坐标最小值 #define RIGHT 128 // 水平方向坐标最大值 #define EN_WIDTH 8 // 数字字符串的长度 #define CH_WIDTH 128 // 中文字符串的长度

const unsigned char showData_0[]={//16*16点阵的“正弦波”

unsigned char px, // 显示字符串的X位置 py, // 显示字符串的Y位置 width; // 字符串的宽度 int data; // 显示数字 // write_Command(),用于写命令到LCD,CS(片选)在此函数外设置 void write_Command(char cmd) {

P3OUT &= 0xfb; //禁止 EN P5DIR = 0xff;

P3OUT &= 0xfc; //rs=0 ,r/w=0 P5OUT = cmd;

P3OUT |= 0x04; //使能 P3OUT &= 0xfb; //禁止 }

// 初始化LCD

px=16; py=112; width=16; drawStr_02(px,py); //显示CP脉冲频率 px=32; py=0; width=80; drawStr_04(px,py);

px=32; py=112; width=16; drawStr_02(px,py); //显示SPWM设定频率 px=48; py=0; width=80; drawStr_05(px,py);

px=48; py=112; width=16; drawStr_02(px,py); //显示SPWM输出频率 spwmf = (int)fj;

河南机电高等专科学校结课大作业

px=32; fff=spwmf; mmm_1=fff%10; fff=fff/10; py=104; drawStr_10(px,py,mmm_1);

mmm_1=fff%10; fff=fff/10; py=96;drawStr_10(px,py,mmm_1); py=88; drawStr_10(px,py,fff);

px=48; fff=spwmf; mmm_1=fff%10; fff=fff/10; py=104; drawStr_10(px,py,mmm_1); //显示SPWM输出频率值

mmm_1=fff%10; fff=fff/10; py=96;drawStr_10(px,py,mmm_1); py=88;

drawStr_10(px,py,fff);

_EINT(); // 使能中断 nnn =0; ce_flg=1; for(;;) {

if(ce_flg==1) //显示正弦波或三角波频率值 { _NOP();

if((P1IN&0x02)==2) {

px=0; py=0; width=; drawStr_0(px,py); } else {

px=0; py=0; width=; drawStr_01(px,py); }

px=0; py=104; width=8; mmm_1=mmm%10; mmm=mmm/10; drawStr_10(px,py,mmm_1) ;

py=96; mmm_1=mmm%10; mmm=mmm/10; drawStr_10(px,py,mmm_1) ; py=88; mmm_1=mmm%10; mmm=mmm/10; drawStr_10(px,py,mmm_1) ; py=80; mmm_1=mmm%10; mmm=mmm/10; drawStr_10(px,py,mmm_1) ; py=72; mmm_1=mmm%10; mmm=mmm/10; drawStr_10(px,py,mmm_1) ;

河南机电高等专科学校结课大作业

spwmin = P2IN & 0x83; //读入按键值 if(spwmin!=0) {

switch(spwmin) {

case 1: spwmf = spwmf +1; if(spwmf > 500) { spwmf = 10 ; } px=32; fff=spwmf; mmm_1=fff%10; fff=fff/10; py=104; drawStr_10(px,py,mmm_1);

mmm_1=fff%10; fff=fff/10; py=96;drawStr_10(px,py,mmm_1);

py=88; drawStr_10(px,py,fff); break; //更新设定的SPWM频率

case 2: spwmf = spwmf +20 ; if(spwmf > 500) { spwmf = 10 ; } px=32; fff=spwmf; mmm_1=fff%10; fff=fff/10; py=104; drawStr_10(px,py,mmm_1);

mmm_1=fff%10; fff=fff/10; py=96;drawStr_10(px,py,mmm_1);

py=88; drawStr_10(px,py,fff); break; //更新设定的SPWM频率

case 128: if((int)fj != spwmf) { //设定了新的频率 fj = spwmf;

N_1 =(int)(fs/fj);//计算新参数 nnn=0; //重新计数

px=48; fff=spwmf; mmm_1=fff%10; fff=fff/10; py=104; drawStr_10(px,py,mmm_1); //显示SPWM输出频率值

mmm_1=fff%10; fff=fff/10; py=96;drawStr_10(px,py,mmm_1); py=88; drawStr_10(px,py,fff);

} break; } }

河南机电高等专科学校结课大作业

ce_flg=0; }

_NOP(); // 仅为C-spy所需 } }

7. 总结与展望

技术工艺,是衡量一个企业是否具有先进性,是否具备市场竞争力,是否能不断领先于竞争者的重要指标依据。随着我国信号发生器市场的迅猛发展,与之相关的核心生产技术应用与研发必将成为业内企业关注的焦点。了解国内外信号发生器生产核心技术的研发动向、工艺设备、技术应用及趋势对于企业提升产品技术规格,提高市场竞争力十分关键。本实验设计的多功能信号发生器性能非常优越,在电子领域的应用非常广泛,很值得研究。虽然MSP430F169价格有些偏高,但是它低功耗这个优越的性能非常之符合“绿色节能”这个时代主题,相信会得到越来越广泛的应用。

参考文献

[1]普通高等教育“十五”规划教材《电子设计与实践》[M]

[2]北京航天航空大学出版社 《MSP430系列16位超低功耗单片机原理与实践》[M] 沈建华 杨艳琴 编著

[3]北京航天航空大学出版社 《MSP430系列单片机接口技术及系统设计实例》[M] 魏小龙 编著

[4]廖焕霖. Protel 99电路板设计者必读. [M]北京:冶金工业出版, 2000,108~128

[5]张义和. Protel PCB 99设计与应用技巧. [M] 北京:科学出版社,2000 [6]李珍. 单片机原理与控制技术. [M] 北京:清华大学出版社,2002,149~158

[7]范立南. 单片微机接口与控制技术. [M] 沈阳:辽宁大学出版社,1996,69~77

因篇幅问题不能全部显示,请点此查看更多更全内容