我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 硬件编程专题——一个老外写的DDS(VHDL)的例子 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

gxuan1



性别: 帅哥 状态: 该用户目前不在线
等级: 荣誉会员
家族: 水族馆
发贴: 5200
威望: 3
浮云: 407
在线等级:
注册时间: 2006-02-20
最后登陆: 2007-12-02

5come5帮你背单词 [ grin /grin/ vi. 露齿笑 ]


硬件编程专题——一个老外写的DDS(VHDL)的例子

一个老外写的DDS(VHDL)的例子,很经典。-- DDFS.vhd
-------------------------------------
-- Direct Digital Freq. Synthesis --
-------------------------------------
-- (c) Bert Cuzeau, ALSE - info@alse-fr.com
-- May be reproduced provided that copyright above remains.
-- We use one of the symetries in the sine function,
-- so the lookup table is re-used twice (128 entries table)
-- The Sine Table is built by a C program...
-------------------------------------
-- Design IOs :
-- Clk : Global Clock input
-- Rst : Global Reset input
-- Freq_data : 8-bit frequency control vector
-- from DIP switches on the board.
-- Dout : is signed 8-bit output to the DAC.
-- -----------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
-- -----------------------------------------------
Entity DDFS is
-- -----------------------------------------------
Port ( CLK : in std_logic;
RST : in std_logic;
Freq_Data : in std_logic_vector (7 downto 0);
Dout : out std_logic_vector (7 downto 0)
);
end DDFS;
-- -----------------------------------------------
Architecture RTL of DDFS is
-- -----------------------------------------------
signal Address : unsigned (6 downto 0);
signal Result : std_logic_vector (7 downto 0);
signal Accum : unsigned (28 downto 0); -- we want very low Frequencies !
signal Sign : std_logic;
begin
-- Signed Accumulator
-- ------------------
Acc: process (CLK,RST)
begin
if RST='1' then
Accum '0');
elsif rising_edge(CLK) then
Accum <= Accum + unsigned(Freq_Data);
end if;
END process acc;
Sign <= Accum(Accum'high); -- MSB
-- Lookup Table Index calculation
-- ------------------------------
Address <= unsigned(Accum(Accum'high-1 downto Accum'high-Address'length));
-- SINE Look-Up TABLE
-- -------------------
-- Inference of an Asynchronous Rom.
-- A synchronous one would be better, but we register the output.
-- This table has been built by GENVEC.exe (C program)
-- We use only positive values ! (sign comes from quadrant info)
-- This could be further optimized by coding only one quadrant...
lookup: process (Address)
subtype SLV8 is std_logic_vector (7 downto 0);
type Rom128x8 is array (0 to 127) of SLV8; -- 0 to 2**Address'length - 1
constant Sinus_Rom : Rom128x8 := (
x"00", x"03", x"06", x"09", x"0c", x"0f", x"12", x"15",
x"18", x"1b", x"1e", x"21", x"24", x"27", x"2a", x"2d",
x"30", x"33", x"36", x"39", x"3b", x"3e", x"41", x"43",
x"46", x"49", x"4b", x"4e", x"50", x"52", x"55", x"57",
x"59", x"5b", x"5e", x"60", x"62", x"64", x"66", x"67",
x"69", x"6b", x"6c", x"6e", x"70", x"71", x"72", x"74",
x"75", x"76", x"77", x"78", x"79", x"7a", x"7b", x"7b",
x"7c", x"7d", x"7d", x"7e", x"7e", x"7e", x"7e", x"7e",
x"7f", x"7e", x"7e", x"7e", x"7e", x"7e", x"7d", x"7d",
x"7c", x"7b", x"7b", x"7a", x"79", x"78", x"77", x"76",
x"75", x"74", x"72", x"71", x"70", x"6e", x"6c", x"6b",
x"69", x"67", x"66", x"64", x"62", x"60", x"5e", x"5b",
x"59", x"57", x"55", x"52", x"50", x"4e", x"4b", x"49",
x"46", x"43", x"41", x"3e", x"3b", x"39", x"36", x"33",
x"30", x"2d", x"2a", x"27", x"24", x"21", x"1e", x"1b",
x"18", x"15", x"12", x"0f", x"0c", x"09", x"06", x"03" );
begin
Result '0');
elsif rising_edge(CLK) then
if Sign='1' then
Dout <= Result;
else
Dout <= std_logic_vector (- signed(Result));
end if;
end if;
end process outreg;
end RTL;
顶端 Posted: 2007-03-19 21:35 | [楼 主]
wesin



社区建设奖 年度之星奖 特殊贡献奖 爱心大使勋章
性别: 帅哥 状态: 该用户目前不在线
头衔: 幕后黑手
等级: 幕后精英
家族: 水族馆
发贴: 69325
威望: 12
浮云: 186283
在线等级:
注册时间: 2005-10-30
最后登陆: 2023-10-01

5come5帮你背单词 [ melon /'melən/ n. 瓜,甜瓜 ]


貌似这个学期就要做这些东西,LZ来帮我弄嘛
顶端 Posted: 2007-03-19 21:41 | [1 楼]
彬彬



性别: 帅哥 状态: 该用户目前不在线
头衔: 滚蛋之人∩_∩
等级: 荣誉会员
家族: 考研俱乐部
发贴: 22342
威望: 4
浮云: 422
在线等级:
注册时间: 2005-03-09
最后登陆: 2009-07-26

5come5帮你背单词 [ possibility /posə'biliti/ n. 可能,可能性,可能的事 ]


发现每个字都认识

但是+在一起 ……
顶端 Posted: 2007-03-19 21:44 | [2 楼]
gxuan1



性别: 帅哥 状态: 该用户目前不在线
等级: 荣誉会员
家族: 水族馆
发贴: 5200
威望: 3
浮云: 407
在线等级:
注册时间: 2006-02-20
最后登陆: 2007-12-02

5come5帮你背单词 [ away /ə'wei/ ad. 离开,远离 ]


Quote:
引用第1楼wesin于2007-03-19 21:41发表的:
貌似这个学期就要做这些东西,LZ来帮我弄嘛

好,把问题就提在这里让大家都来看看
顶端 Posted: 2007-03-19 22:21 | [3 楼]
ldminwm7





性别: 帅哥 状态: 该用户目前不在线
头衔: 从清水河回来加水
等级: 人见人爱
发贴: 2511
威望: 0
浮云: 1197
在线等级:
注册时间: 2005-09-01
最后登陆: 2010-11-29

5come5帮你背单词 [ elevator /'eliveitə/ n. 电梯,升降机 ]


这个语言忘了差不多了~~已经读不懂了~~
顶端 Posted: 2007-03-20 22:47 | [4 楼]
hello_4





性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 713
威望: 0
浮云: 1133
在线等级:
注册时间: 2006-08-04
最后登陆: 2007-06-26

5come5帮你背单词 [ sword /so:d/ n. 剑,刀 ]


什么叫DDS?
顶端 Posted: 2007-04-06 16:53 | [5 楼]
gxuan1



性别: 帅哥 状态: 该用户目前不在线
等级: 荣誉会员
家族: 水族馆
发贴: 5200
威望: 3
浮云: 407
在线等级:
注册时间: 2006-02-20
最后登陆: 2007-12-02

5come5帮你背单词 [ now /nau/ ad. 现在,目前,立刻;n. 现在,此刻;conj. 既然 ]


Quote:
引用第5楼hello_4于2007-04-06 16:53发表的:
什么叫DDS?

直接数字频率合成(DDS—Digital Direct Frequency Synthesis)技术是一种新的频率合成方法,是频率合成技术的一次[屏蔽],JOSEPH TIERNEY等3人于1971年提出了直接数字频率合成的思想,但由于受当时微电子技术和数字信号处理技术的限制,DDS技术没有受到足够重视,随着电子工程领域的实际需要以及数字集成电路和微电子技术的发展,DDS技术日益显露出它的优越性。

DDS是一种全数字化的频率合成器,由相位累加器、波形ROM、D/A转换器和低通滤波器构成。时钟频率给定后,输出信号的频率取决于频率控制字,频率分辨率取决于累加器位数,相位分辨率取决于ROM的地址线位数,幅度量化噪声取决于ROM的数据位字长和D/A转换器位数。

DDS有如下优点:⑴ 频率分辨率高,输出频点多,可达 个频点(N为相位累加器位数);⑵频率切换速度快,可达us量级;⑶ 频率切换时相位连续;⑷ 可以输出宽带正交信号;⑸ 输出相位噪声低,对参考频率源的相位噪声有改善作用;⑹可以产生任意波形;⑺ 全数字化实现,便于集成,体积小,重量轻,因此八十年代以来各国都在研制和发展各自的DDS产品,如美国QUALCOMM公司的Q2334,Q2220;STANFORD公司的STEL-1175,STEL-1180;AD公司的AD7008,AD9850,AD9854等。这些DDS芯片的时钟频率从几十兆赫兹到几百兆赫兹不等,芯片从一般功能到集成有D/A转换器和正交调制器。
顶端 Posted: 2007-04-06 18:51 | [6 楼]
洋洋洒洒



性别: 帅哥 状态: 该用户目前不在线
头衔: 她的我
等级: 荣誉会员
发贴: 6290
威望: 2
浮云: 496
在线等级:
注册时间: 2006-11-25
最后登陆: 2010-09-14

5come5帮你背单词 [ function /'fΛŋkən/ n. 功能,作用,(pl.)职责,职务,函数;vi. (机器等)运行,发挥…作用,尽…职责 ]


VHDL??/
呵呵~~据说很难,我们学的是简单的Verilog HDL~~
但是还是不知道老师说什么
顶端 Posted: 2007-04-06 19:03 | [7 楼]
gxuan1



性别: 帅哥 状态: 该用户目前不在线
等级: 荣誉会员
家族: 水族馆
发贴: 5200
威望: 3
浮云: 407
在线等级:
注册时间: 2006-02-20
最后登陆: 2007-12-02

5come5帮你背单词 [ pollute /pə'lju:t/ vt. 弄脏,污染,使…堕落 ]


Quote:
引用第7楼洋洋洒洒于2007-04-06 19:03发表的:
VHDL??/
呵呵~~据说很难,我们学的是简单的Verilog HDL~~
但是还是不知道老师说什么

这个好象也不简单……
顶端 Posted: 2007-04-06 19:43 | [8 楼]
julian



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 唯war独尊
发贴: 2052
威望: 0
浮云: 1144
在线等级:
注册时间: 2005-11-16
最后登陆: 2012-03-02

5come5帮你背单词 [ joint /d3əoint/ n. 接合处,关节;a. 连接的,联合的 ]


谢谢了 正在学FPGA 啊 很有用
顶端 Posted: 2007-04-10 22:10 | [9 楼]
我来我网·5come5 Forum » 电子设计·数学建模

Total 0.013183(s) query 5, Time now is:12-31 03:26, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号