版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告设计课题:基于STM32的信号发生器设计专业班级:电气与信息工程通信二班学生姓名:马晓琪指导教师:赵浩宇设计时间:2013.9.202013.10.7信号发生器一.实验概述本系统以低功耗单片机stm32为主控器件,分为微控制器、FPGADA转换器、功率放大等模块,实现了一个能产生任意波形的波形发生器。本设计利用单片机生成各种波形的数据,将数据传输给RAMfr储器,通过后级的DA转换器实现波形的产生。系统采用触摸屏方式输入波形参数和手绘波形,频率1HZ步进可调,峰-峰值可在0到10V之间任意调节。电路设计条理清晰,人机交互界面友好,控制方便,很好地完成了题目的所有基本和发挥要求。二.
2、实验要求与目的实验要求:设计简易函数信号发生器系统实验目的:掌握应用嵌入式系统生成函数信号的方法三.实验内容与实验设备实验内容:a)设计程控放大器电路b)设计嵌入式系统电路及程序,实现信号发生器基本功能,可以产生三种标准波形:正玄波、三角波和方波;c)编写嵌入式系统程序,实现函数信号发生器功能,可以对标准波形设计频率、周期、最大值、最小值、峰峰值、偏移量和方波占空比。d)编写嵌入式系统程序,实现随机信号发生器功能,输出在手写板上描绘的波形。e)编写嵌入式系统程序,实现通讯功能,可以通过RS232接口设置输出信号。实验设备:a)示波器、信号发生器、万用表b)STM片机开发板、C8051F开发板、
3、STM32FF发板实验器件:STM32F103ZET6、ADUC7026四.方案比较1.1 波形生成方案方案一:采用锁相式频率合成方案这种方案利用锁相环将压控振荡器VCO的输出频率锁定在所需频率上。这种方案具有很好的窄带跟踪特性,很好的选择所需频率。但由于模拟方法合成的正弦波参数(如:幅度,频率,相位)都很难被控制,难以满足实现任意波形的要求。方案二:采用STM3弹片机生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案二既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,
4、性价比高,所以采用该方案1.2 任意波形的生成原理方案一:触摸屏绘制波形以触摸屏作为操作界面,用户可在触摸屏上输入波形参数及绘制波形。此方法操作简易,并且可绘制任意波形,但是对编程者要求较高,故选择相对简单的用键盘输入数据。方案二:用键盘输入数据采用键盘输入,这是最基本的方法。优点是输入值精确。但用户自定义输入时无法自由输入想要的特殊波形,而且输入数据繁琐,操作麻烦,由于实现相对简单,故本实验采用该方案。五.系统设计分析(A)硬件部分(B)微控制器软件实现:微控制器主要用于完成数据的采集,显示以及处理,生成各种波形数据,本系统采样256个数据,采用8位DA转换器,因此RAM地址位设置为8位,数
5、据位设置为8位。微控制器先进行数据收集处理,生成各种波形的归一化数据,然后存储在256位的数组里,根据幅值要求乘以相应的系数,最终生成可以存放在RAM里的数据。本系统采用12位DA转换器,最大输出电压为5Vpp,功率放大为2倍,所以系统最大的输出电压可以达到10Vpp,可计算出最小电压分辨率为:电压分辨率:K=10/4096(V)(A)是波形发生器的主流图,由系统初始化和人机交互模块组成,其中液晶显示子模块和键盘输入处理子模块占用单片机主要处理时间,单片机反复运行该模块程序人机交互模块相当于系统的监控程序;(B)是定时中断服务流程图,波形发生模块放置在定时中断服务程序中,系统每隔一定时间,产生
6、一个定时中断,暂停主流程运行,转到定时中断服务程序起始处,执行波形发生模块,该模块输出一个样值后,结束此次中断服务,返回主流程断点处继续运行。反复多次定时中断服务,从而完成波形生成。(C)键盘输入处理子模块在具体实现时,键值识别部分作为主程序,键功能处理部分作为子程序,它们之间的关系是主程序调用子程序。键盘的工作过程:(1)扫描键盘,获得列扫描码和行状态码,从而确定被按下的按键的键值;(2)根据键值,通过散转表,跳转到相应的键功能处理部分;(3)进入键处理部分,完成键功能;(4)完成一次键输入工作。通过键盘对单片机系统进行设置,每按一次键,键盘都会有上述的处理过程,每次仅能完成一个键功能。在实
7、际设置波形参数时,一个参数需要多个键功能来实现,那么相应的键盘也要多次完成键值识别,跳转键处理的工作过程。(D)函数参数设置(1)正弦波归一化数据生成函数S(t)=sin(t)/(2K)(2)三角波归一化数据生成函数T(t)=t/(63*2K)(t64)T(t)=(127-t)/(63*2K)(64t128)T(t)=(t-128)/(63*2K)(128t192)T(t)=(255-t)/(63*2K)(192t256)(3)方波归一化数据生成函数根据电压分辨率可以得出方波归一化数据生成函数为:F(t)=1/(2k)(0t128)F(t)=-1/(2k)(128t256)(4)5次谐波数据的
8、生成函数W(t)=a*sin(t)+b*sin(2t+m)+c*sin(3t+n)+d*sin(4t+p)+e*sin(5t+q)此函数要求幅值和相位参数:a.b.c.d.e.m.n.p.q(5)正弦波、方波、三角波线性组合波数据生成函数D(t)=a*S(t)+b*F(t+m)+c*T(t+n)(E)实验参考程序/*功能:STM32DAC数模车t换(正弦波/矩形波/三角波)输出实验*说明:按SW5输出正弦波/按SW4输出矩形波/按SW3输出三角波,输出端口PA4*/#include#include/STM32F10xLibraryDefinitions#includeSTM32_Reg.h/S
9、TM32registerandbitDefinitions#includeSTM32_Init.h/STM32Initialization#includecommon.h#includesine_wave_1024.h/输出端口:PA4# defineSINE_WAVE1/sine正弦波# defineRECT_WAVE2/rectangular矩形波# defineHACKLE_WAVE3/hackle三角波UINT8flag=0;UINT8func=SINE_WAVE;/*MAINfunction*/intmain(void)UINT16i=0;/STM32setupUINT32*pDAC
10、_BASE=(UINT32*)DAC_BASE;stm32_Init();LED_Init();/打开DAC时钟使能RCC-APB1ENR|=(UINT32)(129);设置DAC控制参数*(pDAC_BASE+0x00)=(0x010)|(0x002)|(0x043)|(0x036)|(0x0b8);*(pDAC_BASE+0x04)=0x01printf(Programstartrn);while(TRUE)Loopforeverif(!Get_SW5()func=SINE_WAVE;elseif(!Get_SW4()func=RECT_WAVE;elseif(!Get_SW3()func
11、=HACKLE_WAVE;switch(func)caseSINE_WAVE:/#ifdefSINE_WAVEif(i1024)i+=2;elsei=0;*(pDAC_BASE+0x08)=Sine_WAVEi4;#endif/break;caseRECT_WAVE:#ifdefRECT_WAVEfor(i=0;i2000;i+)*(pDAC_BASE+0x08)=0x0fff;for(i=0;i2000;i+)*(pDAC_BASE+0x08)=0;#endif/break;caseHACKLE_WAVE:#ifdefHACKLE_WAVEif(flag)flag=0;while(TRUE)
12、if(i0)i-=1;elsebreak;*(pDAC_BASE+0x08)=i;)#endifbreak;default:break;)/endwhile/endmain/*设置方向*/voidSet_IO_direction(UINT8PORT,UINT8GPIO,UINT8Value)(RCC-APB2ENR|=RCC_APB2ENR_IOPAEN;if(PORT=PORT_A)(if(GPIOCRL&=(0x0fCRL|=(ValueCRH&=(0x0fCRH|=(Value(GPIO*4-8*4);/Setusedbit)if(PORT=PORT_B)(if(GPIOCRL&=(0x
13、0fCRL|=(ValueCRH&=(0x0fCRH|=(Value(GPIO*4-8*4);/Setusedbit)if(PORT=PORT_C)(if(GPIOCRL&=(0x0fCRL|=(ValueCRH&=(0x0fCRH|=(Value(GPIO*4-8*4);/Setusedbit)if(PORT=PORT_D)(if(GPIOCRL&=(0x0fCRL|=(ValueCRH&=(0x0fCRH|=(Value(GPIO*4-8*4);/Setusedbit)if(PORT=PORT_E)(if(GPIOCRL&=(0x0fCRL|=(ValueCRH&=(0x0fCRH|=(V
14、alueSR&USART_FLAG_TXE);USART2-DR=(ch&0x1FF);return(ch);/*GetKeyReadcharactertoSerialPort.*/intGetKey(void)while(!(USART2-SR&USART_FLAG_RXNE);return(int)(USART2-DR&0x1FF);voidLED_Init(void)Set_IO_direction(PORT_E,LED1,OUTPUT);Set_IO_direction(PORT_E,LED2,OUTPUT);Set_IO_direction(PORT_E,LED3,OUTPUT);S
15、et_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);Turn_OFF_LED1();Turn_OFF_LED2();Turn_OFF_LED3();Turn_OFF_LED4();/*insertadelaytime.*voiddelay(unsignedintnCount)for(;nCount!
16、=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,0xcc,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,
17、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,
18、0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,
19、0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《FZT 62041-2020数码印花毛巾》:技术革新、品质升级与产业未来全景透视
- 深度解析(2026)《FZT 22005-2019 半精纺毛机织纱线》
- 深度解析(2026)《FZT 08008-2025纺织服装企业供应商能力评价规范》
- 深度解析(2026)《FZ 65008-1995特种工业用纺织品 检验规则》
- 《JBT 8458-2024电气设备辅件塑料制品一般要求和试验方法》专题研究报告
- 中国汽车:海外新能源车机遇和可能带来的风险(摘要)-2026.1.20
- 2026年湘潭市雨湖区社区工作者招聘笔试模拟试题及答案解析
- 第9课 循线而行-地面传感器和机器人的循线行走 教学设计 -粤教清华版初中信息技术九年级下册
- 2026年吉林省白山市社区工作者招聘考试参考题库及答案解析
- 2026年芜湖市新芜区社区工作者招聘笔试模拟试题及答案解析
- DB31/T 1339-2021医院多学科诊疗管理规范
- 建筑节能检测技术课件
- 2025年中盐安徽红四方肥业股份有限公司招聘笔试参考题库附带答案详解
- 《住院患者身体约束的护理》团体标准解读课件
- 辽宁省部分重点中学协作体2025年高考模拟考试数学试卷(含答案)
- 宫颈癌膀胱功能管理
- 2025年国家社科基金年度项目申请书
- 车间生产废料管理制度
- 2023中国铁路成都局集团有限公司招聘高校毕业生2241人(一)笔试参考题库附带答案详解
- 船舶动力配套甲醇重整制氢装置 技术规范标准正文
- 抛丸除锈施工方案
评论
0/150
提交评论