1 GSPS, 14-Bit, 3.3 V CMOS Direct Digital Synthesizer AD9910 Data Sheet FEATURES APPLICATIONS 1 GSPS internal clock speed (up to 400 MHz analog output) Integrated 1 GSPS, 14-bit DAC 0.23 Hz or better frequency resolution Phase noise -125 dBc/Hz @ 1 kHz offset (400 MHz carrier) Excellent dynamic performance with >80 dB narrow-band SFDR Serial input/output (I/O) control Automatic linear or arbitrary frequency, phase, and amplitude sweep capability 8 frequency and phase offset profiles Sin(x)/(x) correction (inverse sinc filter) 1.8 V and 3.3 V power supplies Software and hardware controlled power-down 100-lead TQFP_EP package Integrated 1024 word x 32-bit RAM PLL REFCLK multiplier Parallel datapath interface Internal oscillator can be driven by a single crystal Phase modulation capability Amplitude modulation capability Multichip synchronization Agile local oscillator (LO) frequency synthesis Programmable clock generators FM chirp source for radar and scanning systems Test and measurement equipment Acousto-optic device drivers Polar modulators Fast frequency hopping FUNCTIONAL BLOCK DIAGRAM AD9910 HIGH SPEED PARALLEL DATA INTERFACE LINEAR RAMP GENERATOR 1GSPS DDS CORE 14-BIT DAC 1024ELEMENT RAM TIMING AND CONTROL SERIAL CONTROL DATA PORT 06479-001 REFCLK MULTIPLIER Figure 1. Rev. D Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. Specifications subject to change without notice. No license is granted by implication or otherwise under any patent or patent rights of Analog Devices. Trademarks and registered trademarks are the property of their respective owners. One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 www.analog.com Fax: 781.461.3113 (c)2007-2012 Analog Devices, Inc. All rights reserved. AD9910 Data Sheet TABLE OF CONTENTS Features .............................................................................................. 1 External PLL Loop Filter Components ............................... 27 Applications ....................................................................................... 1 PLL Lock Indication .................................................................. 27 Functional Block Diagram .............................................................. 1 Output Shift Keying (OSK) ....................................................... 27 Revision History ............................................................................... 4 Manual OSK ............................................................................ 27 General Description ......................................................................... 5 Automatic OSK....................................................................... 28 Specifications..................................................................................... 6 Digital Ramp Generator (DRG) ............................................... 28 Electrical Specifications ............................................................... 6 DRG Overview ....................................................................... 28 Absolute Maximum Ratings ............................................................ 9 DRG Slope Control ................................................................ 30 Equivalent Circuits ....................................................................... 9 DRG Limit Control ................................................................ 30 ESD Caution .................................................................................. 9 DRG Accumulator Clear ....................................................... 30 Pin Configuration and Function Descriptions ........................... 10 Normal Ramp Generation .................................................... 30 Typical Performance Characteristics ........................................... 13 No-Dwell Ramp Generation................................................. 32 Application Circuits ....................................................................... 16 DROVER Pin .......................................................................... 32 Theory of Operation ...................................................................... 17 RAM Control .............................................................................. 33 Single Tone Mode ....................................................................... 17 RAM Overview....................................................................... 33 RAM Modulation Mode ............................................................ 18 Load/Retrieve RAM Operation............................................ 33 Digital Ramp Modulation Mode .............................................. 19 RAM Playback Operation (Waveform Generation) .......... 33 Parallel Data Port Modulation Mode....................................... 20 RAM_SWP_OVR (RAM Sweep Over) Pin ........................ 34 Parallel Data Clock (PDCLK) ............................................... 20 Overview of RAM Playback Modes .................................... 34 Transmit Enable (TxENABLE) ............................................. 21 RAM Direct Switch Mode..................................................... 34 Mode Priority .............................................................................. 22 RAM Direct Switch Mode with Zero Crossing .................. 35 Functional Block Detail ................................................................. 23 RAM Ramp-Up Mode ........................................................... 35 DDS Core..................................................................................... 23 RAM Ramp-Up Internal Profile Control Mode ................ 36 14-Bit DAC Output .................................................................... 23 Internal Profile Control Continuous Waveform Timing Diagram ................................................................................... 38 Auxiliary DAC ........................................................................ 24 RAM Bidirectional Ramp Mode .......................................... 38 Inverse Sinc Filter ....................................................................... 24 RAM Continuous Bidirectional Ramp Mode .................... 39 Clock Input (REF_CLK/REF_CLK) ........................................ 24 REF_CLK/REF_CLK Overview ........................................... 24 Crystal Driven REF_CLK/REF_CLK .................................. 25 Direct Driven REF_CLK/REF_CLK.................................... 25 RAM Continuous Recirculate Mode ................................... 41 Additional Features ........................................................................ 42 Profiles ......................................................................................... 42 Phase-Locked Loop (PLL) Multiplier .................................. 25 I/O_UPDATE, SYNC_CLK, and System Clock Relationships ............................................................................... 42 PLL Charge Pump .................................................................. 26 Automatic I/O Update ............................................................... 43 Rev. D | Page 2 of 64 Data Sheet AD9910 Power-Down Control .................................................................43 SDO--Serial Data Out ........................................................... 48 Synchronization of Multiple Devices............................................44 I/O_RESET--Input/Output Reset ........................................ 49 Power Supply Partitioning .............................................................47 I/O_UPDATE--Input/Output Update ................................ 49 3.3 V Supplies ..............................................................................47 Serial I/O Timing Diagrams ...................................................... 49 DVDD_I/O (3.3 V) (Pin 11, Pin 15, Pin 21, Pin 28, Pin 45, Pin 56, and Pin 66)..................................................................47 MSB/LSB Transfers ..................................................................... 49 AVDD (3.3 V) (Pin 74 to Pin 77 and Pin 83) ......................47 Register Map and Bit Descriptions ............................................... 50 Register Bit Descriptions............................................................ 55 1.8 V Supplies ..............................................................................47 Control Function Register 1 (CFR1)--Address 0x00 ........ 55 DVDD (1.8 V) (Pin 17, Pin 23, Pin 30, Pin 47, Pin 57, and Pin 64) ......................................................................................47 Control Function Register 2 (CFR2)--Address 0x01 ........ 57 AVDD (1.8 V) (Pin 3).............................................................47 Control Function Register 3 (CFR3)--Address 0x02 ........ 58 AVDD (1.8 V) (Pin 6).............................................................47 Auxiliary DAC Control Register--Address 0x03 ............... 58 AVDD (1.8 V) (Pin 89 and Pin 92).......................................47 I/O Update Rate Register--Address 0x04 ........................... 59 Serial Programming ........................................................................48 Frequency Tuning Word Register (FTW)--Address 0x07 .....59 Control Interface--Serial I/O ....................................................48 Phase Offset Word Register (POW)--Address 0x08 ......... 59 General Serial I/O Operation ....................................................48 Amplitude Scale Factor Register (ASF)--Address 0x09.... 59 Instruction Byte ...........................................................................48 Multichip Sync Register--Address 0x0A............................. 60 Instruction Byte Information Bit Map .................................48 Digital Ramp Limit Register--Address 0x0B...................... 60 Serial I/O Port Pin Descriptions ...............................................48 Digital Ramp Step Size Register--Address 0x0C ............... 60 SCLK--Serial Clock................................................................48 Digital Ramp Rate Register--Address 0x0D....................... 60 CS--Chip Select Bar ...............................................................48 Profile Registers ...................................................................... 61 SDIO--Serial Data Input/Output .........................................48 Outline Dimensions ........................................................................ 62 Ordering Guide ........................................................................... 62 Rev. D | Page 3 of 64 AD9910 Data Sheet REVISION HISTORY 5/12--Rev. C to Rev. D Changes to Table 1 ............................................................................ 8 Changes to Table 3 .......................................................................... 12 Changes to Figure 39 ...................................................................... 31 Changes to Synchronization of Multiple Devices Section ........ 45 Changes to Table 18 ........................................................................ 55 Changes to Table 20 ........................................................................ 58 Changes to Table 26 ........................................................................ 60 8/10--Rev. B to Rev. C Changes to XTAL_SEL Input Parameter in Table 1 ..................... 8 Changes to Table 2 ............................................................................ 9 Changes to Transmit Enable (TxENABLE) Section .................. 21 12/08--Rev. A to Rev. B Changes to Figure 2 .......................................................................... 5 Changes to I/O_UPDATE Pulse Width Parameter and Minimum Profile Toggle Period Parameter in Table 1................ 7 Added XTAL_SEL Input Parameter in Table 1............................. 8 Changes to Table 3 .......................................................................... 11 Changes to Figure 20 ...................................................................... 16 Changes to Figure 22 ...................................................................... 17 Changes to Figure 23 ...................................................................... 18 Changes to Figure 24 ...................................................................... 19 Changes to Figure 25 ...................................................................... 20 Changes to REF_CLK/REF_CLK Overview Section ................. 24 Changes to Crystal Driven REF_CLK/REF_CLK Section ........ 25 Changes to PLL Lock Indication Section and Output Shift Keying (OSK) Section .................................................................... 27 Changes to DRG Slope Control Section and Normal Ramp Generation Section ......................................................................... 30 Changes to Drover Pin Section ..................................................... 32 Changes to Figure 43 ...................................................................... 35 Changes to Figure 45 and Internal Profile Control Continuous Waveform Timing Diagram Section ............................................ 38 Changes to Figure 47 ...................................................................... 40 Changes to Figure 48 ...................................................................... 41 Deleted I/O_UPDATE Pin Section .............................................. 41 Changes to Profiles Section ........................................................... 42 Added I/O_UPDATE, SYNC_CLK, and System Clock Relationships Section ..................................................................... 42 Added Figure 49; Renumbered Sequentially .............................. 42 Changes to Synchronization of Multiple Devices Section ........ 44 Changes to DVDD (1.8V) (Pin 17, Pin 23, Pin 30, Pin 47, Pin 57, and Pin 64) Section and AVDD (1.8V) (Pin 89 and Pin 92) Section ................................................................................ 47 Changes to Control Interface--Serial I/O Section .................... 48 Changes to Table 17 ....................................................................... 50 Changes to Table 19 ....................................................................... 57 Changes to Table 20 and Table 21 ................................................ 58 2/08--Rev. 0 to Rev. A Changes to Features ..........................................................................1 Changes to REFCLK Multiplier Specification in Table 1 .............5 Changes to Minimum Setup Time to SYNC_CLK .......................6 Changes to I/O Update/Profile[2:0] Timing Characteristics ......6 Changes to TxENABLE/Data Setup Time (to PDCLK) and TxENABLE/Data Hold Time (to PDCLK) ....................................6 Changes to Miscellaneous Timing Characteristics .......................6 Changes to Table 3.......................................................................... 10 Changes to Figure 9, Figure 10, Figure 11, Figure 12, Figure 13, and Figure 14................................................................................... 12 Changes to Figure 30 and Table 7................................................. 24 Changes to Automatic I/O Update Section................................. 41 Added Table 16, Renumbered Sequentially ................................ 41 Changes to Figure 49 to Figure 53................................................ 43 Added Power Supply Partitioning Section .................................. 46 Changes to General Serial I/O Operation Section ..................... 47 Changes to Table 17 ....................................................................... 49 Changes to Table 19 ....................................................................... 56 Changes to Table 20 ....................................................................... 57 Added Table 32 ............................................................................... 60 5/07--Revision 0: Initial Version Rev. D | Page 4 of 64 Data Sheet AD9910 GENERAL DESCRIPTION The AD9910 is controlled by programming its internal control registers via a serial I/O port. The AD9910 includes an integrated static RAM to support various combinations of frequency, phase, and/or amplitude modulation. The AD9910 also supports a user defined, digitally controlled, digital ramp mode of operation. In this mode, the frequency, phase, or amplitude can be varied linearly over time. For more advanced modulation functions, a high speed parallel data input port is included to enable direct frequency, phase, amplitude, or polar modulation. The AD9910 is a direct digital synthesizer (DDS) featuring an integrated 14-bit DAC and supporting sample rates up to 1 GSPS. The AD9910 employs an advanced, proprietary DDS technology that provides a significant reduction in power consumption without sacrificing performance. The DDS/DAC combination forms a digitally programmable, high frequency, analog output synthesizer capable of generating a frequency agile sinusoidal waveform at frequencies up to 400 MHz. The user has access to the three signal control parameters that control the DDS: frequency, phase, and amplitude. The DDS provides fast frequency hopping and frequency tuning resolution with its 32-bit accumulator. With a 1 GSPS sample rate, the tuning resolution is ~0.23 Hz. The DDS also enables fast phase and amplitude switching capability. The AD9910 is specified to operate over the extended industrial temperature range (see the Absolute Maximum Ratings section for details). RAM_SWP_OVR CS RAM DAC FSC 2 DIGITAL RAMP GENERATOR DRHOLD DROVER 3 PROFILE[2:0] DAC_RSET AMPLITUDE (A) Acos (t + ) A PHASE () DATA ROUTE FREQUENCY () Asin (t + ) AND PARTITION CONTROL CLOCK PROGRAMMING REGISTERS I/O_UPDATE AUX DAC 8-BIT DDS OUTPUT SHIFT KEYING OSK DRCTL 8 16 DAC FSC IOUT INVERSE SINC FILTER REFCLK_OUT SYSCLK /2 8 PARALLEL INPUT IOUT DAC 14-BIT CLOCK MODE SCLK I/O_RESET AD9910 SERIAL I/O PORT 2 SDIO INTERNAL CLOCK TIMING AND CONTROL PLL 2 REF_CLK REF_CLK XTAL_SEL POWERDOWN CONTROL MULTICHIP SYNCHRONIZATION 2 Figure 2. Detailed Block Diagram Rev. D | Page 5 of 64 06479-002 MASTER_RESET PLL_LOCK PLL_LOOP_FILTER SYNC_IN SYNC_OUT SYNC_CLK 2 SYNC_SMP_ERR PDCLK PARALLEL DATA TIMING AND CONTROL EXT_PWR_DWN TxENABLE AD9910 Data Sheet SPECIFICATIONS ELECTRICAL SPECIFICATIONS AVDD (1.8 V) and DVDD (1.8 V) = 1.8 V 5%, AVDD (3.3 V) = 3.3 V 5%, DVDD_I/O (3.3 V) = 3.3 V 5%, T = 25C, RSET = 10 k, IOUT = 20 mA, external reference clock frequency = 1000 MHz with reference clock (REFCLK) multiplier disabled, unless otherwise noted. Table 1. Parameter REFCLK INPUT CHARACTERISTICS Frequency Range REFCLK Multiplier Maximum REFCLK Input Divider Frequency Minimum REFCLK Input Divider Frequency External Crystal Input Capacitance Input Impedance Duty Cycle REFCLK Input Level REFCLK MULTIPLIER VCO CHARACTERISTICS VCO Gain (KV) @ Center Frequency REFCLK_OUT CHARACTERISTICS Maximum Capacitive Load Maximum Frequency DAC OUTPUT CHARACTERISTICS Full-Scale Output Current Gain Error Output Offset Differential Nonlinearity Integral Nonlinearity Output Capacitance Residual Phase Noise REFCLK Multiplier Voltage Compliance Range Wideband SFDR Narrow-Band SFDR 50.1 MHz Analog Output 101.3 MHz Analog Output Conditions/Comments Min Disabled Enabled Full temperature range Full temperature range 60 3.2 1500 Differential Single-ended REFCLK multiplier disabled REFCLK multiplier enabled Single-ended Differential Typ 1900 25 25 3 2.8 1.4 45 40 50 100 VCO range Setting 0 VCO range Setting 1 VCO range Setting 2 VCO range Setting 3 VCO range Setting 4 VCO range Setting 5 1 8.6 -10 Max Unit 1000 60 MHz MHz MHz MHz MHz pF k k % % mV p-p mV p-p 35 55 60 1000 2000 429 500 555 750 789 850 MHz/V MHz/V MHz/V MHz/V MHz/V MHz/V 20 25 pF MHz 20 31.6 +10 2.3 0.8 1.5 5 @ 1 kHz offset, 20 MHz AOUT Disabled Enabled @ 20x Enabled @ 100x -152 -140 -140 -0.5 +0.5 mA % FS A LSB LSB pF dBc/Hz dBc/Hz dBc/Hz V See the Typical Performance Characteristics section 500 kHz 125 kHz 12.5 kHz 500 kHz 125 kHz 12.5 kHz Rev. D | Page 6 of 64 -87 -87 -96 -87 -87 -95 dBc dBc dBc dBc dBc dBc Data Sheet Parameter 201.1 MHz Analog Output 301.1 MHz Analog Output 401.3 MHz Analog Output SERIAL PORT TIMING CHARACTERISTICS Maximum SCLK Frequency Minimum SCLK Clock Pulse Width Maximum SCLK Rise/Fall Time Minimum Data Setup Time to SCLK Minimum Data Hold Time to SCLK Maximum Data Valid Time in Read Mode I/O_UPDATE/PROFILE[2:0] TIMING CHARACTERISTICS Minimum Setup Time to SYNC_CLK Minimum Hold Time to SYNC_CLK I/O_UPDATE Pulse Width Minimum Profile Toggle Period TxENABLE and 16-BIT PARALLEL (DATA) BUS TIMING Maximum PDCLK Frequency TxENABLE/Data Setup Time (to PDCLK) TxENABLE/Data Hold Time (to PDCLK) MISCELLANEOUS TIMING CHARACTERISTICS Wake-Up Time 2 Fast Recovery Full Sleep Mode Minimum Reset Pulse Width High DATA LATENCY (PIPELINE DELAY) Data Latency, Single Tone or Using Profiles Frequency, Phase, Amplitude-to-DAC Output Frequency, Phase-to-DAC Output Amplitude-to-DAC Output Data Latency Using RAM Mode Frequency, Phase-to-DAC Output Amplitude-to-DAC Output Data Latency, Sweep Mode Frequency, Phase-to-DAC Output Amplitude-to-DAC Output Data Latency, 16-Bit Input Modulation Mode Frequency, Phase-to-DAC Output AD9910 Conditions/Comments 500 kHz 125 kHz 12.5 kHz 500 kHz 125 kHz 12.5 kHz 500 kHz 125 kHz 12.5 kHz Min Low High 4 4 Typ -87 -87 -91 -86 -86 -88 -84 -84 -85 Max 70 2 5 0 11 Mbps ns ns ns ns ns ns ns ns SYNC_CLK cycle SYNC_CLK cycles 1.75 0 >1 2 High Unit dBc dBc dBc dBc dBc dBc dBc dBc dBc 250 MHz ns ns 8 1 5 SYSCLK cycles 3 ms s SYSCLK cycles3 Matched latency enabled and OSK enabled Matched latency enabled and OSK disabled Matched latency disabled Matched latency disabled 91 SYSCLK cycles3 79 SYSCLK cycles3 79 47 SYSCLK cycles3 SYSCLK cycles3 Matched latency enabled/disabled Matched latency enabled Matched latency disabled 94 106 58 SYSCLK cycles3 SYSCLK cycles3 SYSCLK cycles3 Matched latency enabled/disabled Matched latency enabled Matched latency disabled 91 91 47 SYSCLK cycles3 SYSCLK cycles3 SYSCLK cycles3 Matched latency enabled Matched latency disabled 103 91 SYSCLK cycles3 SYSCLK cycles3 1.75 0 REFCLK multiplier enabled REFCLK multiplier disabled Rev. D | Page 7 of 64 150 AD9910 Parameter CMOS LOGIC INPUTS Logic 1 Voltage Logic 0 Voltage Logic 1 Current Logic 0 Current Input Capacitance XTAL_SEL INPUT Logic 1 Voltage Logic 0 Voltage Input Capacitance CMOS LOGIC OUTPUTS Logic 1 Voltage Logic 0 Voltage POWER SUPPLY CURRENT IAVDD (1.8 V) IAVDD (3.3 V) IDVDD (1.8 V) IDVDD (3.3 V) TOTAL POWER CONSUMPTION Single Tone Mode Rapid Power-Down Mode Full Sleep Mode Data Sheet Conditions/Comments Min Typ Max Unit 0.8 150 150 V V A A pF 0.6 V V pF 2.0 90 90 2 1.25 2 1 mA load 2.8 0.4 110 29 222 11 715 330 19 1 V V mA mA mA mA 950 450 40 mW mW mW The gain value for VCO range Setting 5 is measured at 1000 MHz. Wake-up time refers to the recovery time from a power-down state. The longest time required is for the reference clock multiplier PLL to relock to the reference. The wake-up time assumes that the recommended PLL loop filter values are used. 3 SYSCLK cycle refers to the actual clock frequency used on-chip by the DDS. If the reference clock multiplier is used to multiply the external reference clock frequency, the SYSCLK frequency is the external frequency multiplied by the reference clock multiplication factor. If the reference clock multiplier is not used, the SYSCLK frequency is the same as the external reference clock frequency. 2 Rev. D | Page 8 of 64 Data Sheet AD9910 ABSOLUTE MAXIMUM RATINGS EQUIVALENT CIRCUITS DAC OUTPUTS Rating 2V 4V -0.7 V to +4 V -0.7 V TO +2.2 V 5 mA -65C to +150C -40C to +85C 22C/W 2.8C/W 150C 300C AVDD IOUT IOUT MUST TERMINATE OUTPUTS TO AGND FOR CURRENT FLOW. DO NOT EXCEED THE OUTPUT VOLTAGE COMPLIANCE RATING. 06479-003 Parameter AVDD (1.8V), DVDD (1.8V) Supplies AVDD (3.3V), DVDD_I/O (3.3V) Supplies Digital Input Voltage XTAL_SEL Digital Output Current Storage Temperature Range Operating Temperature Range JA JC Maximum Junction Temperature Lead Temperature (10 sec Soldering) Figure 3. Equivalent Input Circuit DIGITAL INPUTS Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; functional operation of the device at these or any other conditions above those indicated in the operational section of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. DVDD_I/O INPUT AVOID OVERDRIVING DIGITAL INPUTS. FORWARD BIASING ESD DIODES MAY COUPLE DIGITAL NOISE ONTO POWER PINS. Figure 4. Equivalent Output Circuit ESD CAUTION Rev. D | Page 9 of 64 06479-055 Table 2. AD9910 Data Sheet 76 AVDD (3.3V) 78 AGND 77 AVDD (3.3V) 79 AGND 81 IOUT 80 IOUT 82 AGND 83 AVDD (3.3V) 84 DAC_RSET 86 NC 85 AGND 87 NC 88 AGND 89 AVDD (1.8V) 91 REF_CLK 90 REF_CLK 92 AVDD (1.8V) 93 NC 94 REFCLK_OUT 96 AGND 95 XTAL_SEL 97 NC 99 NC 98 NC 100 NC PIN CONFIGURATION AND FUNCTION DESCRIPTIONS 75 AVDD (3.3V) NC 1 PLL_LOOP_FILTER 2 AVDD (1.8V) 3 AGND 4 AGND 5 AVDD (1.8V) 6 71 I/O_RESET 70 CS SYNC_IN+ 7 69 SCLK SYNC_IN- 8 SYNC_OUT+ 9 68 SDO 67 SDIO PIN 1 INDICATOR 74 AVDD (3.3V) 73 AGND 72 NC 66 DVDD_I/O (3.3V) 65 DGND SYNC_OUT- 10 DVDD_I/O (3.3V) 11 AD9910 SYNC_SMP_ERR 12 64 DVDD (1.8V) TQFP-100 (E_PAD) TOP VIEW (Not to Scale) DGND 13 MASTER_RESET 14 63 DRHOLD 62 DRCTL DVDD_I/O (3.3V) 15 61 DROVER 60 OSK DGND 16 59 I/O_UPDATE DVDD (1.8V) 17 EXT_PWR_DWN 18 PLL_LOCK 19 58 DGND 57 DVDD (1.8V) 56 DVDD_I/O (3.3V) 55 SYNC_CLK NC 20 DVDD_I/O (3.3V) 21 DGND 22 54 PROFILE0 DVDD (1.8V) 23 RAM_SWP_OVR 24 53 PROFILE1 52 PROFILE2 51 DGND NOTES: 1. EXPOSED PAD SHOULD BE SOLDERED TO GROUND. 2. NC = NO CONNECT. Figure 5. Pin Configuration Rev. D | Page 10 of 64 06479-004 F1 49 F0 50 D0 48 DGND 46 DVDD (1.8V) 47 D1 44 DVDD_I/O (3.3V) 45 D3 42 D2 43 TxENABLE 41 D4 39 PDCLK 40 D6 37 D5 38 D8 35 D7 36 D10 33 D9 34 D12 31 D11 32 DVDD (1.8V) 30 DVDD_I/O (3.3V) 28 DGND 29 D14 26 D13 27 D15 25 Data Sheet AD9910 Table 3. Pin Function Descriptions Pin No. 1, 20, 72, 86, 87, 93, 97 to 100 2 Mnemonic NC I/O 1 Description Not Connected. Allow device pins to float. PLL_LOOP_FILTER I 3, 6, 89, 92 74 to 77, 83 17, 23, 30, 47, 57, 64 11, 15, 21, 28, 45, 56, 66 4, 5, 73, 78, 79, 82, 85, 88, 96 13, 16, 22, 29, 46, 51, 58, 65 7 AVDD (1.8V) AVDD (3.3V) DVDD (1.8V) I I I PLL Loop Filter Compensation Pin. See the External PLL Loop Filter Components section for details. Analog Core VDD, 1.8 V Analog Supplies. Analog DAC VDD, 3.3 V Analog Supplies. Digital Core VDD, 1.8 V Digital Supplies. DVDD_I/O (3.3V) I Digital Input/Output VDD, 3.3 V Digital Supplies. AGND I Analog Ground. DGND I Digital Ground. SYNC_IN+ I 8 SYNC_IN- I 9 SYNC_OUT+ O 10 SYNC_OUT- O 12 SYNC_SMP_ERR O 14 MASTER_RESET I 18 EXT_PWR_DWN I 19 PLL_LOCK O 24 RAM_SWP_OVR O 25 to 27, 31 to 39, 42 to 44, 48 49, 50 40 D[15:0] I Synchronization Signal (LVDS), Digital Input (Rising Edge Active). The synchronization signal from the external master to synchronize internal subclocks. See the Synchronization of Multiple Devices section for details. Synchronization Signal (LVDS), Digital Input. The synchronization signal from the external master to synchronize internal subclocks. See the Synchronization of Multiple Devices section for details. Synchronization Signal (LVDS), Digital Output (Rising Edge Active). The synchronization signal from the internal device subclocks to synchronize external slave devices. See the Synchronization of Multiple Devices section for details. Synchronization Signal (LVDS), Digital Output. The synchronization signal from the internal device subclocks to synchronize external slave devices. See the Synchronization of Multiple Devices section for details. Synchronization Sample Error, Digital Output (Active High). Sync sample error: a high on this pin indicates that the AD9910 did not receive a valid sync signal on SYNC_IN+/SYNC_IN-. Master Reset, Digital Input (Active High). Master reset: clears all memory elements and sets registers to default values. External Power-Down, Digital Input (Active High). A high level on this pin initiates the currently programmed power-down mode. See the Power-Down Control section for further details. If unused, connect to ground. Clock Multiplier PLL Lock, Digital Output (Active High). A high on this pin indicates that the Clock Multiplier PLL has acquired lock to the reference clock input. RAM Sweep Over, Digital Output (Active High). A high on this pin indicates that the RAM sweep profile has completed. Parallel Input Bus (Active High). F[1:0] PDCLK I O 41 TxENABLE I 52 to 54 PROFILE[2:0] I 55 SYNC_CLK O Modulation Format Pins. Digital input to determine the modulation format. Parallel Data Clock. This is the digital output (clock). The parallel data clock provides a timing signal for aligning data at the parallel inputs. Transmit Enable. Digital input (active high). In burst mode communications, a high on this pin indicates new data for transmission. In continuous mode, this pin remains high. Profile Select Pins. Digital inputs (active high). Use these pins to select one of eight phase/frequency profiles for the DDS. Changing the state of one of these pins transfers the current contents of all I/O buffers to the corresponding registers. State changes should be set up on the SYNC_CLK pin. Output Clock Divided-By-Four. A digital output (clock). Many of the digital inputs on the chip, such as I/O_UPDATE and PROFILE[2:0], need to be set up on the rising edge of this signal. Rev. D | Page 11 of 64 AD9910 Data Sheet Pin No. 59 Mnemonic I/O_UPDATE I/O 1 I/O 60 OSK I 61 DROVER O 62 DRCTL I 63 DRHOLD I 67 SDIO I/O 68 SDO O 69 SCLK I 70 CS I 71 I/O_RESET I 80 IOUT O 81 IOUT O 84 DAC_RSET O 90 REF_CLK I 91 94 95 REF_CLK REFCLK_OUT XTAL_SEL I O I EPAD Exposed Paddle (EPAD) 1 Description Input/Output Update. Digital input (active high). A high on this pin transfers the contents of the I/O buffers to the corresponding internal registers. Output Shift Keying. Digital input (active high). When the OSK features are placed in either manual or automatic mode, this pin controls the OSK function. In manual mode, it toggles the multiplier between 0 (low) and the programmed amplitude scale factor (high). In automatic mode, a low sweeps the amplitude down to zero, a high sweeps the amplitude up to the amplitude scale factor. Digital Ramp Over. Digital output (active high). This pin switches to Logic 1 whenever the digital ramp generator reaches its programmed upper or lower limit. Digital Ramp Control. Digital input (active high). This pin controls the slope polarity of the digital ramp generator. See the Digital Ramp Generator (DRG) section for more details. If not using the digital ramp generator, connect this pin to Logic 0. Digital Ramp Hold. Digital input (active high). This pin stalls the digital ramp generator in its present state. See the Digital Ramp Generator (DRG) section for more details. If not using a digital ramp generator, connect this pin to Logic 0. Serial Data Input/Output. Digital input/output (active high). This pin can be either unidirectional or bidirectional (default), depending on the configuration settings. In bidirectional serial port mode, this pin acts as the serial data input and output. In unidirectional mode, it is an input only. Serial Data Output. Digital output (active high). This pin is only active in unidirectional serial data mode. In this mode, it functions as the output. In bidirectional mode, this pin is not operational and should be left floating. Serial Data Clock. Digital clock (rising edge on write, falling edge on read). This pin provides the serial data clock for the control data path. Write operations to the AD9910 use the rising edge. Readback operations from the AD9910 use the falling edge. Chip Select. Digital input (active low). This pin allows the AD9910 to operate on a common serial bus for the control data path. Bringing this pin low enables the AD9910 to detect serial clock rising/falling edges. Bringing this pin high causes the AD9910 to ignore input on the serial data pins. Input/Output Reset. Digital input (active high). This pin can be used when a serial I/O communication cycle fails (see the I/O_RESET--Input/Output Reset section for details). When not used, connect this pin to ground. Open-Drain DAC Complementary Output Source. Analog output (current mode). Connect through a 50 resistor to AGND. Open-Drain DAC Output Source. Analog output (current mode). Connect through a 50 resistor to AGND. Analog Reference Pin. This pin programs the DAC output full-scale reference current. Attach a 10 k resistor to AGND. Reference Clock Input. Analog input. When the internal oscillator is engaged, this pin can be driven by either an external oscillator or connected to a crystal. See the REF_CLK/ Overview section for more details. Reference Clock Input. Analog input. See the REF_CLK/ Overview section for more details. Crystal Output. Analog output. See the REF_CLK/ Overview section for more details. Crystal Select (1.8 V Logic). Analog input (active high). Driving the XTAL_SEL pin high, the AVDD (1.8V) pin enables the internal oscillator to be used with a crystal resonator. If unused, connect it to AGND. The EPAD should be soldered to ground. I = input, O = output. Rev. D | Page 12 of 64 Data Sheet AD9910 TYPICAL PERFORMANCE CHARACTERISTICS -50 0 -10 -55 -20 -30 -60 SFDR (dBc) SFDR (dBc) SFDR WITHOUT PLL SFDR WITH PLL -65 -40 -50 -60 1 -70 -70 0 50 100 150 200 250 300 350 400 06479-035 06479-034 -75 -80 -90 -100 50MHz/DIV START 0Hz STOP 500MHz OUTPUT FREQUENCY (MHz) Figure 6. Wideband SFDR vs. Output Frequency (PLL with Reference Clock = 15.625 MHz x 64) Figure 9. Wideband SFDR at 10 MHz, REFCLK = 1 GHz -45 0 LOW SUPPLY -10 -50 -20 HIGH SUPPLY -30 SFDR (dBc) SFDR (dBc) -55 -60 -40 -50 1 -60 -65 -70 06479-046 -75 0 50 100 150 200 250 300 350 400 -90 -100 450 06479-036 -80 -70 START 0Hz 50MHz/DIV STOP 500MHz OUTPUT FREQUENCY (MHz) Figure 7. Wideband SFDR vs. Output Frequency and Supply (5%), REFCLK = 1 GHz Figure 10. Wideband SFDR at 204 MHz, REFCLK = 1 GHz 0 -50 -40C -10 +85C -55 -20 SFDR (dBc) SFDR (dBc) -30 -60 -65 -40 -50 1 -60 -70 06479-047 -75 0 50 100 150 200 250 300 350 400 06479-037 -80 -70 -90 -100 START 0Hz 450 50MHz/DIV STOP 500MHz OUTPUT FREQUENCY (MHz) Figure 11. Wideband SFDR at 403 MHz, REFCLK = 1 GHz Figure 8. Wideband SFDR vs. Output Frequency and Temperature, REFCLK = 1 GHz Rev. D | Page 13 of 64 Data Sheet 0 0 -12 -12 -24 -24 -36 -36 -48 -48 SFDR (dBc) -60 -72 -72 -84 -84 1 -120 2.5kHz/DIV 06479-040 -108 CENTER 10.32MHz 1 -96 06479-038 -96 -108 -120 CENTER 403.78MHz SPAN 25kHz 0 -90 -12 -100 -24 MAGNITUDE (dBc/Hz) -48 -60 -72 -84 -120 fOUT = 98.6MHz -130 -140 -160 fOUT = 20.1MHz 06479-039 -108 -120 2.5kHz/DIV fOUT = 201.1MHz -150 1 CENTER 204.36MHz SPAN 25kHz fOUT = 397.8MHz -110 -36 -96 2.5kHz/DIV Figure 14. Narrow-Band SFDR at 403.78 MHz, REFCLK = 1 GHz Figure 12. Narrow-Band SFDR at 10.32 MHz, REFCLK = 1 GHz SFDR (dBc) -60 -170 10 SPAN 25kHz 100 06479-042 SFDR (dBc) AD9910 1k 10k 100k 1M 10M 100M FREQUENCY OFFSET (Hz) Figure 13. Narrow-Band SFDR at 204.36 MHz, REFCLK = 1 GHz Figure 15. Residual Phase Noise Plot, 1 GHz Operation with PLL Disabled Rev. D | Page 14 of 64 Data Sheet AD9910 -90 450 fOUT = 397.8MHz -120 -130 -140 fOUT = 98.6MHz 100 1k 10k 100k 1M 10M 06479-043 fOUT = 20.1MHz -150 DVDD 1.8V 300 250 200 AVDD 1.8V 150 100 AVDD 3.3V 50 DVDD 3.3V 400 500 600 700 800 900 06479-044 POWER DISSIPATION (mW) 350 300 AVDD 1.8V 200 150 100 AVDD 3.3V 50 DVDD 3.3V 500 600 700 800 900 1000 Figure 18. Power Dissipation vs. System Clock Frequency (PLL Enabled) 450 200 250 SYSTEM CLOCK FREQUENCY (MHz) Figure 16. Residual Phase Noise, 1 GHz Operation Using a 50 MHz Reference Clock with 20x PLL Multiplier 0 100 300 0 400 100M FREQUENCY OFFSET (Hz) 400 350 06479-045 POWER DISSIPATION (mW) MAGNITUDE (dBc/ Hz) fOUT = 201.1MHz -110 -160 10 DVDD 1.8V 400 -100 1000 SYSTEM CLOCK FREQUENCY (MHz) Figure 17. Power Dissipation vs. System Clock Frequency (PLL Disabled) Rev. D | Page 15 of 64 AD9910 Data Sheet APPLICATION CIRCUITS AD9510, AD9511, ADF4106 / REFERENCE CHARGE PUMP PHASE COMPARATOR LOOP FILTER VCO AD9910 06479-056 / REF_CLK LPF Figure 19. DDS in PLL Feedback Locking to Reference, Offering Fine Frequency and Delay Adjust Tuning AD9510 CLOCK DISTRIBUTOR WITH DELAY EQUALIZATION CLOCK SOURCE REF_CLK AD9510 SYNCHRONIZATION DELAY EQUALIZATION SYNC_OUT C1 S1 DATA A1 AD9910 FPGA (MASTER) SYNC_CLK C2 S2 DATA (SLAVE 1) SYNC_CLK CENTRAL CONTROL A2 AD9910 FPGA C3 S3 DATA A3 AD9910 FPGA (SLAVE 2) SYNC_CLK C4 S4 A4 AD9910 (SLAVE 3) SYNC_CLK A_END 06479-058 DATA FPGA Figure 20. Synchronizing Multiple Devices to Increase Channel Capacity Using the AD9510 as a Clock Distributor for the Reference and Synchronization Clock PROGRAMMABLE 1 TO 32 DIVIDER AND DELAY ADJUST CLOCK OUTPUT SELECTION(S) REFCLK CH 2 LPF AD9515 AD9514 AD9513 AD9512 n LVPECL LVDS CMOS 06479-057 AD9910 n = DEPENDENT ON PRODUCT SELECTION. Figure 21. Clock Generation Circuit Using the AD9512/AD9513/AD9514/AD9515 Series of Clock Distribution Chips Rev. D | Page 16 of 64 Data Sheet AD9910 THEORY OF OPERATION A separate output shift keying (OSK) function is also available. This function employs a separate digital linear ramp generator that only affects the amplitude parameter of the DDS. The OSK function has priority over the other data sources that can drive the DDS amplitude parameter. As such, no other data source can drive the DDS amplitude when the OSK function is enabled. The AD9910 has four modes of operation. * Single tone * RAM modulation * Digital ramp modulation * Parallel data port modulation The modes relate to the data source used to supply the DDS with its signal control parameters: frequency, phase, or amplitude. The partitioning of the data into different combinations of frequency, phase, and amplitude is handled automatically based on the mode and/or specific control bits. Although the various modes (including the OSK function) are described independently, they can be enabled simultaneously. This provides an unprecedented level of flexibility for generating complex modulation schemes. However, to avoid multiple data sources from driving the same DDS signal control parameter, the device has a built-in priority protocol (see Table 5 in the Mode Priority section). In single tone mode, the DDS signal control parameters come directly from the programming registers associated with the serial I/O port. In RAM modulation mode, the DDS signal control parameters are stored in the internal RAM and played back upon command. In digital ramp modulation mode, the DDS signal control parameters are delivered by a digital ramp generator. In parallel data port modulation mode, the DDS signal control parameters are driven directly into the parallel port. SINGLE TONE MODE In single tone mode, the DDS signal control parameters are supplied directly from the programming registers. A profile is an independent register that contains the DDS signal control parameters. Eight profile registers are available. Each profile is independently accessible. Use the three external profile pins (PROFILE[2:0]) to select the desired profile. A change in the state of the profile pins with the next rising edge on SYNC_CLK updates the DDS with the parameters specified by the selected profile. The various modulation modes generally operate on only one of the DDS signal control parameters (two in the case of the polar modulation format). The unmodulated DDS signal control parameters are stored in their appropriate programming registers and automatically route to the DDS based on the selected mode. RAM_SWP_OVR CS RAM DAC FSC 2 DIGITAL RAMP GENERATOR DRHOLD DROVER 3 PROFILE[2:0] DAC_RSET AMPLITUDE (A) Acos (t + ) A PHASE () DATA ROUTE FREQUENCY () AND Asin (t + ) PARTITION CONTROL CLOCK PROGRAMMING REGISTERS I/O_UPDATE AUX DAC 8-BIT DDS OUTPUT SHIFT KEYING OSK DRCTL 8 16 DAC FSC IOUT INVERSE SINC FILTER REFCLK_OUT SYSCLK /2 8 PARALLEL INPUT IOUT DAC 14-BIT CLOCK MODE SCLK I/O_RESET AD9910 SERIAL I/O PORT 2 SDIO INTERNAL CLOCK TIMING AND CONTROL PLL 2 REF_CLK REF_CLK XTAL_SEL POWERDOWN CONTROL MULTICHIP SYNCHRONIZATION 2 Figure 22. Single Tone Mode Rev. D | Page 17 of 64 06479-005 MASTER_RESET PLL_LOCK PLL_LOOP_FILTER SYNC_IN SYNC_OUT SYNC_CLK 2 SYNC_SMP_ERR PDCLK PARALLEL DATA TIMING AND CONTROL EXT_PWR_DWN TxENABLE AD9910 Data Sheet The selection of the specific DDS signal control parameters that serve as the destination for the RAM samples is also programmable through eight independent RAM profile registers. Select a particular profile using the three external profile pins (PROFILE[2:0]). A change in the state of the profile pins with the next rising edge on SYNC_CLK activates the selected RAM profile. RAM MODULATION MODE The RAM modulation mode (see Figure 23) is activated via the RAM enable bit and assertion of the I/O_UPDATE pin (or a profile change). In this mode, the modulated DDS signal control parameters are supplied directly from RAM. The RAM consists of 32-bit words and is 1024 words deep. Coupled with a sophisticated internal state machine, the RAM provides a very flexible method for generating arbitrary, time dependent waveforms. A programmable timer controls the rate at which words are extracted from the RAM for delivery to the DDS. Thus, the programmable timer establishes a sample rate at which 32-bit samples are supplied to the DDS. In RAM modulation mode, the ability to generate a time dependent amplitude, phase, or frequency signal enables modulation of any one of the parameters controlling the DDS carrier signal. Furthermore, a polar modulation format is available that partitions each RAM sample into a magnitude and phase component; 16 bits are allocated to phase and 14 bits are allocated to magnitude. RAM_SWP_OVR CS RAM DAC FSC DDS OUTPUT SHIFT KEYING OSK DRCTL 2 DIGITAL RAMP GENERATOR DRHOLD DROVER 3 PROFILE[2:0] DAC_RSET AMPLITUDE (A) Acos (t + ) A PHASE () DATA ROUTE FREQUENCY () AND Asin (t + ) PARTITION CONTROL CLOCK PROGRAMMING REGISTERS I/O_UPDATE AUX DAC 8-BIT 8 PARALLEL INPUT DAC FSC IOUT INVERSE SINC FILTER REFCLK_OUT SYSCLK /2 8 16 IOUT DAC 14-BIT CLOCK MODE SCLK I/O_RESET AD9910 SERIAL I/O PORT 2 SDIO INTERNAL CLOCK TIMING AND CONTROL PLL 2 REF_CLK REF_CLK XTAL_SEL POWERDOWN CONTROL MULTICHIP SYNCHRONIZATION 2 Figure 23. RAM Modulation Mode Rev. D | Page 18 of 64 06479-006 MASTER_RESET PLL_LOCK PLL_LOOP_FILTER SYNC_IN SYNC_OUT SYNC_CLK 2 SYNC_SMP_ERR PDCLK PARALLEL DATA TIMING AND CONTROL EXT_PWR_DWN TxENABLE Data Sheet AD9910 The ramp is digitally generated with 32-bit output resolution. The 32-bit output of the DRG can be programmed to represent frequency, phase, or amplitude. When programmed to represent frequency, all 32 bits are used. However, when programmed to represent phase or amplitude, only the 16 MSBs or 14 MSBs, respectively, are used. DIGITAL RAMP MODULATION MODE In digital ramp modulation mode (see Figure 24), the modulated DDS signal control parameter is supplied directly from the digital ramp generator (DRG). The ramp generation parameters are controlled through the serial I/O port. The ramp generation parameters allow the user to control both the rising and falling slopes of the ramp. The upper and lower boundaries of the ramp, the step size and step rate of the rising portion of the ramp, and the step size and step rate of the falling portion of the ramp are all programmable. The ramp direction (rising or falling) is externally controlled by the DRCTL pin. An additional pin (DRHOLD) allows the user to suspend the ramp generator in its present state. RAM_SWP_OVR CS RAM DAC FSC DDS OUTPUT SHIFT KEYING OSK DRCTL 2 DIGITAL RAMP GENERATOR DRHOLD DROVER 3 PROFILE[2:0] DAC_RSET AMPLITUDE (A) Acos (t + ) A PHASE () DATA ROUTE FREQUENCY () AND Asin (t + ) PARTITION CONTROL CLOCK PROGRAMMING REGISTERS I/O_UPDATE AUX DAC 8-BIT 8 PARALLEL INPUT DAC FSC IOUT INVERSE SINC FILTER REFCLK_OUT SYSCLK /2 8 16 IOUT DAC 14-BIT CLOCK MODE SCLK I/O_RESET AD9910 SERIAL I/O PORT 2 SDIO INTERNAL CLOCK TIMING AND CONTROL PLL 2 REF_CLK REF_CLK XTAL_SEL POWERDOWN CONTROL MULTICHIP SYNCHRONIZATION 2 Figure 24. Digital Ramp Modulation Mode Rev. D | Page 19 of 64 06479-007 MASTER_RESET PLL_LOCK PLL_LOOP_FILTER SYNC_IN SYNC_OUT SYNC_CLK 2 SYNC_SMP_ERR PDCLK PARALLEL DATA TIMING AND CONTROL EXT_PWR_DWN TxENABLE AD9910 Data Sheet apply a weighting factor to the 16-bit data-word. In the default state (0), the 16-bit data-word and the 32-bit word in the FTW register are LSB aligned. Each increment in the value of the FM gain word shifts the 16-bit data-word to the left relative to the 32-bit word in the FTW register, increasing the influence of the 16-bit data-word on the frequency defined by the FTW register by a factor of two. The FM gain word effectively controls the frequency range spanned by the data-word. PARALLEL DATA PORT MODULATION MODE In parallel data port modulation mode (see Figure 25), the modulated DDS signal control parameter(s) are supplied directly from the 18-bit parallel data port. The data port is partitioned into two sections. The 16 MSBs make up a 16-bit data-word (D[15:0] pins) and the two LSBs make up a 2-bit destination word (F[1:0] pins). The destination word defines how the 16-bit data-word is applied to the DDS signal control parameters. Table 4 defines the relationship between the destination bits, the partitioning of the 16-bit data-word, and the destination of the data (in terms of the DDS signal control parameters). Formatting of the 16-bit data-word is unsigned binary, regardless of the destination. Parallel Data Clock (PDCLK) The AD9910 generates a clock signal on the PDCLK pin that runs at 1/4 of the DAC sample rate (the sample rate of the parallel data port). PDCLK serves as a data clock for the parallel port. By default, each rising edge of PDCLK is used to latch the 18 bits of user-supplied data into the data port. The edge polarity can be changed through the PDCLK invert bit. Furthermore, the PDCLK output signal can be switched off using the PDCLK enable bit. However, even though the output signal is switched off, it continues to operate internally using the internal PDCLK timing to capture the data at the parallel port. Note that PDCLK is Logic 0 when disabled. When the destination bits indicate that the data-word is destined as a DDS frequency parameter, the 16-bit data-word serves as an offset to the 32-bit frequency tuning word in the FTW register. This means that the 16-bit data-word must somehow be properly aligned with the 32-bit word in the FTW register. This is accomplished by means of the 4-bit FM gain word in the programming registers. The FM gain word allows the user to RAM_SWP_OVR CS RAM DAC FSC DDS OUTPUT SHIFT KEYING OSK DRCTL 2 DIGITAL RAMP GENERATOR DRHOLD DROVER 3 PROFILE[2:0] DAC_RSET AMPLITUDE (A) Acos (t + ) A PHASE () DATA ROUTE FREQUENCY () AND Asin (t + ) PARTITION CONTROL CLOCK PROGRAMMING REGISTERS I/O_UPDATE AUX DAC 8-BIT 8 PARALLEL INPUT DAC FSC IOUT INVERSE SINC FILTER REFCLK_OUT /2 SYSCLK 8 16 IOUT DAC 14-BIT CLOCK MODE SCLK I/O_RESET AD9910 SERIAL I/O PORT 2 SDIO INTERNAL CLOCK TIMING AND CONTROL PLL 2 REF_CLK REF_CLK XTAL_SEL POWERDOWN CONTROL MULTICHIP SYNCHRONIZATION 2 Figure 25. Parallel Data Port Modulation Mode Rev. D | Page 20 of 64 06479-008 MASTER_RESET PLL_LOCK PLL_LOOP_FILTER SYNC_IN SYNC_OUT SYNC_SMP_ERR 2 SYNC_CLK PDCLK PARALLEL DATA TIMING AND CONTROL EXT_PWR_DWN TxENABLE Data Sheet AD9910 Table 4. Parallel Port Destination Bits D[15:0] D[15:2] 01 D[15:0] 10 D[15:0] 11 D[15:8] D[7:0] Parameter(s) 14-bit amplitude parameter (unsigned integer) 16-bit phase parameter (unsigned integer) 32-bit frequency parameter (unsigned integer) 8-bit amplitude (unsigned integer) 8-bit phase (unsigned integer) Comments Amplitude scales from 0 to 1 - 2-14. D[1:0] are not used. Phase offset ranges from 0 to 2(1 - 2-16) radians. The alignment of the 16-bit data-word with the 32-bit frequency parameter is controlled by a 4-bit FM gain word in the programming registers. The MSB of the data-word amplitude aligns with the MSB of the DDS 14-bit amplitude parameter. The six LSBs of the DDS amplitude parameter are assigned from Bits[5:0] of the ASF register. The resulting 14-bit word scales the amplitude from 0 to 1 - 2-14. The MSB of the data-word phase aligns with the MSB of the 16-bit phase parameter of the DDS. The eight LSBs of the DDS phase parameter are assigned from Bits[7:0] of the POW register. The resulting 16-bit word offsets the phase from 0 to 2(1 - 2-16) radians. Transmit Enable (TxENABLE) The AD9910 also accepts a user-generated signal applied to the TxENABLE pin that acts as a gate for the user-supplied data. By default, TxENABLE is considered true for Logic 1 and false for Logic 0. However, the logical behavior of this pin can be reversed using the TxENABLE invert bit. When TxENABLE is true, the device latches data into the device on the expected edge of PDCLK (based on the PDCLK invert bit). When TxENABLE is false, even though the PDCLK may continue to operate, the device ignores the data supplied to the port. Furthermore, when the TxENABLE pin is held false, the device internally clears the 16-bit data-words, or it retains the last value present on the data port prior to TxENABLE switching to the false state (based on the setting of the data assembler hold last value bit). Alternatively, instead of operating the TxENABLE pin as a gate, the user can drive the TxENABLE pin with a clock signal operating at the parallel port data rate. When driven by a clock signal, the transition from the false to true state must meet the required setup and hold time on each cycle to ensure proper operation. The TxENABLE and PDCLK timing is shown in Figure 26. TRUE TxENABLE (BURST) FALSE TxENABLE (CLOCK) tDH tDS PDCLK tDS PARALLEL DATA PORT tDH WORD1 WORD2 WORD3 WORD4 WORDN - 4 Figure 26. PDCLK and TxENABLE Timing Diagram Rev. D | Page 21 of 64 WORDN 06479-009 F[1:0] 00 AD9910 Data Sheet MODE PRIORITY The three different modulation modes generate frequency, phase, and/or amplitude data destined for the DDS signal control parameters. In addition, the OSK function generates amplitude data destined for the DDS. Each of these functions is independently invoked using the appropriate control bit via the serial I/O port. The ability to activate each of these functions independently makes it possible to have multiple data sources attempting to drive the same DDS signal control parameter. To avoid contention, the AD9910 has a built-in priority system. Table 5 summarizes the priority for each of the DDS signal control parameters. The rows of Table 5 list data sources for a particular DDS signal control parameter in descending order of precedence. For example, if both the RAM and the parallel port are enabled and both are programmed for frequency as the destination, then the DDS frequency parameter is driven by the RAM and not the parallel data port. Table 5. Data Source Priority Priority Highest Priority Frequency Data Source Conditions RAM RAM enabled and data destination is frequency DRG DRG enabled and data destination is frequency Parallel data Parallel data port port and FTW enabled and data destination is register frequency FTW register RAM enabled and data destination is phase, amplitude, or polar FTW in active DRG enabled and single tone data destination is profile register phase or amplitude FTW in active single tone profile register FTW in active single tone profile register Lowest Priority Parallel data port enabled and data destination is phase, amplitude, or polar None DDS Signal Control Parameters Phase Data Source Conditions RAM RAM enabled and data destination is phase or polar DRG DRG enabled and data destination is phase Parallel data port Parallel data port enabled and data destination is phase Parallel data port Parallel data port concatenated with enabled and data the POW register destination is polar LSBs POW register RAM enabled and destination is frequency or amplitude POW in active DRG enabled and single tone profile data destination is frequency or register amplitude POW in active single tone profile register POW in active single tone profile register Parallel data port enabled and data destination is frequency or amplitude None Rev. D | Page 22 of 64 Data Source OSK generator Amplitude Conditions OSK enabled (auto mode) ASF register OSK enabled (manual mode) RAM RAM enabled and data destination is amplitude or polar DRG DRG enabled and data destination is amplitude Parallel data port Parallel data port enabled and data destination is amplitude Parallel data port enabled and data destination is polar Parallel data port concatenated with the ASF register LSBs ASF in active single tone profile register Enable amplitude scale from single tone profiles bit (CFR2[24]) set No amplitude scaling None Data Sheet AD9910 FUNCTIONAL BLOCK DETAIL POW 2 16 2 = POW 360 16 2 DDS CORE The direct digital synthesizer (DDS) block generates a reference signal (sine or cosine based on CFR1[16], the select DDS sine output bit). The parameters of the reference signal (frequency, phase, and amplitude) are applied to the DDS at its frequency, phase offset, and amplitude control inputs, as shown in Figure 27. DDS SIGNAL CONTROL PARAMETERS 14 PHASE OFFSET CONTROL 16 MSB ALIGNED 32-BIT ACCUMULATOR 32 FREQUENCY 32 CONTROL 32 DQ DDS_CLK 19 32 19 R 14 16 (MSBs) ANGLE-TOAMPLITUDE 14 14 CONVERSION (SINE OR COSINE) TO DAC The relative amplitude of the DDS signal can be digitally scaled (relative to full scale) by means of a 14-bit amplitude scale factor (ASF). The amplitude scale value is applied at the output of the angle-to-amplitude conversion block internal to the DDS core. The amplitude scale is given by 06479-010 AMPLITUDE CONTROL where the upper quantity is for the phase offset expressed as radian units and the lower quantity as degrees. To find the POW value necessary to develop an arbitrary , solve the previous equation for POW and round the result (in a manner similar to that described previously for finding an arbitrary FTW). ACCUMULATOR RESET Amplitude Scale = Figure 27. DDS Block Diagram The output frequency (fOUT) of the AD9910 is controlled by the frequency tuning word (FTW) at the frequency control input to the DDS. The relationship among fOUT, FTW, and fSYSCLK is given by FTW f OUT = 32 f SYSCLK 2 (1) where FTW is a 32-bit integer ranging in value from 0 to 2,147,483,647 (231 - 1), which represents the lower half of the full 32-bit range. This range constitutes frequencies from dc to Nyquist (that is, 1/2 fSYSCLK). The FTW required to generate a desired value of fOUT is found by solving Equation 1 for FTW, as given in Equation 2. f FTW = round 2 32 OUT f SYSCLK (2) where the round(x) function rounds the argument (the value of x) to the nearest integer. This is required because the FTW is constrained to be an integer value. For example, for fOUT = 41 MHz and fSYSCLK = 122.88 MHz, then FTW = 1,433,053,867 (0x556AAAAB). Programming an FTW greater than 231 produces an aliased image that appears at a frequency given by FTW f OUT = 1 - 32 f SYSCLK 2 (for FTW 231) The relative phase of the DDS signal can be digitally controlled by means of a 16-bit phase offset word (POW). The phase offset is applied prior to the angle-to-amplitude conversion block internal to the DDS core. The relative phase offset () is given by ASF 214 ASF 20 log 14 2 (3) where the upper quantity is amplitude expressed as a fraction of full scale and the lower quantity is expressed in decibels relative to full scale. To find the ASF value necessary for a particular scale factor, solve Equation 3 for ASF and round the result (in a manner similar to that described previously for finding an arbitrary FTW). When the AD9910 is programmed to modulate any of the DDS signal control parameters, the maximum modulation sample rate is 1/4 fSYSCLK. This means that the modulation signal exhibits images at multiples of 1/4 fSYSCLK. The impact of these images must be considered when using the device as a modulator. 14-BIT DAC OUTPUT The AD9910 incorporates an integrated 14-bit, current output DAC. The output current is delivered as a balanced signal using two outputs. The use of balanced outputs reduces the potential amount of common-mode noise present at the DAC output, offering the advantage of an increased signal-to-noise ratio. An external resistor (RSET) connected between the DAC_RSET pin and AGND establishes the reference current. The full-scale output current of the DAC (IOUT) is produced as a scaled version of the reference current (see the Auxiliary DAC section). The recommended value of RSET is 10 k. Attention should be paid to the load termination to keep the output voltage within the specified compliance range; voltages developed beyond this range cause excessive distortion and can damage the DAC output circuitry. Rev. D | Page 23 of 64 AD9910 Data Sheet Auxiliary DAC 1 An 8-bit auxiliary DAC controls the full-scale output current of the main DAC (IOUT). An 8-bit code word stored in the appropriate register map location sets IOUT according to the following equation: 0 86.4 CODE 1 + 96 RSET -1 (dB) IOUT = SINC -2 where RSET is the value of the RSET resistor (in ohms) and CODE is the 8-bit value supplied to the auxiliary DAC (default is 127). For example, with RSET = 10,000 and CODE = 127, then IOUT = 20.07 mA. INVERSE SINC -4 INVERSE SINC FILTER 0 0.1 0.2 0.3 0.4 0.5 FREQUENCY RELATIVE TO DAC SAMPLE RATE When the inverse sinc filter is enabled, it introduces a ~3.0 dB insertion loss. The inverse sinc compensation is effective for output frequencies up to approximately 40% of the DAC sample rate. Table 6. Inverse Sinc Filter Tap Coefficients Tap Value -35 +134 -562 +6729 In Figure 28, the sinc envelope introduces a frequency dependent attenuation that can be as much as 4 dB at the Nyquist frequency (1/2 of the DAC sample rate). Without the inverse sinc filter, the DAC output suffers from the frequency dependent droop of the sinc envelope. The inverse sinc filter effectively flattens the droop to within 0.05 dB, as shown in Figure 29, which shows the corrected sinc response with the inverse sinc filter enabled. -2.8 -2.9 COMPENSATED RESPONSE -3.0 -3.1 06479-012 The inverse sinc filter is enabled using CFR1[22]. The filter tap coefficients are given in Table 6. The filter operates by distorting the data prior to its arrival at the DAC in such a way as to compensate for the sinc envelope that otherwise distorts the spectrum. Figure 28. Sinc and Inverse Sinc Responses (dB) The sampled carrier data stream is the input to the digital-toanalog converter (DAC) integrated into the AD9910. The DAC output spectrum is shaped by the characteristic sin(x)/x (or sinc) envelope, due to the intrinsic zero-order hold effect associated with DAC generated signals. The sinc envelope can be compensated for because its shape is well known. This envelope restoration function is provided by the inverse sinc filter preceding the DAC. The inverse sinc filter is implemented as a digital FIR filter. It has a response characteristic that very nearly matches the inverse of the sinc envelope. The response of the inverse sinc filter is shown in Figure 28 (with the sinc envelope for comparison). Tap No. 1, 7 2, 6 3, 5 4 06479-011 -3 0 0.1 0.2 0.3 0.4 0.5 FREQUENCY RELATIVE TO DAC SAMPLE RATE Figure 29. DAC Response with Inverse Sinc Compensation CLOCK INPUT (REF_CLK/REF_CLK) REF_CLK/REF_CLK Overview The AD9910 supports a number of options for producing the internal SYSCLK signal (that is, the DAC sample clock) via the REF_CLK/REF_CLK input pins. The REF_CLK input can be driven directly from a differential or single-ended source, or it can accept a crystal connected across the two input pins. There is also an internal phase-locked loop (PLL) multiplier that can be independently enabled. A block diagram of the REF_CLK functionality is shown in Figure 30. The various input configurations are controlled by the XTAL_SEL pin and the control bits in the CFR3 register. Figure 30 also shows how the CFR3 control bits are associated with specific functional blocks. Rev. D | Page 24 of 64 Data Sheet AD9910 XTAL_SEL PLL_LOOP_FILTER 95 2 DRV0 CFR3 [29:28] 2 90 REF_CLK XTAL PLL ENABLE CFR3 [8] REFCLK INPUT SELECT LOGIC 91 REF_CLK 39pF ENABLE PLL_LOOP_FILTER IN REF_CLK 90 CHARGE PUMP DIVIDE REF_CLK 91 2 1 /2 0 REFCLK INPUT DIVIDER RESETB CFR3[14] ICP CFR3 [21:19] OUT PLL VCO SELECT 7 N CFR3 [7:1] 1 0 SYSCLK 3 VCO SEL CFR3 [26:24] REFCLK INPUT DIVIDER BYPASS CFR3[15] 06479-013 1 0 Figure 30. REF_CLK Block Diagram The PLL enable bit is used to choose between the PLL path or the direct input path. When the direct input path is selected, the REF_CLK/REF_CLK pins must be driven by an external signal source (single-ended or differential). Input frequencies up to 2 GHz are supported. For input frequencies greater than 1 GHz, the input divider must be enabled for proper operation of the device. When the PLL is enabled, a buffered clock signal is available at the REFCLK_OUT pin. This clock signal is the same frequency as the REF_CLK input. This is especially useful when a crystal is connected because it gives the user a replica of the crystal clock for driving other external devices. The REFCLK_OUT has programmable drive capability. This is controlled by two bits, as listed in Table 7. Figure 31. Crystal Connection Diagram Direct Driven REF_CLK/REF_CLK When driving the REF_CLK/REF_CLK inputs directly from a signal source, either single-ended or differential signals can be used. With a differential signal source, the REF_CLK/REF_CLK pins are driven with complementary signals and ac-coupled with 0.1 F capacitors. With a single-ended signal source, either a single-ended-to-differential conversion can be employed or the REF_CLK input can be driven single-ended directly. In either case, 0.1 F capacitors are used to ac couple both REF_CLK/ REF_CLK pins to avoid disturbing the internal dc bias voltage of ~1.35 V. See Figure 32 for more details. The REF_CLK/REF_CLK input resistance is ~2.5 k differential (~1.2 k single-ended). Most signal sources have relatively low output impedances. The REF_CLK/REF_CLK input resistance is relatively high; therefore, its effect on the termination impedance is negligible and can usually be chosen to be the same as the output impedance of the signal source. The bottom two examples in Figure 32 assume a signal source with a 50 output impedance. 0.1F DIFFERENTIAL SOURCE, DIFFERENTIAL INPUT PECL, LVPECL, OR LVDS DRIVER REF_CLK 91 REF_CLK 90 REF_CLK 91 REF_CLK 90 REF_CLK 91 REF_CLK TERMINATION BALUN (1:1) REFCLK_OUT Buffer Disabled (tristate) Low output current Medium output current High output current 90 0.1F Table 7. REFCLK_OUT Buffer Control DRV0 Bits (CFR3[29:28]) 00 01 10 11 39pF 06479-014 REFCLK_OUT 94 SINGLE-ENDED SOURCE, DIFFERENTIAL INPUT 0.1F 50 0.1F 0.1F Crystal Driven REF_CLK/REF_CLK 50 0.1F 06479-015 When using a crystal at the REF_CLK/REF_CLK input, the resonant frequency should be approximately 25 MHz. Figure 31 shows the recommended circuit configuration. The internal oscillator works with fundamental mode crystals only. Crystal operation is enabled by a Logic 1 (1.8 V logic required) on the XTAL_SEL pin. SINGLE-ENDED SOURCE, SINGLE-ENDED INPUT Figure 32. Direct Connection Diagram Phase-Locked Loop (PLL) Multiplier An internal phase-locked loop (PLL) provides the option to use a reference clock frequency that is significantly lower than the system clock frequency. The PLL supports a wide range of programmable frequency multiplication factors (12x to 127x) Rev. D | Page 25 of 64 AD9910 Data Sheet as well as a programmable charge pump current and external loop filter components (connected via the PLL_LOOP_FILTER pin). These features add an extra layer of flexibility to the PLL, allowing optimization of phase noise performance and flexibility in frequency plan development. The PLL is also equipped with a PLL_LOCK pin. Figure 34 shows the boundaries of the VCO frequency ranges over the full range of temperature and supply voltage variation for an individual device selected from the population. Figure 34 shows that the VCO frequency ranges for a single device always overlap when operated over the full range of conditions. If a user wants to retain a single default value for CFR3[26:24], a frequency that falls into one of the ranges found in Figure 33 should be selected. Additionally, for any given individual device, the VCO frequency ranges overlap, meaning that any given device exhibits no gaps in its frequency coverage across VCO ranges over the full range of conditions. fLOW = 920 fHIGH = 1030 VCO5 395 335 fLOW = 400 fHIGH = 460 495 595 695 (MHz) 795 895 435 535 635 06479-060 735 835 (MHz) 935 1035 1135 Figure 34. Typical VCO Ranges Table 8. VCO Range Bit Settings VCO SEL Bits (CFR3[26:24]) 000 001 010 011 100 101 110 111 VCO Range VCO0 VCO1 VCO2 VCO3 VCO4 VCO5 PLL bypassed PLL bypassed PLL Charge Pump The charge pump current (ICP) is programmable to provide the user with additional flexibility to optimize the PLL performance. Table 9 lists the bit settings vs. the nominal charge pump current. Table 9. PLL Charge Pump Current ICP Bits (CFR3[21:19]) 000 001 010 011 100 101 110 111 06479-059 VCO0 fLOW = 370 fHIGH = 510 VCO0 fLOW = 455 fHIGH = 530 VCO1 fLOW = 420 fHIGH = 590 VCO1 fLOW = 530 fHIGH = 615 VCO2 fLOW = 500 fHIGH = 700 VCO2 fLOW = 650 fHIGH = 790 VCO3 fLOW = 600 fHIGH = 880 VCO3 fLOW = 760 fHIGH = 875 VCO4 fLOW = 700 fHIGH = 950 VCO4 The PLL output frequency range (fSYSCLK) is constrained to the range of 420 MHz fSYSCLK 1 GHz by the internal VCO. In addition, the user must program the VCO to one of six operating ranges such that fSYSCLK falls within the specified range. Figure 33 and Figure 34 summarize these VCO ranges. Figure 33 shows the boundaries of the VCO frequency ranges over the full range of temperature and supply voltage variation for all devices from the available population. The implication is that multiple devices chosen at random from the population and operated under widely varying conditions may require different values to be programmed into CFR3[26:24] to operate at the same frequency. For example, Part A chosen randomly from the population, operating at an ambient temperature of -10C with a system clock frequency of 900 MHz may require CFR3[26:24] to be set to 100b, whereas Part B chosen randomly from the population, operating at an ambient temperature of 90C with a system clock frequency of 900 MHz may require CFR3[26:24] to be set to 101b. If a frequency plan is chosen such that the system clock frequency operates within one set of boundaries (as shown in Figure 33), the required value in CFR3[26:24] is consistent from part to part. fLOW = 820 fHIGH = 1150 VCO5 995 Figure 33. VCO Ranges Including Atypical Wafer Process Skew Rev. D | Page 26 of 64 Charge Pump Current, ICP (A) 212 237 262 287 312 337 363 387 Data Sheet AD9910 External PLL Loop Filter Components PLL LOCK INDICATION The PLL_LOOP_FILTER pin provides a connection interface to attach the external loop filter components. The ability to use custom loop filter components gives the user more flexibility to optimize the PLL performance. The PLL and external loop filter components are shown in Figure 35. When the PLL is in use, the PLL_LOCK pin provides an active high indication that the PLL has locked to the REFCLK input signal. Note that the PLL_LOCK pin is a latched output. When the PLL is bypassed, the pin may remain at Logic 1. The PLL_LOCK pin can be cleared by setting the PFD reset bit. The PFD reset bit must be cleared for normal operation. AVDD OUTPUT SHIFT KEYING (OSK) C1 The OSK function (see Figure 36) allows the user to control the output signal amplitude of the DDS. Both a manual and an automatic mode are available under program control. The amplitude data generated by the OSK block has priority over any other functional block that is programmed to deliver amplitude data to the DDS. Therefore, the OSK data source, when enabled, overrides all other amplitude data sources. C2 R1 PLL_LOOP_FILTER 2 REFCLK PLL PLL IN PFD CP VCO PLL OUT OSK 06479-016 60 OSK ENABLE Figure 35. REFCLK PLL External Loop Filter In the prevailing literature, this configuration yields a thirdorder, Type II PLL. To calculate the loop filter component values, begin with the feedback divider value (N), the gain of the phase detector (KD), and the gain of the VCO (KV) based on the programmed VCO SEL bit settings (see Table 1 for KV). The loop filter component values depend on the desired open-loop bandwidth (fOL) and phase margin (), as follows: NfOL 1 1 + R1 = K D KV sin( ) (4) K D K V tan( ) 2N (fOL ) 2 (5) C1 = K D K V 1 - sin( ) C2 = N (2fOL )2 cos( ) AUTO OSK ENABLE MANUAL OSK EXTERNAL LOAD ARR AT I/O_UPDATE AMPLITUDE RAMP RATE (ASF[31:16]) 16 AMPLITUDE SCALE FACTOR (ASF[15:2]) 14 AMPLITUDE STEP SIZE (ASF[1:0]) OSK CONTROLLER where: KD is equal to the programmed value of ICP. KV is taken from Table 1. Ensure that proper units are used for the variables in Equation 4 through Equation 6. ICP must be in amps, not microamps (A) as appears in Table 9; KV must be in hertz per volts (Hz/V), not megahertz per volts (MHz/V) as listed in Table 1; the loop bandwidth (fOL) must be in hertz (Hz); the phase margin () must be in radians. For example, suppose the PLL is programmed such that ICP = 287 A, KV = 625 MHz/V, and N = 25. If the desired loop bandwidth and phase margin are 50 kHz and 45, respectively, then the loop filter component values are R1 = 52.85 , C1 = 145.4 nF, and C2 = 30.11 nF. TO DDS AMPLITUDE CONTROL PARAMETER 2 DDS CLOCK (6) 14 06479-017 /N Figure 36. OSK Block Diagram The operation of the OSK function is governed by two CFR1 register bits (OSK enable and select auto OSK), the external OSK pin, and the entire 32 bits of the ASF register. The primary control for the OSK block is the OSK Enable bit. When the OSK function is disabled, the OSK input controls are ignored and the internal clocks shut down. When the OSK function is enabled, automatic or manual operation is selected using the select auto OSK bit. A Logic 0 indicates manual mode (default). Manual OSK In manual mode, output amplitude is varied by successive write operations to the amplitude scale factor portion of the ASF register. The rate at which amplitude changes can be applied to the output signal is limited by the speed of the serial I/O port. In manual mode, the OSK pin functionality depends on the state of the manual OSK external control bit. When the OSK pin is Logic 0, the output amplitude is forced to 0; otherwise, the output amplitude is set by the amplitude scale factor value. Rev. D | Page 27 of 64 AD9910 Data Sheet Automatic OSK Table 10. OSK Amplitude Step Size In automatic mode, the OSK function automatically generates a linear amplitude vs. time profile (or amplitude ramp). The amplitude ramp is controlled via three parameters: the maximum amplitude scale factor, the amplitude step size, and the time interval between steps. The amplitude ramp parameters reside in the 32-bit ASF register and are programmed via the serial I/O port. The time interval between amplitude steps is set via the 16-bit amplitude ramp rate portion of the ASF register (Bits[31:16]). The maximum amplitude scale factor is set via the 14-bit amplitude scale factor in the ASF register (Bits[15:2]). The amplitude step size is set via the 2-bit amplitude step size portion of the ASF register (Bits[1:0]). Additionally, the direction of the ramp (positive or negative slope) is controlled by the external OSK pin. Amplitude Step Size Bits (ASF[1:0]) 00 01 10 11 The step interval is controlled by a 16-bit programmable timer that is clocked at a rate of 1/4 fSYSCLK. The period of the timer sets the time interval between amplitude steps. The step time interval (t) is given by As mentioned previously, a 16-bit programmable timer controls the step interval. Normally, this timer is loaded with the programmed timing value whenever the timer expires, initiating a new timing cycle. However, there are three events that can cause reloading of the timer to have its timing value reloaded prior to the timer expiring. One such event occurs when the select auto OSK bit transitions from cleared to set, followed by an I/O update. A second such event is a change of state in the OSK pin. The third is dependent on the status of the load ARR @ I/O update bit. If this bit is cleared, then no action occurs; otherwise, when the I/O_UPDATE pin is asserted (or a profile change occurs), the timer is reset to its initial starting point. DIGITAL RAMP GENERATOR (DRG) DRG Overview The output of the OSK function is a 14-bit unsigned data bus that controls the amplitude parameter of the DDS (as long as the OSK enable bit is set). When the OSK pin is set, the OSK output value starts at 0 (zero) and increments by the programmed amplitude step size until it reaches the programmed maximum amplitude value. When the OSK pin is cleared, the OSK output starts at its present value and decrements by the programmed amplitude step size until it reaches 0 (zero). The OSK output does not necessarily attain the maximum amplitude value if the OSK pin is switched to Logic 0 before the maximum value is reached. Nor does the OSK output necessarily reach a value of 0 if the OSK pin is switched to Logic 1 before the 0 value is reached. The OSK output is initialized to 0 (zero) at power-up and reset whenever the OSK enable bit or the select auto OSK bit is cleared. DRHOLD where M is the 16-bit number stored in the amplitude ramp rate (ARR) portion of the ASF register. For example, if fSYSCLK = 750 MHz and M = 23218 (0x5AB2), then t 123.8293 s. To sweep phase, frequency, or amplitude from a defined start point to a defined endpoint, a completely digital, digital ramp generator is included in the AD9910. The DRG makes use of nine control register bits, three external pins, two 64-bit registers, and one 32-bit register (see Figure 37). DROVER f SYSCLK DRCTL t = 4M Amplitude Step Size 1 2 4 8 62 61 63 DIGITAL RAMP ENABLE 2 DIGITAL RAMP DESTINATION 2 DIGITAL RAMP NO-DWELL DROVER PIN ACTIVE LOAD LRR AT I/O_UPDATE DIGITAL RAMP GENERATOR CLEAR DIGITAL RAMP ACCUMULATOR AUTOCLEAR DIGITAL RAMP ACCUMULATOR 32 TO DDS SIGNAL CONTROL PARAMETER 64 DIGITAL RAMP LIMIT REGISTER DIGITAL RAMP STEP REGISTER 64 32 DIGITAL RAMP RATE REGISTER Rev. D | Page 28 of 64 DDS CLOCK Figure 37. Digital Ramp Block Diagram 06479-018 The amplitude step size of the OSK output is set by the amplitude step size bits in the ASF register according to Table 10. The step size refers to the LSB weight of the 14-bit OSK output. Regardless of the programmed step size, the OSK output does not exceed the maximum amplitude value programmed into the ASF register. Data Sheet AD9910 The primary control for the DRG is the digital ramp enable bit. When disabled, the other DRG input controls are ignored and the internal clocks are shut down to conserve power. The ramp characteristics of the DRG are fully programmable. This includes the upper and lower ramp limits, and independent control of the step size and step rate for both the positive and negative slope characteristics of the ramp. A detailed block diagram of the DRG is shown in Figure 38. The output of the DRG is a 32-bit unsigned data bus that can be routed to any one of the three DDS signal control parameters, as controlled by the two digital ramp destination bits in Control Function Register 2 according to Table 11. The 32-bit output bus is MSB-aligned with the 32-bit frequency parameter, the 16-bit phase parameter, or the 14-bit amplitude parameter, as defined by the destination bits. When the destination is phase or amplitude, the unused LSBs are ignored. The direction of the ramping function is controlled by the DRCTL pin. A Logic 0 on this pin causes the DRG to ramp with a negative slope, whereas a Logic 1 causes the DRG to ramp with a positive slope. The DRG also supports a hold feature controlled via the DRHOLD pin. When this pin is set to Logic 1, the DRG is stalled at its last state; otherwise, the DRG operates normally. Table 11. Digital Ramp Destination Digital Ramp Destination Bits (CFR2[21:20]) 00 01 1x1 The DDS signal control parameters that are not the destination of the DRG are taken from the active profile. Bits Assigned to DDS Parameter 31:0 31:16 31:18 x = Don't care. 32 DECREMENT STEP SIZE 32 INCREMENT STEP SIZE DIGITAL RAMP ACCUMULATOR 0 32 32 1 32 32 D Q DRCTL 62 R 16 NEGATIVE SLOPE RATE 16 POSITIVE SLOPE RATE LOAD LRR AT I/O_UPDATE 0 32 32 UPPER LIMIT LOWER LIMIT TO DDS SIGNAL CONTROL PARAMETER 16 1 LOAD CONTROL LOGIC DRHOLD 63 DDS CLOCK LIMIT CONTROL PRESET LOAD ACCUMULATOR RESET CONTROL LOGIC Q DIGITAL RAMP TIMER Figure 38. Digital Ramp Generator Detail Rev. D | Page 29 of 64 NO-DWELL CONTROL 2 NO DWELL CLEAR DIGITAL RAMP ACCUMULATOR . ACC AUTOCLEAR DIGITAL RAMP 06479-019 1 DDS Signal Control Parameter Frequency Phase Amplitude AD9910 Data Sheet DRG Slope Control The core of the DRG is a 32-bit accumulator clocked by a programmable timer. The time base for the timer is the DDS clock, which operates at 1/4 fSYSCLK. The timer establishes the interval between successive updates of the accumulator. The positive (+t) and negative (-t) slope step intervals are independently programmable as given by + t = - t = 4P DRG Limit Control f SYSCLK 4N f SYSCLK where P and N are the two 16-bit values stored in the 32-bit digital ramp rate register and control the step interval. N defines the step interval of the negative slope portion of the ramp. P defines the step interval of the positive slope portion of the ramp. The step size of the positive (STEPP) and negative (STEPN) slope portions of the ramp are 32-bit values programmed into the 64-bit digital ramp step size register. Program each of the step sizes as an unsigned integer (the hardware automatically interprets STEPN as a negative value). The relationship between the 32-bit step size values and actual units of frequency, phase, or amplitude depend on the digital ramp destination bits. Calculate the actual frequency, phase, or amplitude step size by substituting STEPN or STEPP for M in the following equations as required: M Frequency Step = 32 f SYSCLK 2 Phase Step = Phase Step = M 231 45M 229 As described previously, the step interval is controlled by a 16-bit programmable timer. There are three events that can cause this timer to be reloaded prior to its expiration. One event occurs when the digital ramp enable bit transitions from cleared to set, followed by an I/O update. A second event is a change of state in the DRCTL pin. The third event is enabled using the load LRR @ I/O update bit (see the Register Map and Bit Descriptions section for details). (radians) (degrees) M Amplitude Step = 32 I FS 2 Note that the frequency units are the same as those used to represent fSYSCLK (MHz, for example). The amplitude units are the same as those used to represent IFS, the full-scale output current of the DAC (mA, for example). The phase and amplitude step size equations yield the average step size. Although the step size accumulates with 32-bit precision, the phase or amplitude destination exhibits only 16 or 14 bits, respectively. Therefore, at the destination, the actual phase or amplitude step is the accumulated 32-bit value truncated to 16 or 14 bits, respectively. The ramp accumulator is followed by limit control logic that enforces an upper and lower boundary on the output of the ramp generator. Under no circumstances does the output of the DRG exceed the programmed limit values while the DRG is enabled. The limits are set through the 64-bit digital ramp limit register. Note that the upper limit value must be greater than the lower limit value to ensure normal operation. DRG Accumulator Clear The ramp accumulator can be cleared (that is, reset to 0) under program control. When the ramp accumulator is cleared, it forces the DRG output to the lower limit programmed into the digital ramp limit register. With the limit control block embedded in the feedback path of the accumulator, resetting the accumulator is equivalent to presetting it to the lower limit value. Normal Ramp Generation Normal ramp generation implies that both no-dwell bits are cleared (see the No-Dwell Ramp Generation section for details). In Figure 39, a sample ramp waveform is depicted with the required control signals. The top trace is the DRG output. The next trace down is the status of the DROVER output pin (assuming that the DROVER pin active bit is set). The remaining traces are control bits and control pins. The pertinent ramp parameters are also identified (upper and lower limits plus step size and t for the positive and negative slopes). Along the bottom, circled numbers identify specific events. These events are referred to by number (Event 1 and so on) in the following paragraphs. In this particular example, the positive and negative slopes of the ramp are different to demonstrate the flexibility of the DRG. The parameters of both slopes can be programmed to make the positive and negative slopes the same. Rev. D | Page 30 of 64 Data Sheet AD9910 P DDS CLOCK CYCLES N DDS CLOCK CYCLES 1 DDS CLOCK CYCLE NEGATIVE STEP SIZE +t POSITIVE STEP SIZE -t UPPER LIMIT DRG OUTPUT LOWER LIMIT DROVER DRHOLD AUTO CLEAR CLEAR DRCTL RELEASE DIGITAL RAMP ENABLE CLEAR DIGITAL RAMP ACCUMULATOR AUTOCLEAR DIGITAL RAMP ACCUMULATOR I/O_UPDATE 2 3 4 5 6 7 8 9 11 10 13 12 06479-020 1 Figure 39. Normal Ramp Generation Event 1--The digital ramp enable bit is set, which has no effect on the DRG output because the bit is not effective until an I/O update. Event 2--An I/O update registers the enable bit. If DRCTL = 1 is in effect at this time (the gray portion of the DRCTL trace), then the DRG output immediately begins a positive slope (the gray portion of the DRG output trace). Otherwise, if DRCTL = 0, the DRG output is initialized to the lower limit. Event 3--DRCTL transitions to a Logic 1 to initiate a positive slope at the DRG output. In this example, the DRCTL pin is held long enough to cause the DRG to reach its programmed upper limit. The DRG remains at the upper limit until the ramp accumulator is cleared, DRCTL = 0, or the upper limit is reprogrammed to a higher value. In the last case, the DRG immediately resumes its previous positive slope profile. Event 4--DRCTL transitions to a Logic 0 to initiate a negative slope at the DRG output. In this example, the DRCTL pin is held long enough to cause the DRG to reach its programmed lower limit. The DRG remains at the lower limit until DRCTL = 1, or until the lower limit is reprogrammed to a lower value. In the latter case, the DRG immediately resumes its previous negative slope profile. Event 5--DRCTL transitions to a Logic 1 for the second time, initiating a second positive slope. Event 6--The positive slope profile is interrupted by DRHOLD transitioning to a Logic 1. This stalls the ramp accumulator and freezes the DRG output at its last value. Event 7--DRHOLD transitions to a Logic 0, releasing the ramp accumulator and reinstating the previous positive slope profile. Event 8--The clear digital ramp accumulator bit is set, which has no effect on the DRG because the bit is not effective until an I/O update is issued. Event 9--An I/O update registers that the clear digital ramp accumulator bit is set, resetting the ramp accumulator and forcing the DRG output to the programmed lower limit. The DRG output remains at the lower limit until the clear condition is removed. Event 10--The clear digital ramp accumulator bit is cleared, which has no effect on the DRG output because the bit is not effective until an I/O update is issued. Event 11--An I/O update registers that the clear digital ramp accumulator bit is cleared, releasing the ramp accumulator, and the previous positive slope profile restarts. Event 12--The autoclear digital ramp accumulator bit is set, which has no effect on the DRG output because the bit is not effective until an I/O update is issued. Event 13--An I/O update registers that the autoclear digital ramp accumulator bit is set, resetting the ramp accumulator. However, with an automatic clear, the ramp accumulator is only held reset for a single DDS clock cycle. This forces the DRG output to the lower limit, but the ramp accumulator is immediately made available for normal operation. In this example, the DRCTL pin remains a Logic 1; therefore, the DRG output restarts the previous positive ramp profile. Rev. D | Page 31 of 64 AD9910 Data Sheet No-Dwell Ramp Generation P DDS CLOCK CYCLES During no-dwell operation, the DRCTL pin is monitored for state transitions only; that is, the static logic level is immaterial. During no-dwell high operation, a positive transition of the DRCTL pin initiates a positive slope ramp, which continues uninterrupted (regardless of any further activity on the DRCTL pin) until the upper limit is reached. POSITIVE STEP SIZE +t UPPER LIMIT DRG OUTPUT LOWER LIMIT DROVER DRCTL 1 2 3 4 5 6 7 8 06479-021 The two no-dwell bits in Control Function Register 2 add to the flexibility of the DRG capabilities. During normal ramp generation, when the DRG output reaches the programmed upper or lower limit, it simply remains at the limit until the operating parameters dictate otherwise. However, during no-dwell operation, the DRG output does not necessarily remain at the limit. For example, if the digital ramp no-dwell high bit is set when the DRG reaches the upper limit, it automatically (and immediately) snaps to the lower limit (that is, it does not ramp back to the lower limit; it jumps to the lower limit). Likewise, when the digital ramp no-dwell low bit is set, and the DRG reaches the lower limit, it automatically (and immediately) snaps to the upper limit. Figure 40. No-Dwell High Ramp Generation The circled numbers in Figure 40 indicate specific events, which are explained as follows: Event 1--Indicates the instant that an I/O update registers that the digital ramp enable bit has been set. Event 2--DRCTL transitions to a Logic 1, initiating a positive slope at the DRG output. During no-dwell low operation, a negative transition of the DRCTL pin initiates a negative slope ramp, which continues uninterrupted (regardless of any further activity on the DRCTL pin) until the lower limit is reached. Setting both no-dwell bits invokes a continuous ramping mode of operation; that is, the DRG output automatically oscillates between the two limits using the programmed slope parameters. Furthermore, the function of the DRCTL pin is slightly different. Instead of controlling the initiation of the ramp sequence, it only serves to change the direction of the ramp; that is, if the DRG output is in the midst of a positive slope and the DRCTL pin transitions from Logic 1 to Logic 0, then the DRG immediately switches to the negative slope parameters and resumes oscillation between the limits. Likewise, if the DRG output is in the midst of a negative slope and the DRCTL pin transitions from Logic 0 to Logic 1, the DRG immediately switches to the positive slope parameters and resumes oscillation between the limits. When both no-dwell bits are set, the DROVER signal produces a positive pulse (two cycles of the DDS clock) each time the DRG output reaches either of the programmed limits (assuming that the DROVER pin active bit is set). A no-dwell high DRG output waveform is shown in Figure 40. The waveform diagram assumes that the digital ramp no-dwell high bit is set and has been registered by an I/O update. The status of the DROVER pin is also shown with the assumption that the DROVER pin active bit has been set. Event 3--DRCTL transition to a Logic 0, which has no effect on the DRG output. Event 4--Because the digital ramp no-dwell high bit is set, the moment that the DRG output reaches the upper limit, it immediately switches to the lower limit, where it remains until the next Logic 0 to Logic 1 transition of DRCTL. Event 5--DRCTL transitions from Logic 0 to Logic 1, which restarts a positive slope ramp. Event 6 and Event 7--DRCTL transitions are ignored until the DRG output reaches the programmed upper limit. Event 8--Because the digital ramp no-dwell high bit is set, the moment that the DRG output reaches the upper limit, it immediately switches to the lower limit, where it remains until the next Logic 0 to Logic 1 transition of DRCTL. Operation with the digital ramp no-dwell low bit set (instead of the digital ramp no-dwell high bit) is similar, except that the DRG output ramps in the negative direction on a Logic 1 to Logic 0 transition of DRCTL and jumps to the upper limit upon reaching the lower limit. DROVER Pin The DROVER pin provides an external signal to indicate the status of the DRG. Specifically, when the DRG output is at either of the programmed limits, the DROVER pin is Logic 1; otherwise, it is Logic 0. In the special case of both no-dwell bits set, the DROVER pin pulses positive for two DDS clock cycles each time the DRG output reaches either of the programmed limits. Rev. D | Page 32 of 64 Data Sheet AD9910 3. Write to (or read from) the RAM (Address 0x16) the appropriate number of RAM words as specified by the selected RAM profile control register (see the Serial Programming section for details). Figure 41 is a block diagram showing the functional components used for RAM data load/retrieve operation. RAM Overview 10 WAVEFORM START ADDRESS 10 WAVEFORM END ADDRESS RAM operations are enabled by setting the RAM enable bit in Control Function Register 1; an I/O update (or a profile change) is necessary to enact any change to the state of this bit. Waveforms are generated using eight RAM profile control registers that are accessed via the three profile pins. Each profile contains the following: * * * * * * UP/DOWN COUNTER 2 STATE MACHINE U/D Q SDIO RAM 32 SERIAL I/O PORT SCLK I/O_RESET CS ADDRESS CLOCK The RAM profiles are completely independent; it is possible to define overlapping address ranges. Doing so causes data that has been written to overlapped address locations to be overwritten by the most recent write operation. Each profile defines the number of samples and the sample rate for a given waveform. In conjunction with an internal state machine, the RAM contents are delivered to the appropriate DDS signal control parameter(s) at the specified rate. Furthermore, the state machine can control the order in which samples are extracted from RAM (forward/reverse), facilitating efficient generation of time symmetric waveforms. Load/Retrieve RAM Operation It is strongly recommended that RAM enable = 0 when performing RAM load/retrieve operations. Loading or retrieving the contents of the RAM requires a three-step process. 2. PROFILE Figure 41. RAM Data Load/Retrieve Operation 10-bit waveform start address word 10-bit waveform end address word 16-bit address step rate control word 3-bit RAM mode control word No-dwell high bit Zero-crossing bit The user must ensure that the end address is greater than the start address. 1. 3 PROGRAMMING REGISTERS 06479-022 Depending on the specific playback mode, the user can partition the RAM with up to eight independent time domain waveforms. These waveforms drive the DDS signal control parameters, allowing for frequency, phase, amplitude, or polar modulated signals. During RAM load/retrieve operations, the state machine controls an up/down counter to step through the required RAM locations. The counter synchronizes with the serial I/O port so that the serial/parallel conversion of the 32-bit words is correctly timed with the generation of the appropriate RAM address to properly execute the desired read or write operation. DATA The AD9910 makes use of a 1024 x 32-bit RAM. The RAM has two fundamental modes of operation: data load/retrieve mode and playback mode. Data load/retrieve mode is active when the RAM data is being loaded or read back via the serial I/O port. Playback mode is active when the RAM enable contents are routed to one of the internal data destinations. ADDRESS RAM CONTROL Program the RAM Profile 0 through RAM Profile 7 control registers with the start and end addresses that are to define the boundaries of each independent waveform. Drive the appropriate logic levels on the profile pins to select the desired RAM profile. Multiple waveforms can be loaded into RAM by treating them as a single waveform, that is, a time-domain concatenation of all the waveforms. This is done by programming one of the RAM profiles with a start and end address spanning the entire range of the concatenated waveforms. Then the single concatenated waveform is written into RAM via the serial I/O port using the same RAM profile that was programmed with the start and end addresses. The RAM profiles must then be programmed with the proper start and end addresses associated with each individual waveform. RAM Playback Operation (Waveform Generation) When the RAM has been loaded with the desired waveform data, it can then be used for waveform generation during play back. RAM playback requires that RAM enable = 1. To play back RAM data, select the desired waveform using the PROFILE[2:0] pins. The selected profile directs the internal state machine by defining the RAM address range occupied by the waveform, the rate at which samples are to be extracted from the RAM (playback rate), the mode of operation, and whether to use the no-dwell feature. Figure 42 is a block diagram showing the functional components used for RAM playback operation. Rev. D | Page 33 of 64 AD9910 Data Sheet WAVEFORM START ADDRESS WAVEFORM END ADDRESS ADDRESS RAMP RATE RAM MODE NO DWELL 3 10 UP/DOWN COUNTER U/D Q 10 RAM_SWP_OVR (RAM Sweep Over) Pin RAM 32 The RAM_SWP_OVR pin provides an active high external signal that indicates the end of a playback sequence. The operation of this pin varies with the RAM operating mode as detailed in the following sections. When RAM enable = 0, this pin is forced to a Logic 0. TO DDS SIGNAL CONTROL PARAMETER 06479-023 STATE MACHINE 3 PROFILE DATA 2 ADDRESS 16 10 RAM PROFILE REGISTERS The RAM playback destination bits affect specific DDS signal control parameters. The parameters that are not affected by the RAM playback destination bits are controlled by the FTW, POW, and/or ASF registers. DDS CLOCK Figure 42. RAM Playback Operation Overview of RAM Playback Modes During playback, the state machine uses an up/down counter to step through the specified address locations. The clock rate of this counter defines the playback rate, that is, the sample rate of the generated waveform. The clocking of the counter is controlled by a 16-bit programmable timer that is internal to the state machine. This timer is clocked by the DDS clock, and its time interval is set by the 16-bit address step rate value stored in the selected RAM profile register. The address step rate value determines the playback rate. For example, if M is the 16-bit value of the address step rate for a specific RAM profile, then the playback rate for that profile is given by f f Playback Rate = DDSCLOCK = SYSCLK 4M M * * * * * Direct switch Ramp-up Bidirectional ramp Continuous bidirectional ramp Continuous recirculate The mode is selected via the 3-bit RAM mode control word located in each of the RAM profile registers. Thus, the RAM operating mode is profile dependent. The RAM profile mode control bits are detailed in Table 13. Table 13. RAM Operating Modes RAM Profile Mode Control Bits 000, 101, 110, 111 001 010 011 100 The sample interval (t) associated with the playback rate is therefore given by t = The RAM can operate in any one of five different playback modes. 1 4M = Playback Rate f SYSCLK RAM data entry/retrieval via the I/O port takes precedence over playback operation. An I/O operation targeting the RAM during playback interrupts any waveform in progress. RAM Operating Mode Direct switch Ramp-up Bidirectional ramp Continuous bidirectional ramp Continuous recirculate RAM Direct Switch Mode The 32-bit words output by the RAM during playback route to the DDS signal control parameters according to two RAM playback destination bits in Control Function Register 1. The 32-bit words are partitioned based on Table 12. In direct switch mode, the RAM is not used as a waveform generator. Instead, when a RAM profile is selected via the PROFILE[2:0] pins, only a single 32-bit word is routed to the DDS to be applied to the signal control parameter(s). This 32-bit word is the data stored in the RAM at the location given by the 10-bit waveform start address of the selected profile. Table 12. RAM Playback Destination In direct switch mode, the RAM_SWP_OVR pin is always Logic 0, and the no-dwell high bit is ignored. RAM Playback Destination Bits CFR1[30:29] 00 01 10 11 DDS Signal Control Parameter Frequency Phase Amplitude Polar (phase and amplitude) Bits Assigned to DDS Parameters 31:0 31:16 31:18 31:16 (phase) 15:2 (amplitude) When the destination is phase, amplitude, or polar, the unused LSBs are ignored. Direct switch mode enables up to eight-level FSK, PSK, or ASK modulation; the type of modulation is determined by the RAM playback destination bits (frequency for FSK and so on). Each RAM profile is associated with a specific value of frequency, phase, or amplitude. Each unique waveform start address value in each RAM profile allows access of the 32-bit word stored in that particular RAM location. In this way, the profile pins implement the shift-keying function, modulating the DDS output as desired. Rev. D | Page 34 of 64 Data Sheet AD9910 RAM Direct Switch Mode with Zero Crossing The zero-crossing function (enabled with the zero-crossing bit) is a special feature that is only available in RAM direct switch mode. The zero-crossing function is only valid if the RAM playback destination bits specify phase as the DDS signal control parameter. Ramp-Up Timing Diagram A graphic representation of the ramp-up mode appears in Figure 43, showing both normal and no-dwell operation. The two upper traces show the progression of the RAM address from the waveform start address to the waveform end address for the selected profile. The address value advances by one with each timeout of the timer internal to the state machine. The timer period (t) is determined by the address ramp rate value for the selected profile. The two upper traces are differentiated by the state of the no-dwell high bit. M DDS CLOCK CYCLES Enabling zero-crossing causes the DDS to delay the application of a new phase value until such time as the DDS phase accumulator rolls over from full scale to 0 (the point at which the DDS phase accumulator represents a phase angle that is at the 360 to 0 transition point). This can be a very beneficial feature when the DDS is programmed to generate a sine wave (using the select DDS sine output bit) because the zero-crossing point of phase for a sine wave corresponds with the zero-crossing point of amplitude. In the case of binary phase shift keying (BPSK), the zerocrossing feature allows the AD9910 to perform the 180 phase jumps associated with BPSK with only a minimal instantaneous change in amplitude. This avoids the spectral splatter that frequently accompanies BPSK modulation. t WAVEFORM END ADDRESS RAM ADDRESS WAVEFORM START ADDRESS WAVEFORM END ADDRESS RAM ADDRESS RAM Ramp-Up Mode In ramp-up mode, upon assertion of an I/O update or a change of profile, the RAM begins operating as a waveform generator using the parameters programmed into the selected RAM profile register. Data is extracted from RAM over the specified address range and at the specified rate contained in the waveform start address, waveform end address, and address ramp rate values of the selected RAM profile. The data is delivered to the specified DDS signal control parameter(s) based on the RAM playback destination bits. The internal state machine begins extracting data from the RAM at the waveform start address and continues to extract data until it reaches the waveform end address. Upon reaching this address, it either remains at the waveform end address or returns to the waveform start address as defined by the no-dwell high bit. Then the state machine halts, and the RAM_SWP_OVR pin goes high. NO-DWELL HIGH = 1 1 WAVEFORM START ADDRESS RAM_SWP_OVER I/O_UPDATE 1 Although the intent of the zero-crossing feature is for use with the DDS sine output enabled, it can be used with a cosine output. In this case, the phase values extracted from RAM are registered at the DDS when the output amplitude is at its peak positive value. NO-DWELL HIGH = 0 1 2 3 06479-024 Note that two-level modulation can be accomplished by using only one of the three profile pins to toggle between two different parameter values. Likewise, four-level modulation can be accomplished by using only two of the three profile pins. There is no restriction on which profile pins are used. Figure 43. Ramp-Up Timing Diagram The circled numbers in Figure 43 indicate specific events, explained as follows: Event 1--An I/O update or profile change occurs. This event initializes the state machine to the waveform start address and sets the RAM_SWP_OVR pin to Logic 0. Event 2--The state machine reaches the waveform end address value for the selected profile. The RAM_SWP_OVR pin switches to Logic 1. This marks the end of the waveform generation sequence for normal operation. Event 3--The state machine switches to the waveform start address. This marks the end of the waveform generation sequence for no-dwell operation. Changing profiles resets the RAM_SWP_OVR pin to Logic 0, automatically terminates the current waveform, and initiates the newly selected waveform. Rev. D | Page 35 of 64 AD9910 Data Sheet RAM Ramp-Up Internal Profile Control Mode Table 14. RAM Internal Profile Control Modes Internal Profile Control Bits (CFR1[20:17]) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Waveform Type Internal Profile Control Description Internal profile control disabled. Execute Profile 0, then Profile 1, then halt. Execute Profile 0 to Profile 2, then halt. Execute Profile 0 to Profile 3, then halt. Execute Profile 0 to Profile 4, then halt. Execute Profile 0 to Profile 5, then halt. Execute Profile 0 to Profile 6, then halt. Execute Profile 0 to Profile 7, then halt. Execute Profile 0, then Profile 1, continuously. Execute Profile 0 to Profile 2, continuously. Execute Profile 0 to Profile 3, continuously. Execute Profile 0 to Profile 4, continuously. Execute Profile 0 to Profile 5, continuously. Execute Profile 0 to Profile 6, continuously. Execute Profile 0 to Profile 7, continuously. Invalid. Burst Burst Burst Burst Burst Burst Burst Continuous Continuous Continuous Continuous Continuous Continuous Continuous Ramp up internal profile control mode is invoked via the four internal profile control bits (rather than through the RAM profile mode control bits in the RAM profile registers). If any of the internal profile control bits is set, then the RAM profile mode control bits of the RAM profile registers are ignored. The no-dwell high bit is ignored in this mode. The internal profile control mode is identical to ramp-up mode except that profile switching is done automatically and internally; the state of the PROFILE[2:0] pins is ignored. Profiles cycle according to Table 14. There are two types of waveform generation types available under internal profile control: burst waveforms and continuous waveforms. With both types, the state machine begins with the waveform specified by the waveform start address, waveform end address, and address ramp rate in Profile 0. After reaching the waveform end address of Profile 0, the state machine automatically advances to the next profile and initiates the specified waveform as defined by the new profile parameters. After the state machine reaches the waveform end address of the new profile, it advances to the next profile. This action continues until the state machine reaches the waveform end address of the last profile, as governed by the internal profile control bits in Control Function Register 1 (CFR1) per Table 14. At this point, the next course of action depends on whether the waveform type is burst or continuous. For burst waveforms, the state machine halts operation after reaching the waveform end address of the final profile. For continuous waveforms, the state machine automatically jumps to Profile 0 and continues the automatic waveform generation by sequentially advancing through the profiles. This process continues indefinitely until the internal profile control bits are reprogrammed and an I/O update is asserted. A burst waveform timing diagram is exemplified in Figure 44. The diagram assumes that the internal profile control bits in Register CFR1 are programmed as 0010, the start address in RAM Profile 1 is greater than the end address in RAM Profile 0, and that the start address in RAM Profile 2 is greater than the end address in RAM Profile 1. However, the block of RAM associated with each profile can be chosen arbitrarily based on the waveform start address and waveform end address for each profile. Furthermore, the example shows how different t values associated with each profile can be used. Rev. D | Page 36 of 64 Data Sheet AD9910 RAM PROFILE 0 1 2 WAVEFORM END ADDRESS 2 t2 WAVEFORM START ADDRESS 2 1 t1 WAVEFORM END ADDRESS 1 RAM ADDRESS WAVEFORM START ADDRESS 1 1 WAVEFORM END ADDRESS 0 t0 1 WAVEFORM START ADDRESS 0 RAM_SWP_OVER 1 2 3 4 5 6 7 06479-025 I/O_UPDATE Figure 44. Internal Profile Control Timing Diagram (Burst) The gray bar across the top indicates the time interval over which the designated profile is in effect. The circled numbers indicate specific events as follows: Event 4--The state machine reaches the waveform end address of RAM Profile 1, and the RAM_SWP_OVR pin generates a positive pulse spanning two DDS clock cycles. Event 1--An I/O update registers the internal profile control bits (in Control Function Register 1) as 0010. The RAM_SWP_OVR pin is set to Logic 0. The state machine is initialized to the waveform start address of RAM Profile 0 and begins incrementing through the address range for RAM Profile 0 at intervals of t0 (as specified by the address step rate for RAM Profile 0). Event 5--Having reached the waveform end address of RAM Profile 1, the next expiration of the internal timer causes the state machine to advance to RAM Profile 2. The state machine initializes to the waveform start address of RAM Profile 2 and begins incrementing through the address range for RAM Profile 2 at intervals of t2. Event 2--The state machine reaches the waveform end address of RAM Profile 0, and the RAM_SWP_OVR pin generates a positive pulse spanning two DDS clock cycles. Event 6--The state machine reaches the waveform end address of RAM Profile 2, and the RAM_SWP_OVR pin generates a positive pulse spanning two DDS clock cycles. Event 3--Having reached the waveform end address of RAM Profile 0, the next expiration of the internal timer causes the state machine to advance to RAM Profile 1. The state machine is initialized to the waveform start address of RAM Profile 1 and begins incrementing through the address range for RAM Profile 1 at intervals of t1. Event 7--Having reached the waveform end address of RAM Profile 2, the next expiration of the internal timer causes the state machine to halt and marks completion of the burst waveform generation process. Rev. D | Page 37 of 64 AD9910 Data Sheet 0 RAM PROFILE 1 0 1 1 t1 WAVEFORM END ADDRESS 1 1 WAVEFORM START ADDRESS 1 RAM ADDRESS 0 WAVEFORM END ADDRESS 0 t0 1 WAVEFORM START ADDRESS 0 RAM_SWP_OVER 1 2 3 4 5 6 7 8 9 10 11 06479-026 I/O_UPDATE Figure 45. Internal Profile Control Timing Diagram (Continuous) Internal Profile Control Continuous Waveform Timing Diagram Profile 0 and begins incrementing through the address range for RAM Profile 0 at intervals of t0. An example of an internal profile control continuous waveform timing diagram is shown in Figure 45. The diagram assumes that the internal profile control bits (in Control Function Register 1) are programmed as 1000. It also assumes that the start address in RAM Profile 1 is greater than the end address in RAM Profile 0. Event 5 to Event 11--These events repeat indefinitely until the internal profile control bits are reprogrammed and an I/O update is asserted. The gray bar across the top indicates the time interval over which the designated profile is in effect. The circled numbers indicate specific events. Event 1--An I/O update registers that the internal profile control bits (in Control Function Register 1) are programmed to 1000. The RAM_SWP_OVR pin is set to Logic 0. The state machine is initialized to the waveform start address of RAM Profile 0 and begins incrementing through the address range for RAM Profile 0 at intervals of t0 (as specified by the address step rate for RAM Profile 0). Event 2--The state machine reaches the waveform end address of RAM Profile 0, and the RAM_SWP_OVR pin generates a positive pulse spanning two DDS clock cycles. Event 3--Having reached the waveform end address of RAM Profile 0, the next expiration of the internal timer causes the state machine to advance to RAM Profile 1. The state machine is initialized to the waveform start address of RAM Profile 1 and begins incrementing through the address range for RAM Profile 1 at intervals of t1. Event 4--The state machine reaches the waveform end address of RAM Profile 1, and the RAM_SWP_OVR pin generates a positive pulse spanning two DDS clock cycles. Event 5--Having reached the waveform end address of RAM Profile 1, the next expiration of the internal timer causes the state machine to jump back to RAM Profile 0. The state machine initializes to the waveform start address of RAM RAM Bidirectional Ramp Mode In bidirectional ramp mode, upon assertion of an I/O update, the RAM begins operating as a waveform generator using the parameters programmed only into RAM Profile 0 (unlike ramp up mode, which uses all eight profiles). Data is extracted from RAM over the specified address range and at the specified rate contained in the waveform start address, waveform end address, and address ramp rate values of the selected RAM profile. The data is delivered to the specified DDS signal control parameter(s) based on the RAM playback destination bits. The PROFILE[2:1] pins are ignored by the internal logic in this mode. When a RAM profile programmed to operate in this mode is selected, no other RAM profiles can be selected until the active RAM profile is reprogrammed with a different RAM operating mode. The no-dwell high bit is ignored in this mode. With the bidirectional ramp mode activated via an I/O update or profile change, the internal state machine readies to extract data from the RAM at the waveform start address. Data extraction begins when PROFILE0 is Logic 1, which instructs the state machine to begin incrementing through the address range. As long as the PROFILE0 pin remains Logic 1, the state machine continues to extract data until it reaches the waveform end address. At this point, the state machine halts until the PROFILE0 pin is Logic 0, instructing the state machine to begin decrementing through the address range. As long as the PROFILE0 pin is Logic 0, the state machine continues to extract data until it reaches the waveform start address. At this point, the state machine halts until the PROFILE0 pin is Logic 1. Rev. D | Page 38 of 64 Data Sheet AD9910 M DDS CLOCK CYCLES t WAVEFORM END ADDRESS RAM ADRESS t 1 WAVEFORM START ADDRESS RAM_SWP_OVER PROFILE0 1 2 3 4 5 6 7 8 06479-027 I/O_UPDATE Figure 46. Bidirectional Ramp Timing Diagram If the PROFILE0 pin changes states before the state machine reaches the programmed start or end address, the internal timer is restarted and the direction of the address counter is reversed. Event 6--Pin PROFILE0 switches to Logic 0. The state machine resets its internal timer and again reverses the direction of the RAM address counter. The RAM_SWP_OVR state does not change. Figure 46 is a graphic representation of the bidirectional ramp mode. It shows the action of the state machine in response to the PROFILE0 pin and the response of the RAM_SWP_OVR pin. Event 7--Pin PROFILE0 remains at Logic 0 long enough for the state machine to reach the waveform start address. There is no change in the RAM_SWP_OVR state. The RAM_SWP_OVR pin switches to Logic 1 when the state machine reaches the waveform end address. It remains Logic 1 until the state machine reaches the waveform start address and the PROFILE0 pin transitions from Logic 0 to Logic 1. Event 8--Pin PROFILE0 switches to Logic 1. The state machine resets its internal timer and begins incrementing the RAM address counter. The RAM_SWP_OVR pin switches to Logic 0 because both the waveform start address was reached and the PROFILE0 pin transitioned from Logic 0 to Logic 1. The circled numbers in Figure 46 indicate specific events as follows: RAM Continuous Bidirectional Ramp Mode Event 1--An I/O update or profile change activates the RAM bidirectional ramp mode. The state machine initializes to the waveform start address, and the RAM_SWP_OVR pin is set to Logic 0. Event 2--Pin PROFILE0 switches to Logic 1. The state machine begins incrementing the RAM address counter. Event 3--Pin PROFILE0 remains at Logic 1 long enough for the state machine to reach the waveform end address. The RAM_ SWP_OVR pin switches to Logic 1 accordingly. Event 4--Pin PROFILE0 switches to Logic 0. The state machine begins decrementing the RAM address counter. The RAM_ SWP_OVR pin remains at Logic 1. Event 5--Pin PROFILE0 switches to Logic 1. The state machine resets its internal timer and reverses the direction of the RAM address counter (that is, it starts to increment). There is no change of the RAM_SWP_OVR state because the waveform start address has not yet been reached. In continuous bidirectional ramp mode, upon assertion of an I/O update or a change of profile, the RAM begins operating as a waveform generator using the parameters programmed into the RAM profile designated by the PROFILEx pins. Data is extracted from RAM over the specified address range and at the specified rate contained in the waveform start address, waveform end address, and address ramp rate values of the selected RAM profile. The data is delivered to the specified DDS signal control parameter(s) based on the RAM playback destination bits. The no-dwell high bit is ignored in this mode. With the continuous bidirectional ramp mode activated via an I/O update or profile change, the internal state machine begins extracting data from the RAM at the waveform start address and incrementing the address counter until it reaches the waveform end address. At this point, the state machine automatically reverses the direction of the address counter and begins decrementing through the address range. Whenever one of the terminal addresses is reached, the state machine reverses the address counter; the process continues indefinitely. Rev. D | Page 39 of 64 AD9910 Data Sheet M DDS CLOCK CYCLES RAM ADRESS t t WAVEFORM END ADDRESS 1 WAVEFORM START ADDRESS I/O_UPDATE 2 1 3 06479-028 RAM_SWP_OVER Figure 47. Continuous Bidirectional Ramp Timing Diagram A change in state of the PROFILE pins aborts the current waveform, and the newly selected RAM profile is used to initiate a new waveform. The RAM_SWP_OVR pin switches to Logic 1 when the state machine reaches the waveform end address, then returns to Logic 0 at the waveform start address, toggling each time one of these addresses is reached. A graphic representation of the continuous bidirectional ramp mode is shown in Figure 47. The circled numbers indicate specific events as follows: Event 1--An I/O update or profile change has activated the RAM continuous bidirectional ramp mode. The state machine initializes to the waveform start address. The RAM_SWP_OVR pin resets to Logic 0. The state machine begins incrementing through the specified address range. Event 2--The state machine reaches the waveform end address. The RAM_SWP_OVR pin toggles to Logic 1. Event 3--The state machine reaches the waveform start address. The RAM_SWP_OVR pin toggles to Logic 0. The continuous bidirectional ramp continues indefinitely until the mode is changed. Rev. D | Page 40 of 64 Data Sheet AD9910 M DDS CLOCK CYCLES t WAVEFORM END ADDRESS RAM ADRESS 1 WAVEFORM START ADDRESS RAM_SWP_OVER 1 2 3 4 5 06479-029 I/O_UPDATE Figure 48. Continuous Recirculate Timing Diagram RAM Continuous Recirculate Mode The continuous recirculate mode mimics the ramp-up mode, except that when the state machine reaches the waveform end address, the next timeout of the internal timer causes the state machine to jump to the waveform start address. The waveform repeats until an I/O update or profile change. The no-dwell high bit is ignored in this mode. A profile pin state change aborts the current waveform, and the newly selected RAM profile is used to initiate a new waveform. The RAM_SWP_OVR pin pulses high for two DDS clock cycles when the state machine reaches the waveform end address. Continuous recirculate mode is graphically represented in Figure 48. The circled numbers indicate specific events as follows: Event 1--An I/O update or profile change occurs. This event initializes the state machine to the waveform start address and sets the RAM_SWP_OVR pin to Logic 0. Event 2--The state machine reaches the waveform end address value for the selected profile. The RAM_SWP_OVR pin toggles to Logic 1 for two DDS clock cycles. Event 3--The state machine switches to the waveform start address and continues to increment the address counter. Event 4--The state machine again reaches the waveform end address value for the selected profile, and the RAM_SWP_OVR pin toggles to Logic 1 for two DDS clock cycles. Event 5--The state machine switches to the waveform start address and continues to increment the address counter. Event 4 and Event 5--These events repeat until an I/O update is issued or a change in profile is made. Rev. D | Page 41 of 64 AD9910 Data Sheet ADDITIONAL FEATURES PROFILES The AD9910 supports the use of profiles, which consist of a group of eight registers containing pertinent operating parameters for a particular operating mode. Profiles enable rapid switching between parameter sets. Profile parameters are programmed via the serial I/O port. Once programmed, a specific profile is activated by means of three external pins (PROFILE[2:0]). A particular profile is activated by providing the appropriate logic levels to the profile control pins per Table 15. The profile pins must meet setup and hold times to the rising edge of SYNC_CLK. I/O_UPDATE, SYNC_CLK, AND SYSTEM CLOCK RELATIONSHIPS The I/O_UPDATE pin is used to transfer data from the serial I/O buffer to the active registers in the device. Data in the buffer is inactive. Table 15. Profile Control Pins PROFILE[2:0] 000 001 010 011 100 101 110 111 pin is connected to the serial bit stream. In this way, the logic state of the PROFILE0 pin causes the appropriate mark and space frequencies to be generated in accordance with the binary digits of the bit stream. Active Profile 0 1 2 3 4 5 6 7 SYNC_CLK is a rising edge active signal. It is derived from the system clock and a divide-by-4 frequency divider. SYNC_CLK, which is externally provided, can be used to synchronize external hardware to the AD9910 internal clocks. There are two different parameter sets that the eight profile registers can control depending on the operating mode of the device. When RAM enable = 0, the profile parameters follow the single tone profile format detailed in the Register Map and Bit Descriptions section. When RAM enable = 1, they follow the RAM profile format. As an example of the use of profiles, consider an application for implementing basic two-tone frequency shift keying (FSK). FSK uses the binary data in a serial bit stream to select between two different frequencies: a mark frequency (Logic 1) and a space frequency (Logic 0). To accommodate FSK, the device operates in single tone mode. The Single Tone Profile 0 register is programmed with the appropriate frequency tuning word for a space. The Single Tone Profile 1 register is programmed with the appropriate frequency tuning word for a mark. Then, with the PROFILE1 and PROFILE2 pins tied to Logic 0, the PROFILE0 I/O_UPDATE initiates the start of a buffer transfer. It can be sent synchronously or asynchronously relative to the SYNC_CLK. If the setup time between these signals is met, then constant latency (pipeline) to the DAC output exists. For example, if repetitive changes to phase offset via the SPI port is desired, the latency of those changes to the DAC output is constant; otherwise, a time uncertainty of one SYNC_CLK period is present. By default, the I/O_UPDATE pin is an input that serves as a strobe signal to allow synchronous update of the device operating parameters. A rising edge on I/O_UPDATE initiates transfer of the register contents to the internal workings of the device. Alternatively, the transfer of programmed data from the programming registers to the internal hardware can be accomplished by changing the state of the PROFILE[2:0] pins. The timing diagram shown in Figure 49 depicts when the data in the buffer is transferred to the active registers. SYSCLK A B SYNC_CLK I/O_UPDATE DATA IN I/O BUFFERS N N-1 N N+1 N+1 N+2 THE DEVICE REGISTERS AN I/O UPDATE AT POINT A. THE DATA IS TRANSFERRED FROM THE ASYNCHRONOUSLY LOADED I/O BUFFERS AT POINT B. Figure 49. I/O_UPDATE Transferring Data from I/O Buffer to Active Registers Rev. D | Page 42 of 64 06479-061 DATA IN REGISTERS Data Sheet AD9910 AUTOMATIC I/O UPDATE POWER-DOWN CONTROL The AD9910 offers an option whereby the I/O update function is asserted automatically rather than relying on an external signal supplied by the user. This feature is enabled by setting the internal I/O update active bit in Control Function Register 2 (CFR2). The AD9910 offers the ability to independently power down four specific sections of the device. Power-down functionality applies to the following: When this feature is active, the I/O_UPDATE pin becomes an output pin. It generates an active high pulse each time an internal I/O update occurs. The pulse width is determine by the I/O update rate control bits (CFR2[15:14]). Table 16 approximates the pulse width setting. Table 16. Pulse Width Setting I/O Update Rate Control Bits (CFR2[15:14]) 00 01 10 11 I/O Update Pulse Width 12 SYSCLKs 24 SYSCLKs 48 SYSCLKs 96 SYSCLKs This I/O update strobe can be used to notify an external controller that the device has generated an I/O update internally. The repetition rate of the internal I/O update is programmed via the serial I/O port. There are two parameters that control the repetition rate. The first consists of the two I/O update rate control bits in CFR2. The second is the 32-bit word in the I/O update rate register that sets the range of an internal counter. The I/O update rate control bits establish a divide-by-1, -2, -4, or -8 of a clock signal that runs at 1/4 fSYSCLK. The output of the divider clocks the aforementioned 32-bit internal counter. The repetition rate of the I/O update is given by f I / O _ UPDATE = f SYSCLK 2 A+2 B where: A is the value of the 2-bit word comprising the I/O update rate control bits. B is the value of the 32-bit word stored in the I/O update rate register. * * * * Digital core DAC Auxiliary DAC Input REFCLK clock circuitry A power-down of the digital core disables the ability to update the serial I/O port. However, the digital power-down bit can still be cleared via the serial port to prevent the possibility of a nonrecoverable state. Software power-down is controlled via four independent powerdown bits in Control Function Register 1 (CFR1). Software control requires that the EXT_PWR_DWN pin be forced to a Logic 0 state. In this case, setting the desired power-down bits (via the serial I/O port) powers down the associated functional block, whereas clearing the bits restores the function. Alternatively, all four functions can be simultaneously powered down via external hardware control through the EXT_PWR_DWN pin. When this pin is forced to Logic 1, all four circuit blocks are powered down regardless of the state of the power-down bits; that is, the independent power-down bits in CFR1 are ignored and overridden when EXT_PWR_DWN is Logic 1. Based on the state of the external power-down control bit, the EXT_PWR_DWN pin produces either a full power-down or a fast recovery power-down. The fast recovery power-down mode maintains power to the DAC bias circuitry and the PLL, VCO, and input clock circuitry. Although the fast recovery powerdown does not conserve as much power as the full power-down, it allows the device to awaken very quickly from the powerdown state. The default value of A is 0, and the value of B is 0xFFFF. If B is programmed to 0x0003 or less, the I/O_UPDATE pin no longer pulses but assumes a static Logic 1 state. Rev. D | Page 43 of 64 AD9910 Data Sheet SYNCHRONIZATION OF MULTIPLE DEVICES The function of the synchronization logic in the AD9910 is to force the internal clock generator to a predefined state coincident with an external synchronization signal applied to the SYNC_INx pins. If all devices are forced to the same clock state in synchronization with the same external signal, then the devices are, by definition, synchronized. Figure 50 is a block diagram of the synchronization function. The synchronization logic is divided into two independent blocks: a sync generator and a sync receiver, both of which use the local SYSCLK signal for internal timing. 90 REF_CLK 91 REF_CLK SYNC GENERATOR DELAY REF_CLK INPUT CIRCUITRY SYNC POLARITY SYNC GENERATOR ENABLE SYSCLK 9 SYNC_OUT+ 10 SYNC_OUT- INPUT DELAY AND EDGE DETECTION 7 SYNC_IN+ 8 SYNC_IN- SETUP AND HOLD VALIDATION 12 SYNC_SMP_ERR SYNC RECEIVER DELAY 5 SYNC RECEIVER 4 SYNC SYNC VALIDATION TIMING DELAY VALIDATION DISABLE D Q 0 SYNC POLARITY 5 R 1 9 PROGAMMABLE DELAY SYNC_OUT+ 10 SYNC_OUT- 10 LVDS DRIVER SYNC GENERATOR DELAY SYNC GENERATOR ENABLE Figure 51. Sync Generator Diagram The sync generator produces a clock signal that appears at the SYNC_OUTx pins. This clock is delivered by an LVDS driver and exhibits a 50% duty cycle. The clock has a fixed frequency given by f SYSCLK 16 The clock at the SYNC_OUTx pins synchronizes with either the rising or falling edge of the internal SYSCLK signal, as determined by the sync generator polarity bit. Because the SYNC_OUTx signal is synchronized with the internal SYSCLK of the master device, the master device SYSCLK serves as the reference timing source for all slave devices. The user can adjust the output delay of the SYNC_OUTx signal in steps of ~75 ps by programming the 5-bit output sync generator delay word via the serial I/O port. The programmable output delay facilitates added edge timing flexibility to the overall synchronization mechanism. 06479-050 INTERNAL CLOCKS CLOCK GENERATOR SYNC RECEIVER ENABLE /16 SYSCLK f SYNC _ OUT = 5 SYNC GENERATOR The sync generator block is shown in Figure 51. It is activated via the sync generator enable bit. It allows for one AD9910 in a group to function as a master timing source with the remaining devices slaved to the master. 06479-051 Multiple devices are synchronized when their clock states match and they transition between states simultaneously. Clock synchronization allows the user to asynchronously program multiple devices but synchronously activate the programming by applying a coincident I/O update to all devices Figure 50. Synchronization Circuit Block Diagram The synchronization mechanism relies on the premise that the REFCLK signal appearing at each device is edge aligned with all others as a result of the external REFCLK distribution system (see Figure 53). The sync receiver block (shown in Figure 52) is activated via the sync receiver enable bit (0x0A[27]). The sync receiver consists of three subsections: the input delay and edge detection block, the internal clock generator block, and the setup and hold validation block. The clock generator block remains operational even if the sync receiver is not enabled. Rev. D | Page 44 of 64 Data Sheet AD9910 CLOCK STATE SYNC RECEIVER ENABLE DELAYED SYNC-IN SIGNAL LVDS RECEIVER 7 SYNC_IN- 8 Q0 * * * RISING EDGE DETECTOR AND STROBE GENERATOR PROGAMMABLE DELAY SYNC TIMING VALIDATION DISABLE INTERNAL CLOCKS Qn RESET CLOCK GENERATOR SETUP AND HOLD VALIDATION SYNC_SMP_ERR 12 * * * SYSCLK 4 SYNC VALIDATION DELAY SYNC PULSE 06479-052 SYNC_IN+ SYNC RECEIVER DELAY 5 Figure 52. Sync Receiver Diagram CLOCK DISTRIBUTION AND DELAY EQUALIZATION EDGE ALIGNED AT REF_CLK INPUTS CLOCK SOURCE (FOR EXAMPLE AD951x) REF_CLK PDCLK DATA FPGA NUMBER 1 SYNC SYNC IN OUT REF_CLK PDCLK DATA FPGA AD9910 AD9910 MASTER DEVICE EDGE ALIGNED AT SYNC_IN INPUTS. NUMBER 2 SYNC SYNC IN OUT SYNCHRONIZATION DISTRIBUTION AND DELAY EQUALIZATION (FOR EXAMPLE AD951x) REF_CLK FPGA AD9910 NUMBER 3 SYNC SYNC IN OUT 06479-053 PDCLK DATA Figure 53. Multichip Synchronization Example The sync receiver accepts a periodic clock signal at the SYNC_ INx pins. This signal is assumed to originate from an LVDScompatible driver. The user can delay the SYNC_INx signal in steps of ~75 ps by programming the 5-bit input sync receiver delay word in the multichip sync register. The signal at the output of the programmable delay is referred to as the delayed SYNC_INx signal. Note that an internal 100 LVDS termination resistor exists across both SYNC_IN inputs. The edge detection logic generates a sync pulse having a duration of one SYSCLK cycle with a repetition rate equal to the frequency of the signal applied to the SYNC_INx pins. The sync pulse is generated as a result of sampling the rising edge of the delayed SYNC_INx signal with the rising edge of the local SYSCLK. The sync pulse is routed to the internal clock generator, which behaves as a presettable counter clocked at the SYSCLK rate. The sync pulse presets the counter to a predefined state (programmable via the 6-bit sync state preset value word in the multichip sync register). The predefined state is only active for a single SYSCLK cycle, after which the clock generator resumes cycling through its state sequence at the SYSCLK rate. This unique state presetting mechanism gives the user the flexibility to synchronize devices with specific relative clock state offsets (by assigning a different sync state preset value word to each device). Multiple device synchronization is accomplished by providing each AD9910 with a SYNC_INx signal that is edge aligned Rev. D | Page 45 of 64 AD9910 Data Sheet assume the same predefined clock state simultaneously; that is, the internal clocks of all devices become fully synchronized. across all the devices. If the SYNC_INx signal is edge aligned at all devices, and all devices have the same sync receiver delay and sync state preset value, then they all have matching clock states (that is, they are synchronized). This concept is shown in Figure 53, in which three AD9910 devices are synchronized, with one device operating as a master timing unit and the others as slave units. The synchronization mechanism depends on the reliable generation of a sync pulse by the edge detection block in the sync receiver. Generation of a valid sync pulse, however, requires proper sampling of the rising edge of the delayed SYNC_INx signal with the rising edge of the local SYSCLK. If the edge timing of these signals fails to meet the setup or hold time requirements of the internal latches in the edge detection circuitry, then the proper generation of the sync pulse is in jeopardy. The setup and hold validation block (see Figure 54) gives the user a means to validate that proper edge timing exists between the two signals. The master device must have its SYNC_INx pins included as part of the synchronization distribution and delay equalization mechanism in order for it to be synchronized with the slave units. The synchronization mechanism begins with the clock distribution and delay equalization block, which is used to ensure that all devices receive an edge-aligned REFCLK signal. However, even though the REFCLK signal is edge aligned among all devices, this alone does not guarantee that the clock state of each internal clock generator is coordinated with the others. This is the role of the synchronization and delay equalization block. This block accepts the SYNC_OUTx signal generated by the master device and redistributes it to the SYNC_INx input of the slave units (as well as feeding it back to the master). The goal of the redistributed SYNC_OUT x signal from the master device is to deliver an edge-aligned SYNC_INx signal to all of the sync receivers. The setup and hold validation block can be disabled via the sync timing validation disable bit in Control Function Register 2. The validation block makes use of a user-specified time window (programmable in increments of ~75 ps via the 4-bit sync validation delay word in the multichip sync register). The setup validation and hold validation circuits use latches identical to those in the rising edge detector and strobe generator. The programmable time window is used to skew the timing between the rising edges of the local SYSCLK signal and the rising edges of the delayed SYNC_INx signal. If either the hold or setup validation circuits fail to detect a valid edge sample, the condition is indicated externally via the SYNC_SMP_ERR pin (active high). Assuming that all devices share the same REFCLK edge (due to the clock distribution and delay equalization block), and all devices share the same SYNC_INx edge (due to the synchronization and delay equalization block), then all devices should generate an internal sync pulse in unison (assuming that they all have the same sync receiver delay value). With the further stipulation that all devices have the same sync state preset value, then the synchronized sync pulses cause all of the devices to The user must choose a sync validation delay value that is a reasonable fraction of the SYSCLK period. For example, if the SYSCLK frequency is 1 GHz (1 ns period), then a reasonable value is 4 (300 ps). Choosing too large a value can cause the SYNC_SMP_ERR pin to generate false error signals. Choosing too small a value may cause instability. SYNC RECEIVER FROM SYNC RECEIVER DELAY LOGIC RISING EDGE DETECTOR AND STROBE GENERATOR D Q SYNC PULSE TO CLOCK GENERATION LOGIC DELAY 44 4 SETUP VALIDATION D Q SYNC VALIDATION DELAY CHECK LOGIC SETUP AND HOLD VALIDATION 12 12 SYNC_SMP_ERR DELAY HOLD VALIDATION SYNC TIMING VALIDATION DISABLE Figure 54. Sync Timing Validation Block Rev. D | Page 46 of 64 06479-054 DQ SYSCLK Data Sheet AD9910 POWER SUPPLY PARTITIONING The AD9910 features multiple power supplies, and their power consumption varies with its configuration. This section covers which power supplies can be grouped together and how the power consumption of each block varies with frequency. The values quoted in this section are for comparison only. Refer to Table 1 for exact values. With each group, use 0.1 F or 0.01 F bypass capacitors in parallel with a 10 F capacitor. The recommendations here are for typical applications, for which there are four groups of power supplies: 3.3 V digital, 3.3 V analog, 1.8 V digital, and 1.8 V analog. 1.8 V SUPPLIES DVDD (1.8 V) (Pin 17, Pin 23, Pin 30, Pin 47, Pin 57, and Pin 64) These pins can be grouped together. Their current consumption increases linearly with the system clock frequency. See Figure 17 and Figure 18 for typical current consumption curves. There is also a slight (~5%) increase as fOUT increases from 50 MHz to 400 MHz. AVDD (1.8 V) (Pin 3) Applications demanding the highest performance may require additional power supply isolation. 3.3 V SUPPLIES DVDD_I/O (3.3 V) (Pin 11, Pin 15, Pin 21, Pin 28, Pin 45, Pin 56, and Pin 66) This 1.8 V supply powers the REFCLK multiplier (PLL) and consumes about 7 mA. For applications demanding the highest performance with the PLL enabled, this supply should be isolated from other 1.8 V AVDD supplies with a separate regulator. For less demanding applications, this supply can be run off the same regulator as Pin 89 and Pin 92 with a ferrite bead to isolate Pin 3 from Pin 89 and Pin 92. These 3.3 V supplies can be grouped together. The power consumption on these pins varies dynamically with serial port activity. The loop filter for the PLL should directly connect to Pin 3. If the PLL is bypassed, Pin 3 should still be powered, but isolation is not critical. AVDD (3.3 V) (Pin 74 to Pin 77 and Pin 83) AVDD (1.8 V) (Pin 6) These are 3.3 V DAC power supplies that typically consume about 28 mA. At a minimum, a ferrite bead should be used to isolate these from other 3.3 V supplies, with a separate regulator being ideal. The current consumption of these supplies consist mainly of biasing current and do not vary with frequency. This pin can be grouped together with the DVDD 1.8 V supply pins. For the highest performance, a ferrite bead should be used for isolation, with a separate regulator being ideal. AVDD (1.8 V) (Pin 89 and Pin 92) This 1.8 V supply for the REFCLK input consumes about 15 mA. These pins can run off the supply of Pin 3 with a ferrite bead to isolate Pin 3 from Pin 89 and Pin 92. At a minimum, a ferrite bead should be used to isolate these from other 1.8 V supplies. However, for applications demanding the highest performance, a separate regulator is recommended. Rev. D | Page 47 of 64 AD9910 Data Sheet SERIAL PROGRAMMING CONTROL INTERFACE--SERIAL I/O The AD9910 serial port is a flexible, synchronous serial communications port allowing easy interface to many industry-standard microcontrollers and microprocessors. The serial I/O is compatible with most synchronous transfer formats. The interface allows read/write access to all registers that configure the AD9910. MSB-first or LSB-first transfer formats are supported. In addition, the serial interface port can be configured as a single pin input/output (SDIO) allowing a 2-wire interface, or it can be configured as two unidirectional pins for input/output (SDIO/SDO) enabling a 3-wire interface. Two optional pins (I/O_RESET and CS) enable greater flexibility for designing systems with the AD9910. GENERAL SERIAL I/O OPERATION There are two phases to a serial communications cycle. The first is the instruction phase to write the instruction byte into the AD9910. The instruction byte contains the address of the register to be accessed (see the Register Map and Bit Descriptions section) and defines whether the upcoming data transfer is a write or read operation. For a write cycle, Phase 2 represents the data transfer between the serial port controller to the serial port buffer. The number of bytes transferred is a function of the register being accessed. For example, when accessing the Control Function Register 2 (Address 0x01), Phase 2 requires that four bytes be transferred. Each bit of data is registered on each corresponding rising edge of SCLK. The serial port controller expects that all bytes of the register be accessed; otherwise, the serial port controller is put out of sequence for the next communication cycle. However, one way to write fewer bytes than required is to use the I/O_RESET pin feature. The I/O_RESET pin function can be used to abort an I/O operation and reset the pointer of the serial port controller. After an I/O reset, the next byte is the instruction byte. Note that every completed byte written prior to an I/O reset is preserved in the serial port buffer. Partial bytes written are not preserved. At the completion of any communication cycle, the AD9910 serial port controller expects the next eight rising SCLK edges to be the instruction byte for the next communication cycle. After a write cycle, the programmed data resides in the serial port buffer and is inactive. I/O_UPDATE transfers data from the serial port buffer to active registers. The I/O update can be sent either after each communication cycle or when all serial operations are complete. In addition, a change in profile pins can initiate an I/O update. Note that to read back any profile register (0x0E to 0x15), the three external profile pins must be used. For example, if the profile register is Profile 5 (0x13), then the PROFILE[0:2] pins must equal 101.This is not required to write to profile registers. INSTRUCTION BYTE The instruction byte contains the following information as shown in the instruction byte information bit map. Instruction Byte Information Bit Map MSB LSB D7 D6 D5 D4 D3 D2 D1 D0 R/W X X A4 A3 A2 A1 A0 R/W--Bit 7 of the instruction byte determines whether a read or write data transfer occurs after the instruction byte write. Logic 1 indicates a read operation. Cleared indicates a write operation. X, X--Bit 6 and Bit 5 of the instruction byte are don't cares. A4, A3, A2, A1, A0--Bit 4, Bit 3, Bit 2, Bit 1, and Bit 0 of the instruction byte determine which register is accessed during the data transfer portion of the communications cycle. SERIAL I/O PORT PIN DESCRIPTIONS SCLK--Serial Clock The serial clock pin is used to synchronize data to and from the AD9910 and to run the internal state machines. CS--Chip Select Bar CS is an active low input that allows more than one device on the same serial communications line. The SDO and SDIO pins go to a high impedance state when this input is high. If driven high during any communications cycle, that cycle is suspended until CS is reactivated low. Chip select (CS) can be tied low in systems that maintain control of SCLK. SDIO--Serial Data Input/Output Data is always written into the AD9910 on this pin. However, this pin can be used as a bidirectional data line. Bit 1 of CFR1 Register Address 0x00 controls the configuration of this pin. The default is cleared, which configures the SDIO pin as bidirectional. SDO--Serial Data Out Data is read from this pin for protocols that use separate lines for transmitting and receiving data. When the AD9910 operates in single bidirectional I/O mode, this pin does not output data and is set to a high impedance state. For a read cycle, Phase 2 is the same as the write cycle with the following differences: data is read from the active registers, not the serial port buffer, and data is driven out on the falling edge of SCLK. Rev. D | Page 48 of 64 Data Sheet AD9910 I/O_RESET--Input/Output Reset SERIAL I/O TIMING DIAGRAMS I/O_RESET synchronizes the I/O port state machines without affecting the contents of the addressable registers. An active high input on the I/O_RESET pin causes the current communication cycle to abort. After I/O_RESET returns low (Logic 0), another communication cycle can begin, starting with the instruction byte write. Figure 55 through Figure 58 provide basic examples of the timing relationships between the various control signals of the serial I/O port. Most of the bits in the register map are not transferred to their internal destinations until assertion of an I/O update, which is not included in the timing diagrams that follow. MSB/LSB TRANSFERS I/O_UPDATE--Input/Output Update The AD9910 serial port can support both most significant bit (MSB) first or least significant bit (LSB) first data formats. This functionality is controlled by Bit 0 in Control Function Register 1 (0x00). The default format is MSB first. If LSB first is active, all data, including the instruction byte, must follow LSB-first convention. Note that the highest number found in the bit range column for each register is the MSB, and the lowest number is the LSB for that register (see the Register Map and Bit Descriptions section and Table 17). The I/O_UPDATE initiates the transfer of written data from the I/O port buffer to active registers. I/O_UPDATE is active on the rising edge, and its pulse width must be greater than one SYNC_CLK period. It is either an input or output pin depending on the programming of the internal I/O update active bit. INSTRUCTION CYCLE DATA TRANSFER CYCLE CS SDIO I7 I2 I3 I4 I5 I6 D7 I0 I1 D5 D6 D0 D1 D2 D3 D4 06479-030 SCLK Figure 55. Serial Port Write Timing, Clock Stall Low INSTRUCTION CYCLE DATA TRANSFER CYCLE CS SCLK I3 I4 I5 I6 I7 I1 I2 I0 DON'T CARE DO7 SDO DO5 DO6 DO4 DO3 DO2 DO1 DO0 06479-031 SDIO Figure 56. 3-Wire Serial Port Read Timing, Clock Stall Low INSTRUCTION CYCLE DATA TRANSFER CYCLE CS I7 I6 I5 I4 I3 I2 I1 I0 D7 D6 D5 D4 D3 D2 D1 D0 06479-032 SDIO DO0 06479-033 SCLK Figure 57. Serial Port Write Timing, Clock Stall High INSTRUCTION CYCLE DATA TRANSFER CYCLE CS SCLK SDIO I7 I6 I5 I4 I3 I2 I1 I0 DO7 DO6 DO5 DO4 Figure 58. 2-Wire Serial Port Read Timing, Clock Stall High Rev. D | Page 49 of 64 DO3 DO2 DO1 AD9910 Data Sheet REGISTER MAP AND BIT DESCRIPTIONS Table 17. Register Map Register Name (Serial Address) CFR1-- Control Function Register 1 (0x00) Bit Range (Internal Address) 31:24 23:16 15:8 7:0 CFR2-- Control Function Register 2 (0x01) 15:8 7:0 Auxiliary DAC Control (0x03) I/O Update Rate (0x04) FTW-- Frequency Tuning Word (0x07) Digital powerdown Bit 6 Bit 5 RAM playback destination Inverse Open sinc filter enable Bit 4 Autoclear digital ramp accumulator DAC powerdown Clear digital ramp accumulator Aux DAC powerdown Autoclear phase accumulator REFCLK input powerdown 31:24 23:16 15:8 7:0 31:24 23:16 15:8 7:0 31:24 23:16 15:8 7:0 31:24 23:16 15:8 7:0 Bit 3 Bit 2 Open Bit 1 Internal profile control 31:24 23:16 CFR3-- Control Function Register 3 (0x02) Bit 7 (MSB) RAM enable Manual OSK external control Load LRR @ I/O update 0x00 Load ARR @ I/O update OSK enable Select auto OSK 0x00 External powerdown control Open SDIO input only LSB first 0x00 Enable amplitude scale from single tone profiles Read effective FTW 0x00 Internal SYNC_CLK I/O enable update active I/O update rate control Digital ramp destination Digital ramp enable Open PDCLK enable Matched latency enable Sync Parallel timing data port validation enable disable DRV0[1:0] ICP[2:0] Open Digital ramp no-dwell high PDCLK invert Digital ramp no-dwell low TxEnable invert FM gain Open PFD reset N[6:0] Open Open Open FSC[7:0] I/O update rate[31:24] I/O update rate[23:16] I/O update rate[15:8] I/O update rate[7:0] Frequency tuning word[31:24] Frequency tuning word[23:16] Frequency tuning word[15:8] Frequency tuning word[7:0] Rev. D | Page 50 of 64 Select DDS sine output Clear phase accumulator Open Data assembler hold last value Open Open REFCLK REFCLK input input divider divider bypass ResetB Bit 0 (LSB) Default Value 1 (Hex) 0x00 Open 0x40 0x08 0x20 VCO SEL[2:0] Open Open PLL enable Open 0x1F 0x3F 0x40 0x00 0x00 0x00 0x00 0x7F 0xFF 0xFF 0xFF 0xFF 0x00 0x00 0x00 0x00 Data Sheet Register Name (Serial Address) POW-- Phase Offset Word (0x08) ASF-- Amplitude Scale Factor (0x09) Multichip Sync (0x0A) Digital Ramp Limit (0x0B) Digital Ramp Step Size (0x0C) Digital Ramp Rate (0x0D) Single Tone Profile 0 (0x0E) Bit Range (Internal Address) 15:8 7:0 AD9910 Bit 7 (MSB) Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Phase offset word[15:8] Phase offset word[7:0] 31:24 23:16 15:8 7:0 31:24 23:16 15:8 7:0 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 31:24 23:16 15:8 7:0 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 Bit 1 Bit 0 (LSB) Amplitude ramp rate[15:8] Amplitude ramp rate[7:0] Amplitude scale factor[13:6] Amplitude scale factor[5:0] Sync validation delay[3:0] Amplitude step size[1:0] Sync receiver enable Sync generator enable Sync generator polarity Open Sync state preset value[5:0] Open Output sync generator delay[4:0] Open Input sync receiver delay[4:0] Open Digital ramp upper limit[31:24] Digital ramp upper limit[23:16] Digital ramp upper limit[15:8] Digital ramp upper limit[7:0] Digital ramp lower limit[31:24] Digital ramp lower limit[23:16] Digital ramp lower limit[15:8] Digital ramp lower limit[7:0] Digital ramp decrement step size[31:24] Digital ramp decrement step size[23:16] Digital ramp decrement step size[15:8] Digital ramp decrement step size[7:0] Digital ramp increment step size[31:24] Digital ramp increment step size[23:16] Digital ramp increment step size[15:8] Digital ramp increment step size[7:0] Digital ramp negative slope rate [15:8] Digital ramp negative slope rate[7:0] Digital ramp positive slope rate[15:8] Digital ramp positive slope rate[7:0] Open Amplitude Scale Factor 0[13:8] Amplitude Scale Factor 0[7:0] Phase Offset Word 0[15:8] Phase Offset Word 0[7:0] Frequency Tuning Word 0[31:24] Frequency Tuning Word 0[23:16] Frequency Tuning Word 0[15:8] Frequency Tuning Word 0[7:0] Rev. D | Page 51 of 64 Default Value 1 (Hex) 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A 0x08 0xB5 0x00 0x00 0x00 0x00 0x00 0x00 AD9910 Register Name (Serial Address) RAM Profile 0 (0x0E) Data Sheet Bit Range (Internal Address) 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 Single Tone Profile 1 (0x0F) RAM Profile 1 (0x0F) 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 Single Tone Profile 2 (0x10) RAM Profile 2 (0x10) 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 Bit 7 (MSB) Bit 6 RAM Profile 0 waveform end address[1:0] RAM Profile 0 waveform start address[1:0] Open Open RAM Profile 1 waveform end address[1:0] RAM Profile 1 waveform start address[1:0] Open Open RAM Profile 2 waveform end address[1:0] RAM Profile 2 waveform start address[1:0] Open Bit 5 Bit 4 Bit 3 Bit 2 Open RAM Profile 0 address step rate[15:8] RAM Profile 0 address step rate[7:0] RAM Profile 0 waveform end address[9:2] Open Bit 1 Bit 0 (LSB) RAM Profile 0 waveform start address[9:2] Open No-dwell high 0x00 0x00 ZeroRAM Profile 0 mode control[2:0] crossing Amplitude Scale Factor 1[13:8] Amplitude Scale Factor 1[7:0] Phase Offset Word 1[15:8] Phase Offset Word 1[7:0] Frequency Tuning Word 1[31:24] Frequency Tuning Word 1[23:16] Frequency Tuning Word 1[15:8] Frequency Tuning Word 1[7:0] Open RAM Profile 1 address step rate[15:8] RAM Profile 1 address step rate[7:0] RAM Profile 1 waveform end address[9:2] Open 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 RAM Profile 1 waveform start address[9:2] Open 0x00 0x00 No-dwell high Open Default Value 1 (Hex) 0x00 0x00 0x00 0x00 0x00 ZeroRAM Profile 1 mode control[2:0] crossing Amplitude Scale Factor 2[13:8] Amplitude Scale Factor 2[7:0] Phase Offset Word 2[15:8] Phase Offset Word 2[7:0] Frequency Tuning Word 2[31:24] Frequency Tuning Word 2[23:16] Frequency Tuning Word 2[15:8] Frequency Tuning Word 2[7:0] Open RAM Profile 2 address step rate[15:8] RAM Profile 2 address step rate[7:0] RAM Profile 2 waveform end address[9:2] Open 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 RAM Profile 2 waveform start address[9:2] Open 0x00 0x00 No-dwell high Open 0x00 Open Rev. D | Page 52 of 64 Zerocrossing RAM Profile 2 mode control[2:0] 0x00 0x00 Data Sheet Register Name (Serial Address) Single Tone Profile 3 (0x11) RAM Profile 3 (0x11) Bit Range (Internal Address) 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 63:56 55:48 47:40 39:32 31:24 AD9910 Bit 7 (MSB) Bit 6 Open RAM Profile 3 waveform end address[1:0] 23:16 15:8 7:0 Single Tone Profile 4 (0x12) RAM Profile 4 (0x12) 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 Single Tone Profile 5 (0x13) 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 RAM Profile 3 waveform start address[1:0] Open Open RAM Profile 4 waveform end address[1:0] RAM Profile 4 waveform start address[1:0] Open Open Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Amplitude Scale Factor 3[13:8] Amplitude Scale Factor 3[7:0] Phase Offset Word 3[15:8] Phase Offset Word 3[7:0] Frequency Tuning Word 3[31:24] Frequency Tuning Word 3[23:16] Frequency Tuning Word 3[15:8] Frequency Tuning Word 3[7:0] Open RAM Profile 3 address step rate[15:8] RAM Profile 3 address step rate[7:0] RAM Profile 3 waveform end address[9:2] Open Bit 0 (LSB) RAM Profile 3 waveform start address[9:2] Open No-dwell high 0x00 0x00 0x00 ZeroRAM Profile 3 mode control[2:0] crossing Amplitude Scale Factor 4[13:8] Amplitude Scale Factor 4[7:0] Phase Offset Word 4[15:8] Phase Offset Word 4[7:0] Frequency Tuning Word 4[31:24] Frequency Tuning Word 4[23:16] Frequency Tuning Word 4[15:8] Frequency Tuning Word 4[7:0] Open RAM Profile 4 address step rate[15:8] RAM Profile 4 address step rate[7:0] RAM Profile 4 waveform end address[9:2] Open 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 RAM Profile 4 waveform start address[9:2] Open 0x00 0x00 No-dwell high Open Default Value 1 (Hex) 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Open ZeroRAM Profile 4 mode control[2:0] crossing Amplitude Scale Factor 5[13:8] Amplitude Scale Factor 5[7:0] Phase Offset Word 5[15:8] Phase Offset Word 5[7:0] Frequency Tuning Word 5[31:24] Frequency Tuning Word 5[23:16] Frequency Tuning Word 5[15:8] Frequency Tuning Word 5[7:0] Rev. D | Page 53 of 64 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 AD9910 Register Name (Serial Address) RAM Profile 5 (0x13) Data Sheet Bit Range (Internal Address) 63:56 55:48 47:40 39:32 31:24 Bit 7 (MSB) Bit 6 RAM Profile 5 waveform end address[1:0] 23:16 15:8 7:0 Single Tone Profile 6 (0x14) RAM Profile 6 (0x14) 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 Single Tone Profile 7 (0x15) RAM Profile 7 (0x15) 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 63:56 55:48 47:40 39:32 31:24 RAM Profile 5 waveform start address[1:0] Open Open RAM Profile 6 waveform end address[1:0] AM Profile 6 waveform start address[1:0] Open Open RAM Profile 7 waveform end address[1:0] 23:16 15:8 7:0 RAM (0x16) 1 31:0 RAM Profile 7 waveform start address[1:0] Open Bit 5 Bit 4 Bit 3 Bit 2 Open RAM Profile 5 address step rate[15:8] RAM Profile 5 address step rate[7:0] RAM Profile 5 waveform end address[9:2] Open Bit 1 Bit 0 (LSB) RAM Profile 5 waveform start address[9:2] Open No-dwell high 0x00 0x00 ZeroRAM Profile 5 mode control[2:0] crossing Amplitude Scale Factor 6[13:8] Amplitude Scale Factor 6[7:0] Phase Offset Word 6[15:8] Phase Offset Word 6[7:0] Frequency Tuning Word 6[31:24] Frequency Tuning Word 6[23:16] Frequency Tuning Word 6[15:8] Frequency Tuning Word 6[7:0] Open RAM Profile 6 address step rate[15:8] RAM Profile 6 address step rate[7:0] RAM Profile 6 waveform end address[9:2] Open 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 RAM Profile 6 waveform start address[9:2] Open 0x00 0x00 No-dwell high Open Default Value 1 (Hex) 0x00 0x00 0x00 0x00 0x00 ZeroRAM Profile 6 mode control[2:0] crossing Amplitude Scale Factor 7[13:8] Amplitude Scale Factor 7[7:0] Phase Offset Word 7[15:8] Phase Offset Word 7[7:0] Frequency Tuning Word 7[31:24] Frequency Tuning Word 7[23:16] Frequency Tuning Word 7[15:8] Frequency Tuning Word 7[7:0] Open RAM Profile 7 address step rate[15:8] RAM Profile 7 address step rate[7:0] RAM Profile 7 waveform end address[9:2] Open 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 RAM Profile 7 waveform start address[9:2] Open 0x00 0x00 No-dwell high Open 0x00 Open Zerocrossing RAM word[31:0] N/A = not applicable. Rev. D | Page 54 of 64 RAM Profile 7 mode control[2:0] 0x00 0x00 0x00 Data Sheet AD9910 REGISTER BIT DESCRIPTIONS The serial I/O port registers span an address range of 0 to 23 (0x00 to 0x16 in hexadecimal notation). This represents a total of 24 registers. However, two of these registers are unused, yielding a total of 22 available registers. The unused registers are Register 5 and Register 6 (0x05 and 0x06, respectively). The number of bytes assigned to the registers varies. That is, the registers are not of uniform depth; each contains the number of bytes necessary for its particular function. Additionally, the registers are assigned names according to their functionality. In some cases, a register is given a mnemonic descriptor. For example, the register at Serial Address 0x00 is named Control Function Register 1 and is assigned the mnemonic CFR1. The following section provides a detailed description of each bit in the AD9910 register map. For cases in which a group of bits serves a specific function, the entire group is considered a binary word and described in aggregate. This section is organized in sequential order of the serial addresses of the registers. Each subheading includes the register name and optional register mnemonic (in parentheses). Also given is the serial address in hexadecimal format and the number of bytes assigned to the register. Following each subheading is a table containing the individual bit descriptions for that particular register. The location of the bit(s) in the register is indicated by a single number or a pair of numbers separated by a colon; that is, a pair of numbers (A:B) indicates a range of bits from the most significant (A) to the least significant (B). For example, 5:2 implies Bit Position 5 down to Bit Position 2, inclusive, with Bit 0 identifying the LSB of the register. Unless otherwise stated, programmed bits are not transferred to their internal destinations until the assertion of the I/O_UPDATE pin or a profile change. Control Function Register 1 (CFR1)--Address 0x00 Four bytes are assigned to this register. Table 18. Bit Description for CFR1 Bit(s) 31 Mnemonic RAM enable 30:29 28:24 23 RAM playback destination Open Manual OSK external control 22 Inverse sinc filter enable 21 20:17 Open Internal profile control 16 Select DDS sine output 15 Load LRR @ I/O update 14 Autoclear digital ramp accumulator 13 Autoclear phase accumulator Description 0 = disables RAM functionality (default). 1 = enables RAM functionality (required for both load/retrieve and playback operation). See Table 12 for details; default is 00b. Ineffective unless CFR1[9:8] = 10b. 0 = OSK pin inoperative (default). 1 = OSK pin enabled for manual OSK control (see Output Shift Keying (OSK) section for details). 0 = inverse sinc filter bypassed (default). 1 = inverse sinc filter active. Ineffective unless CFR1[31] = 1. These bits are effective without the need for an I/O update. See Table 14 for details. Default is 0000b. 0 = cosine output of the DDS is selected (default). 1 = sine output of the DDS is selected. Ineffective unless CFR2[19] = 1. 0 = normal operation of the digital ramp timer (default). 1 = digital ramp timer loaded any time I/O_UPDATE is asserted or a PROFILE[2:0] change occurs. 0 = normal operation of the DRG accumulator (default). 1 = the ramp accumulator is reset for one cycle of the DDS clock after which the accumulator automatically resumes normal operation. As long as this bit remains set, the ramp accumulator is momentarily reset each time an I/O_UPDATE is asserted or a PROFILE[2:0] change occurs. This bit is synchronized with either an I/O _UPDATE or a PROFILE[2:0] change and the next rising edge of SYNC_CLK. 0 = normal operation of the DDS phase accumulator (default). 1 = synchronously resets the DDS phase accumulator anytime I/O_UPDATE is asserted or a profile change occurs. Rev. D | Page 55 of 64 AD9910 Data Sheet Bit(s) 12 Mnemonic Clear digital ramp accumulator 11 Clear phase accumulator 10 Load ARR @ I/O update 9 OSK enable 8 Select auto OSK 7 Digital power-down 6 DAC power-down 5 REFCLK input power-down 4 Auxiliary DAC power-down 3 External power-down control 2 1 Open SDIO input only 0 LSB first Description 0 = normal operation of the DRG accumulator (default). 1 = asynchronous, static reset of the DRG accumulator. The ramp accumulator remains reset as long as this bit remains set. This bit is synchronized with either an I/O_UPDATE or a PROFILE[2:0] change and the next rising edge of SYNC_CLK. 0 = normal operation of the DDS phase accumulator (default). 1 = asynchronous, static reset of the DDS phase accumulator. Ineffective unless CFR1[9:8] = 11b. 0 = normal operation of the OSK amplitude ramp rate timer (default). 1 = OSK amplitude ramp rate timer reloaded anytime I/O_UPDATE is asserted or a PROFILE[2:0] change occurs. The output shift keying enable bit. 0 = OSK disabled (default). 1 = OSK enabled. Ineffective unless CFR1[9] = 1. 0 = manual OSK enabled (default). 1 = automatic OSK enabled. This bit is effective without the need for an I/O update. 0 = clock signals to the digital core are active (default). 1 = clock signals to the digital core are disabled. 0 = DAC clock signals and bias circuits are active (default). 1 = DAC clock signals and bias circuits are disabled. This bit is effective without the need for an I/O update. 0 = REFCLK input circuits and PLL are active (default). 1 = REFCLK input circuits and PLL are disabled. 0 = auxiliary DAC clock signals and bias circuits are active (default). 1 = auxiliary DAC clock signals and bias circuits are disabled. 0 = assertion of the EXT_PWR_DWN pin affects full power-down (default). 1 = assertion of the EXT_PWR_DWN pin affects fast recovery power-down. 0 = configures the SDIO pin for bidirectional operation; 2-wire serial programming mode (default). 1 = configures the serial data I/O pin (SDIO) as an input only pin; 3-wire serial programming mode. 0 = configures the serial I/O port for MSB-first format (default). 1 = configures the serial I/O port for LSB-first format. Rev. D | Page 56 of 64 Data Sheet AD9910 Control Function Register 2 (CFR2)--Address 0x01 Four bytes are assigned to this register. Table 19. Bit Descriptions for CFR2 Bit(s) 31:25 24 Mnemonic Open Enable amplitude scale from single tone profiles 23 Internal I/O update active 22 SYNC_CLK enable 21:20 Digital ramp destination 19 Digital ramp enable 18 Digital ramp no-dwell high 17 Digital ramp no-dwell low 16 Read effective FTW 15:14 I/O update rate control 13:12 11 Open PDCLK enable 10 PDCLK invert 9 TxEnable invert 8 7 Open Matched latency enable Description Ineffective if CFR2[19 ] = 1 or CFR1[31] = 1 or CFR1[9] = 1. 0 = the amplitude scaler is bypassed and shut down for power conservation (default). 1 = the amplitude is scaled by the ASF from the active profile. This bit is effective without the need for an I/O update. 0 = serial I/O programming is synchronized with the external assertion of the I/O_UPDATE pin, which is configured as an input pin (default). 1 = serial I/O programming is synchronized with an internally generated I/O update signal (the internally generated signal appears at the I/O_UPDATE pin, which is configured as an output pin). 0 = the SYNC_CLK pin is disabled; static Logic 0 output. 1 = the SYNC_CLK pin generates a clock signal at 1/4 fSYSCLK; used for synchronization of the serial I/O port (default). See Table 11 for details. Default is 00b. See the Digital Ramp Generator (DRG) section for details. 0 = disables digital ramp generator functionality (default). 1 = enables digital ramp generator functionality. See the Digital Ramp Generator (DRG) section for details. 0 = disables no-dwell high functionality (default). 1 = enables no-dwell high functionality. See the Digital Ramp Generator (DRG) section for details. 0 = disables no-dwell low functionality (default). 1 = enables no-dwell low functionality. 0 = a serial I/O port read operation of the FTW register reports the contents of the FTW register (default). 1 = a serial I/O port read operation of the FTW register reports the actual 32-bit word appearing at the input to the DDS phase accumulator. Ineffective unless CFR2[23] = 1. Sets the prescale ratio of the divider that clocks the auto I/O update timer as follows: 00 = divide-by-1 (default). 01 = divide-by-2. 10 = divide-by-4. 11 = divide-by-8. 0 = the PDCLK pin is disabled and forced to a static Logic 0 state; the internal clock signal continues to operate and provide timing to the data assembler. 1 = the internal PDCLK signal appears at the PDCLK pin (default). 0 = normal PDCLK polarity; Q-data associated with Logic 1, I-data with Logic 0 (default). 1 = inverted PDCLK polarity. 0 = no inversion. 1 = inversion. 0 = simultaneous application of amplitude, phase, and frequency changes to the DDS arrive at the output in the order listed (default). 1 = simultaneous application of amplitude, phase, and frequency changes to the DDS arrive at the output simultaneously. Rev. D | Page 57 of 64 AD9910 Data Sheet Bit(s) 6 Mnemonic Data assembler hold last value 5 Sync timing validation disable 4 Parallel data port enable 3:0 FM gain Description Ineffective unless CFR2[4] = 1. 0 = the data assembler of the parallel data port internally forces zeros on the data path and ignores the signals on the D[15:0] and F[1:0] pins while the TxENABLE pin is Logic 0 (default). This implies that the destination of the data at the parallel data port is amplitude when TxENABLE is Logic 0. 1 = the data assembler of the parallel data port internally forces the last value received on the D[15:0] and F[1:0] pins while the TxENABLE pin is Logic 1. 0 = enables the SYNC_SMP_ERR pin to indicate (active high) detection of a synchronization pulse sampling error. 1 = the SYNC_SMP_ERR pin is forced to a static Logic 0 condition (default). See the Parallel Data Port Modulation Mode section for more details. 0 = disables parallel data port modulation functionality (default). 1 = enables parallel data port modulation functionality. See the Parallel Data Port Modulation Mode section for more details. Default is 0000b. Control Function Register 3 (CFR3)--Address 0x02 Four bytes are assigned to this register. Table 20. Bit Descriptions for CFR3 Bit(s) 31:30 29:28 27 26:24 23:22 21:19 18:16 15 Mnemonic Open DRV0 Open VCO SEL Open ICP Open REFCLK input divider bypass 14 REFCLK input divider ResetB 13:11 10 Open PFD reset 9 8 Open PLL enable 7:1 N 0 Open Description Controls the REFCLK_OUT pin (see Table 7 for details); default is 01b. Selects the frequency band of the REFCLK PLL VCO (see Table 8 for details); default is 111b. Selects the charge pump current in the REFCLK PLL (see Table 9 for details); default is 111b. 0 = input divider is selected (default). 1 = input divider is bypassed. 0 = input divider is reset. 1 = input divider operates normally (default). 0 = normal operation (default). 1 = phase detector disabled. 0 = REFCLK PLL bypassed (default). 1 = REFCLK PLL enabled. This 7-bit number is the divide modulus of the REFCLK PLL feedback divider; default is 0000000b. Auxiliary DAC Control Register--Address 0x03 Four bytes are assigned to this register. Table 21. Bit Descriptions for DAC Control Register Bit(s) 31:8 7:0 Mnemonic Open FSC Description This 8-bit number controls the full-scale output current of the main DAC (see the Auxiliary DAC section); default is 0x7F. Rev. D | Page 58 of 64 Data Sheet AD9910 I/O Update Rate Register--Address 0x04 Four bytes are assigned to this register. This register is effective without the need for an I/O update. Table 22. Bit Descriptions for I/O Update Rate Register Bit(s) 31:0 Mnemonic I/O update rate Description Ineffective unless CFR2[23] = 1. This 32-bit number controls the automatic I/O update rate (see the Automatic I/O Update section for details); default is 0xFFFFFFFF. Frequency Tuning Word Register (FTW)--Address 0x07 Four bytes are assigned to this register. Table 23. Bit Descriptions for FTW Register Bit(s) 31:0 Mnemonic Frequency tuning word Description 32-bit frequency tuning word. Phase Offset Word Register (POW)--Address 0x08 Two bytes are assigned to this register. Table 24. Bit Descriptions for POW Register Bit(s) 15:0 Mnemonic Phase offset word Description 16-bit phase offset word. Amplitude Scale Factor Register (ASF)--Address 0x09 Four bytes are assigned to this register. Table 25. Bit Descriptions for ASF Register Bit(s) 31:16 Mnemonic Amplitude ramp rate 15:2 1:0 Amplitude scale factor Amplitude step size Description 16-bit amplitude ramp rate value. Effective only if CFR1[9:8] = 11b; see the Output Shift Keying (OSK) section for details. 14-bit amplitude scale factor. Effective only if CFR1[9:8] = 11b; see the Output Shift Keying (OSK) section for details. Rev. D | Page 59 of 64 AD9910 Data Sheet Multichip Sync Register--Address 0x0A Four bytes are assigned to this register. Table 26. Multichip Sync Register Bit(s) 31:28 Mnemonic Sync validation delay 27 Sync receiver enable 26 Sync generator enable 25 Sync generator polarity 24 23:18 Open Sync state preset value 17:16 15:11 10:8 7:3 Open Output sync generator delay Open Input sync receiver delay 2:0 Open Description This 4-bit number sets the timing skew (in ~75ps increments) between SYSCLK and the delayed SYNC_INx signal for the sync validation block in the sync receiver. Default is 0000b. 0 = synchronization clock receiver disabled (default). 1 = synchronization clock receiver enabled. 0 = synchronization clock generator disabled (default). 1 = synchronization clock generator enabled. 0 = synchronization clock generator coincident with the rising edge of SYSCLK (default). 1 = synchronization clock generator coincident with the falling edge of SYSCLK. This 6-bit number is the state that the internal clock generator assumes when it receives a sync pulse. Default is 000000b. This 5-bit number sets the output delay (in ~75 ps increments) of the sync generator. Default is 00000b. This 5-bit number sets the input delay (in ~75 ps increments) of the sync receiver. Default is 00000b. Digital Ramp Limit Register--Address 0x0B Eight bytes are assigned to this register. This register is only effective if CFR2[19] = 1. See the Digital Ramp Generator (DRG) section for details. Table 27. Bit Descriptions for Digital Ramp Limit Register Bit(s) 63:32 31:0 Mnemonic Digital ramp upper limit Digital ramp lower limit Description 32-bit digital ramp upper limit value. 32-bit digital ramp lower limit value. Digital Ramp Step Size Register--Address 0x0C Eight bytes are assigned to this register. This register is only effective if CFR2[19] = 1. See the Digital Ramp Generator (DRG) section for details. Table 28. Bit Descriptions for Digital Ramp Step Size Register Bit(s) 63:32 31:0 Mnemonic Digital ramp decrement step size Digital ramp increment step size Description 32-bit digital ramp decrement step size value. 32-bit digital ramp increment step size value. Digital Ramp Rate Register--Address 0x0D Four bytes are assigned to this register. This register is only effective if CFR2[19] = 1. See the Digital Ramp Generator (DRG) section for details. Table 29. Bit Descriptions for Digital Ramp Rate Register Bit(s) 31:16 15:0 Mnemonic Digital ramp negative slope rate Digital ramp positive slope rate Description 16-bit digital ramp negative slope value that defines the time interval between decrement values. 16-bit digital ramp positive slope value that defines the time interval between increment values. Rev. D | Page 60 of 64 Data Sheet AD9910 Profile Registers There are eight consecutive serial I/O addresses (Address 0x0E to Address 0x015) dedicated to device profiles. All eight profile registers are either single tone profiles or RAM profiles. RAM profiles are in effect when CFR1[31] = 1. Single tone profiles are in effect when CFR1[31] = 0, CFR2[19] = 0, and CFR2[4] = 0. In normal operation, the active profile register is selected using the external PROFILE[2:0] pins. However, in the specific case when CFR1[31] = 1 and CFR1[20:17] 0000b, the active profile is selected automatically (see the RAM Ramp-Up Internal Profile Control Mode section). Profile 0 to Profile 7, Single Tone Registers--Address 0x0E to Address 0x15 Eight bytes are assigned to each register. Table 30. Bit Descriptions for Profile 0 to Profile 7 Single Tone Register Bit(s) 63:62 61:48 47:32 31:0 Mnemonic Open Amplitude scale factor Phase offset word Frequency tuning word Description This 14-bit number controls the DDS output amplitude. This 16-bit number controls the DDS phase offset. This 32-bit number controls the DDS frequency. RAM Profile 0 to RAM Profile 7, Control Registers--Address 0x0E to Address 0x15 Eight bytes are assigned to each register. Table 31. Bit Descriptions for Profile 0 to Profile 7 RAM Register Bit(s) 63:56 55:40 39:30 29:24 23:14 13:6 5 Mnemonic Open Address step rate Waveform end address Open Waveform start address Open No-dwell high 4 3 Open Zero-crossing 2:0 RAM mode control Description 16-bit address step rate value. 10-bit waveform end address. 10-bit waveform start address. Effective only when the RAM mode is in ramp-up. 0 = when the RAM state machine reaches the end address, it halts. 1 = when the RAM state machines reaches the end address, it jumps to the start address and halts. Effective only when in RAM mode, direct switch. 0 = zero-crossing function disabled. 1 = zero-crossing function enabled. See Table 13 for details. RAM Register--Address 0x16 Four bytes are assigned to the RAM register. Table 32. Bit Descriptions for RAM Register Bit(s) 31:0 Mnemonic RAM word Description The start and end addresses in the RAM Profile 0 to RAM Profile 7 control registers define the number of 32-bit words (1 minimum, 1024 maximum) to be written to the RAM register. Rev. D | Page 61 of 64 AD9910 Data Sheet OUTLINE DIMENSIONS 0.75 0.60 0.45 16.00 BSC SQ 1.20 MAX 14.00 BSC SQ 76 100 1 75 76 75 100 1 PIN 1 EXPOSED PAD TOP VIEW (PINS DOWN) 5.00 SQ 0 MIN 0.15 0.05 SEATING PLANE 0.20 0.09 7 3.5 0 0.08 MAX COPLANARITY 51 25 26 BOTTOM VIEW (PINS UP) 51 50 26 0.50 BSC LEAD PITCH VIEW A 25 50 0.27 0.22 0.17 VIEW A ROTATED 90 CCW COMPLIANT TO JEDEC STANDARDS MS-026-AED-HD FOR PROPER CONNECTION OF THE EXPOSED PAD, REFER TO THE PIN CONFIGURATION AND FUNCTION DESCRIPTIONS SECTION OF THIS DATA SHEET. 042209-A 1.05 1.00 0.95 Figure 59. 100-Lead Thin Quad Flat Package, Exposed Pad [TQFP_EP] (SV-100-4) Dimensions shown in millimeters ORDERING GUIDE Model 1 AD9910BSVZ AD9910BSVZ-REEL AD9910/PCBZ 1 Temperature Range -40C to +85C -40C to +85C Package Description 100-Lead Thin Quad Flat Package, Exposed Pad [TQFP_EP] 100-Lead Thin Quad Flat Package, Exposed Pad [TQFP_EP] Evaluation Board Z = RoHS Compliant Part. Rev. D | Page 62 of 64 Package Option SV-100-4 SV-100-4 Data Sheet AD9910 NOTES Rev. D | Page 63 of 64 AD9910 Data Sheet NOTES (c)2007-2012 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. D06479-0-5/12(D) Rev. D | Page 64 of 64