基于stm32的信号发生器设计

上传人:Bod****ee 文档编号:47219843 上传时间:2018-06-30 格式:DOC 页数:16 大小:104.01KB
返回 下载 相关 举报
基于stm32的信号发生器设计_第1页
第1页 / 共16页
基于stm32的信号发生器设计_第2页
第2页 / 共16页
基于stm32的信号发生器设计_第3页
第3页 / 共16页
基于stm32的信号发生器设计_第4页
第4页 / 共16页
基于stm32的信号发生器设计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于stm32的信号发生器设计》由会员分享,可在线阅读,更多相关《基于stm32的信号发生器设计(16页珍藏版)》请在金锄头文库上搜索。

1、课程设计报告课程设计报告设计课题:设计课题: 信号发生器信号发生器 专业班级:专业班级: 姓姓 名:名: 学学 号:号:_ _ 信号发生器一实验概述一实验概述本系统以低功耗单片机 stm32为主控器件,分为微控制器、FPGA、DA 转换器、功率放大等模块,实现了一个能产生任意波形的波形发生器。本设计利用单片机生成各种波形的数据,将数据传输给 RAM 存储器,通过后级的 DA 转换器实现波形的产生。系统采用触摸屏方式输入波形参数和手绘波形,频率1HZ 步进可调,峰-峰值可在0到10V 之间任意调节。电路设计条理清晰,人机交互界面友好,控制方便,很好地完成了题目的所有基本和发挥要求。二实验要求与目

2、的二实验要求与目的实验要求:设计简易函数信号发生器系统实验目的:掌握应用嵌入式系统生成函数信号的方法三实验内容与实验设备三实验内容与实验设备实验内容:a) 设计程控放大器电路b) 设计嵌入式系统电路及程序,实现信号发生器基本功能,可以产生三种标准波形:正玄波、三角波和方波;c) 编写嵌入式系统程序,实现函数信号发生器功能,可以对标准波形设计频率、周期、最大值、最小值、峰峰值、偏移量和方波占空比。d) 编写嵌入式系统程序,实现随机信号发生器功能,输出在手写板上描绘的波形。e) 编写嵌入式系统程序,实现通讯功能,可以通过 RS232 接口设置输出信号。实验设备:a) 示波器、信号发生器、万用表b)

3、 STC 单片机开发板、C8051F 开发板、STM32 开发板实验器件: STM32F103ZET6、ADUC7026四方案比较四方案比较1.11.1 波形生成方案波形生成方案 方案一方案一:采用锁相式频率合成方案这种方案利用锁相环将压控振荡器 VCO 的输出频率锁定在所需频率上。这种方案具有很好的窄带跟踪特性,很好的选择所需频率。但由于模拟方法合成的正弦波参数(如:幅度,频率,相位)都很难被控制,难以满足实现任意波形的要求。方案二方案二:采用 STM32 单片机生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方

4、便、体积小、耗电少。经比较,方案二既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比高,所以采用该方案1.2 任意波形的生成原理任意波形的生成原理 方案一:方案一:触摸屏绘制波形以触摸屏作为操作界面,用户可在触摸屏上输入波形参数及绘制波形。此方法操作简易,并且可绘制任意波形,但是对编程者要求较高,故选择相对简单的用键盘输入数据。方案二:方案二:用键盘输入数据采用键盘输入,这是最基本的方法。优点是输入值精确。但用户自定义输入时无法自由输入想要的特殊波形,而且输入数据繁琐,操作麻烦,由于实现相对简单,故本实验采用该方案。五系统设计分析五系统设计分析(A)硬件部分)硬件部分STM

5、32液晶屏D/A运放示波器(B) 微控制器软件实现:微控制器软件实现:微控制器主要用于完成数据的采集,显示以及处理,生成各种波形数据,本系统采样 256 个数据,采用 8 位 DA 转换器,因此 RAM 地址位设置为 8 位,数据位设置为 8 位。微控制器先进行数据收集处理,生成各种波形的归一化数据,然后存储在 256 位的数组里,根据幅值要求乘以相应的系数,最终生成可以存放在 RAM 里的数据。本系统采用 12 位 DA 转换器,最大输出电压为 5Vpp,功率放大为 2 倍,所以系统最大的输出电压可以达到 10Vpp,可计算出最小电压分辨率为:电压分辨率:K=10/4096(V)(A) 是波

