基于STM32的简易信号发生器

合集下载

基于STM32F103单片机的函数发生器设计

基于STM32F103单片机的函数发生器设计

数据 口相连接 , 并将 三个控 制端 口与在 S T M3 2 定 义的 R S 、 R W、 E N连 接。此外按 照使用手册连接好液晶 的电源 、 背光和对 比度 引脚 。
【 关键词】 S T M3 2 F 1 0 3 ; 液晶 1 2 8 6 4 ; 矩 阵键盘 ; D A转换
函数发 生器作 为一种 多波形信 号源 , 能够产生 正弦波 、 方波 、 三角 或者 “ 正 弦波 ” 按键才可 以进入下一状态。 这样的程序架构可 以有效避 波等任 意波形 . 是 重要 的电路实验设计用仪器设备 。运用单片机技术 免误操作 , 提高程序 的稳定性和实用性。 设计开 发函数 发生器 其性能 和经济价值更 为优 良 3 . 2程序框 图
角波、 正弦波、 方波三种波形 , 并通过其 内部 DA转换器输 出模拟信 号 , 最终 可以由示波器观察 , 波形周期范 围是 卜 9 9 9 9 9 9 ms 。 通过矩阵键盘选 择三种波形的类型和周期 , 并能在液晶屏 1 2 8 6 4显示其各 自的类型以及数值 , 人机 交互界 面友好 。
1 . 设 计 方 案
1 . 1 信号发生设计方案 方 案一 : 通过模拟器件 实现正弦 波 、 方波 、 三 角波的产生 . 可通过 调整 电阻、 电容 等外部器件改变信号 的周期 。但是该 方案器件分散程 度高 , 导致外部器件对效果影 响大 , 波形不稳定 , 抗干扰能力差 。 方 案二 : 通过单片机 编程实现正 弦波 、 方波 、 三角波 的产生 , 引入 人机交互 . 可 由键 盘等外部设备选择信号类型和信号 周期 利用单片 机 自带的 D A转换器 进行 D A转换 , 外 围设备简单 , 系统稳定 . 实现起 来 比较容易 经 比较 . 选择方案二进行波形的产生 1 . 2处理器选型设计方案 方案一 : 使用 A T 8 9 C 5 2 单片机 . 此单 片机具有 价格便 宜 、 资料 丰 富等优点 . 但是外设不够多且主频较低 方案二 : 使用 S T M3 2 F 1 0 3 , 是搭 载 A R M 内核的 3 2位处理 器 , 具 有强大 的处理 能力 , 自带 D A C 模块 且主频高达 7 2 M H Z 。缺点是价 格 较贵。 经 比较 . 选择方案二能大大提高函数发生器的频率范 围并能 简化 外围 电路 . 所 以处理器选择方案二

基于单片机制作高频DDS信号发生器

基于单片机制作高频DDS信号发生器

基于单片机制作高频DDS信号发生器在现代科学和电子技术的不断进步下,数字信号发生器(DDS)已经成为了频率控制和生成的重要工具。

尤其是高频DDS信号发生器,其在雷达、通信、电子对抗等领域的应用具有不可替代的地位。

本文将介绍如何使用单片机制作高频DDS信号发生器。

一、DDS技术概述DDS,全称Direct Digital Synthesizer,即直接数字合成器,其工作原理是将数字信号通过数模转换器(DAC)转换成模拟信号。

DDS 技术的核心是相位累加器,它将输入的数字信号的相位进行累加,从而生成新的频率信号。

二、硬件设计1、单片机选择:本设计选用具有高速、低功耗、高集成度的单片机,如STM32F4系列。

2、频率控制字:通过设置频率控制字(FCW),可以控制输出信号的频率。

频率控制字由一个16位二进制数组成,表示了相位累加的步进大小。

3、存储器:使用Flash存储器存储预设的频率波形数据。

4、DAC:数模转换器将存储器中的波形数据转换成模拟信号。

本设计选用具有高分辨率、低噪声、低失真的DAC芯片。

5、滤波器:使用LC滤波器对DAC转换后的信号进行滤波,以得到更加纯净的信号。

三、软件设计1、相位累加器:相位累加器是DDS的核心,它将输入的数字信号的相位进行累加,从而生成新的频率信号。

2、波形查找表:将所需的波形数据存储在波形查找表中,通过查表的方式获取波形数据,可以大大提高DDS的工作效率。

3、控制逻辑:控制逻辑负责处理输入的控制信号,如启动、停止、频率控制字等。

4、通信接口:为了方便远程控制,需要设计通信接口,如SPI、I2C 等。

四、性能测试1、频率范围:测试DDS输出信号的频率范围是否满足设计要求。

2、频率分辨率:测试DDS输出信号的频率分辨率是否达到设计要求。

3、信号质量:测试DDS输出信号的信噪比、失真度等指标是否满足设计要求。

4、稳定性:长时间运行后,测试DDS输出信号的频率是否稳定。

5、远程控制:测试通信接口是否正常工作,可以通过计算机或者其他控制器对DDS进行远程控制。

基于STM32F429的音频信号发生器

基于STM32F429的音频信号发生器
2.2 远距离控制电路
以太网远距离控制是整个控制系统中的一个重要部分。该发生器通过以太网与PC连接,操控PC控制面板,按照要求输入所需的幅度、频率值,通过以太网把控制命令远距离地传输给音频信号发生器,达到远程控制的目的[3]。
该以太网接口芯片DP83848CVV是一个全功能自适应网络连接速度10/100 Mb/s的单端口物理器件,允许设备使用所需操作电源的绝对最小值,提供低功耗性能。该芯片包括一个25 MHz的时钟输出,使应用程序含有最少的外部器件,进而降低成本;同时支持10BASE-T和100BASE-TX的以太网协议,以确保与其他基于以太网标准解决方案的兼容性和互操作性。
信号采样频率为48 kHz,每个样点采用16 bit量化,如果最小频率分辨率为1 Hz,所需查表的大小为48 k×16 bit,共需48 k×16 bit的RAM空间。显然SDRAM的存储空间足够使用,也便于以后该发生器对方波、三角波等波形的扩展。
3 软件设计
整个系统采用模块化设计,除主程序外,各功能子程序分别执行PC端输入控制命令、以太网传输、SDRAM内存扩展、正弦查询表映射、数模转换等相应功能,系统主程序流程。
针对传统音频信号发生器的缺点,本文采用一款性价比高、功耗低的ARM Cortex-M4控制芯片[1],制作了一台智能音频信号发生器。该发生器的频率、幅度连续可调,按步进1 Hz、1 mV线性变化,兼具频率、幅度稳定的优点;通过PC端控制面板,直接输入幅度、频率值,就能快速地得到所需要的音频信号,精度高[2];一改信号发生器必须近距离调试的缺点,可通过以太网直接远距离操控。
2.3 SDRAM
同步动态随机存储器SDRAM与系统总线同步,无等待周期,而且是双存储体结构,读取效率得到成倍提高。SDRAM体积小、速度快、容量大、价格低,是比较理想的内存扩展器件[4-5]。

