基于MSP430G2211实现的简易信号发生器sa

上传人:桔**** 文档编号:578409190 上传时间:2024-08-24 格式:PPT 页数:45 大小:2.13MB
返回 下载 相关 举报
基于MSP430G2211实现的简易信号发生器sa_第1页
第1页 / 共45页
基于MSP430G2211实现的简易信号发生器sa_第2页
第2页 / 共45页
基于MSP430G2211实现的简易信号发生器sa_第3页
第3页 / 共45页
基于MSP430G2211实现的简易信号发生器sa_第4页
第4页 / 共45页
基于MSP430G2211实现的简易信号发生器sa_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《基于MSP430G2211实现的简易信号发生器sa》由会员分享,可在线阅读,更多相关《基于MSP430G2211实现的简易信号发生器sa(45页珍藏版)》请在金锄头文库上搜索。

1、1MSP430G2系列系列Launchpad作品开发实例教程作品开发实例教程 n实例名称:实例名称:基于基于MSP430G2211实现的简易信号发生器实现的简易信号发生器 n作作 者:者:景振华景振华n制作单位:制作单位:西安电子科技大学测控工程与仪器系西安电子科技大学测控工程与仪器系n MSP430 MSP430单片机联合实验室单片机联合实验室n制作时间:制作时间:20112011年年1212月月第一章第一章 作品概述作品概述2作品基本情况介绍 n本作品基于TI的LaunchPad设计了一款简易信号发生器。n选用TI的MSP430G2211这款单片机。n作品采用DDS原理实现信号的产生。n使

2、用PWM调制波模拟DAC,外加一些基本的滤波和放大电路,实现了可产生正弦波、三角波、锯齿波的简易信号发生器。34作品相关技术参数波形种类正弦波三角波锯齿波频率范围(Hz)1100频率步进间隔(Hz)1最大幅值Vp-p(V)8输出阻抗()50其他功能幅度连续可调、频率按键可调、输出使能控制、LED指示系统硬件框图n整个系统硬件主要由TI的LaunchPad、滤波器电路模块、增益控制模块、按键菜单及LED指示灯模块和电源模块组成。56系统软件框图n整个系统的软件主要有主函数、定时器TA中断函数、按键中断函数三个大的模块组成。PCB板正面与背面图正面图7背面图作品实物图8第二章第二章 作品硬件系统设

3、计作品硬件系统设计910Launchpad开发板实物图TI的Launchpad开发板简介nTI的MSP430G2系列Launchpad开发板是一款适用于TI 最新MSP430G2xx 系列产品的完整开发解决方案。其基于USB 的集成型仿真器可提供为全系列MSP430G2xx 器件开发应用所必需的所有软、硬件。LaunchPad 具有集成的DIP插座,可支持多达20 个引脚,从而使MSP430 Value Line器件能够简便地插入LaunchPad电路板中。此外,其还可提供板上Flash 仿真工具,以直接连接至PC 轻松进行编程、调试和评估。此外,它还提供了从MSP430G2xx 器件到主机P

4、C 或相连目标板的9600 波特率的UART 串行连接。1112MSP430G2系列Launchpad开发板的特性nUSB 调试与编程接口无需驱动即可安装使用,且具备高达9600 波特的UART 串行通信速度 n支持所有采用PDIP14 或PDIP20 封装的MSP430G2xx 和MSP430F20xx 器件 n两个通用数字I/O 引脚分别连接至绿光和红光的LED 灯可提供视觉反馈 n两个按钮可实现用户反馈和芯片复位n器件引脚可通过插座引出,既可以方便的用于调试,也可用来添加定制的扩展板 MSP430G2211单片机的资源和功能n16位RISC指令集处理器n128字节RAM(数据)+2K字节

