I am having trouble getting SPI to work on the arty a7 35t dev board with a mc33972 module. I have created a design consisting of an AXI QUAD SPI module and created ports that are connected to the pmod ja port. When I connect the pins of the ja port to the mc33972 module and send a message I don't get any response back. The XSpi_Transfer function pass without any problem but there is nothing coming out on the ja port.
Am I missing something important that should also be specified?
Have also tried some of the spi pmod examples and used the correct ports out but still not seeing any data.
EDIT: Jan 23 15:57
I noticed that the code I used in spi_write returned XST_SUCCESS instead of status (Have changed it in the code above now). When I ran the code it returned error code 21 = busy.
So it seems like xspi_transfer is performed once successfully and then nothing afterwards, just error 21 (busy) rest of the time. I also noticed that I didn't have the XSpi_IntrGlobalDisable(); in the init. If I added that to the init code, then the xspi_transfer() function wont return and will get stuck. Any idea why the function xspi_transfer won't return???
EDIT: Jan 24 08:50
Never mind the edit above, was my mistake. Had set the wrong base address and also id, therefore resulting in failing and not working. However, now xspi_transfer is returning with 0 = success but still not seeing anything on the oscilloscope or getting any response... Would appreciate any help I could get in order to get this working
Question
hdx
Hi everyone,
I am having trouble getting SPI to work on the arty a7 35t dev board with a mc33972 module. I have created a design consisting of an AXI QUAD SPI module and created ports that are connected to the pmod ja port. When I connect the pins of the ja port to the mc33972 module and send a message I don't get any response back. The XSpi_Transfer function pass without any problem but there is nothing coming out on the ja port.
set_property -dict { PACKAGE_PIN G13 IOSTANDARD LVCMOS33 } [get_ports { SPI_CS }];
set_property -dict { PACKAGE_PIN B11 IOSTANDARD LVCMOS33 } [get_ports { SPI_MOSI }];
set_property -dict { PACKAGE_PIN A11 IOSTANDARD LVCMOS33 } [get_ports { SPI_MISO }];
set_property -dict { PACKAGE_PIN D12 IOSTANDARD LVCMOS33 } [get_ports { SPI_SCLK }];
Am I missing something important that should also be specified?
Have also tried some of the spi pmod examples and used the correct ports out but still not seeing any data.
EDIT: Jan 23 15:57I noticed that the code I used in spi_write returned XST_SUCCESS instead of status (Have changed it in the code above now). When I ran the code it returned error code 21 = busy.So it seems like xspi_transfer is performed once successfully and then nothing afterwards, just error 21 (busy) rest of the time. I also noticed that I didn't have the XSpi_IntrGlobalDisable(); in the init. If I added that to the init code, then the xspi_transfer() function wont return and will get stuck. Any idea why the function xspi_transfer won't return???EDIT: Jan 24 08:50
Never mind the edit above, was my mistake. Had set the wrong base address and also id, therefore resulting in failing and not working. However, now xspi_transfer is returning with 0 = success but still not seeing anything on the oscilloscope or getting any response... Would appreciate any help I could get in order to get this working
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.