便携式信号发生器及示波器设计软件设计.docx

上传人:b****5 文档编号:8162309 上传时间:2023-01-29 格式:DOCX 页数:24 大小:1.41MB
下载 相关 举报
便携式信号发生器及示波器设计软件设计.docx_第1页
第1页 / 共24页
便携式信号发生器及示波器设计软件设计.docx_第2页
第2页 / 共24页
便携式信号发生器及示波器设计软件设计.docx_第3页
第3页 / 共24页
便携式信号发生器及示波器设计软件设计.docx_第4页
第4页 / 共24页
便携式信号发生器及示波器设计软件设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

便携式信号发生器及示波器设计软件设计.docx

《便携式信号发生器及示波器设计软件设计.docx》由会员分享,可在线阅读,更多相关《便携式信号发生器及示波器设计软件设计.docx(24页珍藏版)》请在冰豆网上搜索。

便携式信号发生器及示波器设计软件设计.docx

便携式信号发生器及示波器设计软件设计

毕业论文(设计)

题目便携式信号发生器及示波器设计—软件设计

院系电子信息学院

专业电子信息工程年级2010级

学生姓名苟浩

学号100610103

指导教师沈毅斌

便携式信号发生及示波器设计——软件设计

电子信息工程专业

学生苟浩指导教师沈毅斌

【摘要】本设计以单片机控制技术为核心,3.2寸触摸液晶屏作为控制及显示设备,凭借基于直接式数字频率合成器的芯片AD9851作为信号源和高速AD采样芯片AD9280制作。

通过编写单片机STC15F2K61S2相关控制代码,在触摸液晶屏实现功能选择,数字输入及结果显示,包括信号发生器和简易示波器。

信号发生器需达到输出指定频率的正弦信号并在屏幕上显示,简易示波器则需完成对数据的采集和计算并将波形及相关参数显示在屏幕上。

该设计简洁便携,价格便宜,能满足大部分场合的需求。

【关键词】触摸屏单片机信号发生器示波器

 

TheDesignofPortablesignalgeneratorandoscilloscope

——SoftwareDesign

【Abstract】Thedesignofsingle-chipcontroltechnologyasthecore,3.2-inchLCDtouchscreenasthecontrolanddisplayequipment,withdirectdigitalfrequencysynthesizerbasedchipAD9851ADasasignalsourceandhigh-speedsamplingchipAD9280production.BywritingtherelevantcodetothemicrocontrollerSTC15F2K61S2inLCDtouchscreenfunctionselectionandresultsachieved,includingsignalgeneratorsandsimpleoscilloscope.Requiredtoachievethespecifiedsignalgeneratoroutputfrequencysinusoidalsignalanddisplayedonthescreen,youneedtocompleteasimpleoscilloscopedatacollectionandcalculationparametersandwaveformsanddisplayedonthescreen.Thedesignissimple,portable,inexpensive,canmeettheneedsofthemajorityofoccasions.

【Keywords】Touchscreen;Microcontroller;SignalGenerator;Oscilloscope;

 

目录

1绪论1

1.1背景1

1.2现状与发展1

1.3论文主要工作2

2方案论证3

2.1单片机的通信方案论证3

2.2串口收发方式的方案论证4

3理论分析与计算5

3.1Vpp、Vmax、Vmin的计算5

3.2Vrms的计算5

3.3扫频参数与晶振时间的计算6

4软件设计6

4.1主程序7

4.2信号发生器子程序8

4.3示波器子程序10

5硬件设计12

5.1高速AD采集前置电路12

5.2高速AD采样电路12

5.3DDS信号源电路13

6系统测试14

6.1测试仪器14

6.2示波器功能测试14

6.3信号发生器功能测试15

6.4系统整机测试15

7总结以及展望16

致谢18

参考文献19

附录20

1绪论

随着我国高速发展,信息时代已悄然来临,电子电气与数字信息深入了百姓生活中的方方面面。

越来越多的基建设施开始修建并投入使用。

为了降低维护人员的工作强度提高工作人员的效率,国内已经涌现出大批便携式的测量仪涉及到各个工业民用领域。

数字示波器、信号发生器都是常用的检测测量仪器,也是用处最广泛的仪器。

但传统的示波器及信号发生器的体积都比较大,不像万用表那样携带方便,一般只能在固定场合使用。

而工程测量中往往不可能时时刻刻携带笨重的“台式”仪器,因此市场对手持测量仪器的操作简单、快捷,用途多样化的需求越来越明显。

其操作简单、快捷,实时性强,在电子测量领域得到了广泛的应用。

很好的弥补了固定测量设备灵活性差,功能单一的缺点,可以有效的完成检测及测试任务,能有效提高户外测量人员的工作效率。

因此设计一种具有这两种测量功能的测量仪,体积小、如普通万用表大,质量轻、操作简单,通过触屏进行功能选择,即可实现这两种基本测量的仪器具有重要意义。

1.1背景

目前仪器仪表呈现出高速发展趋势,20世纪中期以后,随着自动控制理论的产生和自动控制技术的逐渐成熟,以A/D(数字/模拟转换)环节为基础的数字式仪器仪表得到快速发展。

伴随着通讯、计算机、软件和新材料、新技术等的高速发展与成熟,人工智能化在线测控成为可能,使仪器走向智能化、虚拟化、网络化。

数字仪器、智能仪器、个人计算机仪器、虚拟仪器和网络仪器代表了20世纪现代科学仪器发展的主流与方向。

《仪器仪表行业“十二五”规划》要求把传感器及智能化仪器仪表摆到推动制造业转型升级的重要位置,在工信部相关资源中对传感器及智能化仪器仪表的研发及产业化予以支持【1】。

我国仪器仪表行业广泛通过电子商务领域进行应用,为该行业发展做出了强有力的贡献。

而随着十二五的到来,我国仪器仪表行业也必将进入一个超高速发展阶段。

未来五年,仪器仪表行业总产值将达到或接近万亿元,年平均增长率高达15%。

未来五年,我国仪器仪表行业将应用电子商务开拓市场,其必将成为行业持续发展的主流趋势【1】。

所以便携式仪器弥补了传统仪器的不足,价格便宜,将具有更大的市场。

1.2现状与发展

尽管在国家宏观调控政策的引导与控制下,我国仪器仪表行业在近些年来取得了前所未有的高速发展,然而核心技术的缺失,大量高尖端产品仍然依赖国外进口,这是我国仪器仪表行业面临的严峻考验之一。

 

中国仪器仪表行业协会顾问董景辰曾经指出:

其实很早就有人看到,现今仪器仪表行业企业小、散、乱的状况也是阻碍本行业发展的重要原因之一。

但是在经济高速发展时期,市场需求很大,小、散、乱企业生产的产品也都能完成销售任务,因此企业没有动力,也没有需求来改变这一现状。

事实上,市场经济的无序竞争确实要为当今仪器仪表行业的一部分现状买单。

然而,由于企业实力不强,造成在技术研发和制造生产过程方面的人才与资金投入严重不足,致使国内产品和国外相比还有很大差距却更是主要的原因【2】。

1、加大技术研发和制造投入

我国仪器仪表虽然占有市场的大量份额,但主要聚集在低端市场。

大部分高端精密仪器仍然需要进口,大部分技术和产品研发还处在跟踪国外的状态。

为了面对国际市场竞争的残酷性,仪器仪表企业必须加大技术研发和制造投入,掌握核心技术这样才能在残酷的市场中获得一席之地。

2、规范仪器仪表行业

当今我国大部分仪器仪表企业主要面向低端民用市场,企业多,技术难度低,导致在低端市场竞争激烈,甚至出现恶性竞争,产品质量无法保证。

因此需要规范仪器仪表行业使仪器仪表行业走向良性发展。

3、政策的大力支持

随着国家大力振兴发展高新产业、推进两化融合,国民经济中各行业自动化程度逐步提高,对仪器仪表的需求持续增长,故仪器仪表行业虽然也受到国内外经济疲软的影响,但受到的冲击程度较小,行业在整体上仍保持了平稳增长【3】。

1.3论文主要工作

本设计以2块单片机(分别用A和B表示)STC15F2K61S2最小系统为核心,以高速AD采集模块,DDS信号发生器以及3.2寸触摸液晶屏作为外围器件。

A的最小系统连接3.2寸触摸屏并通过串口与B相连,B连接高速AD采集模块(AD9280)和DDS信号发生器(AD9851)。

系统上电后,通过触摸显示屏选择功能,A接受到命令后传给B,由B驱动相关电路完成采集或信号输出工作。

本文主要介绍便携式发生器及示波器的软件设计、实现过程。

第一章绪论。

主要介绍了便携式信号发生器及示波器的开发背景、国内外发展现状、论文主要工作。

第二章方案与论证。

对单片机通信方式及部分代码的编写方式进行功能分析,设计几种方案,并进行其可行性、技术路线、关键技术以及技术难点与解决方案的分析,最终选出最可行的方案。

第三章相关计算公式理论。

主要介绍示波器的有效电压,频率,幅值等的计算。

第四章软件设计。

先进行单片机程序设计,程序编好后就进行对其进行测试。

第五章硬件设计。

先进行原理图的设计,用AD画出原理图,再进行PCB的设计,但一定要注意元器件参数与测试方法的选择,最近进行电路板的焊接。

第六章系统的调试与结论。

调试软件,并对系统进行整合,观测项目结果。

2方案论证

本设计基于STC15F2K61S2单片机,高速AD9280及DDS信号发生器AD9851实现信号发生器和简易示波器设计。

在触摸液晶屏实现功能选择,数字输入及结果显示;信号发生器功能实现输出指定频率的正弦信号并在屏幕上显示;简易示波器功能完成对数据的采集和计算并将波形及相关参数显示在屏幕上。

软件流程图如下图所示。

图1软件流程图

系统上电后,单片机A接受到的来至触摸屏的控制信号和控制参数通过串口传给单片机B,单片机B在根据相关命令驱动相关电路并将结果回执给单片机A,单片机A对回执数据处理后显示在屏幕上。

2.1单片机的通信方案论证

单片机的通信主要完成单片机与单片机或单片机与其他外设的数据交换。

要求传输稳定占有很少的系统或硬件资源。

当前单片机主机从机之间的通信主要有SPI、UART、I2C三种方式。

2.1.1SPI(SerialPeripheralInterface--串行外设接口)

SPI总线接口系统是一种同步串行外设接口,它可以使MCU与多种外围设备以串行方式进行通信以完成信息流的交换。

主要优缺点如下1、传输速度快,为全双工通信其传输速度较I2C快很多能达到几Mbps。

2、虽然SPI传输速度较快,但他占用了较多的I/O口,且没有应答机制无法确认是否完成接收。

接收框图如下图所示。

图2SPI接收结构图

2.1.2I2C内部整合电路

用于MCU及其外围设备的连接。

是当今微电子通信和电子控制领域中使用最广泛的一种总线标准。

它是同步通信的特殊形式中的其中一种,I2C具有接口线少,控制方式简单有效,器件封装形式较小,通信速率较高等优点。

但本设计中STC15F2K61S2单片机不具备I2C硬件接口,只能通过代码软件模拟通信方式,代码工作量较大。

因此不采用此方式进行通信。

2.1.3UART(UniversalAsynchronousReceiver/Transmitter--通用异步收发传输器)

UART是一种通用串行数据总线,用于异步通信。

该通用串行总线为双向通信,可以实现全双工传输和接收。

且大部分单片机都带有1个或多个UART。

UART通信方式代码简单,传输效率高,且只占用2个I/O口,其性能指标,与简单的代码设计完全能满足本次作品设计所以在本设计中我选择UART方式进行通信。

2.2串口收发方式的方案论证

串口收发方式主要有中断方式和查询方式,中断方式比较适合处理具有随即特性的事件,事件发生后向cpu提出申请,然后cpu会保存当前的任务转去处理事件。

编程时采用查询方式则需要程序不断查询标志位来确定事件是否已经发生,而中断方式要编写中断服务子程序来处理中断事件。

中断方式和查询方式其区别简单总结如下图所示

图3查询与中断方式总结图

中断方式与查询方式相比能节约系统开销不浪费CPU资源,但在本设计中主从机串口不仅都用来发送命令数据也都有接收命令数据且数据的收发时间段是已知的。

为方便代码编写,明确程序流程。

在本系统中查询方式与中断方式相比系统开销相差无几。

综上所述,本次设计采用查询方式设计以方便代码的编写。

3理论分析与计算

本设计主要通过高速A\D采样实现便携式示存储波器功能,便携式示波器需要完成对波形常见参数的计算包括Vpp、Vmax、Vmin、Vrms。

其中不同波形的Vrms计算不同且较为复杂。

3.1Vpp、Vmax、Vmin的计算

AD9820为8位高速A\D芯片,量程为0~2V,本设计加入了前置梳理电路使量程变为-5V~+5V,模数转换后值为0~255。

因此可计算出分辨率为10/256=0.0390625V。

在值为127时输入电压为零。

大于127时输入电压为正,小于127输入电压为负。

Vmax的值为AD采集数据中对应的最大数值当Vmax大于127时其值为(最大采集数值-127)*0.0390625。

小于127时其值为最大采集数值*0.0390625-5。

同理Vmin为值为AD采集数据中对应的最小数值当Vmin大于127时其值为(最小采集数值-127)*0.0390625。

小于127时其值为最小采集数值*0.0390625-5。

Vpp为峰峰值其计算方法为

Vpp=Vmax-Vmin

(1)

3.2Vrms的计算

Vrms指交流电的有效值是根据电流的热效应规定的让交变电流和直流电通过同样的电阻,如果它们在同一时间内产生的热量相等,就把这一直流电的数值叫做这一交流电的有效值简而言之就是周期电源中用來运算平均功率或平均能量之大小值,称为有效值。

若有一周期T的交流电压,在一周期时间內对一负载R所做的功为【5】

(2)

而在同一時間直流电压V对负载R所做的功為

(3)

若两者做功相同则有

(4)

变换得

(5)

这个电压即为有效电压也称均方根值。

本设计中考虑到单片机的性能只对正弦波、三角波、方波进行Vrms计算,从软件设计上让系统自动判断波的类型较为复杂,所以当用户观察到波形后手动选择计算类型计算相关参数。

正弦波的有效值为

(6)

三角波的有效值为

(7)

方波的有效值为

(8)

3.3扫频参数与晶振时间的计算

本设计中选用的晶振为24MHz,且STC15F2K61S2是1T单片机此时1时钟周期等于1机器周期,但在本设计中为方便计算并减小误差定时器任然选用12T模式因此可根据时钟晶振的振荡频率计算出机器周期,因此一个计数周期

T=1/(24Mhz/12)=0.5us(9)

扫频模式中需要用户输入起始频率、终止频率、步进及扫频时间这些相关参数。

步进次数=(终止频率-起始频率)/步进,步进时间=扫频时间/步进次数。

通过定时器0的多次定时计数即可确定时间进行相应的幅值最终完成扫频功能。

4软件设计

在硬件的基础上对软件进行设计,系统设计要求包括两大功能简易信号发生器和简易示波器用户可以根据需要自行选择相应的功能。

