Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

High Speed Synchronous Node Switching

Rank

Total Posts: 2

Joined 2013-03-11

PM

I'm working on a high speed node switching slave. I run into the issue where the slave takes at least 2 seconds to recognise a new master (the time it takes for the EVENT_RX_FAIL to trigger a GO_TO_SEARCH [ANT Note AN11 - Channel Search and Background Scanning]); which is too slow for my application.

I was wondering if it were possible to shorten the time or limit the number of messages it takes to return to search (manipulating search timeout does not affect this).

I have had a look at continuous scanning and am not sure if I would want traffic from nearby masters interfering with my slave, but am willing to consider some possibilities.      
Avatar
RankRankRankRank

Total Posts: 235

Joined 2012-08-31

PM

Hi Shinkun,

Can you give any more details on what you're trying to achieve?

Specifically:

- How many masters does the slave need to receive from?
- How quickly do you need to hear from them all / how many packets from each?
- Are all the masters in range all the time or are the devices moving?

I'm wondering whether a shared channel would be good for your application, as then you can just poll each device as needed. Also you would only get data from paired devices. But that would mean your central node would be the master, and the other devices would be slaves. Is this an option for you?      
Rank

Total Posts: 2

Joined 2013-03-11

PM

Hi Kat Kent,

Thanks so much for your reply.
To answer your questions:

- How many masters does the slave need to receive from?

The number is variable (however it should only be one at a time, the one being the closest) but at max around 15.

- How quickly do you need to hear from them all / how many packets from each?

Right now I am looking at a millisecond scale; however there are not many packets from each. Once the master is found, it is safe to move to another master 3-4 packets after.

- Are all the masters in range all the time or are the devices moving?

The masters are not in range all the time, as all of the devices are moving. That is, there should only be one master connected at any time (the closest as mentioned earlier).

After some consideration, I was thinking of avoiding pairing altogether (shared channel) as the number of masters in my application are unknown (and may or may not be in range). A polling approach would be ideal if the proximity search automatically selects the nearest slave, however I am not too sure on how to implement this (as I have not attempted pairing yet, just synchronous transmission).

I hope these answer your questions.
     
Avatar
RankRankRankRank

Total Posts: 235

Joined 2012-08-31

PM

Hi Shinkun,

Ok, we think the best solution for this would be to use a continuous scan to receive the data from all the masters all the time they are in range. You can enable extended messaging to get the RSSI and use this to determine which master is closest at any time. (see AN16 and the Ant Message Protocol and Usage doc.)

To use the RSSI feature you will need to be using C7 or nRF51. AP2 doesn't support it.

In ANT 'pairing' is simply the process of connecting to a master and learning it's channel ID, and you have probably used the most basic method (wildcarding) in order to establish your synchronous channel. You can find more info about pairing in the ANT message doc (which is definitely worth reading), the Pairing app note (AN02) and in a more lighthearted form here: http://www.thisisant.com/developer/resources/tech-bulletin/pairing-the-fastest-way-to-impress-or-distress-your-customers/

Continuous and background scanning channels don't use pairing and just receive from any device that is in range.

Also, if you haven't already seen it, I'd highly recommend watching the ANT Basics introductory video: http://www.thisisant.com/developer/ If yo.u're doing fancy stuff with the channels it will probably help you to see the animations and get a really solid base understanding.

Good luck!