基于STM32和AD9851的多功能信号发生器

基于STM32和AD9851的多功能信号发生器
随着国外微处理器的出现和发展,同时也推动着信号发生器产业发生了巨大的发展。越来越多的厂商开始倾向于软件和硬件结合的方式来设计信号发生器,这种方式降低了硬件电路的设计难度,同时也增加了信号发生器的软件调试功能,使信号发生器的波形失真程度,信噪比等技术指标有了极大的改善。同时,这种方式也存在一些缺点,就是MCU无法产生高频信号,这主要是由MCU的性能决定,所以这对信号发生器的发展带来了一些缺陷,但不可否认,微处理器的出现,是信号发生器产业的一次巨大的改革。
3.2 FSMC简介
3.2.1 FSMC型号
在STM32中,FSMC拥有四种型号,主要是根据闪存存储器的容量进行区分,不同的型号对应不同的处理器。闪存存储器的容量在16k-32k之间的称为小容量产品,闪存存储器的容量在64k-128k之间的称为中容量产品,闪存存储器的容量在256k-512k之间的称为大容量产品。最后还有一种特殊型号是互联型,主要针对于STM32F105XX和STM32F107XX系列的微控制器。
⑥每一个存储器块都有独立的片选控制、每一个存储器块都可以独立配置。⑦时序可编程以支持各种不同的器件。⑧等待周期可编程(多达15个周期)、总线恢复周期可编程(多达15个周期)。⑨输出使能和写使能延迟可编程(多达15周期)、独立的读写时序和协议,可支持宽范围的存储器和时序。
2.3按键方案
本应用系统需通过按键来完成功能的选择,包括波形的选择和频率值得选择。
方案一,按键模块采用矩阵式键盘电路,矩阵键盘电路当今使用最为广泛的按键电路。矩阵式键盘电路的电路复杂程度高,软件编写和识别较为困难。它的驱动方式主要是利用不同的I/O口分别作为键盘的行线和列线,在行线和列线的交叉点上设置为按键。这种方法提高了I/O口的使用效率,但也相应的增加了电路和软件编程的复杂程度,由于本系统所需按键较少,如果使用该方案,会造成大量资源浪费。

「用单片机实现多功能频率信号发生器」

「用单片机实现多功能频率信号发生器」

「用单片机实现多功能频率信号发生器」使用单片机实现多功能频率信号发生器是一种非常常见且实用的电子设计应用。

频率信号发生器可以通过改变输出信号的频率,产生不同种类的信号波形,如正弦波、方波、三角波等。

本文将介绍如何使用单片机实现一款多功能频率信号发生器。

首先,我们需要选择适合的单片机芯片。

常见的单片机芯片有AVR、STM32、PIC等。

根据实际需求和个人喜好,选择一款适合自己的芯片。

接下来,我们需要设计电路图。

一个简单的频率信号发生器电路图包括以下几个部分:1.单片机模块:包括主控芯片和相应的外围电路,如晶振、电源电路等。

选用的单片机芯片需要支持定时器功能,并具备一定的IO口用于输出信号。

2.DAC模块:用于将数字信号转换为模拟信号。

可以选用外部DAC芯片,也可以使用单片机的模拟输出口。

3.放大电路:用于放大DAC输出的信号,使其能够驱动外部负载,例如音响、示波器等。

4.控制部分:可以使用按钮、旋钮等组合,通过单片机的GPIO口进行控制。

在电路设计完成后,我们开始进行软件编程。

编程包括两个主要部分:1.初始化部分:配置单片机的定时器、IO口等功能。

这个过程需要参考单片机的相关手册,并根据电路图的设计进行相应的配置。

2.输出信号部分:根据用户输入的频率值,计算出相应的定时器参数,并将输出值写入DAC端口。

这个部分可以通过循环或中断的方式实现,以产生连续的信号波形。

除了基本的正弦波信号,我们还可以在软件中增加其他信号波形的生成算法,如方波、三角波、锯齿波等。

不同波形的生成算法会有所不同,需要根据具体算法进行编程实现。

此外,我们还可以增加一些功能,如频率调节功能、幅度调节功能、频谱显示功能等。

这些功能可以进一步提升频率信号发生器的实用性。

最后,我们需要进行测试和调试。

通过连接示波器或音响等外部设备,检查输出信号的频率、波形等参数是否与预期一致。

如果有问题,需要检查电路连接、软件设置等方面的错误。

在完成了以上步骤后,我们就成功地实现了一款多功能频率信号发生器。

基于STM32单片机的变频正弦信号发生器

基于STM32单片机的变频正弦信号发生器

基于STM32单片机的变频正弦信号发生器蒋昭颖【摘要】In order to satisfy the requirement of frequency domain response of AC servo motor, we proposed a method for produce a sine-wave signal of frequency conversion based on ARM. The hardware system is used to PWM output to produce a sine-wave signal of frequency conversion by STM32F103. The software system adopts the Keil as development environment. Simulations using software and oscilloscope accomplish to detect output signal. The results show that the proposal can satisfy the requirement of frequency domain response of AC servo motor.%为了实现对三相永磁式同步交流伺服电机频域响应的检测需求,提出了一种基于ARM单片机的变频率PWM正弦信号发生器的设计方案,并完成系统的软硬件设计。

该系统的硬件部分采用STM32F103系列ARM单片机,用于PWM方式输出变频率的模拟正弦信号,软件部分采用Keil进行编程。

通过软件仿真和示波器对输出信号进行检测,利用该方案的正弦信号发生器对三相永磁式同步交流伺服电机进行频率响应测试,将得到的数据利用matlab绘图,实验结果表明此方案产生的正弦信号发生器满足电机频响需求。

【期刊名称】《电子设计工程》【年(卷),期】2016(024)005【总页数】4页(P190-193)【关键词】交流伺服电机;ARM单片机;PWM;正弦信号发生器【作者】蒋昭颖【作者单位】国电子科技集团第15研究所北京 100083【正文语种】中文【中图分类】TN710近年来,中国航空工业的发展进一步加速,新型号,新机型不断推出,大型运输机成功首飞,C919大型客机开始进行结构总装,航空零部件生产规模不断扩大,这一系列成就预示着中国的大飞机时代正离我们越来越近。

