Hello,
I am trying to access the SRAM on an AD9102 and I’m having some issues. All of my reads for the SRAM return 0x0000 and the other questions in this forum haven’t enabled me to successfully read/write.
When I configure the device, I set the following registers:
- The configuration register is 0x0000
- The start address register is 0x0000 ( At least one other question seemed imply that setting the start and stop addresses was required)
- Verified by reading the register value back
- The stop address register is 0xFFF0
- Verified by reading the register value back
When I try to load 4 memory locations into the device, I’m use the following sequence:
- 0x801E 0x0000 = Get PAT_STATUS
- Reply 0x0000 0x0000
- 0x001E 0x0004 = Set MEM_ACCESS in PAT_STATUS
- 0x001D 0x0001 = Set UPDATE in RAM_UPDATE
- 0x801E 0x0000 = Get PAT_STATUS
- Reply 0x0000 0x0004
- 0x6000 0x0000 0xAAB0 0x5560 0x0010 = Write 2’s compliment, left justified of 0x0000, 0x5550, 0xAAA0, 0xFFF0 into SRAM starting location 0x6000
This seems to be correct and I can clearly see this going into the device using a logic analyzer. However, when I try to read the memory, I only receive 0’s. I am using the following sequence to read:
- 0x801E 0x0000 = Get PAT_STATUS
- Reply 0x0000 0x0004
- 0x001E 0x000C = Set MEM_ACCESS in PAT_STATUS
- 0x001D 0x0001 = Set UPDATE in RAM_UPDATE
- 0x801E 0x0000 = Get PAT_STATUS
- Reply 0x0000 0x000C
- 0xE000 0x0000 0x0000 0x0000 0x0000 = Read SRAM Location 0x6000
- Reply 0x0000 0x0000 0x0000 0x0000 0x0000
My setup uses the AD9102-EBZ and I am driving the signals with an external microprocessor. ( The SPI signals have been disconnected from the microcontroller located on the dev board.) Since I am able to read/write the registers, I’m certain that the device is hooked up properly and the system is properly functioning, but I can’t seem to get the SRAM to respond. Any suggestions?