loading
叫我宝贝
赞赏支持
关注

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

叫我宝贝

古城老镇添绿又一年过去,庭院开满茉莉花却等不到你。

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

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

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电容C1C2到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

2024-08-12
¥26.44
总资产
5034
获点赞
554
关注者
「真诚赞赏,手留余香」
赞赏支持
还没有人赞赏,支持一下吧
发布讨论

网友评论

还没有用户评论

相关链接

写评论
0
0
0
打赏