2010年7月DDS信号发生器的设计贾立新设计题目采用DDS技术设计一个信号发生器单片机最小系统显示键盘FPGA电源模块输出信号高速D/A放大滤波驱动设计要求如下:(1)具有产生正弦波、方波和三角波3种周期性波形;(2)输出信号频率范围10Hz~5MHz,频率步进间隔≤1Hz;(3)输出信号幅值范围0~10V(峰—峰值),波形幅值和偏移量可调;(4)具有稳幅输出功能,当负载变化时,输出电压幅度变化不大于±3%(负载电阻变化范围:50Ω~∞);(5)具有显示输出波形类型、重复频率等功能。直接数字频率合成的原理对于一个频率为fout的正弦信号Sout,可以用下式来描述:)π2(outouttfsinAtsinAS其相位为:tfoutπ2将正弦信号的相位和幅值均进行数字化clkOUT222ffMNN将2π切割成2N等份作为最小量化单位,从而得到△θ的数字量M为:MffN2clkout直接数字频率合成的原理用频率为fclk的基准时钟对正弦信号进行抽样clkoutclkoutπ2π2ffTf当M取1时,可以得到输出信号的最小频率步进为Nff2clkMMAfMMsinAsinASkkN1sin11kout22)(由于正弦函数为非线性函数,很难实时计算,一般通过查表的方法来快速获得函数值。直接数字频率合成的原理DDS正弦信号发生器原理框图相位累加器频率字寄存器频率字输入相位寄存器累加器输出值时钟ROM地址ROM正弦表D/A转换器信号输出N位加法器直接数字频率合成的原理DDS信号发生器的两种技术方案1.采用专用DDS集成芯片的技术方案2.采用单片机+FPGA的技术方案专用DDS集成芯片——AD9850VINPRset高速DDS32位频率控制字相位控制字频率/相位数据寄存器CLKINRESETW_CLKD0-D7电压比较器10位DACQOUTQOUTBGND+VsIOUTB数据输入寄存器+-FQ_UDAD9850DGNDDVDDRESETIOUTIOUTBAGNDAVDDNCVINPVINN2827262524232221201918171615D4D5D6D7(MSB)D1D2D1D0(LSB)DGNDDVDDW_CLKFQ_UDCLKINAGNDAVDDRsetQOUTBQOUT1234567891012131411VINNIOUT专用DDS集成芯片——AD9850正弦信号的输出频率与频率控制字之间的关系由下式确定:Mff32CLKINOUT2fCLKIN为AD9850外部输入的参考时钟,最高频率为125MHz。M为4字节的频率控制字,就是W1~W4。问题:如要产生50Hz的正弦波,计算4字节的频率字。AD9850实现的DDS信号发生器硬件电路设计P2.2P2.3NCNCD0D1D2D3D4D5D6D7W_CLKFQ_UDRSETQOUTQOUTBCLKINAVDDAVDDAGNDAGNDDVDDDVDDDGNDDGNDIOUTIOUTBRESETDACBLVINPVINN4321282726257812131091118196235242120221615+5VR13.9kΩ143+5VNCVCCGNDOUT20.1μFC217J238721IN-VOCMVMIDIN+V+OUT+OUT-V-+5V456U3LT6600-10R2R3R4R5430Ω430ΩJ1100100125MHz+5VNCNCP2.0P2.1U1C8051F36014U2AD98500.1μFC1LT6600-10为单片集成开关电容低通滤波器,截止频率为10MHz。AD9850实现的DDS信号发生器硬件电路设计11kΩ-+IN+IN-OUT+OUT-VOCM-+VOCM-+-+VOCM402Ω402ΩV+V-11kΩVMIDOUT+OUT-V+VOCM1IN+V-2348765LT6600-10VMIDIN-200Ω200Ω200Ω200Ω18547263LT6600-10内部还有一全差分放大器,通过改变R4和R5的阻值可获得不同的放大倍数。当R4和R5取相同阻值时,内部差分放大器的增益为402Ω/R438721IN-VOCMVMIDIN+V+OUT+OUT-V-+5V456U3LT6600-10R4R5430Ω430ΩvI1vI2vO1vO2AD9850实现的DDS信号发生器硬件电路设计LT6600-10为单片集成开关电容低通滤波器,截止频率为10MHz。从LT6600-10输入和输出信号波形比较:AD9850实现的DDS信号发生器硬件电路设计AD9850控制字传送时序图W0为相位控制字,W1~W4为32位频率字AD9850实现的DDS信号发生器程序设计b0DATAW-CLKFQ-UDb1b2b3b3940时钟脉冲W0~W4五字节频率控制字分别存放在34H~38H中AD9850实现的DDS信号发生器程序设计AD9850RSTEQUP2.0DINEQUP2.1W_CLKEQUP2.2FQ_UDEQUP2.3W0EQU34HW1EQU35HW2EQU36HW3EQU37HW4EQU38HAD9850实现的DDS信号发生器程序设计SEND:CLRW_CLKCLRFQ_UDMOVR0,#38HMOVR7,#05HSEND0:MOVR6,#08HMOVA,@R0SEND1:RRCAMOVDIN,CSETBW_CLKCLRW_CLKDJNZR6,SEND1DECR0DJNZR7,SEND0SETBFQ_UDNOPNOPNOPNOPCLRFQ_UDRET1方案设计单片机+FPGA实现的DDS信号发生器信号输出C8051F360LCD模块4×4键盘40MHz时钟高速D/A转换器低通滤波器放大电路4×4键盘接口LCD模块接口地址译码电路DDS子系统DBABCB幅值控制直流偏移量控制FPGA33驱动电路IDA0I/O44单片机子系统的软硬件设计单片机子系统硬件设计单片机子系统软件设计DDS子系统设计高速D/A转换电路设计FPGA内部逻辑设计模拟子系统设计滤波器的设计信号放大电路的设计驱动电路的设计主要技术指标分析和确定(1)输出带宽。当频率控制字M=1时,输出信号的最低频率为Nff2minclko当系统时钟频率为,采样点数为X,则最高输出频率为Xffclkomax(2)频率稳定度。(3)频率分辨率。Nff2clk(4)DDS信号的质量DDS信号源的质量可用信号的失真度THD(TotalHarmonicDistortion,也称总谐波系数)来表示。%1001/sin/261122)(XXTHDnX:采样点数,n:DAC字长D/A选用8位字宽,一个周期的样本数取256,失真度为0.72%。一个周期的样本数为20,失真度约为6.4%。一个周期的样本数为4,失真度达到48.3%主要技术指标分析和确定DDS子系统参数的确定(1)系统时钟频率:40MHz;(2)频率控制字的位宽:32位;(3)相位累加器的位宽:32位;(4)波形存储器的地址位宽:8位;(5)波形存储器的数据位宽:8位。最小频率步进值Hz009310210402326clk.ffN单片机子系统硬件设计12345678ABCD87654321DCBAD0D1D2D3D4D5D6D7+5VVoRSR/WENCNCLCDRSTLEDKLEDAK0K1K2K3K4K5K6K7K8K9K10K11K12K13K14K15+5VRS(A0)ED1D3D5D7NCY3Y1X0X2GNDX3X1Y0Y2NCLCDRSTD6D4D2D0R/W(A1)NCGNDX3X1Y0Y2Y3Y1X0X2PSB1234567891011121314151617181920212223242526J11234567891011121314151617181920J2D0D1D2D3D4D5D6D7+5VVoERWRSLEDKLEDA12345678910111213141516J3LCD1602键盘显示电路单片机子系统硬件设计1234ABCD4321DCBA/RD/WRALEERW(A1)RS(A0)D1D2D3D4D5D6D7A14A13A12A11A10A9A8INT0D0A15+3.3VP0.05AGND6P0.41P0.32P0.23P0.14AV+7/RST/C2CK8P4.6/C2D9P4.510P4.411P4.312P4.213P4.114P4.015P3.716P3.617GND18VDD19P3.520P3.421P3.322P3.223P3.124P3.025P2.726P2.627P2.528P2.429GND30VDD31P2.332P2.233P2.134P2.035P1.736P1.637P1.538P1.439P1.340P1.241GND42VDD43P1.144P1.045P0.746P0.647P0.548U1C8051F360K0K1K2K3K4K5K6K7K8K9K10K11K12K13K14K15X3X1Y0Y2Y3Y1X0X2D0D1D2D3D4D5D6D7+5VVoRS(A0)RW(A1)ENCNCLCDRSTLEDKLEDAPSB1234567891011121314151617181920J1+5V0.1uF0.1uF0.1uF+5V1kΩ3.3V0.1uF47NC1GND2VCC4OUT3Y150MHzR1+3.3VTX0P30P32CVNSTRINT1IDA0VREFRX0P31P33P21P22P23P24P25P26P27P20+5VD35D26D17D08ACOM20AVDD24DCOM26CLOCK28FSADJ18REFIO17D44D53D62D71COMP119COMP223IOUTA22IOUTB21NC25DVDD27REFLO16SLEEP15NC9NC10NC11NC12NC13NC14U3AD9708BR12kR275R37510k×40.1uFPortPortCLK117IO45IO47IO48IO51IO52IO53IO26IO43IO64IO63IO40IO65IO89IO88IO70IO67IO90IO91IO71IO55IO31IO42IO30IO25IO41IO27IO28IO57IO75IO74IO73IO76IO72IO24IO22IO21IO18IO32IO79IO80U2EP2C5T144AD9708时序OUTFSOUTA256IDIOUTFSOUTBIDI256255SETREFIOOUTFS32RVIDDS子系统顶层原理图D[7..0]CS1CS3频率字接收模块滤波电路的设计模拟子系统设计AD9708C1C1~C3取0.1μF289D7D6D5D4D3D2D1D012345678NC10NC11NC12NC13NC14NC252627151617181920REFLOSLEEP21222324FSADJREFIOACOMCOMP1IOUTAIOUTBCOMP2DCOMNCAVDDCLOCKDVDD+5V2kΩR1C2C338721IN-VOCMVMIDIN+V+OUT+OUT-V-+5V456U3LT6600-5510Ω510Ω100Ω100ΩR3C4R2R5R4v11v12v21v22v21'v22'差分放大电路的设计模拟子系统设计R6R7v21R8v22R9+-21223vvvR10+-A1A2R112kΩ10kΩ1kΩ1kΩ1kΩ1kΩv3v412345678INCU/DVHVSSVCCCSVLVWX9C103P2.2P2.0P2.1+5V-5V0.1μFvo模拟子系统设计VH7位加/减计数器CSU/D7位非易失性存储器保存与恢复控制电路译码器INCVCCGNDVLVWVLVW1GND2348765X9C103VHVCCCSU/DINCTHS3091+-+12V-12V23674