Problem with Register test

Hello.

I have connected Myriad RF board with Zipper board to my Windows 8.1 PC with USB and using GUI interface (control_LMS6002.exe). When I am executing Register test macro, it returns strange error.

Report looks like this:

addr: 0x04 Testing TxRF SPI, Mask 0xAA: Module test with this pattern is OK. Testing TxRF SPI, Mask 0x55: Module test with this pattern is OK.

addr: 0x07
Testing RxFE SPI, Mask 0xAA:
Module test with this pattern is OK.
Testing RxFE SPI, Mask 0x55:
Module test with this pattern is OK.

addr: 0x06
Testing RxVga2 SPI, Mask 0xAA:
Module test with this pattern is OK.
addr: 0x05
Testing RxVga2 SPI, Mask 0x55:
Module test with this pattern is OK.

Testing RxLPF SPI, Mask 0xAA:
Module test with this pattern is OK.
Testing RxLPF SPI, Mask 0x55:
Module test with this pattern is OK.

addr: 0x03
Testing TxLPF SPI, Mask 0xAA:
Module test with this pattern is OK.
Testing TxLPF SPI, Mask 0x55:
Module test with this pattern is OK.

addr: 0x01
Testing TxPLL SPI, Mask 0xAA:
Module test with this pattern is OK.
Testing TxPLL SPI, Mask 0x55:
Module test with this pattern is OK.

addr: 0x02
Testing RxPLL SPI, Mask 0xAA:
Reg Addr = 11 Failed (Write/Read Values): AA / 00
Reg Addr = 12 Failed (Write/Read Values): AA / 00
Module test with this pattern FAILED!
Testing RxPLL SPI, Mask 0x55:
Reg Addr = 0 Failed (Write/Read Values): 55 / 52
Reg Addr = 1 Failed (Write/Read Values): 55 / AA
Reg Addr = 2 Failed (Write/Read Values): 55 / AA
Reg Addr = 3 Failed (Write/Read Values): 55 / AA
Reg Addr = 4 Failed (Write/Read Values): 55 / AA
Reg Addr = 5 Failed (Write/Read Values): 55 / AA
Reg Addr = 6 Failed (Write/Read Values): 55 / AA
Reg Addr = 7 Failed (Write/Read Values): 55 / AA
Reg Addr = 8 Failed (Write/Read Values): 55 / AA
Reg Addr = 9 Failed (Write/Read Values): 15 / AA
Reg Addr = 10 Failed (Write/Read Values): 15 / 2A
Reg Addr = 11 Failed (Write/Read Values): 55 / AA
Reg Addr = 12 Failed (Write/Read Values): 55 / AA
Module test with this pattern FAILED!

addr: 0x00
Testing Top SPI, Mask 0xAA:
Module test with this pattern is OK.
Testing Top SPI, Mask 0x55:
Module test with this pattern is OK.

Testing TxPLL VTUNE registers:
VTUNE registers are OK.

Testing RxPLL VTUNE registers:
VTUNE registers are OK.

The most interesting part is that test and errors for “addr: 0x02” is not always the same. Sometimes it completes the test, sometimes there are only some address fails, but sometimes program have failed to write all addresses.

Does anyone have had the same problem?

We have been working on this for a while and we see the exact same problem using a WIndows 7 PC. We have two boards and it happens on both boards. I scoped the signals and put a logic analyzer on them and they look really good, but I changed the series resistors on the SPI Clock source to make the clock look better and it still has the problem even if it seems to fail less. We see like 1 or 2 out of 10 fail before changing the resistor and about 1 or 2 out of 30 after. I also set the logic analyzer to trigger on glitches on the SCLK and it saw nothing so the CLK integrity is pretty darn good.

We have been in discussions with LimeMicro about this and they are claiming it is not the chip but its the Myriad board itself. But if the signals look clean on the board and it fails it makes me think it might be a chip issue.

We tried it attached to a Zipper-Altera Development system and stand alone and see the same issues in either case. with both boards.

We are considering moving to the Analog Devices or Maxim Digital Radio solution if we do not resolved this soon, we can not have intermittent silicon on a production device. The Myriad is used for a prototype but it will be turned into custom boards for production.

Please feel free to contact me about any details. I have scope trace shots and logic analyzer shots if your interested.

john5957@sbcglobal.net

John

Hi John,

Just trying to find out who you’ve been in discussion with and hope to get back to you soon. In the meantime, feel free to send me a private message with further details.

Regards,

Andrew

hello, janksd

I worked with Myriad and Zipper boards for few months and had not this issue at all.
But I assume it could be something with capacitor value.
Try to reduce the capacitor value on SPICLK line on Myriad board.

1 Like

Hi Janksd,

Lime is correct in saying that this issue is nothing to do with their chip. We have done a lot of testing on the Zipper board and found that you need to add a serial resistor of say about 100 ohm (R63) on the SPI_CLK to ensure that there is no ringing on the clock. I know that a couple of people had experienced the same problem and this suggestion solved the issue.
Champion

1 Like

Hi John,

You may change the resistor R63 on Zipper board to 100Ohm to eliminate the ringing on SPI_CLK. We have done a lot of testing. This should should solve this issue.

