分类筛选
分类筛选:

关于信号发生器类专升本毕业论文范文 与基于单片机的信号发生器设计相关在职研究生论文范文

版权:原创标记原创 主题:信号发生器范文 类别:本科论文 2024-03-16

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

该文是信号发生器方面有关专升本毕业论文范文与信号发生器和单片机和设计相关研究生毕业论文范文。

【摘 要】 本文通过宏晶生产的基于传统51 内核MCU 上优化过的1T 型STC12C5A16S2 单片机,用C51 编程语言编写逻辑程序输出数字信号,再通过DAC 数模转换芯片DAC0832 输出电流脉冲信号,经过OP07 运算放大器电路即可输出相应的连续有效信号,可以通过DS1102E 示波器观察所设计的波形.

【关键词】 STC12C5A16S2 单片机 C51 编程语言 DAC0832 OP07 示波器

引言

函数信号发生器是工程师经常使用的一种用来产生指定频率和脉冲波形特性的高精度测量仪器.函数信号发生器常被用做信号源或激励源,以测量元器件是否正常工作或判断产品是否合格,也可用来测量通信系统中的频率、振幅以及传输特性.

高精度多功能的脉冲函数信号发生器往往是进口产品并且昂贵,而在教学示范过程中需要的仅仅是常见的波形,如三角波、方波、锯齿波等.为了降低教学成本,并且研究该领域的学术知识,通过设计简单的波形信号发生器来满足需求.

一、理论研究

函数波形是用来描绘在XY 轴上某条线的轨迹的图形,这个图形可以根据轨迹上的均匀离散取值来使用MATLAB[1]抽象出拟合数组.

正弦函数[2] 是一个连续函数,但是学习过数字电路都知道数字电路的特性就是离散,所以通过单片机来模拟连续函数时就会用离散函数模拟连续函数,抽样点数影响着输出信号的还原度,只要抽样点数足够多,那么这个函数复原的越真实,所以在单片机允许的情况下我们应尽量去采样更多的点数.方波是比较常见且常用的波形,用来给电机的驱动信号,或者编码器的输出信号都是方波或者方波的变种.

二、硬件电路设计

2.1 单片机最小系统设计

单片机采用STC12C5A16S2[3],最小系统如图1 所示,由晶振电路、复位电路、电源电路组成.本设计中最小系统就是指能让微型控制器在开始后正常工作的设备总称.

作为一款常用的八位单片机,它具有优秀的外设加持,集成度相当高,在此基础上又有自己的特点.作为1T 型单片机,相对于传统8051 内核[4] 的速度视指令周期不同已经提升了8-12 倍,工作电压因封装不同也不尽相同,有5V 和3V 两种配置可供选择.工作频率达到0~35MHz,晶振可选范围变大,工作速度进一步的提升,性能加强了不少.

晶振电路给MCU 提供时钟源,主要分两种,一种是基于机械谐振器的时钟源,另一种是基于RC 振荡电路的时钟源.后者成本低廉但是稳定性差,为了更准确的使用定时器在此选择传统11.0592MHz 晶振.

复位电路控制单片机上电复位动作,如果没有复位电路,单片机无法实现上电初始化.复位电路有专用芯片,有MCU 内置复位电路,也有外置阻容复位电路.在此选择阻容复位方式,上电瞬间电容等效导通,RST 引脚状态持续高电平一段时间达到芯片复位条件从而引发上电复位.

供电电路选择TD1509 作为电源IC, 最大电流可达2A,选取10Kohm 级别电路构成分压电路,分压电路功耗可忽略不计.

2.2 接口电路

为了实现核心板多功能和通用性,设计专门用于扩展电路的扩展接口,这些接口可以轻易用同一款硬件实现不同功能,从而尽量避免浪费材料的现象,增强了电路的兼容性[5],有利于后期的模块化设计,在调试电路的时候也更加灵活多变.

2.3 I/O 口上拉电路

由于传统8051 内核P0 口开漏输出的特点,其输出信号的不确定性给我们复用P0 口带来麻烦,在一般情况下我们不使用开漏输出功能,所以全部通过跳线帽方式进行上拉处理,这样既可以选择开漏也可以选择上拉输出,增强I/O 口复用能力,避免临时添加电路的问题.

2.4 放大电路设计

由于DAC0832 是电流型输出器件,电流型输出对于示波器不够明显,所以选择通过运放方式进行电流电压转换.OP07 是一款精密运放器,能够提供弱电流转换成明显的电压信号.