基于 STM32 PWM 的正弦信号发生器设计

基于 STM32 PWM 的正弦信号发生器设计
( P W M )b a s e d o n S TM 3 2 i s d e s c r i b e d . Th e p r i n c i p l e i s t h a t i n t h e p r o d u c t i o n o f a f r e q u e n c y s i g n a l , t h e s a mp l i n g p u l s e c y c l e r e ma i n s u n c h a n g e d,a n d t h e d u t y r a t i o i s c h a n g e d o n c e i n e a c h s a mp l i n g p e r i — o d a c c o r d i n g t o t h e s i n e t a b l e ,t h e n t h e o u t p u t s i g n a l f i l t e r i n g o u t h i g h e r h a r mo n i c t h r o u g h f i l t e r c i r — c u i t i s t r a n s f o r me d i n t o t h e c o r r e s p o n d i n g s i n e wa v e .Th i s d e s i g n r e a l i z e s i t s f u n c t i o n t h r o u g h t h e p r o — g r a mm a b l e c h i p . Th e t e s t r e s u l t s s h o w t h a t t h e o u t p u t s i g n a l o f t h e d e s i g n s y s t e m h a s t h e f o l l o wi n g

基于STM32的信号发生器

基于STM32的信号发生器

h g 攀枝花学院本科毕业设计(论文)基于STM32的信号发生器学生姓名: 钟尚儒学生学号: 201310501084院(系): 电气信息工程学院年级专业: 2013级电子信息工程2班指导教师:郝小江 助理指导教师:二〇一七年六月摘要随着电子产品的发展,单片机处理器的应用已经广泛的应用在日常生活中每个角落。

特别是在信号发生器中的应用,信号发生器在各行各业中发挥着重要的作用,具有非常重要的意义,现实中接触比较多的是教学实践中,由于很多学校的研究经费有限,不能购买精密的昂贵器材等原因,急需要设计出一款智能化,低成本的信号发生器,可以输出三角波、方波和正弦波等波形。

在本文中根据现实的需求设计出一款基于STM32F103Cx的信号发生器系统,整体设计由处理器模块、电源电路模块、AD9833电路模块、按键电路模块、数字显示模块几部分组成。

处理器模块采用STM32F103Cx芯片作为该系统的核心处理模块,采用LCD1602液晶显示器作为该系统的显示模块,按键方案采用独立按键的方式更加容易控制设置输出数据,电源接口采用USB方式,使用更加方便。

该设计系统采用altium designer等软件完成PCB版的设计,然后进行焊接和测试等,采用keil软件进行编写软件程序,完成波形的输出等,最后经过软硬件设计出可输出三种波形:三角波、方波和正弦波。

该系统的设计具有简单和性能优良等优点,最后经过软硬件的调试之后,各项功能和性能都满足设计的要求。

关键词:STM32F103Cx单片机,AD9833电路模块,液晶显示器1602,DDS信号发生器攀枝花学院本科毕业设计(论文)ABSTRACTABSTRACTAbstract: With the development of electronic products, the application of single-chip processor has been widely used in every corner of daily life. Especially in the application of signal generator, the signal generator in all walks of life play an important role, has a very important significance, the reality of contact with more teaching practice, because many schools of research funding is limited, not The purchase of sophisticated equipment and other reasons, the urgent need to design an intelligent, low-cost signal generator, you can output triangular wave, square wave and sine wave and other waveforms. In this paper, according to the actual needs of a design based on STM32F103Cx signal generator system, the overall design by the processor module, power circuit module, AD9833 circuit module, key circuit module, digital display module composed of several parts. Processor module using STM32F103Cx chip as the core of the system processing module, the use of LCD1602 LCD display as the system's display module, the key program using a separate key way easier to control the output data output, power interface using USB way, the use of more convenient. The design system uses altium designer and other software to complete the PCB version of the design, and then welding and testing, the use of keil software to write software programs to complete the output of the waveform, and finally through the hardware and software design can output three waveforms: triangular wave Wave and sine wave. The design of the system is simple and excellent performance, etc., and finally after the hardware and software debugging, the functions and performance to meet the design requirements.Key words:STM32F103Cx single-chip,AD9833 circuit module, liquid crystal display 1602, DDS Signal generator目录摘要 (I)ABSTRACT (II)第一章绪论 (1)1.1 课题背景与研究意义 (1)1.2国内外研究现状和发展趋势 (3)1.3本文研究的主要内容 (5)第二章系统方案设计 (6)2.1DDS的基本原理 (6)2.2处理器方案 (7)2.3显示方案 (9)2.4按键方案 (9)2.5方案确立 (10)第三章硬件设计方案 (11)3.1系统总体设计 (11)3.2处理器模块 (12)3.3AD9833电路模块 (12)3.4按键电路模块 (13)3.5电源模块 (14)3.6显示模块电路 (15)3.7本章总结 (16)第四章软件设计方案 (17)4.1系统总体软件设计 (17)4.2三角波输出模块软件设计 (17)4.3方波输出模块软件设计 (18)4.4正弦波模块软件设计 (19)4.5按键子程序模块软件设计 (20)4.6数字显示模块软件设计 (21)4.7本章总结 (22)第五章系统调试 (23)第六章结论 (29)参考文献 (30)附录A:原理图 (31)附录B:系统主程序 (33)致谢 (49)第1章绪论1.1 课题背景与研究意义随着二十世纪四十年代电子仪器时代的兴起到现在,示波器和函数信号发生器的技术越来越成熟,精度和集成度越来越高,体积也越来越小。

基于stm32的dds信号源的设计实例

基于stm32的dds信号源的设计实例

设计一个带有STM32微控制器的DDS(Direct Digital Syndrome)信号源在公园里是不能走的——这是硬件和软件向导的动态混合!想象一下: STM32的微控制器就像技术界的超级英雄,拥有闪电快速的处理能力,以及一支外围军在召唤和召唤。

通过DDS,我们可以构思出超精度和岩石固态的波形,用超细频调音和噪音水平如此低,它实际上在低声说话。

在这个设计冒险中,我们将揭开所有的关键成分和秘密,用一台STM32微控制器来设计一个顶尖的DDS信号源。

系好安全带因为我们即将踏上一段令人兴奋的旅程穿越数码合成的世界!当我们谈论实际建立DDS信号源时,我们需要确保我们有一个非常快的DAC(即数字到模拟转换器)来把我们的数字信号变成模拟信号。

幸运的是,STM32的微控制器通常有DAC的频道建立在正确的,所以我们可以使用这些。

