Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

Missing EVENT_TXs in multichannel AP2 configuration

Rank

Total Posts: 10

Joined 2013-01-03

PM

We found out, that in our multichannel configuration strange EVENT_TX behaviour can be observed.
We SPORADICALLY get EVENT_TX (at MASTER side, channel 0) missing (detected by software, successfull oscilloscope's catch shows this drop too) for tens of seconds (!).
Our test application includes LED blinking on EVENT_TX or received Broadcast (both on channel 0 only), so when master channel 0 transmits, we can see LED toggling. When no EVENT_TX comes, LED is OFF.
When EVENT_TX drop out is long lasting, we can send single broadcast from slave, and LED blinks once, so RF link is OK, and Antware slave ALL THE TIME shows Received BROADCAST_DATA_0x4E too (so channel 0 hasn't been and is NOT closed).

ANT protocol: EVENT_TX occurs when the ANT device has successfully transmitted a broadcast message, the EVENT_TX message can be used to prompt the master MCU that ANT is ready for the next data packet.

Our config:
ANTAP281M5IB module rev. H (latest, ANT Version returns AP2-8 1.09), asynchronous bus with MCU at 50000Bd (regular EVENT_TX takes approx. 1,4ms), low power operation with SLEEP mostly in log. HIGH
RTS checked, two zero pads applied
channel 0: bidir master (1-116-69) at 4Hz, 2457MHz, ANT+ network 1
channel 1: bidir slave (1-116-5) at 16Hz, 2477MHz, ANT network 0
channel 2: bidir master (1-116-69) at 4Hz, 2477MHz, ANT network 0

What could block the EVENT_TX on channel 0? (MCU normally sends EVERY slot /4Hz/ broadcast to AP2 channel 0, when EVENT_TX on channel 0 occurs, but when no EVENT_TX is transmitted by AP2, Tx line from MCU to AP2 is clean/still in log. HIGH/, so no traffic jam on bus. Antware scanner still shows, that channel 0 (and also channel 2) is transmitting and when broadcast is sent from Antware (slave) to our config (ANT+ master at channel 0), LED blinks once.

The counting of EVENT_TX is crucial to comply with ANT+ profile.

Scoping AP2 Tx and Rx lines shows, that EVENT_TX from channel 0 IS MISSING, while receiving broadcast from channel 1 and also EVENT_TX from channel 2 NORMALLY OCCURS.

This strange behaviour happens with different pieces of our hardware (always AP2 rev. H populated), so it's repeatable.
It looks like an event filtering occurs, but this feature is NOT available in AP2 family. Or some collisions?      

Image Attachments

EVENT_TX-OK.pngEVENT_TX-KO.png

Click thumbnail to see full-size image

Rank

Total Posts: 4

Joined 2012-10-05

PM

From the description and channel configuration the most likely scenarios here is that your slave channel (1) is encroaching on the master channel (0). This is because a slave's timing is dictated by the master it is connected to. Since your channel 0 master is on a different frequency and network key it is essentially invisible to the other master and so it may be getting pushed as the peer master's clock drifts or it adjusts its channel timing to move away from other channels in the area.

However, in this situation the RF link would be severed which is not consistent with your description. So a few follow on questions:

- How often does this occur?
- Can you try repeating your tests by putting all channels on the same network key and frequency?
- What is the network configuration (how many devices - what is connected to what)?
- can you log the channel serial data on your device such that it can be correlated to data captured by ANTware?

Sebastian


     
Rank

Total Posts: 10

Joined 2013-01-03

PM

Hi Sebastian,

> the slave channel (1) is encroaching on the master channel (0).

Definitely. When signal from our master node A (DevNum=1, DevType=116, TransType=5, Channel Period=16Hz, Freq=2477MHz, ANT network) is lost/master powered down/, EVENT_TX on channel 0 node B continues regenerated (RF link is still OK, node B master channel 0 DOES receive broadcast from the slave).



> - How often does this occur?

Not very often (rarely right after power on, more often within unknown period), it's hard to get valuable data, but ANT+ profile won't be satisfied with this setup (tens of seconds without EVENT_TX on channel 0 only timing).



> - Can you try repeating your tests by putting all channels on the same network key and frequency?

Do You mean for our node B:
chan 0: 2-116-69 ANT master 4Hz 77MHz
chan 1: 1-116-5 ANT slave 16Hz 77MHz
chan 2: 1-116-69 ANT master 4Hz 77MHz



> - What is the network configuration (how many devices - what is connected to what)?

3 nodes, 2 networks, all channels BIdirectional:

node A:
chan 0: 1-116-5, ANT+ network, master, 4Hz, 57MHz
chan 1: 1-116-5, ANT network, master, 16Hz, 77MHz

node B:
chan 0: 1-116-69, ANT+ network, master, 4Hz, 57MHz
chan 1: 1-116-5, ANT network, slave, 16Hz, 77MHz
chan 2: 1-116-69, ANT network, master, 4Hz, 77MHz

node C:
chan 0: 1-116-5, ANT+ network, slave, 4Hz, 57MHz
chan 1: 1-116-69, ANT+ network, slave, 4Hz, 57MHz

Node B listens to node A on its channel 1 (receives 16Hz broadcasts), nodes A and B can be directly&independently; controlled by node C.
Node B transmits broadcast on channel 0 every 4Hz slot (ANT+ profile), as soon as EVENT_TX on channel 0 arrives (if ever).
Node B chan 2 is currently with no reverse traffic (opposite device not used).



> - can you log the channel serial data on your device such that it can be correlated to data captured by ANTware?

Not for now. Maybe in future together with serial line data logger.      
Rank

Total Posts: 4

Joined 2012-10-05

PM

To verify that this is indeed the problem, yes, please set up the network as you described:

chan 0: 2-116-69 ANT master 4Hz 77MHz
chan 1: 1-116-5 ANT slave 16Hz 77MHz
chan 2: 1-116-69 ANT master 4Hz 77MHz

If this eliminates the problem then what you are seeing is what we suspected. To get around this I suggest the following - skew the message period of the non-ANT+ channels slightly so that they move relative in time to the ANT+ channel. This way the channels will occasionally overlap, but will quickly move out of the way so that you should not see prolonged outages. For example, since device type 116 has a message period of exactly 8192, I would recommend you try 8160 for the non-ANT+ channel and 2040 for the 16Hz channel. If these message periods do not work for you please let us know - it is not recommended to choose message periods randomly as they may have unexpected, adverse effects on search latency.

Sebastian


     
Rank

Total Posts: 10

Joined 2013-01-03

PM

1. The test with unified radio frequency hasn't been accomplished due to the inadmissibility of changes in our scenario:
ANT+ frequency is fixed to 57MHz and no ANT+ device profile uses higher Message rate (as we do in our non ANT+ config: 16Hz)

2. Your last proposal looks unusable because of the second Message rate difference (4Hz <> 4,016Hz) in ANT network => incompatibility between older (non ANT+) and current set.
For the second: high rate of EVENT_CHANNEL_COLLISIONs (applies to both nodes, A and B) during NORMAL operation => as nothing was sent, so nothing could be received and this is disruptive

3. Is there any other way how to manually shift/skew node B ANT+ channel with help of something what affects node B slave channel 1?

My consideration:
software checking of EVENT_TX on node B ANT+ channel 0 and manual action FOR A SHORT TERM to renew it when it has disappeared in 6 (for example) consecutive time slots.

My findings (applies to node B only, with short-time action):
- fractional message rate of channel 1 leads to EVENT_RX_FAILs, and I don't know if this could help
- changing of channel 1 channel ID to another one which doesn't match (leads to searching) means higher current, but should help
- simultaneous closing of channels 1 and 2 certainly helps (with a search current disadvantage in the case of the channel 1)
- radio reset - the most helpful but the most dangerous variant