Version 4 SHEET 1 2936 3384 WIRE -80 -96 -128 -96 WIRE 496 -96 448 -96 WIRE -128 -64 -128 -96 WIRE 448 -64 448 -96 WIRE -128 64 -128 16 WIRE 448 64 448 16 WIRE -96 224 -176 224 WIRE 240 224 128 224 WIRE 272 224 240 224 WIRE 416 224 400 224 WIRE 480 224 416 224 WIRE 592 224 560 224 WIRE 752 224 592 224 WIRE -176 240 -176 224 WIRE 128 240 128 224 WIRE 592 256 592 224 WIRE 976 272 928 272 WIRE 1088 272 1040 272 WIRE 1200 272 1168 272 WIRE 1264 272 1200 272 WIRE 752 288 704 288 WIRE 1200 288 1200 272 WIRE 1040 304 1040 272 WIRE 976 320 976 272 WIRE 992 320 976 320 WIRE -176 336 -176 320 WIRE 128 336 128 320 WIRE 592 352 592 320 WIRE 992 368 976 368 WIRE 1200 368 1200 352 WIRE 704 400 704 288 WIRE 976 416 976 368 WIRE 1040 416 1040 384 WIRE -112 480 -176 480 WIRE 416 480 320 480 WIRE 704 496 704 480 WIRE -176 512 -176 480 WIRE 320 512 320 480 WIRE -176 624 -176 592 WIRE 320 624 320 592 WIRE -144 800 -176 800 WIRE -128 800 -144 800 WIRE 704 816 624 816 WIRE 816 816 784 816 WIRE 976 816 816 816 WIRE -176 848 -176 800 WIRE 816 848 816 816 WIRE 1200 864 1152 864 WIRE 976 880 928 880 WIRE 816 944 816 912 WIRE -176 960 -176 928 WIRE 928 992 928 880 WIRE 928 1088 928 1072 WIRE -128 1104 -176 1104 WIRE 704 1104 576 1104 WIRE -176 1136 -176 1104 WIRE 576 1136 576 1104 WIRE -176 1248 -176 1216 WIRE 576 1248 576 1216 WIRE -160 1472 -192 1472 WIRE -112 1472 -160 1472 WIRE 48 1472 -64 1472 WIRE 224 1472 128 1472 WIRE 272 1472 224 1472 WIRE 384 1472 352 1472 WIRE 432 1472 384 1472 WIRE 544 1472 512 1472 WIRE 592 1472 544 1472 WIRE 704 1472 672 1472 WIRE 752 1472 704 1472 WIRE 864 1472 832 1472 WIRE 912 1472 864 1472 WIRE 1024 1472 992 1472 WIRE 1152 1472 1024 1472 WIRE 1232 1472 1152 1472 WIRE -64 1520 -64 1472 WIRE 1152 1520 1152 1472 WIRE -112 1536 -112 1472 WIRE 224 1536 224 1472 WIRE 384 1536 384 1472 WIRE 544 1536 544 1472 WIRE 704 1536 704 1472 WIRE 864 1536 864 1472 WIRE 1024 1536 1024 1472 WIRE -112 1648 -112 1584 WIRE -64 1648 -64 1600 WIRE 224 1648 224 1600 WIRE 384 1648 384 1600 WIRE 544 1648 544 1600 WIRE 704 1648 704 1600 WIRE 864 1648 864 1600 WIRE 1024 1648 1024 1600 WIRE 1152 1648 1152 1600 FLAG -128 64 0 FLAG -80 -96 fstart FLAG -176 624 0 FLAG -112 480 phase IOPIN -112 480 Out FLAG 448 64 0 FLAG 496 -96 freq IOPIN 496 -96 Out FLAG -176 1248 0 FLAG -128 1104 sine1 IOPIN -128 1104 Out FLAG -64 1648 0 FLAG 224 1648 0 FLAG 384 1648 0 FLAG 544 1648 0 FLAG 704 1648 0 FLAG 864 1648 0 FLAG 1024 1648 0 FLAG 1152 1648 0 FLAG 624 816 sine0 FLAG 704 1104 sine IOPIN 704 1104 Out FLAG -176 336 0 FLAG -96 224 phase1 FLAG 1232 1472 SineOut IOPIN 1232 1472 Out FLAG -160 1472 sine1 FLAG -112 1648 0 FLAG 592 352 0 FLAG 704 496 0 FLAG 1264 272 phase0 FLAG 416 224 phase2 FLAG 976 416 0 FLAG 1040 416 0 FLAG 816 944 0 FLAG 928 1088 0 FLAG 576 1248 0 FLAG 1200 864 sine_ FLAG -176 960 0 FLAG -144 800 sine0 FLAG 320 624 0 FLAG 416 480 sinphase IOPIN 416 480 Out FLAG 128 336 0 FLAG 240 224 phase2 FLAG 1200 368 0 SYMBOL voltage -128 -80 R0 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V1 SYMATTR Value PULSE(0 1 0 1p 1p 1 2) SYMBOL bv -176 496 R0 WINDOW 3 46 116 Left 2 WINDOW 39 49 80 Left 2 SYMATTR Value V=int(V(phase0)+0.5) SYMATTR InstName B3 SYMBOL bv 448 -80 R0 SYMATTR InstName B4 SYMATTR Value V=V(Fstart)*int(FREQ1+0.5) SYMBOL bv -176 1120 R0 SYMATTR InstName B11 SYMATTR Value V=2*V(sine)/DACLEVEL-1+1/DACLEVEL SYMBOL res 32 1488 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R7 SYMATTR Value 50 SYMBOL cap 208 1536 R0 SYMATTR InstName C1 SYMATTR Value 92.5p SYMBOL ind 256 1488 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L1 SYMATTR Value 405n SYMBOL cap 368 1536 R0 SYMATTR InstName C2 SYMATTR Value 205.4p SYMBOL ind 416 1488 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L2 SYMATTR Value 489.4n SYMBOL cap 528 1536 R0 SYMATTR InstName C3 SYMATTR Value 219.5p SYMBOL ind 576 1488 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L3 SYMATTR Value 501.1n SYMBOL cap 688 1536 R0 SYMATTR InstName C4 SYMATTR Value 219.5p SYMBOL ind 736 1488 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L4 SYMATTR Value 489.4n SYMBOL cap 848 1536 R0 SYMATTR InstName C5 SYMATTR Value 205.4p SYMBOL ind 896 1488 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L5 SYMATTR Value 405n SYMBOL cap 1008 1536 R0 SYMATTR InstName C6 SYMATTR Value 92.5p SYMBOL res 1136 1504 R0 SYMATTR InstName R8 SYMATTR Value 50 SYMBOL bv -176 224 R0 WINDOW 3 -30 149 Left 2 WINDOW 39 34 81 Left 2 SYMATTR Value V=int(V(freq)+V(phase)+0.5) SYMATTR InstName B14 SYMBOL e -64 1504 R0 SYMATTR InstName E4 SYMATTR Value 2 SYMBOL SpecialFunctions\\sample 832 256 R0 SYMATTR InstName A6 SYMATTR SpiceLine vhigh=10000 SYMATTR SpiceLine2 Rout=1 SYMBOL res 464 240 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R1 SYMATTR Value 10 SYMBOL cap 576 256 R0 SYMATTR InstName C11 SYMATTR Value {CH} SYMBOL voltage 704 384 R0 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V7 SYMATTR Value PULSE(0 1 0 1p 1p {0.2*TS} {TS}) SYMBOL e 1040 288 R0 SYMATTR InstName E5 SYMATTR Value 1 SYMBOL SpecialFunctions\\sample 1056 848 R0 SYMATTR InstName A7 SYMATTR SpiceLine vhigh=1000 SYMATTR SpiceLine2 rout=1 SYMBOL res 688 832 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R9 SYMATTR Value 10 SYMBOL cap 800 848 R0 SYMATTR InstName C7 SYMATTR Value {CH} SYMBOL voltage 928 976 R0 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V2 SYMATTR Value PULSE(0 1 1n 1p 1p {0.2*TS} {TS}) SYMBOL Misc\\Epoly 576 1120 R0 SYMATTR InstName E1 SYMATTR Value VALUE={IF((time<1.1n), V(sine0), int(V(sine_)+0.5))} SYMBOL bv -176 832 R0 WINDOW 3 18 101 Left 2 SYMATTR Value V=int(sin(2*pi*V(sinphase)/DACADDR)*(DACLEVEL-2)/2+DACLEVEL/2+0.5) SYMATTR InstName B1 SYMBOL bv 320 496 R0 WINDOW 3 46 116 Left 2 WINDOW 39 49 80 Left 2 SYMATTR Value V=int(V(phase)/(ACCU/DACADDR)) SYMATTR InstName B5 SYMBOL bv 128 224 R0 WINDOW 3 -162 183 Left 2 WINDOW 39 34 81 Left 2 SYMATTR Value V=IF(V(phase1)>=ACCU, V(phase1)-ACCU, V(phase1)) SYMATTR InstName B2 SYMBOL res 1184 256 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R2 SYMATTR Value 10 SYMBOL cap 1184 288 R0 SYMATTR InstName C8 SYMATTR Value 1p TEXT -208 -672 Left 2 !.tran 0 40u 10u {TS/200} TEXT -208 -384 Left 2 !.param DACLEVEL=256 ; DAC levels TEXT -208 -448 Left 2 !.PARAM ACCU=4096; Phase Accumulator TEXT -208 -488 Left 2 !.PARAM FREQ1=FSIN/FS*ACCU TEXT -208 -528 Left 2 !.PARAM TS=1/FS TEXT -208 -560 Left 2 !.PARAM FS=100e6 ; Clock Frequency TEXT -208 -592 Left 2 !.PARAM FSIN=5Meg ; Output Frequency TEXT -200 -784 Left 2 ;A DDS Generator With An Integer Accumulator and DAC\n=======================================\nVersion 3.0 TEXT -224 -152 Left 2 ;fstart must be 0 at t=0 or a uramp() must be added. TEXT -200 168 Left 2 ;Phase Accumulator TEXT -216 720 Left 2 ;The Sine Table with TABLEsize and DACvalues \nIt converts the highest bits of the accumulator to the sine values. TEXT -216 1032 Left 2 ;The normalized sine output \nAdjust gain and offset according to your needs. TEXT -208 -312 Left 2 !.model sw1 sw(Vt=0.5 Ron=1 Roff=1G) TEXT 744 728 Left 2 ;Sine "ROM" Deglitcher With Sample And Hold TEXT 136 168 Left 2 ;Phase Wrapper TEXT 816 152 Left 2 ;Register With Sample And Hold TEXT 440 -152 Left 2 ;Round To The Nearest Integer TEXT 488 -400 Left 2 ;R\nE\nG TEXT 648 -400 Left 2 ;SINE\n \nROM TEXT 816 -400 Left 2 ;R\nE\nG TEXT 928 -416 Left 2 ;N\nO\nR\nM TEXT 1016 -384 Left 2 ;LP-\nFLT TEXT 1088 -392 Left 2 ;SINE TEXT 552 -392 Left 2 ;ADDR TEXT 296 -360 Left 2 ;FREQ TEXT 296 -288 Left 2 ;FS TEXT 512 -544 Left 2 ;The Basic DDS Generator TEXT 960 -488 Left 2 ;DIIGITAL SINE TEXT 384 -336 Left 2 ;ACCU TEXT -136 1376 Left 2 ;The 30MHz Chebyshef Low Pass Filter TEXT -208 -344 Left 2 ;.PARAM EPS=1e-3 TEXT 504 -648 Left 2 ;Helmut Sennewald V1.0 TEXT 824 624 Left 2 ;PULSE(0 1 {TS*0.5} 1p 1p {0.2*TS} {TS}) TEXT -208 -640 Left 2 !.options plotwinsize=0 TEXT -208 -280 Left 2 !.param CH=TS/(10*100) TEXT 552 1040 Left 2 ;Bypass the S/H at t=<1p TEXT -128 584 Left 2 ;Rounded Phase for Sine Table TEXT -208 -416 Left 2 !.param DACADDR=1024; Sine Addresses TEXT 744 -392 Left 2 ;DAC LINE Normal 375 -343 294 -343 LINE Normal 416 -368 416 -393 LINE Normal 403 -381 428 -381 LINE Normal 456 -381 481 -381 LINE Normal 498 -307 495 -299 LINE Normal 501 -299 498 -307 LINE Normal 498 -267 498 -299 LINE Normal 632 -380 515 -380 LINE Normal 539 -466 539 -380 LINE Normal 350 -466 539 -466 LINE Normal 350 -407 350 -466 LINE Normal 375 -407 350 -407 LINE Normal 720 -381 809 -381 LINE Normal 826 -307 823 -299 LINE Normal 829 -299 826 -307 LINE Normal 826 -267 826 -299 LINE Normal 912 -380 843 -380 LINE Normal 1000 -380 957 -380 LINE Normal 1077 -377 1143 -377 LINE Normal 298 -267 826 -267 LINE Normal 874 -472 874 -380 LINE Normal 1144 -472 874 -472 RECTANGLE Normal 1376 665 -248 131 RECTANGLE Normal 1381 1312 -250 695 RECTANGLE Normal 1025 107 -250 -180 RECTANGLE Normal 456 -300 375 -443 RECTANGLE Normal 515 -299 481 -443 RECTANGLE Normal 719 -300 633 -443 RECTANGLE Normal 957 -299 912 -443 RECTANGLE Normal 843 -299 809 -443 RECTANGLE Normal 1077 -299 1000 -443 RECTANGLE Normal 1384 1694 -256 1337