Post on 01-Apr-2019
DDS����
www.fpga.com.cn
DDS���� � 1� � 11�
1 ����������
��� ����Direct Digital Synthesizer�����������
������ !� ��"#$ %��� ���&��'(�)(*
�)��+, ROM)D/A-.�/012���LPF�3�$DDS���456
57�89
5 1$1 DDS���45
:; K<� =>�)P<��=>�)W<��=>�)fC<?@AB�
CN<��'(���DCD< ROME�F D/A-.���D$��'(
�GAB fC�=>7HID KJ'(CK�� N�LM>NO��=>� P)
��=>�W�(PJ<�� ROM�QRCS�� ROMMTURC�� ROM
K� D��VWN S�n�X D/A-.�Y�Z[� S�t�C\X]012��
^_P`�H���������$������������� ROM;+
�VWNC�� DDS�H������$���� DDS�������
�J<����$
a) ��������
K��<� =>�C� ��!"$DDS#$<9f0=fCK/2NCf0<K��
CfC<AB� $% K=1ACDDSK�&0� ��'� () �< fC/2NC
* DDS�&+K�� & Nyquist,-.��.C' fC/2C�`�� K�&+
/< 2N-1$��C01 N23+CDDS�H��45�� 67$18Y DDS
�K�� C018Y� =>� K'�$
b) ��
��=>� P
D�
S(n) S(t)N�
��=>�W
� =>� K
'(� (*� (*� ROM D/A LPF
?@�� fc
N�
DDS���� � 2� � 11�
5 1$2 '(�45
��'(�& N�(*�O N�9+�:;3�$<= %AB>? fCC(
*�@� =>� KO9+�K��'(��E�(C\A�(P�BCDE
9+���EKFG$9+�@(*�GH %ABJ P������E
IJ�(*��KFGKHL(*�G7 %ABJ 7MNO� =>�MT
�($�-C��'(�GAB�J 7CMT��'($%��'(�'(O
"A`P�� QR�CS� %TUV�WJ$
c) �������
1]8Y��=>� P�H=>K������?$X��(*���D
< NC%��=>�& 0YY� P�P≠0�AC��+,��KF<��'(�
�K�O��=>� PZ/C�*:K��VW[N��P!( P/2NC�*L
&PK�������\$
d) �������
1]8Y��=>�W�H=>K������$&��+,�;�]^
���(_+,�C�H%��=>�8YAC��+,��KF<8Y��P
�QRO��=>�W���QR�Z/C�*L&PK�������\$
e) �����
��'(�K��EJ<��+,���-QRCMT�����—V/
-.C'�G`.�A6H��K�������V�$N��UR ROM��
�� 0O~360O��� ���� 2N%�����C��� ROM� D�
E�C 2N%���V�H D�LM>��G ROM;C� QR���
�HK�����������V�$
��—VWY.��5675�89
� =>� ������
�+�
fc
DDS���� � 3� � 11�
5 1$3 ��—VWY.��5
f) D/A���
D/A-.��J�����������-.����$��VW����
S�n�X D/A-.PY����<����Z[� S(t)$������C�
���S D/A-.���� � ��!CD/A-.���� "�C���
��� S�t��Z`��CK������W�`��$
g) �����
S D/AK��Z[� S�t�MT���C� S�t�;��� f0 C�+
G��G fCC2fC……��+f0�������CV���<���$��C<
����� f0C��G D/A-.��K� !"�� < fC/2�012��$
�����# ��VW���#ROM
(��+,�)
�QR� �E�
DDS���� � 4� � 11�
2 �������
2�1 ����
&$�%& 8=N , 8=D , MHzfc 19.4= C+,�'� 2K�9
1. +,��< 256×8 bit()
2. � IM KHzf
ffN
co 4.16
2min ===∆ C�A 1=K
3. � MHzf
f co 1.2
2max == $*�C�A+,-� � 2 .C/H0
1K��W$<�02K��WC3�0+,- � 8.C�A 328
2 ==N
K ,
49
KHzKf
fN
co 524
2max ==
4. ��IM256
2π
56��C+%��+,�+, 256% 8� �.7� => 321 ≤≤ K C�
IM�8K�� �16.4KHz,K�� 524KHz7��=> 2561 ≤≤ P C
IM256
2π$
2�2 ����
2�2�1 ����
&9:;<�=��!��>?K�C@+,G RAM;���EHA�
!+,�B9
aC �D+,9�“����1…n� | ����1…n�”7
bC ��+,9�“���1� | ���1�C���2� | ���2�…C��
�n� | ���n�”$
:;<�=��!���EFK�HF��=>C>�� 2 !+,�BC�
��+,$GAC���+,���C���+,���$
DDS���� � 5� � 11�
7H�I� 7G�!�B7QRN�JK9
5 2$1 �D+,O��+,�QRN
&65H��C���B�QRN�L]��D�B7MN 1��2O�7
GAC0�PQLG��$
2�2�2 ���
&����+,�BC;<H7R�S 9
5 2$2 DDSR�S
2�3 ����
:!=�R��FT679
1U&9Acer TravelMate 230 (Celeron IV 1.7GHz + 256M DDR2100 + 20GHD)
2R�9WindowsXP (SP1 + KB823980) VWX Y ;W"#�
3$&9Xilinx ISE 6.1.02i (SP2) + ModelSim XE II 5.7C
1C Z [%&
� =>�98�C 32�00100000�C0K��'7
��=>�98�C0\�NC128�10000000��Nπ7
��=>�91�C0K����C1K����7
��9
�D9
00 0 00 1 01 0 01 1 10 0 10 1 11 0 11 1
000 001 010 011 …
…
��K�
?@AB
� =>�
��=>�
��=>�
'(� (*� ]*� (*� ROM
DDS���� � 6� � 11�
2C '(�
&9 ISE^_� IP Core(A)�*+),+-)()��./.C@'(
�S0>� IP Core;� Accumulator12$
3C (*�
:;<�)3 2%(*�C %�� =>�/��=>�� 8�K! 8�
K�(*�7` %�6�K�4�MN 1 �PO��=>�� 8 �O 1 �K
! 9�K�(*�$1] IP Core;� Adder & Subtracter12=�$
4C ]*�
:;<;�]*�)5=�4��MN 1�)�C�6L��)0�7 0$
1] IP Core;� Multiplier12=�C�]H 2$
5C ��+,�
��+,�)5+,��ECEH���B+,$1] IP Core;� Single
Port Block Memory=�$��8��W&& MatlabK������$
�P�����5679
5 2$3 DDS��5
DDS���� � 7� � 11�
2�4 ����
1� !"#$�%&�
� =>�900000001
��=>�900000000
��=>�90
2� !'#$�%&�
� =>�900100000
��=>�900000000
��=>�90
DDS���� � 8� � 11�
3� !"#$�(&�
� =>�900000001
��=>�901000000
��=>�90
4� !'#$�(&�
� =>�900100000
��=>�901000000
��=>�90
DDS���� � 9� � 11�
5� !"#$�)*�
� =>�900000001
��=>�90000000
��=>�91
6� !'#$�)*�
� =>�900100000
��=>�90000000
��=>�91
DDS���� � 10� � 11�
� �
������ �����FPGA��� %��� ���C�
�&'(�)(*�)�*�)+,���$��� �����Y���
�)� IM�)VW/� �W�)9�� .!"$�R#$#� 9�)
��9�)��%&C�H'(��))*�F:+�,�$�����1�-)
9�� .!"$.]� IM:/)ID/A���W:0C$�1�.�R
#��23C�H1];(=>��);/+,�4��1%�$
DDS���� � 11� � 11�
����
15 Dan Morelli$Modulating Direct Digital Synthesizer in a QuickLogic
FPGA$QuickLogicC2002
25 ,&6C78$9:FPGA���� ������/�$�<"
#�C2001
35 =;8$9:DDS"#��W+����$><�<=�>?�C2000
45 @ABCCD$CPLD/FPGA�?�E�'@$�<=A�FBC2003
55 CDGCCHE$CPLD/FPGA�E�O�$�<=A�FBC2002
65 I()CJK$VHDLL�M�"#O�NO�P��$><�<Q"
/R�FBC1997
75 James R. ArmstrongCF. Gail GrayCST(CF*UV$VHDL��G8
/5�$WH=A�FBC2002
85 FICJ�+CB,�$Xilinx ISE 5.x(X%$YZ�����C2003
9� Xilinx$Xilinx ISE 6 Software Manuals$XilinxC2003