信号发生器的设计
要求:
(1) 产生方波、三角波、锯齿波、正弦波
(2)产生波形的模式可选
(3)频率为10KHz
设计方案:
设计步骤
此设计将按模块式实现,据设计要求,设计总共分四大步份完成:(1)产生波形(四种波形:方波、三角波、矩形波和锯齿波)信号;(3)频率为10KHZ幅度固定;
利用VHDL编程,依据基本数字电路模块原理进行整合。系统各部分所需工作时钟信号由输入系统时钟信号得到。总体设计框图如下图1所示:
波形输出
滤波电路
D/A转换器
波形数据ROM
控制电路
控制信号,clock 波形数据
2. 方案论证
采用VHDL语言来编程,然后下载文件到FPGA来实现。VHDL语言是电子设计领域的主流硬件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大降低了硬件设计任务,提高了设计效率和可靠性,要比模拟电路快得多。该方案是利用FPGA具有的静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,极大地提高了电子系统设计的灵活性和通用性,设计图如图2。
相位累加器
低通滤波
D/A变换
信号输出
ROM
时钟
图2 FPGA总体设计图(需要修改)
通过FPGA软件扫描方式将波形数据读出传输给DAC0832(为8分辨率的D/A转换集成芯片㈠)产生波形输出。这种方法在软、硬件电路设计上都简单,且与我们的设计思路紧密结合。
3硬件选择
4软件设计
波形产生模块
本设计用VHDL语言根据傅立叶函数采集点进行扫描,分别产生正弦波、三角波和矩形波。以下介绍各种常用周期信号的傅立叶函数展开式。
(1)设计思想
正弦波发生分为两个步骤,即正弦波幅值采样存储和正弦波波形的还原输出。幅值采样是将一个周期正弦波进行64等分,如图3所示,将64个采样点进行量化处理,量化值
=255*sin360o/64(V),将64点量化值存入存储器ROM。正弦波形的产生是通过循环反复将存储器中的64点采样值通过DAC0832进行还原输出,得到幅值正比于64点采样值的正弦波。
f(t)
t
0
T
图4 方波采样图
图3 正弦波采样图
(2)VHDL实现
正弦波波形数据由64个点构成,此数据经DAC0832,可在示波器上观察到正弦波形。源程序见附录:
矩形波
1设计思路
矩形波的实现较之正弦波发生简单,由于矩形波是两个电平值间的交替变换,因此波形采样值的预存只要有两个不同的数值就行了,为了使矩形波发生的频率灵活可调,采用60个采样值扫描输出来实现,每半个矩形波周期采用三十个采样值,循环反复将存储器中的60点采样值通过DAC0832进行还原输出,得到幅值正比于点采样值的矩形波。采样图如图4所示。
2 VHDL实现
源程序见附录。
三角波
1设计思路
由于三角波是线性的,比较简单就可以产生,如果最低电压设为15V,最高是255V,那么根据它的公式255/15=17,每个点的电压只要依次加17就可以得到,一个波形所以采用简单的加减算法就可实
eda大作业 来自淘豆网m.daumloan.com转载请标明出处.