




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号 淮安信息职业技术学院毕业论文题 目基于单片机控制的数字函数信号发 生器的设计与实现 学生姓名李蒙娜学 号15093009系 部电子工程学院专 业应用电子技术班 级150930指导教师刘步中 讲 师顾问教师庄海军 副教授 二一二年六月摘 要本文利用单片机控制技术、cpld技术与直接数字频率合成器,研制和设计了高稳定度、高分辨率的函数信号发生器。首先对波形发生器的常用的几种方案介绍和比较,重点论述了基于dds芯片ad9834的波形发生器方案,并针对设计过程中出现的问题提出了解决方案。提出并应用了一种cpld与单片机的通信方法,实现了宽频率和高精度的信号产生。在系统总体方案设计中,将dds信号发生器分成6个模块:键盘模块、单片机控制模块、cpld模块、dds模块、模拟信号调理模块和电源模块,按模块进行软硬件设计。根据本信号发生器的主要功能进行了系统功能测试,并根据具体测试波形和测试数据对结果进行了分析。实验和实测结果表明所设计系统结构简单,使用方便、交互性好,性能稳定可靠,具有较高的应用价值。关键词:单片机;dds; cpld ;信号发生器目 录目 录摘 要i目 录i第一章 绪 论11.1 项目研究背景11.2 dds信号发生器方案比较11.3项目主要研究内容2第二章 信号发生器总体设计32.1 dds信号发生器的指标要求32.2 系统框图及模块功能32.3 主要器件选择5第三章 信号发生器硬件电路设计73.1 单片机模块设计73.2 人机交互电路设计73.3 dds模块设计83.4 可编程逻辑器件模块设计103.5 模拟调理电路设计103.6 电源模块设计14第四章 信号发生器软件系统设计174.1 主监控程序模块设计174.2 dds程序控制模块设计174.3 键盘扫描模块设计184.4 电压采样显示模块设计184.5 cpld模块设计194.6 测频模块设计21第五章 信号发生器参数测试275.1 幅度显示参数测试275.2 外测频参数测试285.3 频率显示参数测试285.4 信号发生器的典型波形29第六章 结论与展望31致 谢33参考文献3435第一章 绪 论第一章 绪 论函数信号发生器广泛应用于电子电路、自动控制等领域。信号发生器和示波器、频率计等仪器一样,是最基本的、最普通,也是应用最广泛的电子仪器之一,几乎所有需要进行电参量的测量都需要用到信号发生器作为输入信号使用。1.1 项目研究背景近10年间,随着微电子技术的迅速发展,直接数字频率合成器(direct digital frequency synthesis简称dds或ddfs)得到了飞速的发展,它以有别于其它频率合成方法的优越性能和特点,成为现代频率合成技术中的佼佼者35。具体体现在频率范围宽、频率转换时间短、频率分辨率高、输出相位连续、可产生宽带正交信号及其他多种调制信号、可编程和全数字化、控制灵活方便等方面,并具有极高的性价比。传统的模拟信号发生器存在可靠性差、体积大、不能实现数控等缺点。dds信号发生器与模拟信号发生器相比,具有很大的优势。dds是数字化高密度集成电路产品,芯片体积小、功耗低,成为现代信号发生器的主流产品,是信号发生器的换代产品。目前市场上很多dds信号发生器成本较高,输出频率在10mhz以上的较多,可靠性不高。而对于高校中非通讯类实验室,信号发生器的频率一般需要在2mhz以下,本项目研制的信号发生器主要是针对高校非通信类实验中使用的信号发生器。 1.2 dds信号发生器方案比较dds的应用使信号发生器发生了革命性的变化,它的应用变得越来越广泛,具有重大的理论和实用意义。目前完成对dds芯片的控制和设置有三种方案:1mcu方案这种方案采用单片机为核心控制模块,通过单片机的spi总线与dds芯片进行接口通信,单片机应用系统可以扩展外部的ram和rom,以存放数据和程序。另外,单片机应用系统还可以扩展键盘和led显示等人机接口部分,因此可以通过键盘直接对dds芯片进行设置。利用单片机控制dds芯片产生所需的各种波形,电路简单,成本较低,但单片机的i/o口少,难以实现同时对信号发生器的键盘、led灯和数码管的控制。 2cpld方案这种方案是利用cpld的高速度和可编程特性,通过cpld直接对dds芯片进行控制。该方案需要控制高速dds芯片时具有明显的优势,但灵活性却受到限制,产生信号形式单一,改变信号输出波形需要重新更改cpld,因此只能在特定应用中采用这种方案4。3dsp方案这种方案就是采用以dsp为核心的控制模块,其余同mcu方案相同。由于dsp速度快,因此不会存在mcu方案中的缺点。但采用这种方案会带来成本和设计的复杂性明显增加。综合上述几种方案的优缺点,提出了一种改进方案:mcucpld方案,即采用单片机作控制器,通过cpld完成对dds模块的控制。本文研制的信号发生器对接口芯片有特殊的要求,目前市场上已有的专用芯片很难满足要求。采用全定制ic具有速度高、功耗低、保密性好等优点,缺点是由于用量小,成本太高,研制风险大。采用半定制ic芯片cpld作为单片机的接口,通过设计者对ic进行布线设计以完成最终设计。采用半定制ic优点是功能由用户自己设计,产品设计周期短,费用低,依赖工艺,适用于小批量生产,研制风险小。本方案中,采用半定制芯片epm3128作为单片机与面板和dds之间的接口芯片,根据功能需要自行定义接口芯片的功能。同时利用可编程器件对外加信号进行分频,实现等精度外测频功能。利用cpld的可编程性,拓宽了信号发生器设计的应用范围,提高设计的灵活性,为信号发生器的功能扩展提供了方便。1.3项目主要研究内容本文选择利用已有的dds芯片,以设计高性能的直接数字式频率合成器作为研究的主要内容,最终研发出一种以简单、廉价器件构筑,并能够得到高精度、高纯度的合成频率信号的dds数字信号发生器。整个系统采用cygnal公司的单片机c8051f206作为控制模块,数字频率合成芯片ad9834为核心,epm3128作为单片机接口扩展电路,采用合适的模拟调理电路,以c51语言和vhdl语言作为开发工具,组成一个多功能信号发生器。本论文的主要任务如下:1.设计方案的确定:根据实际需要,确定以dds技术作为信号发生器核心的设计方案。对dds的原理和优缺点作了简单的介绍和分析,选择性价比较高的ad9834芯片,并围绕ad9834选择信号发生器的其它主要器件。2.系统总体方案设计:将dds信号发生器分成6个模块:键盘模块、单片机模块、cpld模块、dds模块、模拟信号调理模块和电源模块,按模块进行软硬件设计。3.系统的硬件设计:完成系统的硬件总体设计,对具体实现电路进行详细的分析和设计。4.系统软件设计:系统软件的具体实现,对系统软件的主要功能按模块进行介绍。5.系统功能测试:测试信号发生器的主要功能,给出具体测试波形和测试数据,并对结果进行分析。第二章 信号发生器总体设计第二章 信号发生器总体设计本章首先列出了信号发生器的技术指标,给出了系统实现框图,简单地介绍了各个模块的功能,根据信号发生器技术指标的要求选择合适的器件。2.1 dds信号发生器的指标要求dds信号发生器的性能指标是经过调研市场需求并综合考虑了同类型产品的指标后,为实现使用方便,性能优良的特性而提出来的,具体的性能指标要求如下:u 正弦波信号 频率范围1hz2mhz;u 频率分辨率为1hz;u 方波,三角波信号 方波上升时间vpp100mv 测量误差小于0.1;u 输出阻抗为50;u 衰减档位 0db、20db和40db;u 输出信号直流偏置电平调节范围:2v+2v; u 输出频率显示功能:6位数码管显示;u 输出电压显示功能:4位数码管显示,显示误差小于5。2.2 系统框图及模块功能整个系统的硬件框中,单片机采用cygnal公司的c8051f206,cpld采用altera公司max3128a,dds芯片采用ad公司的ad9834。系统工作过程:用户采用55键盘发出各种控制命令,通过cpld送入单片机,单片机根据键盘输入的指令执行相应操作,再经过cpld进行各种控制。如果键盘输入改变波形或频率的命令,单片机根据键盘输入的值将其转化为相应的控制字,通过cpld来完成对dds的控制,输出所选择的频率或波形,然后经过模拟调理电路,输出用户所要求的信号。衰减前级信号经过波形变换电路将交流信号变成脉冲波送入单片机内部ad电路进行采样,采样值通过cpld接口送入显示电路进行电压幅度显示。当用户通过键盘选择外测频率时,单片机根据外测信号频率选择合适的分频比,将分频比送至cpld,cpld根据分频比将外部信号进行分频,分频后的外部信号对标准信号进行计数,通过一定的算法计算后得到相应的频率,最后送至频率显示电路,完成测频功能。下面对系统的各部分电路作简要的介绍。1键盘模块通过55键盘输入频率和波形,经由cpld送入单片机,单片机将键盘数据转换为相应的频率控制字,再通过cpld接口电路控制dds芯片的控制字,产生相应的频率和波形,即实现数字控制功能。同时按键还可以实现其它各种命令的输入,由单片机经cpld来执行。面板按键包括:09十个数字,小数点,enter按键,delete按键,up按键,down按键,波形选择三个按键,外测频键,频率显示切换键,hz/khz转换按键,20db/40db的幅度衰减按键,输出信号控制键等。2显示模块显示部分包括频率显示和电压显示。频率和电压显示采用7段数码管,频率由六位led共阳数码管显示,电压由四位led共阳数码管显示。波形显示采用发光二极管指示,有正弦波、三角波和方波显示,频率有hz/khz显示,幅度有mv/v显示。3单片机模块单片机是整个系统的控制核心,它控制、协调其它各个模块工作。单片机采用cygnal公司的c8051f206。单片机主要完成以下工作:(1)显示控制(2)面板控制(3)dds控制(4)输出电压的数据采集,电压显示(5)与cpld进行通信(6)外测频分频比控制和计数(7)波形选择控制(8)输出控制单片机c8051f206支持jtag接口在线调试,调试程序方便、快捷。4cpld模块cpld采用altera公司高性价的epm3128。cpld所要完成的功能:作为单片机的接口扩展电路,单片机发出的所有命令都是通过cpld来送出,cpld用于驱动频率和电压幅度显示数码管。主要功能有:(1)外测频时,对被测信号进行分频;(2)接收键盘模块送来的数据;(3)作为单片机i/o接口扩展电路,接收单片机发送来的数据,并控制各模块电路。5dds模块dds模块是整个系统设计的核心,包括接口电路和dds芯片外围电路。dds接收单片机的控制命令,产生所需信号,dds芯片采用ad公司的ad9834。ad9834数字频率合成器是一款高度集成的dds芯片,它采用先进的dds技术,结合内部集成的高速高性能的dac,可以实现灵活的频率合成功能。6模拟调理电路模块模拟调理电路模块包括三角波、正弦波以及方波的调理电路、波形切换、电压幅度调节、功率放大和保护电路。dds芯片输出的信号有一定直流电平,经过调理电路使得最终输出的波形能满足用户的要求。信号发生器要求输出四种波形,通过继电器构成的波形切换电路,由用户选择实际需要的波形;幅度调节实现输出波形的电压连续调节以及电压比例衰减;功率放大可实现50欧姆的阻抗匹配;保护电路可防止由于用户误操作而引起的直流电流倒灌损坏信号发生器。7电源模块电源模块提供5v、15v、5v、3.3v电源,其中5v、15v为两路对称的直流电源,15v为运算放大器和功放提供电源;5v为比较器和ttl电路提供电源;单独的一路5v为数字电路提供电源,3.3v为单片机、cpld提供电源。2.3 主要器件选择1dds芯片选择本文研制的信号发生器为1hz2mhz,属于dds的低频段应用,通过分析比较dds芯片资料,综合考虑后,选择性价比较高的ad9834芯片。该芯片有内置比较器,可以输出所需要的三种波形。ad9834芯片输出的最高频率可以达到20mhz,在1khz处的信噪比可以达到60db。2单片机选择本系统中的mcu选择cygnal公司的c8051f206,该芯片是高度集成的混合信号系统级mcu芯片,片内集成了一个12位多通道adc,有着与8051兼容的微控制器内核和8k字节的flash存储器,还有硬件实现的uart和spi串行接口。3可编程逻辑器件在本设计中采用epm3128,内核和接口电源均为3.3v,这样cpld可同时接受来自5v和3.3v的输入。3.3v的输出电平又可以直接驱动5v的ttl电路。cpld可以实现与单片机的时序同步,灵活的控制手段、方便的功能扩展以及芯片可重新配置功能等。开发平台是应用广泛的max+plus工具,使用vhdl语言和原理图输入相结合的编程方法,具有语言输入的灵活性和原理图输入的结构清晰、方便性。4集成运算放大器模拟信号调理电路中除了考虑正弦信号的处理,还要注意方波信号的处理,选择增益带宽积高的高速运算放大器,对比了多种运放,考虑到性价比,选择ad8021运放作为系统的主放大器芯片。5电压比较器信号发生器的方波由正弦波经高速电压比较器产生,系统要求信号发生器的输出信号为2mhz。当系统处于外测频时,外部信号还要通过电压比较器进行整形。比较了许多电压比较器,最后选择性价比较高的tl3016芯片。674hc00集成电路本文设计的信号发生器具有05v的ttl信号输出功能,一般ttl对输出的带负载能力要求不是很高,采用42的74hc00与非门将方波整形作为ttl信号输出。为了提高带负载能力,将74hc00内部的四个与非门并联使用。 第三章 信号发生器硬件电路设计第三章 信号发生器硬件电路设计根据选用芯片的数据手册设计具体的硬件电路,信号发生器主要包括单片机模块设计、dds模块设计、可编程逻辑器件模块设计、模拟信号调理电路和电源模块的电路设计以及印刷电路板的设计。3.1 单片机模块设计单片机是信号发生器的控制中心,其完成功能主要包括:面板控制、dds控制、输出电压的a/d转换等。采用c8051f206单片机完全可以达到系统设计的要求,尤其是内部有12位的adc,可以把输出信号处理后,从衰减的前级采集数据,在面板上显示输出电压的峰峰值。为了让单片机正常工作,必须对单片机初始化、进行端口设置,比如数字端口模拟端口设置输入输出端口设置。本系统中单片机部分设计如图3-1所示。图3-1 单片机系统3.2 人机交互电路设计一个系统的好坏对于用户而言很大程度上决定于界面是否友好。本系统在面板设计上充分考虑用户操作的方便,设计了25个按键,为了节省i/o口,键盘输入采取列输入行扫描的形式,其硬件连接如图3-2所示。按键程序设计一般包括两个方面:按键的捕捉与识别和按键的功能实现。两者相辅相成,前者是基础,后者是关键。在正确识别按键的基础之上,如何正确进行处理以实现按键的功能是每个智能系统的关键所在。为了节省cpld的引脚,本系统采用55 矩阵键盘输入,共25个按键,程序共设置26个返回值即126。每个返回值都对应了一个功能,分别对应09共10个数字键、小数点、up键、down键、hz/khz选择键、直流偏置键、enter键、delete键、波形选择键、测频键、输出使能键、20db、40db等按键。面板设计实物图如图3-3所示。图3-2 键盘硬件连接图图3-3 面板设计实物图3.3 dds模块设计dds基本原理:正弦波形一个周期离散样点的幅值数字量存于rom(或ram)中,按一定的地址间隔(相位增量)读出,由d/a转换成模拟正弦信号,经过低通滤波,滤除d/a带来的小台阶和数字电路产生的毛刺,即可获得所需要的正弦信号。ad9834的外围电路如图3-4所示。50mhz的时钟信号由8脚输入,作为dds时钟频率,3.3v数字电源从5脚输入,5v的模拟电源从4脚输入,20脚和19脚接rc低通滤波器,滤除高频干扰信号,iout和ioutb输出两路幅度相等相位相反的电流,经过r109和r111后得到两路大小相等相位相反的正弦或三角波信号电压,由软件控制该端口的波形,16脚为方波输出端口。图3-4 dds外围电路ad9834产生正弦波三角波,输出量为电流,在r109和r111上产生相位相反、幅度为0.5 v的信号,该信号中含有0.25v的直流信号,波形如图3-5和图3-6所示。该信号要经过相应的处理才能作为交流信号使用。图3-5 输出正弦波波形图 图3-6 输出三角波波形从波形图上可以看出,r109和r111上波形大小相等,相位相差180o,将两个信号进行减法运算,即可去掉信号中的直流成份,得到不含直流电压的交流信号。经过实验表明,16脚的sign bit输出方波信号在高频时比较理想,当信号低于1khz时,变得不稳定,所以在本系统中方波不是由dds输出,而采用由正弦波或三角波经过高速电压比较器来产生。3.4 可编程逻辑器件模块设计由于系统需要进行大量的显示和控制,单片机的i/o口远远不够,采用专用的8255芯片来扩展也不能满足要求。故本系统采用可编程逻辑器件作为单片机的扩展口,大大提高了信号发生器的可扩展性。可编程器件采用altera公司epm3128a,tqfp144封装。cpld完成的主要功能:接收单片机发送来的数据,控制各种模块电路,对外测信号进行分频。cpld设计原理图如图3-8所示。图3-7(a)为cpld的引脚分配图,包含cpld和单片机接口,面板接口,dds接口。图3-7(b)为cpld的电源端和地线接线图,其中128脚为外测频信号输入端,125脚为cpld时钟引脚,由于本系统不需要外接时钟,所以该端口作为以后扩展使用。图3-7(c)为cpld的jtag下载接口图16,通过altera专用下载电缆可以直接对epm3128a进行编程,实现cpld所需要的功能。3.5 模拟调理电路设计1方波和ttl电平产生电路图3-9(a)为方波和ttl电平产生原理图,实验表明当电压比较器电路采用简单的过零比较器时,低频段(1khz)信号不稳定,因此采用高速比较器tl3016组成一个滞回比较器电路,将正弦波转换成ttl信号,滞回的电压大小由r380和r384决定,回差电压为,考虑到方波的对称性,因此回差电压不宜过大,根据需要可以进一步减小回差电压。r352、r353和r354为直流ttl的占空比调节电路,根据所需要占空比范围调节电阻的大小。(a)cpld引脚分配图(b)cpld电源端、地端接线图 (c)cpld的jtag下载接口图图3-7 cpld 系统设计原理图图3-8(a)中a点电压大小的计算:当滑动端移动到左边时,首先将r352、r353、r354和电源进行戴维南电路等效,可以等效为一个电压源和电阻的串联,等效电路如图3-8(b)所示,图中电压源,电阻r大小为,由于sine_comp端接运放输出端,可以认为运放的输出电阻为0,因此当r354的滑动端移动到最左端时,a点电压为。由于电路具有对称性,当r354的滑动端移动到右端时,滑动端电压为。(a) 电路原理图 (b) a点等效电路 (c) b点等效电路图3-8 方波和ttl信号产生原理图2信号通道电路信号通道原理图如图3-9所示,dds提供两路幅度相等、相位相反含有直流分量的信号,经过u311作差分运算(为了减小运算电路的零点漂移,要保证运放的同相端和反相端对地电阻相等),同时作一定的幅度放大,输出电压约为4.3v左右,和图3-9(a)中提供的方波幅度基本上相等。单片机控制继电器k304选择是方波输出、正弦波和三角波输出,幅度电位器r344用来调节输出信号的幅度大小。图3-9 信号通道原理图 3直流偏置电路有时用户要求信号中含有直流成分,为此在电路中加入一级直流偏置电路,电路如图3-10所示。由于电路的输出端接1k电阻并接到vout端,因此会对输出信号产生一定的影响。图3-10 直流偏置电路4. 输出倒灌保护和报警电路输出倒灌保护电路如图3-11所示。保护电路采用窗口比较器,当信号发生器的输出端有直流电源误接入时,如果直流电压在功率放大器承受能力范围之内不作处理,如果超出承受能力,则保护电路输出高电平,alarm信号送入单片机,由单片机控制切断通道的继电器输出,起到保护通道的作用,同时单片机给出一个信号buzzer,bell发出报警提示。图3-11 输出倒灌保护和报警电路5峰值检波电路交流信号经过峰值检波电路得到直流信号送入单片机内部做a/d转换,用于电压显示。峰值检波电路如图3-12所示。图3-12 峰值检波电路6外测频整形电路信号发生器所能外测的输入信号电压幅度范围为100mv到150v之间,经过整形电路把输入电压的幅度钳制在+5v-5v之间,以便cpld接收。整形电路如图3-13所示。3.6 电源模块设计本系统是多电源系统,使用六种共地电源: 15v,模拟5v, 数字+5v和+3.3v。其中: dds芯片ad9834、单片机c8051f206和cpld需要3.3v供电,3.3v由数字5v经过lm1086-3.3v稳压块稳压后提供;面板采用数字5v供电;运放芯片ad8021、运放op07和功放需要15v的供电电压。电压比较器tl3016使用模拟5v,74hc00使用模拟5v电压。图3-13 外测频整形电路本系统对电源的纹波要求比较高,功率要求较低。考虑到开关电源的纹波比较大,所以采用线性电源来实现多电源系统。图3-14为电源部分电路设计图。(a)整流滤波电路 (b)5v直流稳压电路(c)15v、5v直流电压电路图3-14 电源原理图第四章 信号发生器软件系统设计第四章 信号发生器软件系统设计应用系统中,系统软件的设计是建立在具体硬件电路基础之上,根据系统功能要求可靠地实现系统的各种功能。好的软件设计能够充分发挥微控制器的运算和逻辑控制功能,从而提高仪器的精度和使用的方便性。4.1 主监控程序模块设计程序开始后,运行初始化程序,包括初始化单片机c8051f206、初始化ad9834、初始化人机交互模块等。然后扫描键盘状态,检查到有键按下就运行键值处理程序,对按键值进行查表处理,然后执行相应的子程序,完成相应的功能,输入的信号相关信息通过运行显示程序,在面板上显示正确的输入数据和提示信息。c8051f206接下来返回主程序,继续扫描键盘,等待下一次命令的输入。系统主监控程序框图如图4-1所示。主函数在系统上电时自动调用,根据按键的功能不同,调用不同的子函数实现所需要的功能。图4-1 系统主监控程序框图 图4-2 dds控制字传送流程图4.2 dds程序控制模块设计dds控制字传送方式是信号发生器的关键部分,其频率控制字的传送流程图见图4-2所示,dds初始化时输出为1khz正弦波信号,单片机首先检测是否有其它波形键按下,如有则根据输入按键改变波形;如果有数字键按下,并且按下确认键,则将按键值转换为频率控制字,送入dds,输出相应的频率和波形。4.3 键盘扫描模块设计按键程序设计一般包括两个方面:按键的捕捉与识别和按键的功能实现。两者相辅相成,前者是基础,后者是关键。在正确识别按键的基础之上,如何正确进行处理以实现按键的功能是每个智能系统的关键所在。键盘扫描程序首先要保证键值能够可靠的送入单片机,因此必须加入消抖模块,一般采用延时来实现,如果有键按下,根据硬件电路确定键值所在的位置,由位置确定按键所要实现的功能,单片机执行相应的操作。键盘扫描程序流程图如图4-3所示。图4-3 键盘扫描程序流程图 图4-4 ad采样流程图4.4 电压采样显示模块设计信号输出经过单片机内部采样电路后,进行峰值显示。电压采样流程图如图4-4所示,电压采样时首先要分配内存空间,然后启动ad转换,设定采样的时间间隔,为了得到稳定的电压显示,每次采样三个电压,将采样的电压最大值和最小值去掉。由于采样电压是在衰减的前级进行取样,信号发生器的实际输出要根据不同的衰减进行处理,将转换后的值经过cpld送入显示电路进行显示。4.5 cpld模块设计可编程器件采用altera公司epm3128,tqfp144封装。本设计中采用cpld是为了扩展单片机的接口和测频时对外部信号分频,因此设计相对简单。1mcu和cpld通信 单片机和cpld之间通信采用地址和数据复用技术,单片机读数据和写数据通过p2.4和p2.5进行控制。单片机向cpld写数据时,将读信号p2.5口置低电平, 写信号p2.4口在上升沿cpld开始读地址,在写信号p2.4口在下降沿时cpld开始读读数据。时序图见图4-5所示。单片机从cpld读数据时,将写信号p2.4口置低电平, 读信号p2.5口上升沿单片机开始读地址,在写信号p2.4口在下降沿时,单片机开始读数据。时序图见图4-6所示。 图4-5 单片机写数据图 图4-6 单片机读数据读写控制程序模块如下:void interface_cpld(unsigned char addr, unsigned char data)wr = 0;p1=addr;wr = 1;p1=data;wr = 0;2cpld模块接口设计cpld作为单片机的接口电路,接收单片机发送来的数据,并控制其它各模块电路,主要包括:dds控制、波形控制、电压显示、频率显示、衰减控制等。当测量外部信号的频率时,cpld需要完成对被测信号的分频工作。cpld作为单片机的接口电路,需要和单片机进行大量的数据交换,考虑到单片机i/o比较少,单片机的地址和数据需要复用,在软件上要进行控制,由于单片机的接口和cpld的端口不能一一对应,单片机通过查表对cpld实现控制,cpld地址分配如表4-1所示。地址分配说明:0x01,0x03 :按键选择,功能选择,指示灯显示控制。报警灯控制与蜂鸣器可用同一个控制位;0x04:频率显示数码管使能,高电平使能;0x05:电压显示数码管使能,高电平使能;0x06:继电器控制使能,低电平使能继电器。表4-1 cpld地址分配addressd0d1d2d3d4d5d6d70x01h键盘ledhz ledkhz ledled_20dbled_40dbled_60dbled_mvled_v0x03h外测频ledled_square三角波ledled_sine报警灯,报警蜂鸣器输出使能直流偏置0x04h频率显示使能第1位频率显示使能第2位频率显示使能第3位频率显示使能第4位频率显示使能第5位频率显示使能第6位0x05h电压显示使能个位电压显示使能2位电压显示使能3位0x06hpeak_detect功率输出使能波形选择-20 db-40 db-60db输出直流使能输出保护0x07h数码管显示数据net_led1 net_led80x13h分频比低八位数据0x14h送分频比9到16位数据0x15h送分频比17,18cpld系统编程模块接口图如图4-7所示。wr端为单片机和cpld写控制端口;rd端为单片机和cpld读控制端口;mcu_data7.0为单片机和cpld的地址数据复用端口;count17.0为分频比输出端口,经过f_freq处理送入单片机处理;and6为6输入与门,当有按键按下时,输出为低电平,送入单片机中断接口,单片机进行键盘扫描,查找键值。peak_detect为峰值检波的放电回路控制端口;led_outside_fre为外测频输入接口。图4-7 系统模块功能模块图4.6 测频模块设计cpld是这个测频系统的核心部分,最初设计此系统所实现的功能全在cpld里完成,cpld是采用altera公司epm3128,在实际操作过程中发现cpld的存储空间不够,cpld除了完成测频外,还要完成和单片机的通信,测频部分若全部由cpld来完成,则需要提高cpld芯片的存储空间,如果由单片机和cpld来共同完成等精度测频,则比较方便。标准信号被测信号复位分频器d触发 器计数器2计数器1显示 运算图4-8 采用等精度测频原理的频率计系统组成方框图外测信号通过限幅(或放大)整形电路后接入cpld的i/o口,cpld对外部输入信号进行适当的分频,把外部频率限制在一定的范围内,然后送至单片机,在送入信号的一个周期内,单片机对其进行计数,可以得到计数值为。设单片机频率为,输入信号的频率为,则可得,得到的频率再乘以前面cpld中的分频比,就可得到外部输入信号的频率。cpld中的分频比由单片机来控制的,单片机先送固定的分频比给cpld,cpld对外部输入信号进行分频,送至单片机进行计数,若单片机的计数值不在一定的范围之内,则单片机再送分频比给cpld,对输入信号再次进行分频,直到单片机得到合适的计数值,以保证外部信号频率的测试精度。其原理方框图如图4-13所示。图4-9 cpld和mcu测频原理框图单片机的读信号p2.5与cpld的i/o 18相连,写信号p2.4与cpld的i/o 16相连,地址和数据通信p1口与cpld的i/o口 6,7,8,9,10,11,14,15相连,外部输入信号经cpld分频后由cpld的i/o 27脚输出,cpld的i/o 27脚接至单片机的p0.2口。图4-10 mcu与cpld测频的vhdl顶层原理图f_mcu模块的vhdl语言程序如下所示:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;entity f_mcu is port(wr : in std_logic; -写信号 mcu_data : in std_logic_vector(7 downto 0); -单片机地址及数据 count : outstd_logic_vector(17 downto 0); -单片机所送的分频比end f_mcu;architecture behav of f_mcu is signal address : std_logic_vector(4 downto 0); beginprocess(wr)beginif wr=1and wrevent then address -地址为13时,送分频比低八位数据 count(7 downto 0) -地址为14时,送分频比9到16位数据 count(15 downto 8) count(17 downto 16) null; end case; end if;end process;end behav;f_ferq模块的vhdl语言程序如下所示:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;entity f_freq is port(count : in integer range 0 to 262140; -送来的分频比 f_in : in std_logic; -外测的频率 f_out : out std_logic); -外测信号经一定分频比送出的频率end f_freq;architecture behav of f_freq is signal f : std_logic; signal count1 : integer range 0 to 65535;beginprocess(f_in)begin if f_in=1 and f_inevent then if count1count then count1=count1+1; else count1=0; f=not f; end if; end if;f_out=f;end process;end behav;单片机的外测频程序包含以下几个函数模块:void sysclk_init (void) /时钟初始化子程序void countfrequence(void) /外测频率子程序void interface_cpld(unsigned char address,unsigned char dat) /单片机与cpld通信void delay (unsigned int time) /延时子程序void judge(void) /计数判断子程序void time(void) /高电平计数子程序void time2(void) /低电平计数子程序采用等精度测频在波形的高电平和低电平分别计数,这样不仅能对占空比为1:1的波形进行精确测量,还能对其他占空比的波形进行精确测量。第五章 信号发生器参数测试第五章 信号发生器参数测试选用以下几种仪器对信号发生器进行有关参数测试:u 示波器 agilent54642d 500mhz;u 信号发生器 agilent33250a 80 mhz;u 数字电压表 metra hit |28s 五位半;u 频谱仪 atten at5010 1000mhz;u 晶体管毫伏表 em2172。5.1 幅度显示参数测试信号发生器的幅度特性是一个重要的性能指标。信号发生器在不同衰减、不同波形、不同频率下显示的幅度是不相同的。采用毫伏表或示波器测量信号发生器的输出电压,并和显示电压进行比较,测试数据为vpp 。表5-1 测试和显示结果表输入频率(khz)0.010.1110100100020000db(v)正弦显示1920.220.620.620.620.219.6测量20.220.420.620.620.220.419方波显示20.420.220.22019.819.419测量21.220.420.42019.819.219三角显示18.820.420.220.220.420.219.4测量20.220.620.620.420.220.419.220db(v)正弦显示1.92.022.062.062.062.021.98测量2.022.042.042.042.062.041.88方波显示2.042.022.0221.981.941.9测量2.122.062.0421.941.91.88三角显示1.882.042.022.022.042.021.94测量2.022.062.062.042.0221.9240db(mv)正弦显示190202206206206202196测量202206206208198196190方波显示190202206206206202198测量212208204200194190188三角显示188204202202204202194测量204206206206202198190测试条件:幅度旋钮旋至最大,负载为50,温度为常温。电压幅度测量值与显示结果如表5-1所示。测量结果表明,正弦波的平坦度比较好,方波的平坦度由于通道带宽的原因,在高频时衰减比较大。不同衰减引起的误差可以通过调节电阻的阻值精度减小误差。对于不同波形引起的误差通过在ad转换的程序中采用误差系数进行校正,以提高测量精度。对于不同频率、不同波形引起的幅度差别,主要是由于以下几种原因引起:1方波和正弦波存在不同的通道,引起了它们幅度上不能完全相等;2方波存在过冲,在不同频率时,过冲的幅度也不同,低频的时候过冲的幅度大,因此峰值检波后电压的幅度相差较大,引起方波在不同频率时幅度不等;3由于通道平坦度的问题,引起信号在高频和低频存在不同的衰减;4峰值检波电路对于不同频率、不同波形存在不同的充电时间,因此产生的影响比较大,在ad转换程序中采用不同的误差系数校正来减小由此引起的显示误差;5单片机内部ad转换本身存在一定的误差。5.2 外测频参数测试信号发生器的外测频率范围为:5hz10mhz,输入信号幅度要求50mv100v,采用agilent33250a信号发生器的输出作为被测输入信号。外测频的频率测量显示结果如表5-2所示。表5-2 外测频测量结果表输入频率khz0.010.1001.00010.000100.0001000.00010000.000测量频率khz0.010.1001.00110.00299.984998.135997.263测量结果表明,外测频功能已经达到指标要求,但仍存在一定的误差,通过分析误差来源有以下几种可能:1单片机延时不准确,导致基准信号有误差,会造成计数结果的误差;2单片机中计算外测频率时用的是定点计算,而非浮点计算,数据会有截断误差;3外测频率采用6位led显示,最高显示精度为十万分之一,其舍去位数会有有效数字,所以造成低于测量精度的显示误差;4输入信号的频率存在误差。5.3 频率显示参数测试由键盘输入频率,信号发生器的由6个数码管进行显示,用示波器来测量信号发生器的实际输出频率大小,测量精度为1hz。测量的条件是:信号发生器的输出电压为1v,负载为50,温度为常温状态下。测量的结果如表5-3所示。表5-3 频率测量的结果键盘输入频率(khz)0.0010.0111010010002000显示频率(khz)0.0010.0111010010002000测量值(khz)0.0010.0101.00110.00199.751999.9811999.678测量结果表明,键盘输入频率和显示频率不存在误差问题,但是和实际测量值存在一定的误差,主要原因有以下几点:1dds信号产生的时候,相位累加器本身存在一定的误差;2单片机在进行数据处理时存在精度的问题,进行浮点运算时舍去了一些有效数字;3用示波器测量信号频率,测量仪器本身存在一定的误差。5.4 信号发生器的典型波形 (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版生物降解材料生产合作协议范本
- 2025年度海绵城市土石方工程承包施工及雨水收集合同
- 2025版清单检查项在旅游业中的服务质量监管合同
- 2025年消防电梯采购及消防系统安装合同
- 2025版酒店大堂装修合同范本
- 2025年度物品租赁合同严格禁止转让授权
- 2025年度高端技术人才聘用合同范本
- 贵州省兴仁县2025年上半年公开招聘村务工作者试题含答案分析
- 2025版电子商务平台产品售后服务协议
- 2025年度房地产项目土建施工合同范本
- 全国交通运输行政执法综合管理信息系统考试题库-中(多选题练习)
- 2024年T电梯修理证解析及电梯修理-T证模拟考试题库
- 2024春期国开电大本科《商法》在线形考(形成性考核作业一至四)试题及答案
- (正式版)SHT 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范
- 2024年四川攀枝花市川投能源攀水电公司招聘笔试参考题库含答案解析
- 全科规培:门诊SOAP病历考核模拟文档
- 三年级上册口算题(可打印)
- 新教师培训讲座课件
- 插花艺术与花艺课件
- Excel模板:血压记录监测表(自动图表分析)
- Stevens-Johnson-综合征及中毒性表皮坏死松解症
评论
0/150
提交评论