设计与开发

基于单片机波形发生器 波形发生器设计,单片机,CPLD控制的任意波形发生器设计实例

小编 2024-10-12 设计与开发 23 0

波形发生器设计,单片机、CPLD控制的任意波形发生器设计实例

波形发生器有多种类型,任意波形发生器便是其中一种。对于任意波形发生器,本文中,讲为大家讲解采用单片机和CPLD控制的任意波形发生器的设计。

在电子工程设计与测试中,常常需要一些复杂的、具有特殊要求的信号,要求其波形可任意产生,频率方便可调。

结合实际需要,我们设计了一种任意波形发生器。电路设计中充分利用MATLAB的仿真功能,将希望得到的波形信号在MATLAB中完成信号的产生、抽样和模数转换,并将得到的数字波形数据存放在数据存储器中,通过单片机和CPLD控制,将波形数据读出,送入后向通道进行A/D转换和放大处理后得到所需的模拟信号波形。利用上述方法设计的任意波形发生器,信号产生灵活方便、功能扩展灵活、信号参数可调,实现了硬件电路的软件化设计。

系统框图

任意波形发生器的设计思想,是利用MATLAB的强大仿真功能,方便、快捷的生成给定频率、周期、脉宽的任意波形数据;并将数据预存在数据存储器中。在单片机控制下,利用CPLD电路产生地址读出数据,送入D/A转换电路,得到所需的任意波形信号。系统结构框图如图1;图中分频电路和地址发生器由CPLD实现。

图1 系统框图

电路设计及实现单片机控制电路

单片机采用AT89C52芯片,通过软件编程产生所要求的控制信号。主要的控制参数包括:信号周期、脉宽;分频电路的开始信号、地址发生器的复位信号;E2PROM的选通信号;D/A转换电路的选通信号。在具体电路中,端口P1.0控制分频电路的启动、P1.1控制地址发生器的清零,P2.0控制28C256和AD7545的选通信号。单片机工作在定时器0方式,软件设计利用C语言实现。流程图如图2所示。

图2 软件流程图

波形数据生成

MATLAB作为一款优秀的数学工具软件,具有强大的运算功能;可以方便的产生各种信号波形,在软件中实现波形信号的产生、抽样和模数转换。设计的任意波形发生器,数据存储器选用28C256芯片,信号波形通过MATLAB仿真产生;得到的波形数据存放在数据存储器28C256中。具体设计中,我们要求产生周期为200ms,脉宽为5ms的单/调频混合信号,其中单频信号的脉宽为4ms,频率为30KHz;调频信号的脉宽为1ms,频率为30KHz_35KHz。在MATLAB中设定抽样率为500KHz,得到了2500个波形数据。这些混合波形数据在烧录入数据存储器的过程中,由于波形数据较多,直接用手工录入数据存储器中不仅费时且容易出错。为克服这一弊端,通过MATLAB编程的方法将产生的波形数据按照HEX文件的INTEL格式存放,然后将这些波形数据整批次烧录入数据存储器中。采用上述方法,波形数据生成简单,快捷;可根据需要在软件程序中方便地修改信号参数;无需改动硬件电路即可实现信号参数的功能扩展。

CPLD逻辑设计

分频电路采用两片74HC163实现。通过分频电路,将12MHz的晶振标准频率分频后,得到500KHz的抽样频率,作为地址发生器的时钟。分频电路的工作由单片机控制。

地址发生器电路由3片74HC163组成,时钟频率为500KHz,有分频电路提供;和预存的波形数据抽样频率相一致,以实现数据的无失真读出。

电路设计中,采用ALTRA公司的EPM7128AETC100-10芯片,在MAX+PLUSⅡ开发环境中完成分频;PLD的电路设计,可以省去大部分的中小规模集成电路和分离元件;使得电路具有集成度高、工作速度快、编程方便、价格低廉的显著优点。通过CPLD和数据预生成的信号实现方法,无需改变硬件电路,即可实现信号参数的任意调整;同时外围电路十分简单,为工程调试和应用带来了方便。

D/A转换电路

D/A转换电路的实现如图3所示。电路中,AD7545将波形数据转换为模拟信号;LF353进行信号滤波和整形。

图3 D/A转换电路

结语

采用上述方法设计的任意波形发生器,通过软件和硬件结合,充分发挥MATLAB强大的仿真功能,尽可能的减少了硬件开销。根据实际需要,可产生正弦波、三角波、锯齿波、方波等多种波形,可以产生线性调频信号(LFM),单频脉冲信号(CW),余弦包络信号以及他们之间的组合信号等多种波形参数;满足了工程需要。该任意波形发生器已应用于在研项目“水中运动目标轨迹测量”中,效果良好。

