AnsweredAssumed Answered

FMCOMMS3 Calbration TIMEOUT 0x247 0x287

Question asked by dhgeon on Mar 6, 2017
Latest reply on Mar 22, 2017 by DragosB

I'm using the FMCOMMS3 (Rev A) with Zedboard (Rev C) using the latest commit of the no-OS driver (ad9361: Add support for AD9363 devices · analogdevicesinc/no-OS@0daf7b3 · GitHub) alongside a custom FPGA bitstream. I am able to read/write SPI registers and set/get properties via the no-OS API, but the RX and PLLs never lock:

Calibration TIMEOUT (0x247, 0x2)
Calibration TIMEOUT (0x287, 0x2)
Calibration TIMEOUT (0x247, 0x2)
ad9361_init : AD936x Rev 2 successfully initialized

 

  • The reference_clk_rate member of the AD9361_InitParam struct is 40000000, (which is what I believe it should be for the 40 MHz crystal on the FMCOMMS3).
  • An oscilloscope plot of the XTALP/XTALN crystal shows that it's ~40 MHz, ~220 mV pk-pk, and DC offset around 650 mV.
  • I've tried various configurations (LO freqs, dcxo coarse and fine tuning) to no avail
  • The udelay and mdelay "platform" functions should be correctly implemented - it's a simple usleep()
  • I've checked other posts in this forum to no avail

 

Register dump:

