在电子工程设计与测试中,常常须要一些繁芜的、具有分外哀求的旗子暗记,哀求其波形可任意产生,频率方便可调。
结合实际须要,我们设计了一种任意波形发生器。电路设计中充分利用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),余弦包络旗子暗记以及他们之间的组合旗子暗记等多种波形参数;知足了工程须要。该任意波形发生器已运用于在研项目“水中运动目标轨迹丈量”中,效果良好。







