上海花千坊419论坛

基于单片机的信号发生器设计方案 信号发生器的设计要求有哪些

本文章由注册用户 知无涯 上传提供 评论 0
摘要:信号发生器的应用广泛,简易型的信号发生器可以基于单片机来设计,设计出的信号发生器能产生方波、三角波和正弦波并进行仿真。基于单片机的信号发生器设计主要包括总体方案设计、系统硬件设计和系统软件设计三部分,设计好的信号发生器要满足基本性能指标要求和扩展性能指标要求。下面一起来看看基于单片机的信号发生器设计方案吧。

一、基于单片机的信号发生器设计方案

信号发生器用于调节射频匹配电路,可以自行设计,一般普通的信号发生器需要输出正弦波、方波、三角波以及锯齿波等信号,可通过按键调节信号的频率以及信号的幅度,其具体的设计方案如下:

1、总体方案设计

信号发生器发送出去的是模拟信号,而单片机输出的是数字信号,因此在设计信号发生器系统时,需要使用到数模转换芯片,可选择数模转换芯片DAC0832,然后再利用运算放大器将DAC0832输出的电流信号转换成电压信号。这样信号发生器便输出了模拟电压。系统要输出各种波形信号,则要求DAC0832在运放的作用下,在不同时间点输出不同的电压值,再将这些电压值连接起来,便构成了相应的波形信号。而要得到不同的电压值,则单片机需要将8位I/O口接到DAC0832芯片的8位数据信号输入端,单片机通过改变8位I/O口的数字信号,便可以在DAC0832以及运放的作用下,得到不同的电压值,再在时间的作用下形成不同的波形信号。波形信号频率的的变化可通过改变单片机8位I/O输出口的数据变化率来实现。

波形信号的幅度由DAC0832的参考电压VREF来决定,为了确保VREF的大小可变,本系统使用到了芯片PCF8591,将PCF8591芯片的模拟电压输出端接在DAC0832的VREF上,通过改变PCF8591模拟电压输出值便可改变VREF值,从而改变波形信号的幅度值。而PCF8591的模拟电压输出值则是尤其I2C总行上的数据所决定,利用单片机的I/O口模拟I2C与PCF8591进行通信,那么单片机便可通过I/O口控制VREF电压的变化,从而控制波形的幅度变化。

2、系统硬件设计

(1)晶振电路设计

单片机稳定工作则需要稳定的时钟信号,而时钟信号则是由晶振电路产生,因此晶振电路设计的好坏直接影响到最小系统的稳定性。单片机的18脚和19脚为晶振连接输入脚,将晶振X1的两端连接到单片机18和19脚之后便会产生时钟信号,此时的信号会存在不稳定的问题,需要在晶振Y1的两端分别外接一个22PF电容C1、C2到GND,该电容为晶振的匹配电容,晶振匹配了电容之后,那么产生的时钟信号就比较稳定。出现的频偏也是在20PPM的范围内。这样才能确保系统时钟稳定可靠。

(2)复位电路设计

最小系统除了晶振电路之外,还需要具备复位电路,单片机上电后,启动的时候,需要复位电路先进行复位,确保系统运行的起始地址一致 ,保证系统工作的稳定性,复位是利用电容C3与R1来实现的。

(3)波形幅度调节电路设计

为改变系统输出的波形幅度值,本系统使用到了PCF8591芯片,该芯片是一个8位CMOS数据采集器,该芯片可以将模拟信号转换成数字信号,再通过I2C数据总线将该数字信号发送给单片机;也可以反过来,单片机通过I2C总线将数字信号发送给PCF8591芯片,再由该芯片进行数模转换后,变成模拟电压再由AOUT脚输出。利用这一原理,本系统为了调节信号发生器的幅度值,将单片机P2.0和P2.1模拟I2C与PCF8591通信,这样单片机便可以控制PCF8591的AOUT输出端模拟电压的大小,再将其接入到DAC0832的VREF脚上,便可以控制波形的幅度。