我们输出信号的质量确实取决于诸如发援委的分辨率和更新率。

为了获得我们想要的输出频率和分辨率,我们可能需要引入一些外部时钟源或设置一些PLL电路。

而当我们设计模拟输出阶段时,我们必须注意确保我们的过滤,阻碍匹配,以及信号调节都很好。

在软件战线上正确实施DDS算法是总体设计的关键因素。

在使用STM32微控制器方面,必须利用综合开发环境,如STM32CubeIDE 或Keil μVision,它们为嵌入式软件开发提供了全面的工具链。

DDS 算法的实施应侧重于准确计算预定输出频率的相加,并生成数字波形样本,以转发给发援会。

必须强调产出波形生成的精确时间和同步,以确保准确的频率和相控。

软件设计应当通过频率调试、相位调制和波形塑造的规定,以便最大限度地提高DDS信号源的多功能性和性能。

基于stm32的信号发生器

基于stm32的信号发生器

课程设计报告设计课题:基于STM32的信号发生器设计专业班级:电气与信息工程通信二班学生姓名:***指导教师:***设计时间:2013.9.20~~~2013.10.7信号发生器一.实验概述本系统以低功耗单片机stm32为主控器件,分为微控制器、FPGA、DA转换器、功率放大等模块,实现了一个能产生任意波形的波形发生器。

本设计利用单片机生成各种波形的数据,将数据传输给RAM存储器,通过后级的DA转换器实现波形的产生。

系统采用触摸屏方式输入波形参数和手绘波形,频率1HZ步进可调,峰-峰值可在0到10V之间任意调节。

电路设计条理清晰,人机交互界面友好,控制方便,很好地完成了题目的所有基本和发挥要求。

二.实验要求与目的实验要求:设计简易函数信号发生器系统实验目的:掌握应用嵌入式系统生成函数信号的方法三.实验内容与实验设备实验内容:a)设计程控放大器电路b)设计嵌入式系统电路及程序,实现信号发生器基本功能,可以产生三种标准波形:正玄波、三角波和方波;c)编写嵌入式系统程序,实现函数信号发生器功能,可以对标准波形设计频率、周期、最大值、最小值、峰峰值、偏移量和方波占空比。

d)编写嵌入式系统程序,实现随机信号发生器功能,输出在手写板上描绘的波形。

e)编写嵌入式系统程序,实现通讯功能,可以通过RS232接口设置输出信号。

实验设备:a)示波器、信号发生器、万用表b)STC单片机开发板、C8051F开发板、STM32开发板实验器件: STM32F103ZET6、ADUC7026四.方案比较1.1波形生成方案方案一:采用锁相式频率合成方案这种方案利用锁相环将压控振荡器VCO的输出频率锁定在所需频率上。

这种方案具有很好的窄带跟踪特性,很好的选择所需频率。

但由于模拟方法合成的正弦波参数(如:幅度,频率,相位)都很难被控制,难以满足实现任意波形的要求。

方案二:采用STM32单片机生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。

基于STM32单片机的信号发生器设计

基于STM32单片机的信号发生器设计

引言信号发生器又称为信号源,其工作原理是利用频率合成技术提供各种频率、波形和输出电平电信号,常用作测试电子设备的仪器,广泛应用于通信、雷达、测控领域,电子以及现代化仪器仪表等领域,在电子参数的测量过程当中,信号发生器是必不可少的仪器。

目前大多数的波形信号发生器价格都较高,体积大,二次开发复杂,使用进口元器件较多。

单片机,由CPU、定时器和多接口等器件组成的自动化单片微型计算机。

其作为一种微型控制器,主要有体积小、低功耗、控制功能强,功能齐全和使用方便等优点。

本文设计的基于单片机的信号发生器,用户可通过触屏、指令分别设置中心频率及输出功率,控制连续波、脉冲信号的输出,操作简单,价格低。

1 方案设计1.1 系统功能设计并实现一个基于STM32F103的信号发生器:用户可通过触摸屏、指令分别控制;输出频率:550M~4.4G;输出功率:6dBm~-77dBm;输出波形:连续波、脉冲;输出频率精度:1k;输出功率最小分辨率:0.5dBm。

1.2 系统组成系统硬件共分为触屏/指令控制模块、波形产生模块、主控模块、信号衰减模块、电源模块五部分,如图1所示。

(1)触屏/指令控制模块:包括触摸屏(北京迪文DMG 12700T050_06WTC)、USB转TTL串口模块。

通过触摸屏/串口向主控模块发送指令,控制输出信号的中心频率、功率。

(2)波形产生模块:宽带锁相环频率源,主芯片ADF4351。

产生信号并放大。

(3)主控模块:单片机STM32F103ZET6。

对触摸/指令控制模块发送的控制指令进行解析,生成相应设置指令发送至波形产生模块、信号衰减模块,产生控制电压至继电器控制模块、波形产生模块。

(4)信号衰减模块:包括继电器控制模块、两态衰减器、程控衰减器、旋钮可调衰减器。

受主控模块控制,将信号衰减至相应大小。

(5)电源模块主要功能:提供各模块工作所需要的电源,15V、12V、5V、±5V。

系统软件共分为触屏/指令控制软件、主控软件两部分,如图2所示。

基于单片机的函数信号发生器毕业设计完整版

基于单片机的函数信号发生器毕业设计完整版

基于单片机的函数信号发生器毕业设计完整版本毕业设计旨在设计一个基于单片机的函数信号发生器,以满足工程实践需求。

设计的信号发生器将具有以下特点:能够输出多种波形、具备可调频率和幅度的功能、具备稳定性和高精度等。

首先,信号发生器的硬件设计包括信号源、滤波电路、放大电路和输出电路。

信号源负责产生基本的信号波形,可以通过设置单片机的IO口电平高低来控制信号的波形。

滤波电路和放大电路主要负责对信号进行滤波和放大处理,以确保输出的波形质量和幅度稳定性。

输出电路则是将放大后的信号输出到外部设备上。

其次,信号发生器的软件设计主要是通过编程控制单片机的IO口来实现波形的生成和调节。

编程方面,可以使用C语言或者汇编语言来编写程序,实现波形的输出、频率和幅度的调节等功能。

在程序的运行过程中,需要通过控制IO口电平的高低来控制信号的形状。

同时,可以使用按键或旋钮等外部输入设备来实现对频率和幅度的调节,以满足用户的实际需求。

最后,在设计的过程中需要注意信号发生器的稳定性和精度。

稳定性主要包括信号的频率稳定性和幅度稳定性。

频率稳定性可以通过使用高精度的时钟源和精确的频率分频电路来实现。

幅度稳定性可以通过使用高精度的放大电路和自动增益控制电路来实现。

精度方面,则可以通过使用高精度的模拟数字转换芯片和时钟源来实现。

总的来说,基于单片机的函数信号发生器在工程实践中具有重要意义。

本设计旨在结合硬件和软件技术,实现一个功能完善、稳定性好、精度高的信号发生器。

通过合理的设计和优化,该信号发生器能够满足工程实践的需求,为相关领域的研究提供信号源支持。

基于STM32单片机的简易电路特性测试仪

基于STM32单片机的简易电路特性测试仪

www�ele169�com | 59电子测量0 引言本测试仪对一般三极管放大电路具有输入、输出阻抗测量、幅频特性曲线显示、故障位置判断及故障原因显示的功能。

同时兼具制作成本低,测量精度高,简单易上手的特性。

对于刚接触模拟电路、三极管放大电路的同学来说是一个很好的学习工具。

1 总体设计方案系统硬件结构框图,如图1所示。

经DDS 信号发生器模块产生一定频率、幅值的正弦波信号,由于三极管放大电路的放大倍数较大,若输入信号过大则会产生失真,需要经过信号调理网络进行衰减,之后在三极管放大电路的输入端进行ADC 检测,从而可以检测输入电阻。

在放大电路的输出端,由于输出信号幅值较大,超过单片机ADC 检测限度,故信号需调理后进行采集,同时通过控制继电器吸合控制负载电阻的通断,进行输出电阻的测量。

两个ADC 检测点采集数据,经单片机数据运行处理后,在TFT 屏幕上显示出三极管放大电路的输入、输出阻抗,幅频特性曲线以及电路故障的原因。

2 硬件电路设计■2.1 输入信号调理网络为了满足三极管放大电路最大不失真的要求,经过信号输入测试,应满足输入信号小于60mv。

由于DDS 正弦波输出模块输出的正弦波为一定值556mV,故需要进行信号衰减。

如图2所示,信号衰减网络包括纯电阻分压衰减和电压跟随两部分。

电压跟随器起到稳定隔离的作用,保证 ■2.2 继电器开关驱动电路如图3所示,继电器开关用9013三极管进行驱动,通过单片机进行控制。

从而实现三极管放大电路输出端并联电■2.3 输出端信号调理网络由于三极管的放大倍数较大,其输出端幅值达到6.8V,而单片机的采样幅度要求需要在3.3V 以内,所以需要经过信号调理。

由于测量输出电阻需要给三李申,陈康宁,汪帅,李寒,贾巍(通讯作者)(湖北文理学院汽车与交通工程学院,湖北襄阳,441053)基金项目:湖北文理学院大学生创新创业训练项目(项目编号:S202010509014)。

摘要:本系统是基于STM32单片机ADC检测的简易电路特性测试仪,用于检测三极管放大电路的基本工作特性,同时可以在电路发生故障时,判断电路故障的位置及原因。

多功能信号发生器的设计与实现

多功能信号发生器的设计与实现

摘要本文是制作以STM32芯片为核心的多功能信号发生器。

选择使用STM32系列单片机作为多功能信号发生器的主控模块,控制整个系统的软硬件操作,实现正弦波、方波、三角波等波形的合成。

信号发生器以STM32作为本设计的主要控制核心,产生波形数据,发送数字信号给数模转换器,数模转换器把数字信号变成模拟信号,然后传输给运算放大器,最后运算放大器输出波形。

外部接入按键和电位器,通过对按键的调换实现改变程序代码来实现波形的类型和波形频率的灵活变化,通过对电位器的控制来实现对幅值的调节。

采用液晶显示器实时显示当前输出的波形的类型、幅值和频率的信息。

本文详细讲解了制作多功能信号发生器的操作原理和部分软件设计的流程大纲。

关键词:多功能信号发生器数模转换器 STM32单片机AbstractIn this paper, a multifunctional signal generator based on STM32 is designed. STM32 series single-chip microcomputer is selected as the main control module of multi-function signal generator to control the software and hardware operation of the whole system and realize the synthesis of sine wave, square wave, triangle wave and other waveforms. The signal generator takes STM32 as the main control core of this design, generates waveform data, sends digital signal to DAC, DAC turns digital signal into analog signal, then transmits it to op amp, finally op amp outputs waveform. External access keys and potentiometers, through the exchange of keys to change the program code to achieve the flexible change of waveform type and frequency, through the control of potentiometers to achieve the adjustment of amplitude. The LCD is used to display the type, amplitude and frequency of the current output waveform in real time. In this paper, the operation principle of making multifunctional signal generator and the flow outline of some software design are explained in detail.Key words: multifunctional signal generator Digital to analog converterSTM32 single chip microcomputer目录1引言 (1)1.1研究的意义与目的 (1)1.2国内外研究现状 (2)2多功能信号发生器总体介绍 (3)2.1总体方案 (3)2.2系统功能 (4)2.3系统设计 (4)2.3.1设计结构 (5)2.3.2组成结构 (5)3多功能信号发生器硬件设计 (5)3.1 系统主要芯片介绍 (6)3.1.1 STM32F103C8T6芯片 (6)3.1.2 AD9708数模转换器 (7)3.2电源模块 (8)3.3单片机最小系统 (8)3.4 显示模块 (10)3.5按键模块 (11)3.6电位器模块 (11)3.7 PCB板设计 (12)4多功能信号发生器软件设计 (13)4.1 软件设计总流程图 (13)4.2波形输出设计 (14)4.3显示程序设计 (14)5结语 (15)参考文献 (15)致谢.......................................................................................... 错误!未定义书签。

基于单片机的信号发生器设计

基于单片机的信号发生器设计

基于单片机的信号发生器设计一、本文概述随着现代电子技术的飞速发展,单片机因其高集成度、低成本和易于编程等特点,在信号处理和控制领域得到了广泛应用。

本文旨在探讨基于单片机的信号发生器设计,该设计在电子工程、自动化控制、信号处理等领域具有重要的应用价值。

本文将首先介绍单片机的基本概念、特点及其在信号发生器设计中的应用优势。

随后,将详细阐述信号发生器的设计原理、系统架构以及关键模块的设计方法,包括信号生成模块、放大模块、滤波模块等。

本文还将探讨单片机编程技术在信号发生器中的应用,包括程序设计、调试与优化等方面。

通过实验验证所设计信号发生器的性能,并对其在实际应用中的可行性进行评估。

本文的研究成果将为相关领域的研究人员和技术人员提供一定的理论指导和实践参考。

