EDA教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上一页 下一页
§8.2 完成工作任务的引导
四、实施
如图8-1所示,完整的正弦波形发生器由3部分组成。 1.频率控制字设计 由于一个完整的波形由128个离散坐标点构成,所以要完整生成一 个波形,则输入时钟需要128个脉冲。从而可得知要输出1 Hz的正弦 波,需要128 Hz的时钟,也就是输入输出分频比128/1。若对输出 信号频率进行控制,可通过对输入时钟分频来改变频率,分频系数可 以改变。 在下面实例中,“ clk”为芯片时钟输入端,可由品振提供高稳定度、 高精度脉冲信号。“d” 和 “f”为分频系数控制脚,当f = “0”时,d脚 每来一次脉冲,则分频系数自动加1;相反,若f = "1”时,根据d脚的
上一页 下一页
§8.2 完成工作任务的引导
• AGND/DGND CPIN3, PIN10):模拟地与数字地。在高速
情况下,此一地的连接线必须尽可能短,目系统的单点接地点必须在
此连接线的某一点上。
在本次设计中,FPGA芯片的波形数据输出脚D [7..0]分别接到
图8-7中的DA7-DAO脚上,DAC0832可以采用直接控制方式与
soutA si2 nfo(tu)t
(8-1)
其中,Sout 是该信号发生器的输出波形; fout 指输出信号对应的频率。 上式的表述对于时间t是连续的,为了用逻辑实现该表达式,必须进行
离散化处理,用基准时钟进行引导
2foutt
(8-2)
正弦ROM的查找表完成 f sinB()的查表转换,在这里可以理解成
相位到幅度的转换,它的相位输入是相位调制器的输出,事实上就是 ROM的数据值输出送往D/A,转化成模拟信号。ROM中的数据为正 弦波信号一个周期的离散值,可以通过相关计算求出。
上一页 下一页
§8.2 完成工作任务的引导
若需把正弦波改为锯齿波、方波信号输出,只需改变ROM中的数据 值即可达到产生任意波的功能。求正弦波离散点的公式见式(8-5)
频率控制程序参考: process(clk)一基准时钟分频
begin
上一页 下一页
§8.2 完成工作任务的引导
if clk'event and clk='1' then t0<=t0+tl;
end if; end process; -------------------------------------process(d,f) ---频率控制字
ffo cluk,tB2N•ffo clukt
(8-5)
上一页
下一页
§8.2 完成工作任务的引导
显然,信号发生器的输出可描述为
S o u A s t k i 1 n ) A ( s2 2 N i • ( n B k 1 B [ ) A ] sB i f k 1 n B ) (8( -6)
下一页
§8.2 完成工作任务的引导
• ①频率变化知识。用户通过输入频率控制码来改变输出信号频率。 • ②相位变化知识。通过相位累加器根据频率控制码在每个时钟周 期内进行相位累加来改变相位值。 • ③波形信号产生知识。正弦计算器计算数字化正弦波幅度值,再 把幅度值保在芯片的ROM中。通过查表方式扫描数据输出。
begin if d'event and d='1' then if f='0' then tl<=t1+1; else
上一页 下一页
§8.2 完成工作任务的引导
t1 <=tl-1; end if; end if; end process; Clk_o<=t0(3); 2.相位累加器设计 对于正弦信号发生器,它的输出可以用下式来描述:
其中, k 1 指前一个clk周期相位值,同样得出
Bk1
k1 2
•2N
(8-7)
由上面的推导可以看出,只要对相位的量化值进行简单的祟加运
算,就可以得到正弦信号的当前相位值,而用于叠加的相位量量化
值 B 决定了信号的输出频率 fout ,并呈现简单的线性关系:
B
2N

fout fclk
(8-8)
上一页
上一页 下一页
§8.2 完成工作任务的引导
脉冲数自动减。 图8-2为频率控制的仿真图。clk_o为输出脚进过分频后的时钟
信号,该信号可以接入到下一级相位控制部分,然后进行相位调节。 如果仿真结果正确,可以将设计的项目生成一个元件符号备用。其 步骤是:选择原理图文件为当前文件后,选择菜单命File → Create/LTpdate →Create Symbol Files for Current File 即可。本电路生成的元件符号如图8-3所示。
上一页 下一页
§8.2 完成工作任务的引导
ROM中数据与相位地址关系描述: process(a) begin
CASE a IS WHEN 00=>D<=255; WHEN O1=>D<=251; WHEN 02=>D<=247; WHEN 03=>D<=243; WHEN 04=>D<=239; WHEN OS=>D<=235; WHEN 06=>D<=231;
3. DAC控制器的知识 DDS芯片输出的一般是数字化的正弦波,因此还需经过高速D/A 转换器和低通滤波器才能得到一个可用的模拟频率信号。使用DAC时 要考虑DAC的位数和转换时间。常用的低速八位DAC为DAC0832。
上一页 下一页
§8.2 完成工作任务的引导
• ③计算正弦波各点的幅度离散值。在此设计中我们把一个正弦波 分离成128个点坐标。由于VHDL只适合整数运算,此各离散值由计 算器或公式求出,并存储在ROM中。
下一页
§8.2 完成工作任务的引导
相位累加器的输入又可称为频率输入字,事实上当系统基准时钟 fclk
为 2N 时,B 就等于 fout 。
图8-4为生成元件图,clk为系统基准时钟分频后的时钟输入; p为相 位控制字端,每输入一个脉冲,波形前后移一个相位; d 为相位方向控 制,当d = "0”时,相位后移,相反,当d= "1”时,相位前移。
要求掌握运用vhdl语言设计正弦波形发生器的基本方法知识点理解函数发生器的含义理解vhdl设计正弦波形发生器理解vhdl设计正弦波形发生器理解fpga对da的接口和控制技术?第8章应用vhdl语言方法设计简易正弦波信号发生器??重点和难点vhdl设计正弦波形发生器fpga对da的接口和控制技术??下一页第8章应用vhdl语言方法设计简易正弦波信号发生器81工作任务的陈述与背景82完成工作任务的引导83相关技术基本知识与基本技能83本章小结上一页一工作任务用vhdl语言方法设计一个正弦波形发生器
因输出数据值范围为0~255,相位离散点为128,则求出每个 相位对应的数据:
Da1ta2s8in2[n]127n(0,,12)7 (8-9)
128
波形分割的离散点越大,相隔相位差别越示,输出的波形失真 也越示。但离散点过多,输出信号的频率与输入信号频率分频比过大, 难以提高输出信号频率。图8-6中a[6..0]为相位地址输入,数据宽 度为7位,寻址范围为0~127; D[7..0]为波形数据输出,接DAC 数据脚,即可把数字量变化为模拟量输出。

WR1、 WR2 :写信号1, 2,低电平有效。

XFER :数据传送控制信号,低电平有效。

V ref :基准电压,可正,可负,-10~+10 V 。
• Rfb:反馈电阻端。
• IoutI/Iout2 CPIN11, PIN12)电流输出1和 2。 D/A转
换量是以电流形式输出的,所以必须将电流信号变为电压信号。
三、决策
根据图8-1所示的正弦波信号发生器组成框图,分步完成正弦波信 号发生器的设计。其设计步骤可参考如下步骤进行。 • ①设计一个分频器,要求能进行频率调整。 • ②设计一个相位累加器,相位可以前后移位。 • ③通过计算求出正弦波128个离散幅值,并进行储存。 • ④将程序下载至FPGA/CPLD芯片,并和DAC0832连接。
FPGA同步工作,也可使 CS 、 WR 1 信号受控于FPGA工作;若直接工
作,则将
CS
、 WR 1直接接地即可;若受控于FPGA,则把该竹脚接
在FPGA某个控制脚上,当该竹脚输出低电平时,DAC0832输出模
拟波形。
上一页 下一页
§8.2 完成工作任务的引导
五、检查
以上对一个正弦信号波发生器的各组成部分进行了说明并给出了 参考电路,读者可自行按照本设计方案的组成原理框图(如图8-1所 示)将各部分连接起来,组成一个完整的正弦波信号发生器。频率控 制字由fre_d和fre_f同时控制,fre_f控制频率的增减,fre_d控 制频率增量大示。clk是系统基准时钟,由晶振提供。
相位控制仿真图如图8-5所示,当d=“0”时,P输入每个脉冲后,相 位地址Y输出量发生改变,地址向后增加2。
相位控制程序参考: process(clk) --- 相位地址累加进程
begin if clk'event and clk='1' then
上一页 下一页
§8.2 完成工作任务的引导
tt<=tt+1; else tt<=tt-1; end if; end if; end process; 3.波形数据存储
本章着重介绍采用EDA技术,应用VHDL语言,在ALTERA公 司的QuartusⅡ软件环境下,完成频率可调的正弦波发生器的程 序设计过程,并进行逻辑综合、仿真和硬件下载,产生正弦波信号。
上一页 返 回
§8.2 完成工作任务的引导
一、资讯
要完成本任务,需要了解以下方面的知识。 1.函数(波形)信号发生器的定义和作用 函数(波形)信号发生器能产生某些特定的周期性时间函数波形(C n1,弦波、方波、二角波、锯齿波和脉冲波等)信号,频率范围可从 几个微赫到几十兆赫。函数信号发生器在电路实验、设备检测、通信、 宙达、导航、宇航等领域中具有十分广泛的用途。本次设计只是简单 完成正弦波输出的功能。 2.直接数字合成器DDS ( Direct Digtal Synthesizer)知识 DDS中变要包括频率控制寄存器、高速相位累加器和正弦计算器二 个部分,本次设计参考DDS设计电路结构。
第8章 应用VHDL语言方法设计 简易正弦波信号发生器
【要求】
掌握运用VHDL语言设计正弦波形发生器的基本方法
【知识点】

