Jul 24, 2014
The ANT protocol has been designed with flexibility in mind, supporting a variety of network topologies by offering several "building blocks" that can be mixed and matched as desired.
The first of these building blocks is the synchronous channel. Synchronous channels contain one master endpoint and at least one slave endpoint, with the master transmitting data periodically and the slave(s) synchronizing to the master and receiving data. Communication is bidirectional - the slave(s) can send data back to the master as required by the application, however, the primary flow of data is from master to slave(s).
Synchronous channels use the radio as little as possible, only transmitting/receiving at the configured channel period, and thus are suitable for applications where power consumption is a concern. One example of this topology is showcased in the ANT+ Heart Rate Device Profile: a heart rate strap is configured as a master, transmitting heart rate measurements four times per second, and a device displaying these measurements (for example, a fitness watch or a mobile app) is configured as a slave. Synchronous channels are explained in more detail in Section 5 of the "ANT Message Protocol and Usage" document.
The second building block available to ANT developers is the shared channel. In a shared channel, multiple slaves synchronize to the same master. This is useful when an arbitrary number of sensors needs to be connected to a central node (hub). The master is able to send data to all of the slaves at the same time, as well as address slaves individually. Communication is bidirectional - the slaves can send data back to the master when polled. Because of this polling mechanism, the latency of data flow from slaves to the master depends on the number of nodes in the network. In shared channels, the radio is only active for a short time at the configured channel period; so they are suitable for applications where all endpoints are power constrained. Shared channels are described in more detail in Section 5.6 of the "ANT Message Protocol and Usage" document, and the application note AN07 - Auto Shared Channels.
Continuous scanning mode is another useful feature that can be integrated into ANT networks. A node in continuous scanning mode is a receiver that is always on, able to receive data from an arbitrary number of devices with very little latency. Communication is bidirectional - if desired, the scanner has the ability to send data back to the devices it has received data from. Continuous scanning mode is more demanding in terms of power consumption, and because it uses all of the radio resources, it cannot be used in combination with other channels on the same node. This mode is ideal for scenarios like group activities, where a central display can receive and show data from multiple sensor at the same time. Because of the reduced latency, continuous scanning mode is useful as well for asynchronous topologies, where the scanner is ready to receive data from the transmitters at any time. Continuous scanning mode is described in more detail in Section 5.7 of the "ANT Message Protocol and Usage" document, and the application note AN14 - Continuous Scanning Mode and Asynchronous Topologies.
The fourth (very useful!) building block is a channel configured for a background scan. A background scan causes the channel to act as a duty cycled receiver, able to receive data from an arbitrary number of master devices with higher latency than the continuous scanning mode, but reduced power consumption. Communication is unidirectional, i.e. receive only. However, while one channel runs a background scan other channels can also be open on the same node; so dedicated synchronous channels can be configured (if needed) to exchange data with a particular device. More details on this building block are available in AN11 - ANT Channel Search and Background Scanning.
And last but not least, the fifth building block: asynchronous transmission can be used to send data only when required by the application. Asynchronous transmission is generally used together with a receiver configured in continuous scan mode, and is useful for applications with very tight latency constraints with infrequent communication requirements. This feature is described in more detail in Section 5.2.1.4.4. of the "ANT Message Protocol and Usage" document.
Each ANT node can support up to 8 channels, which can be configured independently. This means that an ANT node can be as simple as a single ANT master channel broadcasting data, or it could contain a combination of master and slave endpoints, background scans and/or asynchronous transmission channels, as required by your application.
Which combination to use depends on the requirements of the system, but you can start from the following questions: