I'm trying to put together a simple test setup using the ADAR1000-EVAL board. My hope was to connect via SPI and a Raspberry Pi 3 B+ and send the appropriate register commands to change the phases and amplitudes in a set manner from Python.
I had gotten the SDP-B and the Windows software and have played around with the basic GUI. I've successfully run the example script: RX1_MaxG_45.txt from that interface. Upon taking that board out of the picture, I switched to my raspberry pi setup, and connected the CE, MOSI,MISO,SCLK lines from the Pi GPIO to the relevant lines on the P3 interface.
I've got CPOL and CPHASE set to 0, with a max bus speed set to 50,000 Hz. I basically then send the registry address data followed by the data via the spi interface through Python, stepping through all the commands from RX1_MaxG_45.txt. However this does not seem to work; I have a continuous wave signal going directly into port RX1 and a spectrum analyzer hooked up to the RF_IO port. When operating with the SDP-B, I can see it go from no signal to a strong peak immediately after running through all the commands in the example script. However when trying through the SPI on the Pi, I only was successful at activating a signal twice - seemingly randomly out of the dozen of times I was mucking around with code. Why? I have no idea...
Which brings me to my questions:
1. Writing to registry 0, 0x0018 activates SDO and a 4 wire spi = but SDO is a 1.8V line - is that converted to 3.3V anywhere (i.e. the MISO line on P3)? I initially have just hooked up the MOSI, MISO, SCLK lines on the P3 connector and am going to the PI, yet I don't see anything signal coming in on the MISO line.
2. If I skip writing 0x0018, does that keep it in 3 wire spi mode?
3. Is there a simpler way to utilize the existing driver written for the windows eval software to interact with the board such that I can change phases and attenuators or an alternative to reading the SPI from the raspberry pi that anyone could recommend?
Thanks in advance!