其中简易信号发生器要求用户能随意选择模式或更改参数,简易示波器要求能进行波形显示、部分参数显示、存储、时间轴可调等。

以上功能也是相关模块的基本功能,实现这些功能使得系统更加人性化更具有实用性。

因此根据系统软件设计要求将软件划分为:

信号发生器、简易示波器两大模块。

4.1主程序

主程序完成系统初始化并等待用户进行功能选择,其中初始化包括初始化触摸显示屏、串口等。

图4程序流程图

系统上电随即开始运行进入主程序,进入主程序后先开始初始化,初始化包括整个系统所需要的一系列外设,最先开始初始化触摸显示屏随后是串口。

初始化完成后系统将功能显示输出在屏幕上等待用户进行功能选择。

选择相应功能后即进入相应的子模块。

主要(关键)代码:

main()

{

spistar();//模拟SPI初始化

Lcd_Init();//tft初始化

uart_init();//串口初始化

LCD_Clear(WHITE);//清屏

BACK_COLOR=BLACK;;POINT_COLOR=WHITE;

kaishijiemian();

while

(1)

{

Convert_Pos();//检测触摸屏

if((tp_pixlcd.x>87)&&(tp_pixlcd.x<155)&&(tp_pixlcd.y>200)&&(tp_pixlcd.y<235))

{

tp_pixlcd.x=0;tp_pixlcd.y=0;

zhujiemian();

}

}

}

此段程序是系统初始化的程序,初始化触摸显示屏和串口后,以白色清屏读取开始界面,将功能界面显示在屏幕上,随后进入无限循环不停的检测触摸屏上是否有输入,当侦测到有输出且在触摸屏上指定的区域就可执行相关子函数。

4.2信号发生器子程序

当用户在功能选择界面选择信号发生器时即进入信号发生器子程序,信号发生器又分固定频率输出和扫频模式输出。

用户在主程序中选择信号发生器功能后进如该子程序,该子程序又分两种功能模式。

选字固定频率输出时,用户从屏幕上输入频率大小,从屏幕接收完参数后单片机将控制字发送给AD9851,AD9851读取数据后输出指定频率。

同理扫频模式中单片机接收到相关参数后开始计算相关参数,在一定的时间范围内不停的将控制字发生给AD9851使其在不同的时刻输出不同的频率以达到扫频效果。

图5程序流程图

主要(关键)代码:

while

(1)