6、形发生器的主流图,由系统初始化和人机交互模块组成,其中液晶显示子模块和键盘输入处理子模块占用单片机主要处理时间,单片机反复运行该模块程序人机交互模块相当于系统的监控程序;(B)是定时中断服务流程图,波形发生模块放置在定时中断服务程序中,系统每隔一定时间,产生一个定时中断,暂停主流程运行,转到定时中断服务程序起始处,执行波形发生模块,该模块输出一个样值后,结束此次中断服务,返回主流程断点处继续运行。反复多次定时中断服务,从而完成波形生成。键盘输入控制主流程初始化液晶显示键盘输入处理判断波形方 波正 弦 波三 角 波锯 齿 波中断返回定时中断开始(C C)键盘输入处理子模块)键盘输入处理子模块在具

7、体实现时,键值识别部分作为主程序,键功能处理部分作为子程序,它们之间的关系是主程序调用子程序。键盘的工作过程:(1)扫描键盘,获得列扫描码和行状态码,从而确定被按下的按键的键值;(2)根据键值,通过散转表,跳转到相应的键功能处理部分;(3)进入键处理部分,完成键功能;(4)完成一次键输入工作。通过键盘对单片机系统进行设置,每按一次键,键盘都会有上述的处理过程,每次仅能完成一个键功能。在实际设置波形参数时,一个参数需要多个键功能来实现,那么相应的键盘也要多次完成键值识别,跳转键处理的工作过程。(D D)函数参数设置)函数参数设置(1)正弦波归一化数据生成函数S(t)=sin(t) /(2K) (

8、2)三角波归一化数据生成函数T(t)=t/(63 *2K) (t#include / STM32F10x Library Definitions#include “STM32_Reg.h“ / STM32 register and bit Definitions#include “STM32_Init.h“ / STM32 Initialization#include “common.h“#include “sine_wave_1024.h“/ 输出端口 : PA4#define SINE_WAVE1/sine 正弦波#define RECT_WAVE2/rectangular 矩形波#def

9、ine HACKLE_WAVE3/hackle三角波UINT8 flag = 0;UINT8 func = SINE_WAVE;/*-MAIN function*-*/int main (void) UINT16 i = 0;UINT32 *pDAC_BASE = (UINT32 *)DAC_BASE; stm32_Init(); / STM32 setupLED_Init();/打开 DAC 时钟使能RCC-APB1ENR |= (UINT32)(1 0) i -= 1;else break; *(pDAC_BASE + 0x08) = i;#endifbreak;default:break

10、;/- / end while / end main/*-* 设置方向*-*/void Set_IO_direction(UINT8 PORT, UINT8 GPIO, UINT8 Value)RCC-APB2ENR |= RCC_APB2ENR_IOPAEN;if(PORT = PORT_A)if(GPIO CRL USART2-DR = (ch return (ch);/*-GetKeyRead character to Serial Port.*-*/int GetKey (void) while (!(USART2-SR return (int)(USART2-DR void LED_

11、Init(void)Set_IO_direction(PORT_E,LED1,OUTPUT);Set_IO_direction(PORT_E,LED2,OUTPUT);Set_IO_direction(PORT_E,LED3,OUTPUT);Set_IO_direction(PORT_E,LED4,OUTPUT);Set_IO_direction(PORT_B,SW2,INPUT);Set_IO_direction(PORT_B,SW3,INPUT);Set_IO_direction(PORT_E,SW4,INPUT);Set_IO_direction(PORT_E,SW5,INPUT);Tu

12、rn_OFF_LED1();Turn_OFF_LED2();Turn_OFF_LED3();Turn_OFF_LED4();/*-insert a delay time.*-*/void delay(unsigned int nCount)for(; nCount != 0; nCount-);正弦波归一化程序:tosin256=0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5 ,0xc7,0xca,0xc

13、c,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5 ,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd ,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda ,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0

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

最新文档


当前位置:首页 > 学术论文 > 毕业论文

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