二、单片机概述单片机(Microcontroller Unit,MCU)是一种集成电路芯片,是将中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入输出(IO)端口、定时计数器以及中断系统等主要计算机功能部件集成在一块芯片上的微型计算机。

单片机以其体积小、功能强、性价比高、可靠性高、控制灵活、易于扩展等优点,被广泛应用于各种控制系统和智能化产品中。

单片机通常按照数据总线宽度、内部程序存储器容量、IO端口数量等参数进行分类。

其内部逻辑电路主要包括CPU、存储器、IO接口电路、定时计数器、中断控制逻辑等模块。

CPU是单片机的核心,负责执行指令、处理数据和进行逻辑运算存储器用于存储程序和数据IO接口电路负责单片机与外部设备的连接和通信定时计数器用于实现定时和计数功能中断控制逻辑则用于响应和处理外部中断事件。

在信号发生器设计中,单片机作为核心控制单元,负责产生和控制各种信号波形,如正弦波、方波、三角波等。

通过编程控制单片机的IO端口,可以产生不同频率、不同幅度的信号,从而实现信号发生器的功能。

同时,单片机还可以通过与其他电路模块的配合,实现信号调理、功率放大、显示输出等功能,使信号发生器具有更高的性能和更广泛的应用范围。

基于单片机的方波信号发生器设计

基于单片机的方波信号发生器设计

基于单片机的方波信号发生器设计为了实现方波信号的发生器,我们可以使用单片机来实现,单片机可以通过编程来控制方波信号的频率和占空比。

在这里,我将介绍一种基于单片机的方波信号发生器的设计。

首先,我们需要选择一个合适的单片机来作为我们的控制器。

常用的单片机有Arduino、STM32等。

在这里,我们选择使用Arduino Uno作为控制器。

Arduino Uno是一种开源的微控制器板,使用ATmega328P芯片,具有易用性和良好的稳定性。

接下来,我们需要连接一块电路板用于输出方波信号。

为了实现方波信号的生成,我们可以使用一个555定时器芯片来实现。

555定时器可以方便地产生方波信号。

我们将在Arduino Uno和555定时器之间进行串联连接,Arduino Uno将通过编程来控制555定时器的工作。

接下来,我们需要编写Arduino的程序来控制方波信号的频率和占空比。

我们可以使用Arduino的PWM输出功能来控制方波信号的频率。

通过调整PWM的占空比,我们可以控制方波信号的占空比。

以下是一个简单的Arduino程序示例:```c//定义信号输出引脚#define SIGNAL_PIN 9void setu//将信号输出引脚设为输出模式pinMode(SIGNAL_PIN, OUTPUT);void loo//设置PWM频率为1kHzint frequency = 1000;//设置PWM占空比为50%int dutyCycle = 50;//计算PWM周期//计算PWM高电平时间int highTime = period * dutyCycle / 100;while (true)//输出高电平digitalWrite(SIGNAL_PIN, HIGH);delayMicroseconds(highTime);//输出低电平digitalWrite(SIGNAL_PIN, LOW);delayMicroseconds(period - highTime);}```在这个示例程序中,我们定义了信号输出引脚为9号引脚,在setup 函数中将其设为输出模式。

基于STM32的模数结合简易波形发生器

基于STM32的模数结合简易波形发生器

第33届电子设计大赛作品设计报告说明书作品名称:基于STM32的模数结合简易波形发生器参赛队名:波形很稳队参赛队员:李智豪蒲小年物理与电信工程学院2016年12月一、系统方案选择与比较:(一)方案一:利用模数结合实现,在模拟电路上产生函数信号波形,而用数字方式改变信号的频率和幅度。

如采用NE55多谐振荡器产生方波,利用数字电位器与数字电容改变波形信号频率,用数控运放对信号幅度进行增益或衰减。

(二)方案二:模拟电路实现,全采用模拟电路,可用正弦波发生器产生正弦波信号,然后过零比较产生方波,再经积分电路产生三角波。

这种方法电路简单,并具有良好的正弦波和方波信号。

但要通过积分器电路产生同步的三角波信号,存在较大难度。

原因是积分电路的积分时间常数通常不变,而随着方波频率改变,积分器输出的三角波幅度将同时改变。

若要保持三角波幅度,就得同时改变积分时间长度的大小。

(三)方案三:数字电路实现,采用DDS方法,任何频率的波形都可看做由一系列的取样点所组成,可事先将各波形的数据点存储在ROM中,再通过时钟的控制顺序从ROM中读出,再经D/A转化器进行逐点恢复。

这种方案的波形精度主要取决于函数信号波形的存储点数、D/A转换器的转换速度、以及整个电路的时序处理等。

(四)方案四:数字电路与模拟电路结合,利用STM32产生频率可调的方波信号,通过外部硬件电路将方波信号进行积分,将依次得出三角波与正弦波信号。

信号幅度的增益通过调节同相放大器运放的反馈电阻来进行修改。

(五)方案选择:为了利用所学的模电与数电的知识,我们期初选择了方案一进行作品的前期设计制作,即是用数字电位器与数字可变电容对整个系统的参数进行调节,后来发现此方法中数字电位器的阻值变化范围与阻值级数达不到我们需要的阻值范围,数字可变电容的变化范围与所需的容值相差三个数量级,于是放弃了此方案。

最终选择的则是方案四,即是数字电路产生稳定可调的方波信号,通过模拟电路对信号进行整形与幅度处理。

基于STM32的汽车空调调速模块信号发生器的设计

基于STM32的汽车空调调速模块信号发生器的设计

图1 汽车空调调速模块信号发生器硬件框图
空间为以后的升级提供了保障。

同时内部集成了硬件PWM、USART、I2C 总线、内置复位、及看门狗电路等外的PWM,输出为推挽方式。

PWM输出的高电平经过基准芯片LM385BZ-2.5稳压到2.5V,然后再经由LM358构
阻值为10kΩ;PWM
图2 DC输出电路
图3 PWM输出电路
大传输距离为40m,低传输速率小于20kb/s,采用NRZ编码。

在总线上发送的信息,有长度可选的固定格式。

则加限流电阻接到地上。

TJA1020在
主机应用下,需要增加一个额外的
主机端电阻,通过在LIN 和BAT引脚
号和PWM下的频率值,下行数码管
U2则显示DC信号下的输出电压值;
PWM下的占空比;LIN下的输出档位
图4 LIN通信电路图5 人机界面电路图6 系统电源电路
先通过高效率的降压型DC-DC芯片LM2576-ADJ将电压稳压到5V供PWM 数。

系统校准是厂家出厂前使用的校
图7 LIN报文帧格式
用于掉电检测,
时,立即将用户当前设定的参数写。

基于stm32的信号发生器

