Other Parts Discussed in Thread: DAC37J82, DAC38J84
I am using the DAC37J82 with LMFS = 2221. I am using lanes 3 and 2 (setting 0x4A to 0x0C21), with continuous SYSREF and skipping 2 sysrefs then using all (0x5C to 0x0006). However, when I generate JESD data from the FPGA I get the following ALARM values and there is no output from the DAC:
7'h5C, // 0x0000 Disarm iniitalization circuit
7'h1A, // 0x0023 DAC_PLL in sleep mode, DAC_C and DAC_D in sleep mode
7'h31, // 0x1000 Assert pll_reset
7'h32, // 0x0000 VCO stuff unused
7'h33, // 0x0000 VCO stuff unused
7'h3B, // 0x0800 Divide by 2 for SERDES PLL reference, choose DAC PLL (#WEIRD)
7'h3C, // 0x0228 Medium loop bandwidth, high VCO, MPY settings is 0x04
7'h3C, // 0x0028 Medium loop bandwidth, low VCO, MPY settings is 0x04
7'h3D, // 0x0088 Enable SERDES equalizer and offset compensation
7'h3E, // 0x0148 AC Termination, quarter rate (1 sample per SERDES PLL), buswidth 3'b010
7'h3F, // 0x005A Invert p/n as in my schematic
7'h46, // 0x1882 Change JESD lane IDs 0 -> 3 1 -> 2 2 -> 1
7'h47, // 0x01C8 Change JESD lane IDs 3 -> 0 4 -> 7 5 -> 4
7'h48, // 0x3143 Change JESD lane IDs 6 -> 6 7 -> 5
7'h49, // 0x0000 All lanes in link 0
7'h4A, // 0x0C3E Turns on lanes 2 and 3, dual dac mode, reset JESD**
7'h60, // 0x4567 Keep lane numbers as they are
7'h61, // 0x0111 Only use link 0 for generating SYNC signals
7'h22, // 0x1B1B Sample paths from JESD to outputs
7'h23, // 0x01FF Allow everything to sleep
7'h24, // 0x0020 Use only next SYSREF PULSE
7'h25, // 0x6000 Divide DACCLK by 8
7'h00, // 0x0418 8x interpolation no QMC, summing channels, or sinc filters
7'h01, // 0x0003 No delays or compliments to outputs
7'h02, // 0x2002 Zero data when no JESD, 3 wire SPI, 2's compliment
7'h03, // 0xA300 Coarse gain, FIFO erros 0 dont data, tx not enabled
7'h04, // 0xF3F3 FIFO and lane alarms enables lanes 2 and 3
7'h05, // 0xFFF7 only allow Serdes block 0 PLL lock alarm
7'h06, // 0xFFFF Jesd test alarms
7'h4A, // 0x0C3E Turns on lanes 2 and 3, dual dac mode, reset JESD**
7'h4B, // 0x0801 Use F value of 2 and elastic buffers of 8
7'h4C, // 0x0901 Use K value of 10 and L value of 2
7'h4D, // 0x0100 Use M value of 2 and S value of 1
7'h4E, // 0x0F0F Turn off scrambler and HD
7'h4F, // 0x1C61 Dont match a specfic character for buffering
7'h51, // 0x00DC Which errors cause SYNC request, Link 0
7'h52, // 0x00FF Error counter mask
7'h54, // 0x00FC Which errors cause sync request, Link 1
7'h55, // 0x00FF Error counter mask
7'h57, // 0x00FF Which errors cause sync request, Link 2
7'h58, // 0x00FF Error counters mask
7'h5A, // 0x00FF Which errors cause sync request, Link 3
7'h5B, // 0x00FF Error counters mask
7'h5C, // 0x0006 Skip two SYSREFs then use all
7'h5F, // 0x3210 Change lane numbers
7'h60, // 0x5764 Change lane numbers
7'h61, // 0x0211 Set the SYNC_N* values
7'h6C, // 0x0000 Clear PLL alarms
7'h1E, // 0x9999 Select SYNC source for QMC (just from SPI)
7'h1F, // 0x9980 Select SYNC source for mixers and NCO (just from SPI)
7'h20 // 0x8008 Select SYNC source for dither and for FIR (just from SPI)