(4)数模转换电路设计

信号发生器产生各种波形信号使用到了DAC0832数模转换芯片,该芯片内部集成了一个8位D/A转换器,一个8为DAC寄存器,一个8位输入寄存器以及一个控制电路,其内部采用的是倒T型R-2R电阻网络,将该数模转换芯片与运算放大器LM358一起使用,便可以使运放输出端有28 =256个电压值输出。在不同时间内变换输出不同的电压值,使其产生周期性的变化便能形成相应的波形信号。

(5)按键中断控制电路设计

基于单片机的信号发生器要求输出方波、三角波、锯齿波以及正弦波信号,信号的幅度和频率可调,用户可通过系统按键来对信号发生器进行设置。在系统中,设计了8个按键,其功能分别为100HZ频率加按键、1hz频率加按键、-1hz频率减按键、1V电压幅度加按键、0.1V电压幅度加按键、-0.1V电压幅度减按键、波形切换按键、扫频开关按键。为了方便系统设计,采用独立按键设计方法,利用单片机P1口将各按键连接,通过软件将P1口设置成上拉状态。当没有按键按下时,单片机P1口中的所有I/O口检测的到时高电平;当有按键按下时,则该按键对应单片机的I/O口会被拉低,变成低电平。单片机便能检测到,从而调用该按键程序执行相应的功能。

(6)电源电路设计

本系统电路设计是在Proteus仿真软件上设计,该仿真软件有各种电源,可直接调用。无需使用电压转换芯片。在本系统单片机使用5V电压供电,而为了使输出波形幅度为10V,则PCF8591采用10V电压供电,而运算放大器采用±15V供电,直接从仿真软件上取电源即可。

3、系统软件设计

完成proteus软件电路图设计之后,接下来需要对单片机编写驱动程序,系统驱动程序的编写是在keil软件平台上完成的,Keil软件打开后,要先建立工程,然后在工程当中建立一个.c文件,在此文件中编写代码驱动程序:

(1)系统主程序设计

主程序是软件系统中最为重要的程序,因为系统程序是由各个子程序所构成,而子程序的调用全部是在主程序中来实现的,主程序设计的好坏直接能影响到系统的逻辑结构,影响到系统工作的稳定性。在本系统中,系统开始运行后,先会执行主程序,在主程序中对单片机及其外围元件进行初始化设置,完成初始化设置之后,系统就会执行正弦波程序,让信号发生器输出正弦波信号,然后再去检测是否有按键按下,如果有按键按下,系统检测到后,便会执行相应按键的程序,从而改变信号发生器输出的波形。如果没有按键产生,则系统继续保持当前波形输出,然后再继续去访问是否有按键按下,如此循环下去。

(2)按键扫描程序设计

本系统是通过按键来改变信号发生器的波形,系统一共有八个按键,按下不同按键时,系统需要输出不同的波形。定义按键6为波形切换按键,按键0为100HZ频率增加按键,按键1为1HZ频率增加按键,按键2为1HZ频率减按键,按键3位1V幅度增加按键,按键4为0.1V幅度增加按键,按键5为0.1V幅度减小按键,按键7位扫频按键,flang为标志位,用于判断按键6按下的次数当flang为1是默认输出正弦波;当flang为2时,输出三角波;当flang为3时输出锯齿波;当flang为4时,输出方波;当flang为5时,则会令flang=1,输出正弦波。

因此,当有按键按下时,系统调用按键程序会去判断是哪个按键按下,如果是按键6按下,表示需要切换信号发生器的输出波形,令flang 1,然后判断flang的值,再输出相应的波形信号。当是0按键按下时,则系统会在原有的波形上,改变其输出频率,使频率增加100HZ;当按下的是1按键,则将频率增加1HZ;当2按键按下,则将频率减小1HZ;当按键3按下时,表示要在原有波形的基础上增加1V的波形幅度;当4按键按下,则幅度增加0.1V;当5按键按下,则幅度减小0.1V;当7按键按下,则进行扫频。当执行完按键程序后,返回系统主程序。