基于stm32的信号发生器

课程设计报告设计课题:基于STM32的信号发生器设计专业班级:电气与信息工程通信二班学生姓名:***指导教师:***设计时间:2013.9.20~~~2013.10.7信号发生器一.实验概述本系统以低功耗单片机stm32为主控器件,分为微控制器、FPGA、DA转换器、功率放大等模块,实现了一个能产生任意波形的波形发生器。

本设计利用单片机生成各种波形的数据,将数据传输给RAM存储器,通过后级的DA转换器实现波形的产生。

系统采用触摸屏方式输入波形参数和手绘波形,频率1HZ步进可调,峰-峰值可在0到10V之间任意调节。

电路设计条理清晰,人机交互界面友好,控制方便,很好地完成了题目的所有基本和发挥要求。

二.实验要求与目的实验要求:设计简易函数信号发生器系统实验目的:掌握应用嵌入式系统生成函数信号的方法三.实验内容与实验设备实验内容:a)设计程控放大器电路b)设计嵌入式系统电路及程序,实现信号发生器基本功能,可以产生三种标准波形:正玄波、三角波和方波;c)编写嵌入式系统程序,实现函数信号发生器功能,可以对标准波形设计频率、周期、最大值、最小值、峰峰值、偏移量和方波占空比。

d)编写嵌入式系统程序,实现随机信号发生器功能,输出在手写板上描绘的波形。

e)编写嵌入式系统程序,实现通讯功能,可以通过RS232接口设置输出信号。

实验设备:a)示波器、信号发生器、万用表b)STC单片机开发板、C8051F开发板、STM32开发板实验器件: STM32F103ZET6、ADUC7026四.方案比较1.1波形生成方案方案一:采用锁相式频率合成方案这种方案利用锁相环将压控振荡器VCO的输出频率锁定在所需频率上。

这种方案具有很好的窄带跟踪特性,很好的选择所需频率。

但由于模拟方法合成的正弦波参数(如:幅度,频率,相位)都很难被控制,难以满足实现任意波形的要求。

方案二:采用STM32单片机生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

绍兴文理学院数理信息学院课程设计报告书题目基于STM32的简易信号发生器电子信息工程专业1班姓名xxx指导教师xxx时间2014年7月12日课程设计任务书基于STM32的简易波形发生器摘要函数信号发生器是一种能够产生多种波形,如正弦波、方波、三角波、锯齿波等的电路。

函数信号发生器在电路实验和设备检测中具有十分广泛的用途。

通过对函数波形发生器的原理以及构成分析,可设计一个能变换出以上波形的波形发生器。

本课题采用STM32[1]为控制芯片,采用DDS[2]的设计方法,可将采样点经D/A[3]转换后输出任意波形,可通过调节D/A转换的频率来调节输出波形的频率,也可通过改变取点的起始位置来调节波形的初始相位。

关键词信号发生器STM32 DDS目录课程设计任务书 (I)摘要 (II)1 设计概述 (1)2 设计方案 (2)3 设计实现 (3)3.1 设计框图及流程图 (3)3.2 MCU控制模块 (5)3.3 按键控制模块 (5)3.4 信号输出模块 (6)3.5 LCD显示模块 (8)4 设计验证 (8)5 总结 (11)1设计概述信号发生器作为一种历史悠久的测量仪器,早在20年代电子设备刚出现时就产生了。

随着通信和雷达技术的发展,40年代出现了主要用于测试各种接收机的标准信号发生器,使得信号发生器从定性分析的测试仪器发展成定量分析的测量仪器。

同时还出现了可用来测量脉冲电路或作脉冲调制器的脉冲信号发生器。

自60年代以来信号发生器有了迅速的发展,出现了函数发生器。

这个时期的信号发生器多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形。

自从70年代微处理器出现以后,利用微处理器、模数转换器和数模转换器,硬件和软件使信号发生器的功能扩大,产生比较复杂的波形。

这时期的信号发生器多以软件为主,实质是采用微处理器对D/A的程序控制,就可以得到各种简单的波形。

在80年代以后,数字技术日益成熟,信号发生器绝大部分不再使用机械驱动而采用数字电路,从一个频率基准有数字合成电路产生可变频率信号。

90年代末出现了集中真正高性能的函数信号发生器,HP公司推出了型号为HP770S的信号模拟装置系统,它是由HP8770A任意波形数字化和HP1770A波形发生软件组成。

信号发生器技术发展至今,引导技术潮流的仍是国外的几大仪器公司,如日本横河、Agilent、Tektronix等。

美国的FLUKE公司的FLUKE-25型函数发生器是现有的测试仪器中最具多样性功能的几种仪器之一,它和频率计数器组合在一起,在任何条件下都可以给出很高的波形质量,能给出低失真的正弦波和三角波,还能给出过冲很小的快沿方波,其最高频率可达到5MHz,最大输出幅度可达到10Vpp。

国内也有不少公司已经有了类似的仪器。

如南京盛普仪器科技有限公司的SPF120DDS信号发生器,华高仪器生产的HG1600H型数字合成函数\任意波形信号发生器。

国内信号发生器起步晚,但发展至今,已经渐渐跟上国际的脚步,能够利用高新技术开发出达到国际水平的高性能多功能信号发生器。

信号发生器在生产实践和科技领域中有着广泛的应用,各种波形曲线均可用三角函数方程式来表达。

函数信号发生器是各种测试和实验过程中不可缺少的工具,在通信、测量雷达、控制教学等领域应用十分广泛。

不论是在生产、科研还是在教学上,信号发生器都是电子工程师信号仿真实验的最佳工具。

而且,信号发生器的设计方法多,设计技术也越来越先进,随着我国经济和科技的发展,对对应的测试仪器和测试手段也提出了更高的要求,信号发生器已成为测试仪器中至关重要的一类,因此,开发信号发生器具有重大意义。

2 设计方案方案一:模数结合实现,一般是在模拟电路上产生函数信号波形,而用数字方式改变信号的频率和幅度。

如采用D/A 装换器与压控电路改变信号频率,用数控放大器或数控衰减器改变信号幅度等。

方案二:模拟电路实现,全采用模拟电路,可用正弦波发生器产生正弦波信号,然后过零比较产生方波,再经积分电路产生三角波。

这种方法电路简单,并具有良好的正弦波和方波信号。

但要通过积分器电路产生同步的三角波信号,存在较大难度。

原因是积分电路的积分时间常数通常不变,而随着方波频率改变,积分器输出的三角波幅度将同时改变。

若要保持三角波幅度,就得同时改变积分时间长度的大小,要实现这点会很难。

