Currently I am working with the ISP1510 module from InsightIP, which consists of the DW1000 and NRF52832. The ISP1510 is connected via the ISP130603E interface board.
I have setup the project by using the spi example provided in the NRF52_SDK. I have replaced the content of the main.c by the contents of the simple_tx main.c example from the dw1000 api.
I have also added and modified the necessary code as instructed to by the ISP1510 manual (page 33)
I can’t post more than 2 links as a new user, can be found by googling “ISP1510 application note.”
Currently my main.c looks like this:
As of now I am able to get the ID by using the spi_transfer and seeing the ID in Logic, however, trying to transmit a UWB message seems to gives some errors in the Logic Analyzer.
By commenting out dwt_write and dwt_start and using the spi transfer command on R170:
I am able to send the 0x00 to the DW1000 to obtain the device ID by using a logic analyzer.
R170: APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
Using the following commands at R155, as given by the tx example, I should be able to send to the UWB buffer and activate the transmission. Looking at the data sent over SPI however, there seems to be some issues.
//dwt_writetxdata(sizeof(m_tx_buf), m_tx_buf, 0);
//dwt_writetxfctrl(sizeof(m_tx_buf), 0, 0);
In the following image the difference can be seen by using the regular nrf_drv_spi_transfer and the dwt commands. The error message given by Logic reads “The initial (idle) state of the CLK line does not match the settings”, I have already googled this error and tried the solution provided by Logic (swapping clock frequency).
What I am doing wrong wrong that causes the SPI to fail when using the dwt commands?
Any help is welcome!