I have got the evaluation board for ADAR1000 and I was trying to generate PA_BIAS using the internal DAC, but not able to do so. I am interfacing the board with the software provided from you. I am following the below table from the datasheet:
I tried all the combinations described above in the GUI to generate some voltage on the pin 23 of connector P9A on the board which corresponds to PA_BIAS1. But I see nothing at all on the multimeter.
On the GUI, these are the steps I followed in order:
1. Connect to the board using ADDR0/1 = 0 (jumpers are left open)
2. Initialized TX on the tab "Tx Control"
3. Wrote some values to off and on registers shown below and enabled BIAS_CTRL
4. Enabled TX_EN under T/R Control tab
5. Checked the multimeter on pin23 of connector P9A, to see nothing.
I also tried with LNA_BIAS_OUT feature but also seeing no output voltage.
Am I missing something here?
Are you still having trouble getting the PA and LNA bias pins to work properly?
Hi, sorry for delayed response. The current on 3.3V supply is 20mA and on the -5V supply its 10mA
And yes, its still not working.
Thanks for your reply. I have tried your suggestion of writing the OFF value registersa and writing 3860 earlier, but no luck. I feel the SPI communication itself is not happening with the ADAR. I tried reading back some RO registers like PRODUCT_ID, VENDOR_ID etc but I dont get anything back. I enabled the SDO before trying (by writing 0x000018).
May sound stupid but just to confirm, you asked me to write 0x004650 right? I mean 24bits and not 20 bits. All the data above, I am writing a leading 0 with it. I suppose thats how it should be.
This is the spi driver output for writinh 0x03860 for eg:
root@zynq:~# spidev_test -p \\x00\\x38\\x60 -v -D /dev/spidev32766.0spi mode: 0x0bits per word: 8max speed: 500000 Hz (500 KHz)TX | 00 38 60 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ | .8`RX | FF FF FF __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ | ...
I still think am missing something basic, these are the steps I did right now:
1. Power up the board, SDP connector left unconnected.
2. Connected 4 wires from my zynq fpga GPIO to the 4 SPI lines on P3 connector on the eval board
3. Started writing the above sequence of register writes
4.. Checked and verified each write on oscilloscope by probing the SPI lines on connector P2.
jdobler Can you please help, as I am stuck at the moment.
Sorry, I meant 24 bits. Writes to the DUT should have the first bit Low.
I would probe on P6, as that is connected to the actual DUT:
Pin1 is CSB
Pin3 is SDIO
Pin 5 is SDO
Pin 7 is SCLK
If you don't see any SPI writes on P6 there is probably something wrong with the level translators.
I checked the P6 interface and I see that the SPI signals are passed on to it correctly. Check the snapshots below:
I am writing data 0x0000BD to reset software and enable SPI 4 wire. The yellow probe is SPI_CLK, red is SPI_CSN, and blue is SPI_MOSI.
P6 connector SPI lines:
P2 connector SPI lines:
I think the level shifters are working correctly as seen by the 1.8V p2p on P6 as compared to the 3.3V p2p on P2.
After writing BD, I tried reading the PRODUCT_ID by writing SPI_MOSI with on 0x800400, but I did not see any data on SPI_MISO probe.
Finally the SPI writes worked. I had left the USB cable unconnected, and kept the SDP connected to the board. I didnt know that would create a problem. So now I removed the SDP completely on both ends and now the SPI read/writes worked without issues! I was also able to generate PA_BIAS voltage.
Thanks very much for your support!
Good to hear!
I'm also working on adar1000.
can you provide how you are doing read/write using fpga? (any sample fpga vhdl code).
I am not using any vhdl code, I use the linux spidev driver running on zynq. The SPI lines are routed to GPIOs of the FPGA board which are connected by wires to the ADAR eval board.
Could you provide some clarity on how you implemented on Zynq. I'm working with MicroZed board.