5、Flash存储器(代码)n一个16位TA定时器n内置数控振荡器(DCO),最高频率可达21MHzn9个双向I/O口,每个I/O口都可以作为中断源n自带BOR检测电路,能自动避开上电瞬间的毛刺并产生可靠的复位信号n内置低功耗低频振荡器(VLO)n可通过软件配置的8通道比较器13n作品中总共使用了三种电源:5V、3.6V、-5V。其中3.6V的产生是在1117-3.3的参考端加了二极管1N5819。-5V由负压产生芯片ICL7660产生。14电源模块PWM模拟DAC原理nPWM调制的本质是改变波形中高电平的比例,实际是波形在一个周期内的“面积”。n如果将PWM调制波进行低通滤波,取出其直流成分(平

6、均值),滤除后的输出电压将线性正比于PWM的占空比。n根据这个原理可以利用PWM输出作为低速DAC使用。15滤波电路模块n滤波电路模块由低通滤波电路和高通滤波电路组成。n低通滤波电路主要是对430单片机P1.2(TA0.1)输出的PWM调制波进行滤波,来模拟DAC的功能。滤波电路模块nR15、R16、R17、C10、C11和C12组成三阶低通滤波器。3dB点为600Hz,可以有效的将信号中的高频成分滤除。n高通滤波器电路。C9和R19组成高通滤波电路,3dB点为362mHz,可以将信号中的直流成分有效的滤除。16幅度调节及信号输出模块n电路由运算放大器LM358和一些电阻电容组成的反相放大电路

7、。其中R10是精密可调电位器,方便用户对信号的幅度进行调节。17菜单按键和指示模块LED灯D3 黄色LED灯 D4 绿色LED灯 D5 红色LED灯输出波形锯齿波三角波正弦波18第三章第三章 作品软件系统设计作品软件系统设计19DDS原理20 对于一个频率为fout的正弦信号Sout,可以用下式来描述:其相位为:现将正弦信号的相位和幅值均进行数字化。DDS原理21用频率为fclk的基准时钟对正弦信号进行抽样 将2切割成2N等份作为最小量化单位,从而得到的数字量M为:DDS原理22当M取1时,可以得到输出信号的最小频率步进为 由于正弦函数为非线性函数,很难实时计算,一般通过查表的方法来快速获得函

8、数值。DDS在作品中的实现n对正弦波的幅值进行量化,幅值选为256。之所以选择256,是由于本作品中生成的1024个点的正弦波相位和幅值量化表中的数值是8位的无符号char型。n在正弦波相位和幅值量化表中存储的数值相对于是以256个时钟为总周期的PWM调制波的高电平值。n1024个量化点正好占用1K字节的存储空间。23DDS在作品中的实现n在软件中,DCO的时钟被配置为15.25MHz,但实际测试为15.802368MHz。SMCLK的时钟源为DCOCLK。定时器TA的时钟源为SMCLK。定时器TA的CCR0为256,而且为了得到稳定的幅值,让正弦波的一个点持续输出占空比相同的60个PWM波形

9、。相当于采样频率为: n则最小频率步进为: n当M=2时,相当于在1029Hz的采样率下,一个波形只取了512个点,输出波形为2Hz。所以可得 。利用此原理本作品实现了1到100Hz正弦波的产生。24主程序流程图25定时器中断服务程序流程图26按键中断服务程序流程图27I/O口初始化nvoid Port_init(void)nn P1SEL|=BIT2;/TA0.1n P1DIR|=BIT2;n P1DIR|=(BIT3+BIT4+BIT5);n P1OUT|=BIT5;/初始为Sine,点亮相应指示灯n P1OUT&=(BIT3+BIT4);n /四个按键n P1DIR&=(BIT6+BIT

10、7);n P1IES|=BIT6+BIT7;n P1IE|=BIT6+BIT7;n P2DIR&=(BIT6+BIT7);/设为输入n P2SEL&=(BIT6+BIT7);/关闭第二功能n P2IES|=BIT6+BIT7;/下降沿触发n P2IE|=BIT6+BIT7;/开中断n28系统时钟初始化nvoid Sys_clock_init(void)nn DCOCTL = 0x60;/DC0=3 n BCSCTL1= 0x8F;/0X88-RSEL=8 DCOCLK=1.6MHz 0X8F-RSEL=15 DCOCLK=15.25MHzn for(unsigned int i=0;iSin_

11、line)n TACCR1=sinM;n M+=Delt_M;n if(M=1024) M=M-1024;n Count_line=0;n n 31nif(WaveSelect=10)/Trianglen n Count_line+;n if(Count_line3)n n if(Count1405)n n Count=2810-Count;n Rise=0;n TACCR1=Count;n Count_line=0;n return; n n n 32定时器TA中断服务程序产生三角波nif(Rise=0)/三角波下降n n if(Count=f_out)Count-=f_out;n else

