移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图

Slides:



Advertisements
Similar presentations
104-2 社團聯席會議 人社二館第五講堂 第 1 次社團聯席會 會議議程 一、邱學務長致詞 : 二、王麗倩組長致詞 : 三、課外組報告: 課外活動經費核銷事項 --- 松漢 社課鐘點費核銷事項 --- 松漢 3. 三社聯合成發之講堂租借規定說明.
Advertisements

一、音调  听过女高音和男低音的歌唱吗?他们的声音 给你的印象是怎样的? 女高音:音调高, 男低音:音调低,比较低沉。
天水圍的體育設施.
什么是SOPC: SOPC是英文System On a Programmable Chip的缩写,称为片上可编程系统。SOPC将传统的EDA技术、计算机系统、嵌入式系统、数字信号处理等融为一体,综合了各自的优势,且在结构上形成一块芯片。 为什么用SOPC:SOPC是现代电子技术和电子系统设计的发展趋势,建立了电子系统设计的新模式。用户利用SOPC开发平台,自行设计高速、高性能的DSP处理器、特定功能的CPU及其外围接口电路,创建结构最为简洁的电子系统。
第 3 章 聽覺 每章扉頁 3.1 聽覺 3.2 人類耳朵的反應 3.3 聽覺缺陷.
会计报表网上申报操作指南 (以小企业会计准则为例) 松江区税务局 2014年7月.
班級:醫管3B 組別:第二組 組員:王品媛、郭雅瑄、謝淑玲、蔡孟蔙
第一部分 中考基础复习 第一章 声现象.
做实验过程中发现的问题: 新建时工程文件夹建立了,但所建实体文件并没存放在其中 文件名不能用汉字
《 E D A 技 术》 课 程 教 学 讲授:伍宗富 湖南文理学院电气与信息工程学院 2017年3月19日星期日.
1890年, 一艘名叫“马尔波罗号”的帆船在从新西兰驶往英国的途中,突然神秘地失踪了。 20年后,人们在火地岛海岸边发现了它。奇怪的是:船体原封未动,完好如初;船长航海日记的字迹仍然依稀可辨;就连那些死去多年的船员,也都“各在其位”,保持着当年在岗时的“姿势”; 1948年,一艘名为“乌兰格梅奇号”的荷兰货船,在通过马六甲海峡时,突然遇到海上风暴,当救助人员赶到时,船上所有人员都莫明其妙地死了。
第4章 VHDL设计初步.
EDA 技术实用教程 第 7 章 宏功能模块与IP应用.
提升國小自然與生活科技領域教師教學智能研習
第6章 VHDL设计应用实例 6.1 8位加法器的设计 6.3 序列检测器的设计 6.4 正负脉宽数控调制信号发生器的设计
电工电子实验中心.
EPF10K10TI144-4晶片燒錄.
第三章 组合逻辑电路 第一节 组合电路的分析和设计 第二节 组合逻辑电路中的竞争与冒险 第三节 超高速集成电路硬件描述语言VHDL
題目:十六對一多工器 姓名:李國豪 學號:B
VHDL數位電路實習與專題設計 文魁資訊-UE301
VHDL數位電路實習與專題設計 文魁資訊-UE301
8.9二进制振幅键控(ASK) 调制器与解调器设计
VHDL 硬體描述語言 數位電路設計實務 第四章 VHDL 的語言結構.
VHDL 硬體描述語言 數位電路設計實務 第六章 函數副程序以及套件程式庫.
EDA原理及应用 何宾
使用VHDL設計—4位元減法器 通訊一甲 B 楊穎穆.
EDA原理及应用 何宾
使用VHDL設計—4位元加法器 通訊一甲 B 楊穎穆.
第九章 数字系统设计 数字系统设计概述 ASM图、MDS图以及 ASM图至MDS图的转换 数字密码引爆器系统设计 数字系统设计实例 小结.
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
欢迎参加VHDL培训 VHDL培训教程 浙江大学电子信息技术研究所 电子设计自动化(EDA)培训中心
使用VHDL設計—向上&向下計數器 通訊一甲 B 楊穎穆.
使用VHDL設計-XOR_GATE 通訊一甲 B 楊穎穆.
EDA 技术及应用 实验安排.
第2章 Quartus II设计向导 2.1 频率计的VHDL设计 2.2 使用宏功能块设计频率计 2.3 嵌入式系统块ESB的应用
使用VHDL設計--Moore Machine
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
使用VHDL設計-多工器/解多工器 通訊一甲 B 楊穎穆.
第12章 图像边缘检测器的设计与分析 12.1 系统设计要求 12.2 系统设计方案 12.3 主要LPM原理图和VHDL源程序
实验六 积分器、微分器.
第五章 VHDL设计基础 本章重点: 本章难点: VHDL程序结构 VHDL的基本数据类型 VHDL的基本描述语句 基本组合逻辑电路设计
第六章 VHDL设计共享.
第五章 VHDL主要描述语句.
使用VHDL設計—4位元ALU電路 通訊一甲 B 楊穎穆.
第一次上机安排 第六周 第七周 周一晚(提高1、2,通信001~012) 周二上(通信014~085) 周四上(通信086~154)
抢答器 设计一个2人抢答器。要求如下: 设计任务 1.两人抢答,先抢为有效,用发光二极 管显示是否抢到优先答题权。
8.4 ADC0809接口电路及程序设计.
计算机学院 数字逻辑实验的要求.
使用VHDL設計 七段顯示器 通訊工程系 一年甲班 姓名 : 蘇建宇 學號 : B
北投溫泉博物館 建築特色 ★小組成員:高103林孟璇、林念儀、施妤柔★.
數位邏輯設計 VHDL.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
使用VHDL設計-XOR_GATE 通訊一甲 B 楊穎穆.
使用VHDL設計-8x1多工器 通訊一甲 B 楊穎穆.
自停式向下計數器 通訊一甲 B 楊穎穆.
第7章 VHDL设计应用实例 7.1 8位加法器的设计 7.2 分频电路 7.3 数字秒表的设计.
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
第11章 直接数字频率合成器的设计与分析 11.1 系统设计要求 11.2 系统设计方案 11.3 主要VHDL源程序
可變式計數器 通訊一甲 B 楊穎穆.
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2009年10月22日
时序运算模块的VHDL设计 时序电路的结构与特点 内部含有存储器件(触发器、锁存器); 信号变化受时钟控制; 通常采用状态变化进行描述;
信号发生电路 -非正弦波发生电路.
Programmable Logic System Design
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
由一个佯谬看涡旋电流的存在 PB 田鸿翔 指导老师 万树德.
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
第七章 基本逻辑电路设计.
智力抢答器综合设计 陈学英.
Programmable Logic System Design
Presentation transcript:

移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图 正弦波ROM是存放正弦波数据的,10位数据线,10位地址线; “FW” 是8位频率控制字 “PW”是8位相移控制字 32位加法器和32位寄存器是控制”地址步长”的----控制了频率 10位加法器和10位寄存器是控制读取正弦波ROM1与读取正弦波ROM2的”地址差”----控制相位差(移相) POUT和FOUT分别为10位输出,可以分别与两个高速D/A相接,他们分别输出参考信号和可移相正弦波信号。

图1 基于DDS的数字移相信号发生器电路模型图 [31..22] [31..22] 正弦波 ROM1 10位 寄存器 POUT 10位 加法器 [9..2] PW [31..0] [31..0] 32位 加法器 正弦波 ROM2 FOUT [27..20] 32位 寄存器 FW CLK

图2 数字式移相信号发生器完整结构

数字移相信号发生器顶层设计文件 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DDS_VHDL IS -- 顶层设计 PORT ( CLK : IN STD_LOGIC; --系统时钟 FWORD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --频率控制字 PWORD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --相位控制字 FOUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0); --可移相正弦信号输出 POUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); --参考信号输出 END;

ARCHITECTURE one OF DDS_VHDL IS COMPONENT REG32B --32位锁存器 PORT ( LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END COMPONENT; COMPONENT REG10B --10位锁存器 PORT ( LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(9 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); COMPONENT ADDER32B --32位加法器 PORT ( A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); B : IN STD_LOGIC_VECTOR(31 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); COMPONENT ADDER10B --10位加法器 PORT ( A : IN STD_LOGIC_VECTOR(9 DOWNTO 0); B : IN STD_LOGIC_VECTOR(9 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); COMPONENT SIN_ROM --10位地址10位数据正弦信号数据ROM PORT ( address : IN STD_LOGIC_VECTOR(9 DOWNTO 0); inclock : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) );

SIGNAL F32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL D32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL DIN32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL P10B : STD_LOGIC_VECTOR( 9 DOWNTO 0); SIGNAL LIN10B : STD_LOGIC_VECTOR( 9 DOWNTO 0); SIGNAL SIN10B : STD_LOGIC_VECTOR( 9 DOWNTO 0); BEGIN F32B(27 DOWNTO 20)<=FWORD ; F32B(31 DOWNTO 28)<="0000"; F32B(19 DOWNTO 0)<="00000000000000000000" ; P10B( 9 DOWNTO 2)<=PWORD ; P10B( 1 DOWNTO 0)<="00" ; u1 : ADDER32B PORT MAP( A=>F32B,B=>D32B, S=>DIN32B ); u2 : REG32B PORT MAP( DOUT=>D32B,DIN=> DIN32B, LOAD=>CLK ); u3 : SIN_ROM PORT MAP( address=>SIN10B, q=>FOUT, inclock=>CLK ); u4 : ADDER10B PORT MAP( A=>P10B,B=>D32B(31 DOWNTO 22),S=>LIN10B ); u5 : REG10B PORT MAP( DOUT=>SIN10B,DIN=>LIN10B, LOAD=>CLK ); u6 : SIN_ROM PORT MAP( address=>D32B(31 DOWNTO 22), q=>POUT, inclock=>CLK ); END;

SIGNAL F32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL D32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL DIN32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL P10B : STD_LOGIC_VECTOR( 9 DOWNTO 0); SIGNAL LIN10B : STD_LOGIC_VECTOR( 9 DOWNTO 0); SIGNAL SIN10B : STD_LOGIC_VECTOR( 9 DOWNTO 0); BEGIN F32B(27 DOWNTO 20)<=FWORD ; F32B(31 DOWNTO 28)<="0000"; F32B(19 DOWNTO 0)<="00000000000000000000" ; P10B( 9 DOWNTO 2)<=PWORD ; P10B( 1 DOWNTO 0)<="00" ; u1 : ADDER32B PORT MAP( A=>F32B,B=>D32B, S=>DIN32B ); u2 : REG32B PORT MAP( DOUT=>D32B,DIN=> DIN32B, LOAD=>CLK ); u3 : SIN_ROM PORT MAP( address=>SIN10B, q=>FOUT, inclock=>CLK ); u4 : ADDER10B PORT MAP( A=>P10B,B=>D32B(31 DOWNTO 22),S=>LIN10B ); u5 : REG10B PORT MAP( DOUT=>SIN10B,DIN=>LIN10B, LOAD=>CLK ); u6 : SIN_ROM PORT MAP( address=>D32B(31 DOWNTO 22), q=>POUT, inclock=>CLK ); END;

32位加法器,10位加法器略去 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER32B IS PORT ( A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); B : IN STD_LOGIC_VECTOR(31 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END ADDER32B; ARCHITECTURE behav OF ADDER32B IS BEGIN S <= A + B; END behav;

32位寄存器,10位寄存器略去 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG32B IS PORT ( CLK : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END REG32B; ARCHITECTURE behav OF REG32B IS BEGIN PROCESS(CLK, DIN) IF CLK'EVENT AND Load = '1' THEN DOUT <= DIN; END IF; END PROCESS; END behav;

设CLK=1MHZ,ROM地址线位10条(000-3FFH,1024个), FW 10位 加法器 寄存器 正弦波 ROM2 FOUT [7..0] [9..0] CLK ADD 启始地址ADD=000H 当FW=08H=8D 当FW=01H=1D 下一个CLK,ADD=008H=8D 下一个CLK,ADD=001H=1D 扫描一次ROM需要的CLK 扫描一次ROM需要的CLK 1024÷8=128 1024÷1=1024 扫描一次ROM需要的时间 扫描一次ROM需要的时间 1μS×128=128μS 1μS×1024=1024μS 输出频率=7.8125KHZ 输出频率≈976HZ

设CLK=1MHZ,ROM地址线位10条(000-3FFH,1024个), PW 10位 加法器 寄存器 正弦波 ROM1 POUT [7..0] [9..0] CLK ADD 启始地址ADD=000H 总比FOUT超前”一个”地址 “跳一个”地址相当于 360°÷1024=0.351625° 当PW=01H=1D 当PW=08H=8D 超前 超前 0.351625° 0.351625°×8=2.8125°