0x0 -> 0x0
0x1 -> 0x0
0x2 -> 0xdc
0x3 -> 0xdc
0x4 -> 0x3
0x5 -> 0x11
0x6 -> 0x4
0x7 -> 0x70
0x9 -> 0x7
0xa -> 0x2
0xb -> 0xce
0x0c -> 0xe
0x0d -> 0x5
0x0e -> 0x1d
0x0f -> 0x0
0x10 -> 0xc8
0x11 -> 0x0
0x12 -> 0x10
0x13 -> 0x0
0x14 -> 0x28
0x15 -> 0x10
0x16 -> 0x0
0x17 -> 0x16
0x18 -> 0x0
0x19 -> 0x0
0x1a -> 0x0
0x1b -> 0x0
0x1c -> 0x18
0x1d -> 0x0
0x1e -> 0x69
0x1f -> 0x4
0x20 -> 0x0
0x21 -> 0xa
0x22 -> 0x2
0x23 -> 0xff
0x24 -> 0x2
0x25 -> 0x2
0x26 -> 0x80
0x27 -> 0x0
0x28 -> 0x0
0x29 -> 0x0
0x2a -> 0x0
0x2b -> 0x0
0x2c -> 0x0
0x2d -> 0x0
0x2e -> 0x0
0x2f -> 0x0
0x30 -> 0x0
0x31 -> 0x0
0x32 -> 0x0
0x33 -> 0x0
0x35 -> 0x0
0x36 -> 0xff
0x37 -> 0xa
0x3a -> 0x27
0x3b -> 0x0
0x3c -> 0x21
0x3d -> 0xff
0x3e -> 0xf
0x3f -> 0x1
0x40 -> 0x0
0x41 -> 0x12
0x42 -> 0x5c
0x43 -> 0x29
0x44 -> 0x18
0x45 -> 0x0
0x46 -> 0x4
0x47 -> 0x0
0x48 -> 0xc5
0x49 -> 0xb8
0x4a -> 0x35
0x4b -> 0xe1
0x4c -> 0x86
0x4d -> 0x5
0x4e -> 0x10
0x50 -> 0x0
0x51 -> 0x0
0x52 -> 0x3
0x53 -> 0x0
0x54 -> 0x0
0x55 -> 0x0
0x56 -> 0x0
0x57 -> 0x3c
0x58 -> 0x30
0x5e -> 0x80
0x5f -> 0x0
0x60 -> 0x7f
0x61 -> 0x9e
0x62 -> 0x7f
0x63 -> 0x0
0x64 -> 0x0
0x65 -> 0x10
0x67 -> 0x0
0x68 -> 0x18
0x69 -> 0xff
0x6a -> 0x0
0x6b -> 0x0
0x6c -> 0x0
0x6d -> 0x0
0x6e -> 0x9
0x6f -> 0x0
0x70 -> 0xc2
0x71 -> 0xc2
0x73 -> 0x0
0x74 -> 0x0
0x75 -> 0x0
0x76 -> 0x0
0x77 -> 0x0
0x78 -> 0x94
0x79 -> 0x0
0x7c -> 0x0
0x8e -> 0xf1
0x8f -> 0xf8
0x90 -> 0xec
0x91 -> 0xf6
0x92 -> 0x7f
0x93 -> 0x80
0x94 -> 0x80
0x95 -> 0x7d
0x96 -> 0x0
0x97 -> 0x0
0x98 -> 0x0
0x99 -> 0x0
0x9a -> 0x0
0x9b -> 0x0
0x9c -> 0x0
0x9d -> 0x0
0x9f -> 0x0
0xa0 -> 0x0
0xa1 -> 0x7b
0xa2 -> 0x7f
0xa3 -> 0x0
0xa4 -> 0xf0
0xa5 -> 0x1
0xa6 -> 0x1
0xa7 -> 0xfc
0xa8 -> 0xfc
0xa9 -> 0xff
0xaa -> 0x25
0xab -> 0x0
0xac -> 0x0
0xad -> 0x0
0xae -> 0x0
0xc2 -> 0x4
0xc3 -> 0x4
0xc4 -> 0x4
0xc5 -> 0x4
0xc6 -> 0x4
0xc7 -> 0x39
0xc8 -> 0x39
0xc9 -> 0x39
0xca -> 0x26
0xcb -> 0x0
0xd0 -> 0x59
0xd1 -> 0x1
0xd2 -> 0x3f
0xd3 -> 0x60
0xd6 -> 0x6b
0xd7 -> 0x1e
0xf0 -> 0x7f
0xf1 -> 0x71
0xf2 -> 0xbe
0xf3 -> 0x0
0xf4 -> 0x0
0xf5 -> 0x10
0xf6 -> 0x0
0xfa -> 0xe0
0xfb -> 0x8
0x0fc -> 0x23
0x0fd -> 0x4c
0x0fe -> 0x44
0x100 -> 0x6f
0x101 -> 0xa
0x103 -> 0x8
0x104 -> 0x2f
0x105 -> 0x3a
0x106 -> 0x22
0x107 -> 0x2b
0x108 -> 0x31
0x109 -> 0x4c
0x10a -> 0x58
0x10b -> 0x0
0x10c -> 0x4c
0x10d -> 0x18
0x10e -> 0x0
0x110 -> 0x40
0x111 -> 0xca
0x112 -> 0x4a
0x113 -> 0x4a
0x114 -> 0x30
0x115 -> 0x0
0x116 -> 0x65
0x117 -> 0x8
0x118 -> 0x5
0x119 -> 0x8
0x11a -> 0x1c
0x11b -> 0x5
0x120 -> 0xc
0x121 -> 0xaa
0x122 -> 0xaa
0x123 -> 0x11
0x124 -> 0x8d
0x125 -> 0x3a
0x128 -> 0x3
0x129 -> 0x56
0x12a -> 0x22
0x12c -> 0x0
0x12d -> 0x0
0x130 -> 0x4c
0x131 -> 0x6f
0x132 -> 0x38
0x133 -> 0x20
0x134 -> 0x6f
0x135 -> 0x38
0x136 -> 0x20
0x137 -> 0x0
0x138 -> 0x0
0x139 -> 0x0
0x13a -> 0x0
0x13b -> 0x3e
0x13c -> 0x0
0x13d -> 0x0
0x13e -> 0x3e
0x13f -> 0x0
0x140 -> 0xef
0x142 -> 0x0
0x143 -> 0x0
0x144 -> 0x0
0x145 -> 0xb
0x146 -> 0x0
0x147 -> 0x10
0x148 -> 0x4
0x149 -> 0x0
0x150 -> 0xde
0x151 -> 0xac
0x152 -> 0x8d
0x153 -> 0x46
0x154 -> 0x23
0x155 -> 0x9
0x156 -> 0x3
0x157 -> 0x7
0x158 -> 0xc
0x15c -> 0x79
0x15d -> 0xb1
0x161 -> 0x0
0x163 -> 0x0
0x169 -> 0xcc
0x16a -> 0x75
0x16b -> 0x95
0x170 -> 0x0
0x171 -> 0x0
0x172 -> 0x0
0x173 -> 0x0
0x174 -> 0xa
0x175 -> 0x48
0x176 -> 0xff
0x177 -> 0x44
0x178 -> 0xfd
0x179 -> 0x0
0x17a -> 0x0
0x17b -> 0x0
0x17c -> 0x0
0x17d -> 0xa
0x17e -> 0x48
0x17f -> 0xff
0x180 -> 0x44
0x181 -> 0xfd
0x182 -> 0x0
0x185 -> 0x20
0x186 -> 0x32
0x187 -> 0x24
0x188 -> 0x5
0x189 -> 0x30
0x18b -> 0x85
0x18c -> 0x0
0x18d -> 0x64
0x190 -> 0xf
0x191 -> 0x5
0x192 -> 0x3
0x193 -> 0x3f
0x194 -> 0x1
0x19a -> 0x3
0x19b -> 0xf4
0x19c -> 0x3
0x19d -> 0x9c
0x19e -> 0x2
0x19f -> 0x24
0x1a0 -> 0x3
0x1a1 -> 0xd7
0x1a2 -> 0x0
0x1a3 -> 0x0
0x1a4 -> 0x0
0x1a5 -> 0x0
0x1a7 -> 0x84
0x1a8 -> 0x96
0x1a9 -> 0x86
0x1aa -> 0x97
0x1ab -> 0x2
0x1ac -> 0x1
0x1db -> 0xe0
0x1dc -> 0x40
0x1dd -> 0x7f
0x1de -> 0x40
0x1df -> 0x7f
0x1e0 -> 0xc
0x1e1 -> 0xc
0x1e2 -> 0x3
0x1e3 -> 0x3
0x1e4 -> 0x2
0x1e5 -> 0x2
0x1e6 -> 0x4
0x1e7 -> 0x2f
0x1e8 -> 0x8
0x1e9 -> 0x2f
0x1ea -> 0x8
0x1eb -> 0x2f
0x1ec -> 0x8
0x1ed -> 0x35
0x1ee -> 0x18
0x1ef -> 0x35
0x1f0 -> 0x33
0x1f1 -> 0x35
0x1f2 -> 0x0
0x1f3 -> 0x24
0x1f4 -> 0x0
0x1f5 -> 0x0
0x1f8 -> 0x7b
0x1f9 -> 0x1f
0x1fa -> 0x1
0x1fb -> 0x0
0x1fc -> 0x1a
0x230 -> 0x54
0x231 -> 0x0
0x232 -> 0x0
0x233 -> 0x0
0x234 -> 0x0
0x235 -> 0x0
0x236 -> 0x0
0x237 -> 0x0
0x238 -> 0x0
0x239 -> 0x78
0x23a -> 0x4d
0x23b -> 0xa2
0x23c -> 0x0
0x23d -> 0x4
0x23e -> 0xcf
0x23f -> 0xb4
0x240 -> 0xc
0x241 -> 0x0
0x242 -> 0x16
0x243 -> 0xd
0x244 -> 0x87
0x245 -> 0x0
0x246 -> 0x2
0x247 -> 0x0
0x248 -> 0xb
0x249 -> 0x86
0x24a -> 0x2
0x24b -> 0x17
0x24c -> 0x0
0x24d -> 0x0
0x250 -> 0x70
0x251 -> 0xc
0x25a -> 0x0
0x25b -> 0x0
0x25c -> 0xdd
0x25d -> 0x3c
0x25e -> 0x0
0x25f -> 0x0
0x261 -> 0x0
0x270 -> 0x54
0x271 -> 0x0
0x272 -> 0x0
0x273 -> 0x0
0x274 -> 0x0
0x275 -> 0x0
0x276 -> 0x2f
0x277 -> 0x0
0x278 -> 0x0
0x279 -> 0x78
0x27a -> 0x4d
0x27b -> 0xa2
0x27c -> 0x0
0x27d -> 0x4
0x27e -> 0xcf
0x27f -> 0xb4
0x280 -> 0xc
0x281 -> 0x0
0x282 -> 0x16
0x283 -> 0xd
0x284 -> 0x88
0x285 -> 0x0
0x286 -> 0x2
0x287 -> 0x80
0x288 -> 0xb
0x289 -> 0x86
0x28a -> 0x2
0x28b -> 0x17
0x28c -> 0x0
0x28d -> 0x0
0x290 -> 0x70
0x291 -> 0xc
0x292 -> 0x8
0x293 -> 0xb9
0x294 -> 0x0
0x29a -> 0x0
0x29b -> 0x0
0x29c -> 0xe9
0x29d -> 0xb8
0x29e -> 0x0
0x29f -> 0x0
0x2a1 -> 0x0
0x2a6 -> 0xe
0x2a8 -> 0xe
0x2ab -> 0x7
0x2ac -> 0xff
0x2b0 -> 0x4c
0x2b1 -> 0x18
0x2b2 -> 0x0
0x2b3 -> 0x0
0x2b4 -> 0x0
0x2b5 -> 0x4c
0x2b6 -> 0x18
0x2b7 -> 0x0
0x2b8 -> 0x0
0x2b9 -> 0x0
0x3df -> 0x1
0x3f4 -> 0x0
0x3f5 -> 0x0
0x3f6 -> 0x0

Outcomes