三、软件设计

软件设计整体流程是以外部按键为人机交互媒介,通过按键的动作来切换输出波形,首先需要初始化IO 口和外部中断程序[6] 并且开启定时器,当外部中断触发后选择相应的波形即可.

按键按下出出现抖动,采用延时方式消除按键抖动,常用消抖时间10ms.当按下键的第一时间开始计时,10ms 后如果按键仍然处于按下状态,那么认为按键被按下,使part自加告诉系统按键事件发生.系统一直处于轮询状态,当状态切换时输出函数自动切换,从而实现多种波形的切换.

STC 推荐使用Keil 软件作为开发工具,Keil 与IAR 都是单片机开发中常用的开发工具,其安装过程相对IAR 来说简单易操作,并且体积小,简洁,在非专业开发人群中有着重要的地位及影响力.使用if 语句来实现选择输出波形的函数.当为0 的时候说明程序刚刚开始运行,每一次按键都会使part 自加1,通过这个变量可以较为便捷的切换函数波形,满足流程设计要求.

四、系统调试

在系统调试时,当按下按键时MCU 会判断按键状态,确认按键被按下就可以输出与切换波形操作,同时MCU 会把相应状态输出到OLED 屏幕上.MCU 通过读取flash 中存储的MATLAB 产生的波形数据从而实现控制DAC0832 输出波形,经过OP07 运放把微弱电流信号转换为示波器可观察的明显电压信号.

示波器在电子设计中有着举足轻重的地位,很多项目往往需要采用示波器检测各个功能模块是否能够正常运行,在电路维修中也需要采用示波器判断哪部分器件出现问题,可以观察电子器件瞬时值变化情况,例如频率、电压、电流、峰峰值之类参数可以很方便测量出来,在此采用DS1102E 示波器.目前的示波器逐步走向数字化,相对模拟示波器体积较大、功能单一的缺点,数字示波器往往使用液晶屏幕,自带协议分析器,性价比高些,然而在通信时传输实时性方面不如模拟示波器.

通过示波器观察到方波信号如图2 所示,由于方波属于阶跃信号,所以用数字信号输出的还原度较高,方波占空比为50%,可以根据需求更改函数来调节波形参数,后期也可通过按键的方式调节参数.在本次图像采样中,电压为500mV/ 格,时间为20ms/ 格,采用自动模式采集信号.

正弦波如图3 所示,正弦数据是通过MATLAB 仿真出来的数组,经过实际测试,有两处问题需要改进.首先设计中暂时没有实现正负输出,所以只能单极性输出,其次仿真数据存在负值,这个负值在实际位运算处理过程中会变成一个带负号的正值,而DAC0832 只能识别成正值,导致有半个周期的波形变成常量值.最后经过调试的波形还原度不是很高,DAC0832 分辨率还是比较低,单位电流差别较大导致波形分辨率较低,但是已经能够识别出正弦的形状.五、 结论本次通过宏晶生产的STC12C5A16S2 单片机,用C51进行编程, 输出数字信号, 再通过DAC 数模转换芯片DAC0832 输出电流脉冲信号,经过OP07 运算放大器电路可输出相应的连续有效信号,通过DS1102E 示波器观察所产生的波形.由于设计时候没有采用滤波电路,可以发现波形会产生很多严重毛刺,相对来时会有失真,因此对于信号发生器来说,滤波电路不可或缺,只有真正完整的电路,才能实现平滑不失真的波形.

参 考 文 献

[1] 卓金武《MATLAB 在数学建模中的应用》[M]. 第二版. 北京航空航天大学出版社.2014(9).45-47.

[2] 频率合成技术 [DB/OL].http://baike.baidu.com/view/195808.htm.2006(5).

[3]STC12C5A16S2Datashet [DB/OL].http://www.stcmcu.com/.2016(5).69-72.

[4] 陈海宴.51 单片机原理及应用[M]. 北京航空航天大学出版社,2010(5).55-59.

[5] 李平等.《单片机入门与开发》[M]. 机械工业出版社,2008(3).132-135.

[6]Harold Stone. Micro computer Interfacing. University of Massachusetts.Amborst.Addison wesle[M].1982(6).55-57.

信号发生器论文参考资料:

归纳上文,本文论述了关于信号发生器方面的大学硕士和本科毕业论文以及信号发生器和单片机和设计相关信号发生器论文开题报告范文和职称论文写作参考文献资料。

和你相关的