EDA设计II
实验名称直接数字频率合成器
学号
姓名
院系电子工程光电技术学院
专业信息抗技术
指导老师
时间2011年X月X日
目 录
摘 关键词¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨第3页
设计基求¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第4页
方案证 ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨第5页
子模块设计原理说明
波形存储器模块¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨第7页
相位累加器模块¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第8页
相位调节器¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第9页
波形输出模块¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第9页
频率测定模块¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨ 第11页
译码模块¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第13页
显示模块¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第14页
测频模块¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第14页
调试仿真编程载程 ¨¨¨¨¨¨¨¨¨¨¨¨第15页
遇问题解决方案 ¨¨¨¨¨¨¨¨¨¨¨¨¨第16页
实验感想¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨第16页
总电路图¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨第17页
参考文献¨¨¨¨¨¨ ¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨第17页
摘关键字
摘
篇报告介绍EDA设计完成直接数字频率合成器DDS程该直接数字频率合成器输出频率相位均控制输出正余弦三角波锯齿波方波四种波形DA转换示波器显示控制电路作实现保持清零等功外数码时显示输出测频率相位控制字频率控制字设计利QuartusII70软件进行DDS设计载SmartSOPC实验系统中进行硬件测试
Abstract
This report introduces the EDA design is completed with Direct Digital Synthesis DDS process The direct digital frequency synthesis of the output frequency and phase can control and can output sine(cosine) triangle wave sawtooth square waveform after conversion after also displayed on the oscilloscope in the role of the control circuit can be Implementation maintained cleared function and also shows the output frequency phase control characters frequency control word This design uses DDS QuartusII 70 software design the final download SmartSOPC experimental system hardware to test
关键词
EDA设计直接数字频率合成器DDSQuartus II 70软件SmartSOPC实验系统
Kyewords
EDA designDirect Digital Synthesizer DDS QuartusII 70software SmartSOPC experiment system
设计求说明
1) 利QuartusII软件SmartSOPC实验箱实现DDS设计
2) DDS中波形存储器模块Altera公司Cyclone系列FPGA
芯片中ROM实现ROM结构配置成4096×10类型
3) 具体参数求:频率控制字K取4位基准频率fc1MHz
实验板系统时钟分频
4) 系统具清零功
5) 利实验箱DA转换器件ROM输出数字信号转换模拟信号够通示波器观察正弦波形
6) 通开关控制改变DDS频率相位控制字示波器观察加验证
7) 数码显示生成波形频率
8) 充分考虑ROM结构正弦函数特点进行合理配置提高计算精度
9) 设计输出种波形(三角波锯齿波方波等)功波形发生器
10)考虑节省ROM空间设计例提供四分波形者半波形
方案证
DDSDirect Digital Synthesizer数字频率合成器种基全数字技术相位概念出发直接合成需波形种频率合成技术种新型数字频率合成技术具相带宽频率转换时间短分辨力高相位连续性等优点容易实现频率相位幅度数控调制广泛应通讯领域
DDS基结构图
工作原理说明
DDS基结构相位累加器相位调制器正弦波数表(ROM)DA转换器构成相位累加器N位加法器N位寄存器构成CLOCK加法器频率控制字fwrod累加寄存器输出累加相位数相加相加结果反馈送累加寄存器数输入端加法器时钟脉作继续频率控制字相加样相位累加器时钟作断频率控制字进行线性相位累加相位累加器时钟脉输入时频率控制字累加相
位累加器输出数作波形存储器相位取样址样存储波形存储器波形抽样值进行找表查出完成相位幅值转换
相位累加器N位相正弦信号相位精度定N位分辨率12N系统时钟频率fc频率控制字fword1输出频率fOUTfC2N频率相基频fwordK输出频率
foutK* fC2N
系统输入时钟频率fC变时输出信号频率频率控制字K决定式
K2N*foutfC
中K频率字注意K取整时会误差
选取ROM址时间隔选项相位寄存器输出位数D般取1016位种截取方法称截断式法减少ROM容量D太会导致ROM容量成倍升输出精度受DA位数限制未改善
设计中N取12位基准频率fc取1MHzkf0000(0)1111(15)输出频率03662Hz
子模块设计
DDS模块设计
LPMROM设定(正弦例)
首先VC程序产生rom数值程序
#includestdioh
#includemathh
int main(int argcchar*argv[])
{
int i
double s
for(i0i<4096i++)
{
ssin(atan(1)*8*i4096)
printf(dx\ni(int)((s+1)*10232))
}
return 0
}
述程序编译生成执行文件rogenexeDOS命令执行
rogen>sinemif
生成sinemif文件加*mif文件头部说明
格式 DEPTH256
WIDTH10
ADDRESS_RADIXDEC
DATA_RADIXHEX
CONTENT
BEGIN
ROM中数占行
END
然设定LPMROM
元器库中选取LPMROM设置ROM信息数宽度10bits数数4096设置ROM寄存器输出需时钟异步清零信号指定ROM初始化数源选择刚刚生成mif文件然点击finish生成ROM单元器件图
波形发生器rom生成方式类似
频率预置调节电路
设计原理:
K相位增量频率控制字DDS输出频率表达式foutK* fC2NK1时DDS输出低频率(频率分辨率)fc2NDDS高输出频率Nyquist采样定理决定fc2说K值2N1
设计模块时74161设计模16模块1HZ信号输入变化该模块清零保持端开关控制便计数需值时保持清零输出作频率控制字低四位高八位置零输入累加器进行累加
设计中N取12位基准频率fc取1MHzkf0000(0)1111(15)输出频率03662Hz
累加器
累加器12位加法器12位寄存器两模块组成累加器时钟fc控制频率控制字K步长进行累加运算产生需频率控制数寄存器时钟控制加法器次计算结果寄存反馈回加法器进行次计算实现累加功时寄存器时钟控制累加结果送入相位控制模块
加法器
library IEEE
use IEEESTD_LOGIC_1164ALL
use IEEESTD_LOGIC_UNSIGNEDALL
entity adder is
port(
resetclkin std_logic
op1op2in std_logic_vector(11 downto 0)
ciout std_logic
resultout std_logic_vector(11 downto 0)
)
end adder
architecture behave of adder is
begin
process(resetclk)
variable result_tstd_logic_vector(11 downto 0)
variable ci_tstd_logic
begin
if(reset'0')then
ci<'0'
result<(others>'0')
elsif(clk'event and clk'1')then
ci_t'0'
for i in 0 to 11 loop
result_t(i)op1(i)xor op2(i)xor ci_t
ci_t(op1(i)and op2(i))or(ci_t and(op1(i)or op2(i)))
end loop
ci
end process
end behave
寄存器
library ieee
use ieeestd_logic_1164all
ENTITY shifter IS
PORT
(data in std_logic_vector(11downto 0)
sl_insr_inresetclk IN std_logic
mode in std_logic_vector(1 downto 0)
qout buffer std_logic_vector(11 downto 0))
END shifter
ARCHITECTURE behave OF shifter IS
signal q1q0std_logic
BEGIN
PROCESS(clk)
BEGIN
IF(clk'EVENT AND clk'1')THEN
if(reset'1')then
qout<(others>'0')
else
case mode is
when 01>
qout
qout
qout when others>null
end case
end if
END IF
END PROCESS
END behave
累加器模块图
相位控制
相位控制模块实际12位加法器前累加器输出结果高四位四位相位控制字Q相加构成相位控制模块中清零保持端分开关控制便需相位
四位相位控制字Q模16产生
DDS整体模块图
图中LPM_MUX数选择器功
控制开关K输入0时输出正弦波形
控制开关K输入1时输出三角波
频率测定模块
05Hz脉测信号高位相等测1s波形数测信号频率
原理波形示意图
测频电路
译码电路
频率控制字相位控制字四位二进制码转换成8421BCD码数码显示先通译码电路实现转换输入显示电路应转化表
频率控制字kf
十进制位(kfg[30])
十进制十位(kfs[30])
0000(0)
0000(0)
0000
0001(1)
0001(1)
0000
0010(2)
0010(2)
0000
0011(3)
0011(3)
0000
0100(4)
0100(4)
0000
0101(5)
0101(5)
0000
0110(6)
0110(6)
0000
0111(7)
0111(7)
0000
1000(8)
1000(8)
0000
1001(9)
1001(9)
0000
1010(10)
0000(0)
0001
1011(11)
0001(1)
0001
1100(12)
0010(2)
0001
1101(13)
0011(3)
0001
1110(14)
0100(4)
0001
1111(15)
0101(5)
0001
带S标表示十进制十位带g标表示十进制位
显示电路
旧采动态显示方法六数码增加七相应模六计数器改模七计数器余原理变
分频模块
次实验需频率1hz1khz10khz100khz1Mhz05hz
VHDL语言描述
LIBRARY IEEE
USE IEEESTD_LOGIC_1164ALL
ENTITY fenpin IS
PORT(clk IN STD_LOGIC
hz0hz1hz2hz3hz4hz5buffer STD_LOGIC)
END fenpin
ARCHITECTURE behave OF fenpin IS
SIGNAL count0count1count2count3count4count5 integer range 0 to 48000000
BEGIN
PROCESS(clk)
BEGIN
IF (clk'1') THEN
count0
count0<0
hz0
IF(count123999) Then
count1<0
hz1
IF(count22399) Then
count2<0
hz2
IF(count3239) Then
count3<0
hz3
IF(count423) Then
count4<0
hz4
IF(count547999999) Then
count5<0
hz5
END IF
END PROCESS
END behave
仿真载
波形输出示波器
截仅取中张进行说明
相位差相位差正弦信号
相位差相位差三角波信号
性检测(单位hz)
频率控制字
理输出频率
示波器显示频率
测频显示频率
1
2441
244053
244
6
14648
1464562
1464
15
36621
3662086
3661
误差均允许范围
遇问题解决方案
问题相位控制改变精度高
解决方案先控制相位控制位高位进行粗调然控制低位进行微调迅速提高精度
实验感想
通次实验进步提高VHDL语言运力QuartusII70软件熟悉程度实验中直追求基功实现没严格求老师提出改进求没认真思考错熟化运知识绝佳机会令悔莫完成实验学老师进行交流确定想法恍然悟应珍惜次实践机会着实增强解决问题力
总电路
部分级联总电路图
参考文献
1 蒋立编著数字电路南京理工学出版社
2 南京理工学电子技术中心编EDA设计实验指导书
3 付文红花汉兵编著EDA技术实验机械工业出版社
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档