Dec 21, 2012
The new nRF51422 SoC (System on a Chip) and ANTUSB-m include several enhancements to the ANT protocol stack. These include:
Advanced Burst is a method to allow transfers to have properties not supported by standard ANT messaging. These properties can include:
Advanced Burst will not be enabled by default. Sub features (maximum packet size, frequency hopping, etc.) can be enabled/disabled separately. Advanced Burst is intended to facilitate and improve the ability of devices to transfer information. ANT-FS use cases would be the primary concern, with an emphasis on longer file transfers. Advanced Burst will improve the efficiency of transferring a file over ANT-FS by increasing the transfer speed and providing FH to provide a greater immunity to RF interference. It will also make the transfer less susceptible to failure when faced with a slow throughput from the host.
The new encrypted channel feature will allow data to be transmitted securely, enabling/simplifying applications that require data security such as medical devices. An ANT encrypted channel works in a connected state, where any number of slave channels may connect to an encrypted master channel after a successful negotiation. All transmitted packets will be protected using 128-bit AES-CTR symmetrical encryption.
Event Buffering is a feature designed to allow a Host controller to configure a buffer to limit the frequency at which events are being sent from the ANT device to the Host. Event Buffering is intended for instances where the Host wishes to defer processing of ANT Events, generally in an effort to remain in a power down state for a longer period of time. Event Buffering can often be used with Event Filtering in these scenarios. Buffering can be set to apply to all Events or only “low priority” events (e.g. EVENT_TX, EVENT_RX_FAIL, EVENT_CHANNEL_COLLISION).
Event Filtering is a feature designed to allow a Host controller to selectively prevent event messages from being sent from the ANT device to the Host. Event Filtering is intended for instances where the Host wishes to eliminate processing of ANT Events, generally in an effort to remain in a power down state for a longer period of time or to avoid additional processing. Event Filtering can often be used with Event Buffering in these scenarios.
A fast channel start can be selected when the channel is assigned. This will start a synchronous channel as soon as possible and will skip the search window check that is performed prior to starting a synchronous channel. An inherent risk in this operation is that it may negatively impact other devices in the area by starting a transmit channel at the same time. The lowest latency channel start time will occur when there are no other channels actively running/opened on the device.
An asynchronous channel can be selected when the channel is assigned. Pushing any data to an asynchronous channel via data message API calls will cause it to transmit this data as soon as possible one time. Asynchronous data will not block currently active synchronous channels unless the transmission is a burst. The lowest latency asynchronous channel transmission start time will occur when there are no other channels actively running/opened on the device. A scanning device will be needed to receive from an asynchronous transmitter.
NVM User Page allows a Host application to store and/or retrieve data in NVM space on an ANT device. This feature could allow applications to retrieve specific data configured in an ANT Device during manufacturing. An example would be a branded USB dongle that is a base ANT device with some specific information. This writing should not be done while channels are active.
High duty search is a new search mode that replicates the duty cycle of a scanning channel for search purposes. This improves acquisition time in the general case. The negative impacts are increased power consumption due to increased CPU and Radio active time as well as higher interference rates with other channels when the search is in high priority mode. As such, high duty search is targeted for higher power budget use cases such as USB sticks and cell phones. It aids in acquisition time and in improving search performance during co-existence scenarios.
Selective Data Updating allows an application to request that an ANT device only generates received data serial messages if data in specified bytes has changed. This feature can be enabled for Broadcast messages only, or for Broadcast and Acknowledged messages. This would apply to devices like display units which only need to update the display when the displayed data has actually changed and would like to be asleep otherwise.
These new features will be included in the next revision of the ANT Message Protocol and Usage document, including a list of which features apply to which part. We announce new document / software releases on the Critical Bytes feed, which you can subscribe to if you'd like to be the first to know when this is published.