12、 n n Count=f_out-Count;n Rise=1;n n n TACCR1=Count;n Count_line=0;n n n 33定时器TA中断服务程序产生三角波nif(WaveSelect=15)/Sawtoothn n Count_line+;n if(Count_line6)n n Count+=f_out;n if(Count=1405)Count-=1405;n TACCR1=Count;n Count_line=0;n n n34定时器TA中断服务程序产生锯齿波P1口中断服务程序n#pragma vector=PORT1_VECTORn_interrupt voi

13、d P1_ISR_KEYS(void)nn unsigned int i,Keytime1=0,Keytime2=0;n unsigned char PushKey;n PushKey=P1IFG&(BIT6+BIT7);n for(i=0;i60000)n n Keytime2+;n Keytime1=0;n if(Keytime210)n n if(f_out) f_out-=5;n Keytime2=0;n n n n if(f_out) f_out-=1;n n P1IFG=0;n return;n36P1口中断服务程序n#pragma vector=PORT2_VECTORn_int

14、errupt void P2_ISR_KEYS(void)nn unsigned int i,Keytime1=0,Keytime2=0;n unsigned char PushKey;n PushKey=P2IFG&(BIT6+BIT7);n for(i=0;i60000)n n Keytime2+;n Keytime1=0;n if(Keytime210)n n if(f_out=100)f_out+=5;n else f_out=1; n Keytime2=0;n n n n if(f_out=100)f_out+=1;n else f_out=1;n n P2IFG=0;n retur

15、n;n38P2口中断服务程序正弦波相位和幅值量化表nconst unsigned char sin1024=n128,128,129,130,131,131,132,133,134,135,135,136,137,138,138,139,140,141,141,142,143,144,145,145,146,147,148,148,149,150,151,152,152,153,154,155,155,156,157,158,158,159,160,161,161,162,163,164,164,165,166,167,167,168,169,170,170,171,172,172,173,1

16、74,175,175,176,177,178,178,179,180,180,181,182,183,183,184,185,185,186,187,187,188,189,189,190,191,191,192,193,193,194,195,195,196,197,197,198,199,199,200,201,201,202,203,203,204,204,205,206,206,207,207,208,209,209,210,210,211,212,212,213,213,214,215,215,216,216,217,217,218,218,219,219,220,221,221,2

17、22,222,223,223,224,224,225,225,226,226,227,227,228,228,229,229,230,230,230,231,231,232,232,233,233,234,234,234,235,235,236,236,236,237,237,238,238,238,239,239,240,240,240,241,241,241,242,242,242,243,243,243,244,244,244,245,245,245,245,246,246,246,247,247,247,247,248,248,248,248,249,249,249,249,249,2

18、50,250,250,250,251,251,251,251,251,251,252,252,252,252,252,252,252,253,253,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,255,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,253,253,253,253,253,253,253,253,252,2

19、52,252,252,252,252,252,251,251,251,251,251,251,250,250,250,250,249,249,249,249,249,248,248,248,248,247,247,247,247,246,246,246,245,245,245,245,244,244,244,243,243,243,242,242,242,241,241,241,240,240,240,239,239,238,238,238,237,237,236,236,236,235,235,234,234,234,233,233,232,232,231,231,230,230,230,2

20、29,229,228,228,227,227,226,226,225,225,224,224,223,223,222,222,221,221,220,219,219,218,218,217,217,216,216,215,215,214,213,213,212,212,211,210,210,209,209,208,207,207,206,206,205,204,204,203,203,202,201,201,200,199,199,198,197,197,196,195,195,194,193,193,192,191,191,190,189,189,188,187,187,186,185,1

21、85,184,183,183,182,181,180,180,179,178,178,177,176,175,175,174,173,172,172,171,170,170,169,168,167,167,166,165,164,164,163,162,161,161,160,159,158,158,157,156,155,155,154,153,152,152,151,150,149,148,148,147,146,145,145,144,143,142,141,141,140,139,138,138,137,136,135,135,134,133,132,131,131,130,129,1