方案三:数字电路实现,采用DDS 方法,任何频率的波形都可看做由一系列的取样点所组成,可事先将各波形的数据点存储在ROM 中,再通过时钟的控制顺序从ROM 中读出,再经D/A 转化器进行逐点恢复。

这种方案的波形精度主要取决于函数信号波形的存储点数、D/A 转换器的转换速度、以及整个电路的时序处理等。

设取样时钟频率为c f ,一个正弦波由N 个取样点构成,频率控制字为K ,则输出正弦波信号的频率为c o K f f N ⋅= 公式2-1其信号频率的高低,是通过改变D/A 转换器输入数字量的速率或是取点数量来实现的。

这种方案在信号频率较低时,具有较好的波形质量。

随着信号频率提高,需要提高输入数字量的速率,或减少波形点数。

波形点数的减少,将直接影响函数型号波形的质量,而数字量的输入速率的提高也是有限。

因此,该方案比较适合低频信号,而较难产生高频(如1MHz 以上)信号。

经上各方案比较,为切合本次课题,故采用方案三。

3设计实现本课题硬件原理图较为简单,仅有一单片机STM32F103ZET6及相应的一些外围器件,每种波形在ROM中都存了360个点,在保持波形失真不太明显的条件下,最高频率时可取点40个,此时需要外加RC低通滤波器,使得输出波形较为平滑。

系统时钟频率为72MHz,理论上取40个点的输出波形频率为1.8MHz,但在不同频率下,经过RC低通滤波后的波形会有幅值上的衰减,衰减程度在不同频率下也各不相同,此时可在RC滤波后加入放大器提高幅值,由于此次设计不对5KHz以上频率的波形有过多要求,所以幅值的变化不做太多的关注,仅尝试提高频率。

显示部分采用LCD12864,此LCD与MCU连接较易,仅需片选线、电源线、时钟线及串行数据线,用法也较简单,内置中文字库,4*16点阵完全够实现本次课题所需显示。

本设计原理图见附录。

3.1设计框图及流程图本设计由四个模块组成:MCU控制模块、按键模块、信号输出模块和LCD 显示模块。

如图3-1所示:图3-1 系统框图本设计的流程图如图3-2,主要需要完成的任务有:按键扫描、LCD的显示和D/A转换。

因此在主程序中对各个模块进行初始化。

图3-2主函数流程图程序主函数包括时钟树、GPIO口、中断的初始化。

本设计利用定时器触发DAC转换器的DMA传输,事先将各波形的取样点存在ROM中,在定时器作用下,将点取出,由DMA传输至D/A转换,输出,由于DMA传输不受主程序控制,因此主程序无需保持其运行。

按键控制信号的变换,每个按键对应一个IO 口,当按键按下时电平触发外部中断,此时打开定时器,产生一个20ms的延时去抖动,进入定时器中断后判断IO口的电平是否与记录的键值相同,若相同则说明确有按键按下。

相同的按键有有着不同的键值,不同的键值搭配在程序内对应不同的状态。

此时根据不同的键值所对应的不同的状态选择将要执行的操作。

在波形结构体中保存了“波形”、“幅值”、“频率”和“相位”四个参数信息,利用按键更改其中的值,按下“完成”键后确定修改状态,接着将目前状态的各个参数信息显示在LCD上,由此可完成对波形的自由修改。

通过LCD显示波形信息,可提高操作的可视性和便捷性。

STM32F103ZET6硬件资源丰富,具有512KB的FLASH ROM和64KB 的SRAM,具有144个引脚和105个GPIO口,因此采用独立按键边沿触发的方法来检测按键。

LCD12864采用串行方式传输数据,只需三根数据线。

DAC外设具有两个输出通道,通道1相位可调,通道2用作与通道1对比相位衡为0°。

因此采用如表3-1引脚分配表。

表3-1引脚分配表引脚功能PA0 “减”键PB10 “加”键PB11 “确定”键PB12 “右”键PB13 “左”键PB14 “上”键PB15 “下”键PE15 LCD12864片选PE11 LCD12864数据PE7 LCD12864时钟PA4 信号输出通道1PA5 信号输出通道23.2MCU控制模块系统的MCU采用STM32F103ZET6作为控制模块,主要完成按键扫描、信号输出、LCD显示等。

STM32系列单片机具有内置DAC转换器和DMA控制器,并有最高72MHz的主频,可完成较高频率信号的稳定输出。

3.3按键控制模块系统采用一个摇杆(包含“上”、“下”、“左”、“右”、“选择”键)和两个独立按键(“加”键、“减”键)来控制输出波形的特征。

由于STM32单片机的定时器资源丰富,因此按键消抖延时采用定时器中断的方式。

按键扫描模块的程序流程图如图3-3、图3-4所示:图3-3外部中断流程图图3-4定时器中断流程图当确定有按键按下时,判断键值并完成相应的动作。

其中“上”、“下”、“左”、“右”键切换将要更改的波形特征,“加”键和“减”键修改波形特征的值,如“幅值”、“频率”和“相位”。

3.4信号输出模块单片机的DAC外设、DMA控制器和定时器共同协作完成信号波形的输出。

信号输出采用定时器触发DMA传输数据到DAC寄存器的方式,可大大降低信号输出对CPU的占用率并提高波形的精准性。

DAC信号输出的流程图如图3-5所示:图3-5 D/A 转换流程图输出波形分别为:正弦波、方波、三角波、锯齿波。

程序中采用四个常数数组保存波形值。

为了方便相位的变换,每个数组保存了360个波形数据。

通过将常数数组中的固定值乘以一个比例系数后保存到新数组中,并将新数组的地址与DAC 转换寄存器的地址通过DMA 控制器关联,完成幅值的变换。

初始相位的更改,只需更改数据的起始取样点即可。

本设计的难点是频率的提高。

根据公式2-1c o K f f N ⋅=可得出,要改变信号的频率,可以通过改变频率控制字K 或改变DAC 频率c f 实现。

当c f 到达一定值时,完成一次DAC 转换的时间将大于DMA 传输的时间间隔,此时会出现部分值无法被转换的情况,因此c f 不可太高。

通过调整频率控制字K 也可提高信号的频率,即波形数据中每K 个点取样一个点,可使频率大大提高。

但是由于频率控制字K 的提高会造成波形的明显失真,所以波形的输出采用一级RC 低通滤波器进行滤波,平滑波形。

综上所述,当频率低于课题的基本要求5KHz 时,通过改变c f 实现频率的变换。

当频率大于5KHz 时,通过改变频率控制字K 提高信号的频率,并将波形通过RC 低通滤波器滤波。

相关文档
最新文档