ADAR1000-EVALZ Addressing Board

I am currently evaluating an ADAR1000-EVALZ board, and I am having issues addressing with with the evaluation software and an SDP-S (this is a precursor to using 4 daisy-chained together). I seem to be able to change the address on the ADAR using P10. For instance, I can control the board when AD1 and AD0 are low with no issue and setting either high by connecting pins 3 and 4 to 5 and 6 prevents the software from interfacing with it. However, all attempts to address the ADAR when the address is not set to zero have failed. I have tried setting both the ADDR0/1 values in the connection and GPIO tabs to match the jumper positions with no success, and ensuring the settings are correct before connecting the software to the SDP-S has not made a difference. Where might I be going wrong? I am using the default maximum gain settings text file and uploading it to the ADAR1000 using the manual register write tab. Any advice would be greatly appreciated.

Parents
  • As per usual, a good night's rest helps solve the problem. I will quickly detail what caused the problem and the appropriate solutions.

    First of all, the problem was related to the fact that I was using the manual register write. I was setting the address of each board correctly (using the P10 header). The ADDR0 and ADDR1 checkboxes in the connection tab work when using the GUI to upload instructions to the board. However, they don't work when using the manual register writes. The problem was that I was used to only listing the last 12 (or 8) bits of the address, as shown in the default examples. However, the ADAR1000 uses a 16-bit address. Bit 15 (MSB) describes r/w mode, bits 14 and 13 describe the address of the board you want to control and bit 12 is left at 0 to redirect to the register addresses. So when I was using the value like 1FFF in the manual write tab, it was extended to 001FFF, where the top bits 0000 meant that it was in write mode (good), it was going to the right register (good), but the middle two bits meant that it was attempting to communicate to the 00 address board at all times. To address board 11, I simply use 601FFF. Lesson learned: get sleep and re-read the datasheets.

  • 0
    •  Analog Employees 
    on Mar 5, 2021 5:27 PM 1 month ago in reply to CodeToad

    Just to reiterate and clarify for other folks on the forum:

    Yes, the ADDR1 and ADDR0 pins of the ADAR1000 are set with P10; if left unconnected they are pulled low via 10k to ground.  You can assert them high with GPIO pins coming from the SDP-S by shorting P10 pins 1 & 3, and 2 & 4.  Or you can pull them high by shorting pins 3 & 5, and 4 & 6.  Schematic snippet below shows this. 

    When using the manual register write, all undefined leading digits are set to zero.  When writing to the register space, the first hex digit for the address for each chip is:

    Chip 0: 0x0xxx

    Chip 1: 0x2xxx

    Chip 2: 0x4xxx

    Chip 3: 0x6xxx

    If needing to address the RAM space it would be (asserting Bit[12] addresses the RAM):

    Chip 0: 0x1xxx

    Chip 1: 0x3xxx

    Chip 2: 0x5xxx

    Chip 3: 0x7xxx

Reply
  • 0
    •  Analog Employees 
    on Mar 5, 2021 5:27 PM 1 month ago in reply to CodeToad

    Just to reiterate and clarify for other folks on the forum:

    Yes, the ADDR1 and ADDR0 pins of the ADAR1000 are set with P10; if left unconnected they are pulled low via 10k to ground.  You can assert them high with GPIO pins coming from the SDP-S by shorting P10 pins 1 & 3, and 2 & 4.  Or you can pull them high by shorting pins 3 & 5, and 4 & 6.  Schematic snippet below shows this. 

    When using the manual register write, all undefined leading digits are set to zero.  When writing to the register space, the first hex digit for the address for each chip is:

    Chip 0: 0x0xxx

    Chip 1: 0x2xxx

    Chip 2: 0x4xxx

    Chip 3: 0x6xxx

    If needing to address the RAM space it would be (asserting Bit[12] addresses the RAM):

    Chip 0: 0x1xxx

    Chip 1: 0x3xxx

    Chip 2: 0x5xxx

    Chip 3: 0x7xxx

Children
No Data