Regards,
Champion

1 Like

Thanks for all the responses, I will make the R change and report back on the result. I tried a 47 Ohm and it didn’t fix it. I am glad this is a fixable problem.

John

FYI The 100 Ohm resistor fixed the problem on both of our Zipper Board.

John

Thanks for the update and that’s great to hear, John!

Regards,

Andrew

Hello,

I have a Myriad RF board, and i try to use it with a DEO NANO FPGA board, a Digital interface, and the GUI interface (controle_LMS6002.exe).

I have the exactely same error whene I am executing Register test macro in the first time, but somtimes the programe have failed to write all addresses.

Does anyone have had the same problem?

Hi!

Have You tried to plug external power supply for Zipper board? Also, as it is already said in this topic You should try to change R63 resistor to 100 ohm.

Regards,
Janis

Hi janis!

But me i don’t use the Zipper board, I use the Myriad devolpement kit with the DEO Nano FPGA board and a Digital interface. It’s not the same application

Regrads,

Amina

I changed R63 to 100 ohms per the above suggestions. Powering Zipper from USB. Cannot get the reg test to pass (see below). Busting to get this working since our baseband is all ready to test.

addr: 0x04
Testing TxRF SPI, Mask 0xAA:
Module test with this pattern is OK.
Testing TxRF SPI, Mask 0x55:
Module test with this pattern is OK.

addr: 0x07
Testing RxFE SPI, Mask 0xAA:
Module test with this pattern is OK.
Testing RxFE SPI, Mask 0x55:
Module test with this pattern is OK.

addr: 0x06
Testing RxVga2 SPI, Mask 0xAA:
Module test with this pattern is OK.
addr: 0x05
Testing RxVga2 SPI, Mask 0x55:
Module test with this pattern is OK.

Testing RxLPF SPI, Mask 0xAA:
Module test with this pattern is OK.
Testing RxLPF SPI, Mask 0x55:
Reg Addr = 2 Failed (Write/Read Values): 15 / 00
Reg Addr = 3 Failed (Write/Read Values): 15 / 00
Reg Addr = 4 Failed (Write/Read Values): 15 / 00
Reg Addr = 5 Failed (Write/Read Values): 55 / 00
Reg Addr = 6 Failed (Write/Read Values): 55 / 00
Reg Addr = 7 Failed (Write/Read Values): 55 / 00
Reg Addr = 8 Failed (Write/Read Values): 55 / 00
Reg Addr = 9 Failed (Write/Read Values): 55 / 00
Reg Addr = 10 Failed (Write/Read Values): 55 / 00
Reg Addr = 11 Failed (Write/Read Values): 55 / 00
Reg Addr = 12 Failed (Write/Read Values): 55 / 00
Reg Addr = 13 Failed (Write/Read Values): 55 / 00
Reg Addr = 14 Failed (Write/Read Values): 55 / 00
Reg Addr = 15 Failed (Write/Read Values): 15 / 00
Module test with this pattern FAILED!

addr: 0x03
Testing TxLPF SPI, Mask 0xAA:
Reg Addr = 2 Failed (Write/Read Values): 2A / 00
Reg Addr = 3 Failed (Write/Read Values): 2A / 00
Reg Addr = 4 Failed (Write/Read Values): 2A / 00
Reg Addr = 5 Failed (Write/Read Values): 2A / 00
Reg Addr = 6 Failed (Write/Read Values): A2 / 00
Reg Addr = 15 Failed (Write/Read Values): 80 / 00
Module test with this pattern FAILED!
Testing TxLPF SPI, Mask 0x55:
Reg Addr = 2 Failed (Write/Read Values): 15 / 00
Reg Addr = 3 Failed (Write/Read Values): 15 / 00
Reg Addr = 4 Failed (Write/Read Values): 15 / 00
Reg Addr = 5 Failed (Write/Read Values): 55 / 00
Reg Addr = 6 Failed (Write/Read Values): 55 / 00
Module test with this pattern FAILED!

addr: 0x01
Testing TxPLL SPI, Mask 0xAA:
Reg Addr = 0 Failed (Write/Read Values): AA / 00
Reg Addr = 1 Failed (Write/Read Values): AA / 00
Reg Addr = 2 Failed (Write/Read Values): AA / 00
Reg Addr = 3 Failed (Write/Read Values): AA / 00
Reg Addr = 4 Failed (Write/Read Values): AA / 00
Reg Addr = 5 Failed (Write/Read Values): AA / 00
Reg Addr = 6 Failed (Write/Read Values): AA / 00
Reg Addr = 7 Failed (Write/Read Values): AA / 00
Reg Addr = 8 Failed (Write/Read Values): AA / 00
Reg Addr = 9 Failed (Write/Read Values): AA / 00
Reg Addr = 10 Failed (Write/Read Values): 2A / 00
Reg Addr = 11 Failed (Write/Read Values): AA / 00
Reg Addr = 12 Failed (Write/Read Values): AA / 00
Module test with this pattern FAILED!
Testing TxPLL SPI, Mask 0x55:
Reg Addr = 0 Failed (Write/Read Values): 55 / 00
Reg Addr = 1 Failed (Write/Read Values): 55 / 00
Reg Addr = 2 Failed (Write/Read Values): 55 / 00
Reg Addr = 3 Failed (Write/Read Values): 55 / 00
Reg Addr = 4 Failed (Write/Read Values): 55 / 00
Reg Addr = 5 Failed (Write/Read Values): 55 / 00
Reg Addr = 6 Failed (Write/Read Values): 55 / 00
Reg Addr = 7 Failed (Write/Read Values): 55 / 00
Reg Addr = 8 Failed (Write/Read Values): 55 / 00
Reg Addr = 9 Failed (Write/Read Values): 15 / 00
Reg Addr = 10 Failed (Write/Read Values): 15 / 00
Reg Addr = 11 Failed (Write/Read Values): 55 / 00
Reg Addr = 12 Failed (Write/Read Values): 55 / 00
Module test with this pattern FAILED!

