News:

PROTON pic BASIC Compilers for PIC, PIC24, dsPIC33

Main Menu

LoRa collision avoidance

Started by shantanu@india, Nov 14, 2022, 10:35 AM

Previous topic - Next topic

shantanu@india

Hi,
I do not claim to be a radio engineer and have very little understanding about the 868MHz LoRa band. Suppose 10 nos. transeivers like SX1261 start transmission at the same instant. Won't the receiver receive garbage? Or is there any built-in collision avoidance technique?
Regards
Shantanu

John Drew

Maybe they use Spread Spectrum where the signal does not exist as a carrier on a frequency and enables multiple devices to operate simultaneously in a band without interference.
Modern model aircraft radios use SS and no longer have to use pegs on a board indicating frequencies in use.
John

Yasin

I understood the question as what does the receiver do if the signal of 2 transmitters reaches a receiver at the same time. If such a situation occurs, whichever signal strength from the transmitters is 2dB or higher, its modulation will be dominant in the receiver and it will have its say. If the difference is less than 2db, none of them are demodulated correctly. The most practical way to avoid conflicts is to have a single master in the system. Slaves don't send on their own, if the master answers when asked, there's no conflict.

Yasin

Quote from: John Drew on Nov 14, 2022, 11:28 AMMaybe they use Spread Spectrum where the signal does not exist as a carrier on a frequency and enables multiple devices to operate simultaneously in a band without interference.
Modern model aircraft radios use SS and no longer have to use pegs on a board indicating frequencies in use.
John

I have used rf modems many times in some long distance applications (eg kenwood nx800). These radios have CSQ output. It is active if there is a broadcast on the receiver. If the channel is empty, it will be inactive. In addition, there is a busy channel lock feature in the program features. It loads the data to the buffer first, and if the channel is empty, it starts sending. In summary, everything is readily available in expensive products. In others, you have to come up with solutions  :) .

Craig

Hi Shantanu

What I have seen in some literature on the Lora Node setup is that the Unit which is about to send "Listens" to see if the Channel is Clean then it transmits, this obviously can still have 2 Transceivers sending at the same time thinking all is Clear. The other thing to do is set a flag that the Sending Transceiver must check that it receives an OK signal "Received" Back from the Master Transceiver otherwise it must send again. I am sure there are probably better ways of going this? 

Regards

Craig

John Drew

Craig, in the old days of amateur packet radio the radios would behave much as you describe except that each unit had a random delay before it re-transmitted a packet. This avoided collisions to a degree.
John

shantanu@india

Thanks Craig , Yasin,John.
Going through the datasheets of Semtech SX1261 has made certain things clearer...spread spectrum is the most important aspect of noise immunity. There is a preamble period when 10-65535 symbols are sent to sync the transmitter with the receiver...the default value is 12. There is also a provision of CRC check  for the payload.Unfortunately there is no auto-acknowledge bit..that needs to be incorporated in the software.
Regards
Shantanu

Giuseppe MPO

To avoid collisions (two transmitters transmit at the same time) you can make sure that there is a master and all the other slaves in the network, each slave has an address and the master calls all the slaves in succession to request data or, if he has particular needs, call the slaves according to what he wants to know. Obviously, if he does not receive an answer, he can repeat the request again or move on to the next one, a checksum can also be implemented to verify the correctness of the data and possibly request them again.