Lora-net/lr1110_evk_demo_app

Problem with LR1110 control throuh arduino SPI interface

Gazella019 opened this issue · 5 comments

Hi i am trying to use arduino to control LR1110 evk board
I just plug the LR1110 evk board to the arduino, and use arduino to send some SPI data
I send the op code format (like GetVersion) shown on the LR1110 user manual and also receive some data
but i found that the data seems not correct and when i use SetRx command the rx led on evk board did not turned on
so i am not sure it is working well, also during the whole spi transfer the busy pin keep in the low state, according to manual it will turn high when ss pin turn low and ready to start the transfer.

Is there anything i went wrong or missed to do?
thanks for the answering

Hello,

Here are some item to check:

  • Do you drive the RESET pin properly?
  • What is your SPI configuration (polarity / phase, clock speed)?

Can you share the output of a logical analyzer / oscilloscope where MOSI / MISO / CS / SCK / BUSY / IRQ lines are visible? It will help to understand what's going on.

For your information, LEDs (Rx / Tx / scan) are not driven by the LR1110 but by the host - your arduino board in this case. Please have a look at the schematic to know which pin drives which LED (https://www.semtech.com/products/wireless-rf/lora-transceivers/lr1110#additional-resources).

Thanks!

Hello, thanks for the reply

  • Do you drive the RESET pin properly?
    I am a little confused about this point, the RESET pin will plug into the Arduino RESET pin respectively, and according to the manual i should set RESET pin to be low for about 100us, But the RESET pin on Arduino seems cant not output voltage(or i miss understand this part), I just think when i press the RESET button on Arduino, the RESET pin will set on.

  • What is your SPI configuration (polarity / phase, clock speed)?
    I use CPOL = 0 and CPHA = 0, clock speed 4MHZ I think this part is ok.

Logical analyzer
I am sending 0x0101 which is the GetVersion opcode and following the 0x00 to fetch response, and the BUSY pin did not come up with the slave select pin gets low, is this means that the LR1110 are not reset properly during the whole action?
But why i still get some response, although i am curious about the response are correct correspond to the opcode coomand.

arduino_getversion

Another problem, i notice that is the SPI output signal should be above some voltage logic level?
The picture below is the result that i use NXP RT685 board to send data to LR. In this time, i totally did not get any response (Though the SPI transfer seems working on the analyzer) and i have no idea.
I notice that the ouput SPI logic level are about 1.8v, and the Arduino are about 5v is this the problem?

nxp_spi

My Hardware setting:

arduino_lr

Thanks for the patient, it really helps me a lot, i have been debugging for some days : (

Thank you very much!

I think problem is on RESET process, but still can not solve it

It is an "active low" reset pin, make sure you drive it high when there is a SPI transfer.

Hi @Gazella019 - any update?