二、信号发生器的设计要求有哪些

基于单片机设计的信号发生器属于简易信号发生器,主要能产生方波、三角波和正弦波并进行仿真,这类信号发生器设计好后,应满足以下要求:

1、基本性能指标要求

(1)频率范围:100Hz~1kHz。

(2)输出电压:方波 Up-p≤24V,三角波 Up-p=6V,正弦波 Up-p>1V。

2、扩展性能指标要求

频率范围分段设置10Hz~100Hz,100Hz~1kHz,1kHz~10kHz;波形特性方波t r<30us(1kHz,最大输出时),三角波r△<2%,正弦波r~<5%。

网站提醒和声明
本站为注册用户提供信息存储空间服务,非“MAIGOO编辑”、“MAIGOO榜单研究员”、“MAIGOO文章编辑员”上传提供的文章/文字均是注册用户自主发布上传,不代表本站观点,版权归原作者所有,如有侵权、虚假信息、错误信息或任何问题,请及时联系我们,我们将在第一时间删除或更正。 申请删除>> 纠错>> 投诉侵权>> 网页上相关信息的知识产权归网站方所有(包括但不限于文字、图片、图表、著作权、商标权、为用户提供的商业信息等),非经许可不得抄袭或使用。
提交说明: 快速提交发布>> 查看提交帮助>> 注册登录>>
相关推荐
正弦波信号发生器电路工作原理是什么 正弦波信号发生器电路的产生条件
正弦波信号发生器的电路由两级构成,第一级是一个RC文氏桥振荡器,第二级是一个反向比例放大器,通过调节双连电位器来改善波形失真。正弦波信号发生器的电路能产生正弦波输出,产生条件主要有三个,分别是正弦波振荡电路、振荡平衡调节以及起振条件和稳幅原理。下面一起来了解一下正弦波信号发生器电路工作原理是什么吧。
函数信号发生器有哪几种输出波形 函数信号发生器的输出端能否短接
函数信号发生器是一种能够产生多种波形的信号发生装置,广泛应用于电路实验和设备检测中,采用dds技术制成的函数信号发生器能产生任意波形,常见的包括正弦波、方波、三角波、锯齿波和脉冲波等都可以输出。函数信号发生器的输出端是可以短接的,注意不耦合出超过输入电压的返回波即可。下面一起来了解一下函数信号发生器有哪几种输出波形吧。
信号发生器的使用方法 信号发生器使用注意事项有哪些
信号发生器常用来信号调制,或者用作测试的信号源或激励源,它的使用方法是插入电源,开机,然后进行频率、波形、幅度等信号输出设置,再进行频率测量。使用信号发生器时要注意,勿在高温、高压、潮湿、强振荡等条件下使用和存放,使用前应预热30分钟,非专业人员请勿擅自打开机壳或拆装等。下面一起来了解一下信号发生器的使用方法及使用注意事项吧。
单片机开发工程师是做什么的 单片机开发工程师需要学哪些
单片机开发工程师是从事单片机电路设计、编写单片机软件等工作的职业,对于合格的单片机开发工程师来说,需要学习掌握的知识有很多,包括C语言、单片机程序框架、硬件基础等。单片机开发工程师从事的是单片机行业,这一行业从市场需求、薪资水平、物联网与单片机未来趋势等方面来看,还是比较有前景的。下面一起来了解一下单片机开发工程师是做什么的吧。
dds信号发生器的结构组成 dds信号发生器原理是什么
信号发生器是一种能提供各种频率、波形和输出电平电信号的设备,它的种类众多,dds信号发生器就是其中一种,是采用dds技术的信号发生器,主要由相位累加器、波形存储器、数模转换器、低通滤波器四部分组成,采用奈奎斯特取样定理进行工作。下面一起来了解一下dds信号发生器的结构组成及工作原理吧。