addr: 0x02
Testing RxPLL SPI, Mask 0xAA:
Reg Addr = 0 Failed (Write/Read Values): AA / 00
Reg Addr = 1 Failed (Write/Read Values): AA / 00
Reg Addr = 2 Failed (Write/Read Values): AA / 00
Reg Addr = 3 Failed (Write/Read Values): AA / 00
Reg Addr = 4 Failed (Write/Read Values): AA / 00
Reg Addr = 5 Failed (Write/Read Values): AA / 00
Reg Addr = 6 Failed (Write/Read Values): AA / 00
Reg Addr = 7 Failed (Write/Read Values): AA / 00
Reg Addr = 8 Failed (Write/Read Values): AA / 00
Reg Addr = 9 Failed (Write/Read Values): AA / 00
Reg Addr = 10 Failed (Write/Read Values): 2A / 00
Reg Addr = 11 Failed (Write/Read Values): AA / 00
Reg Addr = 12 Failed (Write/Read Values): AA / 00
Module test with this pattern FAILED!
Testing RxPLL SPI, Mask 0x55:
Reg Addr = 0 Failed (Write/Read Values): 55 / 00
Reg Addr = 1 Failed (Write/Read Values): 55 / 00
Reg Addr = 2 Failed (Write/Read Values): 55 / 00
Reg Addr = 3 Failed (Write/Read Values): 55 / 00
Reg Addr = 4 Failed (Write/Read Values): 55 / 00
Reg Addr = 5 Failed (Write/Read Values): 55 / 00
Reg Addr = 6 Failed (Write/Read Values): 55 / 00
Reg Addr = 7 Failed (Write/Read Values): 55 / 00
Reg Addr = 8 Failed (Write/Read Values): 55 / 00
Reg Addr = 9 Failed (Write/Read Values): 15 / 00
Reg Addr = 10 Failed (Write/Read Values): 15 / 00
Reg Addr = 11 Failed (Write/Read Values): 55 / 00
Reg Addr = 12 Failed (Write/Read Values): 55 / 00
Module test with this pattern FAILED!

addr: 0x00
Testing Top SPI, Mask 0xAA:
Reg Addr = 2 Failed (Write/Read Values): 2A / 00
Reg Addr = 3 Failed (Write/Read Values): 2A / 00
Reg Addr = 5 Failed (Write/Read Values): AA / 00
Reg Addr = 6 Failed (Write/Read Values): 0A / 00
Reg Addr = 7 Failed (Write/Read Values): AA / 00
Reg Addr = 8 Failed (Write/Read Values): AA / 00
Reg Addr = 9 Failed (Write/Read Values): AA / 00
Reg Addr = 10 Failed (Write/Read Values): 02 / 00
Reg Addr = 11 Failed (Write/Read Values): 0A / 00
Module test with this pattern FAILED!
Testing Top SPI, Mask 0x55:
Reg Addr = 2 Failed (Write/Read Values): 15 / 00
Reg Addr = 3 Failed (Write/Read Values): 15 / 00
Reg Addr = 5 Failed (Write/Read Values): 16 / 00
Reg Addr = 6 Failed (Write/Read Values): 05 / 00
Reg Addr = 7 Failed (Write/Read Values): 55 / 00
Reg Addr = 8 Failed (Write/Read Values): 55 / 00
Reg Addr = 9 Failed (Write/Read Values): 55 / 00
Reg Addr = 10 Failed (Write/Read Values): 01 / 00
Reg Addr = 11 Failed (Write/Read Values): 15 / 00
Module test with this pattern FAILED!

Testing TxPLL VTUNE registers:
Some problems with VTUNE registers:
VTUNE_H (should be/acctual): 1/1;
VTUNE_H (should be/acctual): 0/1;
VTUNE_L (should be/acctual): 1/1;
VTUNE_L (should be/acctual): 0/1;

Testing RxPLL VTUNE registers:
Some problems with VTUNE registers:
VTUNE_H (should be/acctual): 1/1;
VTUNE_H (should be/acctual): 0/1;
VTUNE_L (should be/acctual): 1/1;
VTUNE_L (should be/acctual): 0/1;

You should additionally power Zipper with external power supply!