22、28,128,127,126,125,124,124,123,122,121,120,120,119,118,117,117,116,115,114,114,113,112,111,110,110,109,108,107,107,106,105,104,103,103,102,101,100,100,99,98,97,97,96,95,94,94,93,92,91,91,90,89,88,88,87,86,85,85,84,83,83,82,81,80,80,79,78,77,77,76,75,75,74,73,72,72,71,70,70,69,68,68,67,66,66,65,64,64

23、,63,62,62,61,60,60,59,58,58,57,56,56,55,54,54,53,52,52,51,51,50,49,49,48,48,47,46,46,45,45,44,43,43,42,42,41,40,40,39,39,38,38,37,37,36,36,35,34,34,33,33,32,32,31,31,30,30,29,29,28,28,27,27,26,26,25,25,25,24,24,23,23,22,22,21,21,21,20,20,19,19,19,18,18,17,17,17,16,16,15,15,15,14,14,14,13,13,13,12,12

24、,12,11,11,11,10,10,10,10,9,9,9,8,8,8,8,7,7,7,7,6,6,6,6,6,5,5,5,5,4,4,4,4,4,4,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12

25、,13,13,13,14,14,14,15,15,15,16,16,17,17,17,18,18,19,19,19,20,20,21,21,21,22,22,23,23,24,24,25,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,36,36,37,37,38,38,39,39,40,40,41,42,42,43,43,44,45,45,46,46,47,48,48,49,49,50,51,51,52,52,53,54,54,55,56,56,57,58,58,59,60,60,61,62,62,63,64,64

26、,65,66,66,67,68,68,69,70,70,71,72,72,73,74,75,75,76,77,77,78,79,80,80,81,82,83,83,84,85,85,86,87,88,88,89,90,91,91,92,93,94,94,95,96,97,97,98,99,100,100,101,102,103,103,104,105,106,107,107,108,109,110,110,111,112,113,114,114,115,116,117,117,118,119,120,120,121,122,123,124,124,125,126,127;39第四章第四章 总结

27、与思考总结与思考40总结n本文完成了基于MSP430G2211的简易信号发生器的设计与实现,从硬件和软件两方面,对使用PWM波模拟DAC和利用DDS技术实现信号发生器进行了研究。经过近两个月的研究设计,完成了作品的设计与制作,输出波形稳定。可以输出0100Hz的正弦波、三角波、锯齿波,波形峰峰值可达8V,波形频率可调。另外,作品还设计了输出使能的功能,使在切换波形时,禁止输出,保护后级电路的安全。41总结n虽然本作品设计完成了一个简易的信号发生器。但由于时间仓促和本人能力有限,本作品还有许多需要完善和改进的地方。下面列出几条改进意见:n优化软件程序,完善功能。MSP430G2211的Flash

28、大小是2KB,作品中正弦波幅值和相位量化表是1024个点,在Flash中正好占用1KB的存储空间。相当于留给程序代码的空间只有1KB。由于受到代码空间大小的限制,本作品只产生了正弦波、三角波、锯齿波。因此可以对系统软件进行优化,充分利用这1KB的空间,开发出结构更紧凑,功能更完善的程序。42n使用LCD显示。由于受Flash容量的限制,本作品使用LED来指示波形。除了对软件进行优化外,还可以减少部分功能,以实现LCD显示。这需要根据设计要求灵活掌握。作品的硬件设计中预先留有LCD端口。n优化硬件设计。可以在输出端增加功率放大电路,增加信号的驱动能力。如果实现了LCD显示,还可以使用MSP430

29、G2231中的AD功能对输出信号的幅值进行回采,并显示。43总结思考n在作品设计的过程中,曾经考虑过其他方案和实现方法。下面提出几个问题,以供大家思考:n如果不采用PWM波模拟DAC的方式,直接使用一个DAC芯片,电路会发生哪些改变?单片机资源是否够用?n如果进一步增加输出波形的种类,电路和软件需要做哪些修改?n如果使用FPGA+MSP430G2211的方式来设计一个函数信号发生器,MSP430G2211将在该系统中发挥什么样的作用?4445n致谢:致谢:n 美国德州仪器半导体技术(上海)公司美国德州仪器半导体技术(上海)公司n 西安电子科技大学机电工程学院西安电子科技大学机电工程学院n联系方式联系方式 :029-88203117

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号