{

if(Penirq==0)

{

if(Convert_Pos())//得到坐标值

{

while(Penirq==0);//松手

delayms(100);

//按键值0

if((tp_pixlcd.x>100)&&(tp_pixlcd.x<135)&&(tp_pixlcd.y>290)&&(tp_pixlcd.y<320))

{

tp_pixlcd.x=0;tp_pixlcd.x=0;

a=a*10;

LCD_Fill(100,0,239,50,WHITE);

LCD_ShowNum(100,20,a,10);

}

该模块的程序过于冗长,这里只简要介绍键盘,与频率字转换代码。

用户通过屏幕上的键盘输入参数,此段代码程序即完成此功能记录下每一个用户按下的键值依次向左移位即得到用户输入数据,输入的数据通过频率转换程序发送给下位单片机,下位单片机接收到数据后即开始相应的工作。

此处的频率转换字代码主要是为了方便串口传输。

4.3示波器子程序

当用户在功能选择界面选择简易存储示波器时即进入示波器子程序。

本程序主要完成三种功能,分别是波形显示、存储、显示上次波形。

其中波形显示能完成时间轴4倍放大与缩小,并计算部分参数。

存储将采集的数据信息存入EEPROM以便在显示上次波形功能中完成显示。

图6程序流程图

用户选择示波器功能进入示波器子程序,该子程序仍有波形采集与读取保存波形两大功能,前者主要用于波形观察。

当用户选择波形采集AD9820开始采集数据并将采集的数据存入单片机的ram中,所以ram容量越大所采集的样板也就越多,计算也就越准确。

当ram存满时根据这些样本计算完成显示与参数测算。

并由用户根据需要选择是否保存该采集样本。

保存波形大致与波形采集功能类似,只不过保存波形不在采集而是使用上一次保存的样本进行计算,因此能还原上一次保存的波形。

主要(关键)代码:

voidaj_cun()//保存采集数据代码

{

unsignedinti,b;

b=0;

Sector_Erase(0xf000);//擦除扇区,入口:

DPTR=扇区地址

Sector_Erase(0xf200);//擦除扇区,入口:

DPTR=扇区地址

for(i=0xf000;i<0xf3c0;i++)

{

Byte_Program(i,ad[b]);//将DATA写入EEPROM

b++;

}

}

voiddu_xs()//从EEPROM中读取上次保存值

{

unsignedinti,c;

c=0;

for(i=0xf000;i<0xf3c0;i++)

{

ad[c]=Byte_Read(i);//读EEPROM的值

c++;

}

du_rom();

}

本文简要介绍EEPROM的清除与写入、读取、以及波形显示的程序。

第一段子程序即为EEPROM的清除与写入程序。

通过擦除扇区命令擦除储存数据的扇区,擦除完毕后按地址逐一写入数据。

EEPROM的读取代码与擦除代码同理。

最后一段程序较大该段程序主要完成波形的显示和相关参数的测量计算方法已在先前阐明此处不再累述。

5硬件设计

根据系统结构图系统由:

高速AD采集前置电路、高速AD采样电路、DDS信号源产生模块、3.2寸TFT液晶显示模块构成,通过STC单片机进行数据处理及显示控制,实现TFT液晶屏的触控及显示功能。

实现信号源产生及波形显示功能。

5.1高速AD采集前置电路

本系统设计中选择外接高速AD采集芯片AD9280,高达32MSPS。

为使采集范围增加到-5V~+5V的最佳采集电压范围,设计了高速AD采集前置信号梳理电路,使简易存储示波器系统设计大为简化,并提供更可靠的性能。

图4高速AD采集前置电路

5.2高速AD采样电路

为达到本系统高速AD采样的目地。

本系统设计中选择高达32MSPS的外接高速AD采集芯片AD9280,采集范围大,温漂系数低,能很好的完成采集任务。

图5高速AD采集电路

5.3DDS信号源电路

系统中采用AD9851芯片进行信号源电路设计。

AD9851是ADI公司采用先进的DDS技术推出的高集成度DDS频率合成器,它内部包括可编程DDS系统、高性能DAC及高速比较器,能实现全数字编程控制的频率合成和时钟发生。

图6DDS信号源电路

6系统测试

6.1测试仪器

表1测试仪器

仪器名称

型号规格

数字万用表

DT-9208A+

RIGOL双踪示波器

DS1062C60MHz400Msa/s

RIGOL函数信号发生器

20MHz100Msa/s

6.2示波器功能测试

由RIGOL函数信号发生器输出20KHz的正弦信号,三角信号,方波信号。

其Vmax为+2.5VVmin为-2.5V。

图7正弦波信号图8方波信号显示

图9三角波信号显示

结论:

示波器功能能大致还原波形图像,但从测试中可以看出,所测量值均有100mv左右的误差。

初步分析可能是采集的样本过少所致。

6.3信号发生器功能测试

选择固定频率输出功能选择输出20Khz的正弦信号并用示波器观察,示波器正常显示频率20Khz波形完美。

图1020khz信号输出显示

选择扫频模式输出设定参数为:

扫频范围0-40Mhz,步进100Khz,扫频时间2s。

示波器能正常显示。

但频率越高输出的波形幅值越小。

图11扫频信号输出显示

结论:

信号发生器能正常发生0-40Mhz内的频率,但频率越高信

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1