理解函数发生器的含义

理解VHDL设计正弦波形发生器

理解FPGA对D/A的接口和控制技术
【重点和难点】

VHDL设计正弦波形发生器

FPGA对D/A的接口和控制技术
下一页
第8章 应用VHDL语言方法设计 简易正弦波信号发生器
在一个clk周期内,相位的变化为
2fo uTct lk2fcfolkut
(8-3)
其中,foot指clk的频率,2π可以理解为“满”相位。为了对其进行
数字量化,把2π切割成2N 份,由此每个clk周期的相位增量B 用量
化值B 来表示:
B
2
•2N
(8-4)
且 B 为整数。与式(8-3)联立,可得
B 2N
但采用模拟电路组成的函数信号发生器,一般可靠性较差,频率输 出精度、稳定度低,调节不够精确,设计过程复杂、困难,功能不 易扩展,尤其对任意波信号产生较为困难,难以满足科研和高精度 实验的需要。现代高精度函数发生器设计采用了EDA技术,不但大 大缩短了开发研制周期,提高了设计效率,输出信号频率精度和稳 定度有很大提升,而目使系统具有结构紧读、设计灵活、实现简单、 性能稳定的特点。
………… End process;
上一页 下一页
§8.2 完成工作任务的引导
4. 连接DAC0832设计
DAC0832是八位D/A转换器,转换周期为1μs,其参考电压与
+5 V工作电压相接(实用电路应接精密基准电压)。
DAC0832的引脚功能简述如下。
• ILE: 数据锁存允许信号,高电平有效,系统上己经连接+5V上
二、任务背景
自20世纪60年代以来信号发生器有了迅速的发展,出现了函数发 生器。作为电子系统的重要组成部分,它广泛地应用在电子技术实验、 自动控制系统和其他科研领域。早期的信号发生器多采用模拟电子技 术,电路形式有采用运放及分离元件构成,也有采用单片集成函数发 生器专用芯片。
下一页
§8.1 工作任务的陈述与背景
若要提高输出信号最高频率,则品振频率必须提高。Pha_p和 pha_f共同负责相位移动。控制方法和频率控制相同。以下给出采 用本方案设计而成的正弦波信号发生器整体框图(图8-8)和仿真波形 图(图8-9和图8-10),以供读者设计时参考。
§8.1 工作任务的陈述与背景 §8.2 完成工作任务的引导 §8.3 相关技术基本知识与基本技能 §8.3 本章小结
上一页
§8.1 工作任务的陈述与背景
一、工作任务
用VHDL语言方法设计一个正弦波形发生器。 基本要求: ①学习VHDL设计正弦波形发生器; ②掌握FPGA对D/A的接口和控制技术。 完成波形发生器的设计、仿真测试及实验系统上的硬件测试。
相关文档
最新文档