单片机还可以这么玩:制作波形发生器

单片机还可以这么玩:制作波形发生器

一.波形发生器的技术指标

1. 波形:方波,正弦波,三角波,锯齿波;

2. 幅值电压:1v,2v,3v,4v,5v;

3. 频率:10hz,20hz,50hz,100hz,200hz,500hz,1khz;

4. 输出极性;双极。

二.硬件组成

由单片机,键盘/显示接口电路,波形转换(D\A)电路和电源等四部分组成。

1.单片机电路

功能:形成扫描码、键值识别、键处理、参数设置;形成波形的数字编码,并输出到D\A接口电路。

电路如图。89 C51的P0、P2口作为扩展I\O口,与8155、0832、74 LS373相连接,可寻址片外的寄存器。单片机采用存储器映象方式寻址外设,外部接口芯片与内部存储器统一编址,P0(分时复用)和P2提供16位地址线。P1口接16键的矩阵键盘。用T0定时/计数器作为中断源。用来控制显示程序的扫描时间

2.键盘/显示电路

功能:驱动6位数码管动态显示,扫描键盘。

由并口扩展芯片8155、74 LS244、同相驱动器7407、6位共阴极数码管和4×4键盘等组成。

89s52的p1口作键盘接口,8155的A口作为数码管的段选口,与74 LS244相连,c口作为位选口,与7407相连接。8155的寄存器地址如下:控制口与7FF8H、A口7FFF9H、B口7FFAH、C口7FFBH。

3.D/A电路

功能:将波形样值的编码转换成模拟值;完成单极性向双极性的波形输出。

由两片0832和一块LM 324运放组成。0832(1)提供参考电压,单片机向0832(1)送数字编码,产生不同的输出。本波形发生器可输出1v,2v,3v,4v,5v等5个电压,作为0832(2)的参考电压。因此,0832(2)输出波形信号时,其幅度是可调的。0832(2)用于产生各种波形,生成波形样值编码,经D/A转换得到波形的模拟样值点。假如N个点构成波形的一个周期,则0832(2)输出N个样值点后,样值点形成运动轨迹,即一个周期。重复输出N个点,成为第二个周期。

相关问答

次氯酸钠 发生器 的主要作用是什么?

低频信号发生器采用单片机波形合成发生器产生高精度,低失真的正弦波电压,可用于校验频率继电器,同步继电器等,也可作为低频变频电源使用。以单片机...

什么是555 波形发生器 ?

您好,555波形发生器是一种基于555计时器芯片的电子电路,用于产生不同类型的波形信号,如方波、正弦波、三角波等。它被广泛应用于电子、通信、控制等领域,是一...

简易 波形发生器 误差分析

示波器使用——实验报告的误差分析主要有以下几个方面:1、两台信号发生器不协调。2、桌面振动造成的影响。3、示波器上显示的荧光线较粗,取电压值时的荧光...

proteus 波形发生器 怎么调?

2.选择“OSCILLOSCOPE”(示波器)。3.在绘图区点击鼠标左键,出现示波器图形,并移动鼠标到合适位置点击左键放置示波器。4.依上述方法放置“正弦波发生器...

低频信号 发生器 的主要用途?

低频信号发生器采用单片机波形合成发生器产生高精度,低失真的正弦波电压,可用于校验频率继电器,同步继电器等,也可作为低频变频电源使用。以单片机为核心设计...

低频信号 发生器 能产生低频正弦信号的是?

低频信号发生器采用单片机波形合成发生器产生高精度,低失真的正弦波电压,可用于校验频率继电器,同步继电器等,也可作为低频变频电源使用低频信号发生器采用单...

设计一个函数信号 发生器 ~要求输出 波形 为正弦波,方波,三角波,...

[最佳回答]建议采用多波形发生器专用集成电路ICL8038,它可以同时输出你要的各种波形.该IC可以双电源工作.并且调频方便.电路见图.建议采用多波形发生器专用集...

在线的朋友,求了解!!次氯酸钠 发生器 的主要作用是什么?

[回答]低频信号发生器采用单片机波形合成发生器产生高精度,低失真的正弦波电压,可用于校验频率继电器,同步继电器等,也可作为低频变频电源使用。以单片机...

ne555多路 波形发生器 可以驱动逆变器吗?

1.可以驱动逆变器。2.因为NE555多路波形发生器具有较高的输出电流能力和较低的输出阻抗,可以提供足够的电流和稳定的信号给逆变器,从而驱动逆变器正常工作。...

arbit是什么电路

任意波形发生器(ArbitraryWaveformGenerator,AWG)是一种多波型的信号发生器,它不仅能产生正弦波、指数波等常规波形,也可以表现出载波调制的多样化,...

猜你喜欢