Burst Transfers ABSTRACT

Similar documents
Interfacing with ANT General Purpose Chipsets and Modules

FIT1e Revision D Rev1.1

FIT Globs ABSTRACT. Glob messages provide a simple, uniform means of representing large binary objects using the FIT File format.

User Manual Reference Design

SensRcore Messaging and Usage

ET100/NRZ. Ethernet WAN Bridge. 10/100Base-TX Ethernet over NRZ

Integrated ANT-FS Client Interface Control Document

SPI Block User Guide V02.07

HCS12 Serial Communications Interface (SCI) Block Guide V02.06

Using the Asynchronous DMA features of the Kinetis L Series

AND8386/D. Bootloading BelaSigna 250 Using the I 2 C Interface APPLICATION NOTE

Performance Factors nc. 2 Performance Factors The following sections discuss performance factors. 2.1 MPX vs. 60x Bus Mode One of the main factors tha

ANT BLAZE. Libraries Specification. D Rev 1.0

However, if an event comes in when the new value is being written to the pulse accumulator counter, that event could be missed. One solution to this p

SONIX 8-BIT MCU OTP Easy Writer

G.FIT. User Guide and Specification. D Rev 1.2 thisisant.com

Device Errata MPC860ADS Application Development System Board Versions ENG, PILOT, REV A

etpu General Function Set (Set 1) David Paterson MCD Applications Engineer

EETS2K Block User Guide V01.03

M68HC705E6PGMR PROGRAMMER USER'S MANUAL

Support for IEEE 1588 Protocol in PowerQUICC and QorIQ Processors

SynkroRF Network. User s Guide

Advance Information 24-BIT GENERAL PURPOSE DIGITAL SIGNAL PROCESSOR

UniFinger SFM5060-OH

Freescale Semiconductor, I

M68HC705E24PGMR PROGRAMMER USER'S MANUAL

Shooter Make Ready. SIRT OneShot Installation INNOVATIVE DRY FIRE

AND9699/D. F143-MINI-X-GEVK Quick Start Guide APPLICATION NOTE

CodeWarrior Kernel-Aware Debug API

EETS4K Block User Guide V02.06

NOVPEK NetLeap User Guide

VREG_3V3 Block User Guide V02.03

Managing Failure Detections and Using Required Components to Meet ISO7637 pulse 1 on MC33903/4/5 Common Mode Choke Implementation

Simplified Device Data Structures for the High-End ColdFire Family USB Modules Melissa Hunter Applications Microcontroller Solutions Group

DSP56F827 Digital Signal Controller

CodeWarrior Development Studio

Booting and Simple Usage of the DSP56004/007/009 SHI Port in SPI Mode

EchoRemote Evaluation Software for Windows

Is Now Part of To learn more about ON Semiconductor, please visit our website at

Interfacing MC33903/4/5 With MC9S08DZ60

App Note. Utilizing Everspin STT-MRAM in Enterprise SSDs to Simplify Power-fail Protection and Increase Density, Performance, and Endurance

Software Defined Radio API Release Notes

Controller Continuum. for Microcontrollers V6.3. Quick Start

Fitness Modules ANT+ Application Note

1) A/D MODULE (REV D) G23V ONLY 2) LATCH-UP G23V AND G49V ONLY 3) MSCAN MODULE (REV A) G23V AND G49V ONLY 4) MSCAN MODULE (REV A) G23V AND G49V ONLY

AND9360/D. AX5051 AXRadio V2 API Software Manual APPLICATION NOTE

Upgrade the Solution With No Changes 2 Upgrade the Solution With No Changes If a Codebase does not contain updates to its properties, it is possible t

SONiX 32-bit MCU ISP. User Guide. SONIX 32-Bit MCU Series. Version 3.1 SN32F700 SN32F710 SN32F720 SN32F100 SN32F730 SN32F740 SN32F750 SN32F760

MPC8349E-mITX-GP Board Errata

SRAM SRAM SRAM. Data Bus EXTAL ESSI KHz MHz. In Headphone CS MHz. Figure 1 DSP56302EVM Functional Block Diagram

Freescale Semiconductor, I

FLASH: FASTER WAIT MODE WAKEUP RECOVERY TIME FOR FLASH AR457 ATD: CONVERSION OF THE (V RH V RL )/2 INTERNAL REF VOLTAGE RETURNS $7F, $80 OR $81

M68EM05X4 EMULATOR MODULE USER'S MANUAL

BLE 1.4 SPI Driver Design Version 1.x (Draft)

UniFinger SFM3050-TC2

MC MC ISDN S/T Interface Transceiver

MPR083 Proximity Evaluation Kit User s Guide

AND8319/D. How to Maintain USB Signal Integrity when Adding ESD Protection APPLICATION NOTE

Using IIC to Read ADC Values on MC9S08QG8

2005: 0.5 PQ-MDS-PCIEXP

Interrupts in Decoupled Parallel Mode for MPC5675K Configuration and Usage

Table 1. Summary of MCF523x Errata. Errata Module Affected Date Errata Added Date Code Affected? < XXXX0501 XXXX0501 & < XXXX0511

MPC8260 IDMA Timing Diagrams

M77N Mezzanine Card with 4 UARTs

Strengthening Unlicensed Band Wireless Backhaul

SN8F5000 Starter-Kit User Manual

Interfacing HCS12 Microcontrollers to the MFR4200 FlexRay Controller

Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start

XGATE Library: Using the Freescale XGATE Software Library Steve McAslan MCD Applications, East Kilbride

MCF54451, MCF54452, MCF54453, MCF54454,

MC68VZ328 Integrated Processor

Intel Ethernet Controller I350 Frequently Asked Questions (FAQs)

Errata to the MPC8280 PowerQUICC II Family Reference Manual, Rev. 1

SGTL5000 I 2 S DSP Mode

N5 Starter Kit User Manual

Is Now Part of To learn more about ON Semiconductor, please visit our website at

SCI Driver for the MC9S08GW64

Digital Input and Output

Apollo2 EVB Quick Start Guide

Engineering Bulletin. Introduction and Background. Definition of Early TOF EB389/D 11/2001

2 Sockets Compatible Chip Sizes Pinouts Connectors pin Boxed Connector Powering the Flash Socket Boards...

PCM-36E06. PC/104 Advanced Communications Module. User Manual Rev 0.2

Freescale Semiconductor, I. Example Using the Queued Serial Peripheral Interface on Modular MCUs

AN1818. Motorola Semiconductor Application Note

LA6584JA. Functions and Applications Single-phase full-wave driver for fan motor. Specitications

MC33696MODxxx Kit. 1 Overview. Freescale Semiconductor Quick Start Guide. Document Number: MC33696MODUG Rev. 0, 05/2007

Using the ColdFire+ Family Enhanced EEPROM Functionality Melissa Hunter Derrick Klotz

_äìé`çêé» UART Host Transport Summary. February 2004

Mask Set Errata for Mask 5L35K

IEXT224-4PH-L IEXT224-4PH-R Long Reach POE Extenders

EVBUM2595/D. DVK-AXM0F243-xxx-x-GEVK Evaluation Kit User's Manual EVAL BOARD USER S MANUAL

Figure 1. Power Barrel Connector Requirements

LA6584M. Overview. Functions and Applications. Specitications. Monolithic Linear IC BTL Driver Single-Phase Full-Wave Fan Motor Driver

Using the PowerQUICC II Auto-Load Feature

Interfacing MPC5500 Microcontrollers to the MFR4310 FlexRay Controller Robert Moran MCD Applications, East Kilbride, Scotland

ZXTR21XXEV1 USER GUIDE

AND8335/D. Design Examples of Module-to-Module Dual Supply Voltage Logic Translators. SIM Cards SDIO Cards Display Modules HDMI 1-Wire Sensor Bus

SENSOR-MAC CASE STUDY

Mask Set Errata for Mask 2M40J

TP6836. USB 2.4G RF Dongle. Data Sheet

Transcription:

Burst Transfers ABSTRACT The ANT Burst transfer mode offers a fast and efficient method for transferring bulk data through the ANT wireless link. Rather than using an increased message rate, the ANT Burst transfer mode can achieve higher data throughput while maintaining a simple serial protocol and interface. ANT Burs t transfers use a rapid series of acknowledged messages for transferring data with automatic retries and a 3 -bit embedded sequence number to ensure successful transmission and data integrity. The serial interface protocol is similar to that used during normal operation; however, flow control signals rather than event messages are used to trigger the host for more data. The effects of serial interface speed on data throughput are discussed and various design considerations, techniques and ANT features to opt imize data throughput are also described. COPYRIGHT INFORMATION AND USAGE NOTICE This information disclosed herein is the exclusive property of Dynastream Innovations Inc. No part of this publication may be reproduced or transmitted in any form or by any means including elec tronic storage, reproduction, execution or transmission without the prior written consent of Dynastream Innovations Inc. The recipient of this document by its retention and use agrees to respect the copyright of the information contained herein. The information contained in this document is subject to change without notice and should not be construed as a commitment by Dynastream Innovations Inc. unless such commitment is expressly given in a covering document. The Dynastream Innovations Inc. ANT Products described by the information in this document are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Dynastream product could create a situation where personal injury or death may occur. If you use the Products for such unintended and unauthorized applications, you do so at your own risk and you shall indemnify and hold Dynastream and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Dynastream was negligent regarding the design or manufacture of the Product. 2016 Dynastream Innovations Inc. All Rights Reserved. D00000818 AN Rev 3.0

2 of 7 ANT APPLICATION NOTE - BURST TRANSFERS TABLE OF CONTENTS 1 INTRODUCTION... 3 2 RELEVANT DOCUMENTS... 3 3 ANT BURST MODE... 3 4 DATA THROUGHPUT... 3 4.1 LINK QUALITY... 3 4.2 SERIAL INTEACE SETUP FOR ANT NETWORK PROCESSORS... 3 5 SERIAL INTEACE PROTOCOL... 4 5.1 ASYNCHRONOUS MODE... 4 5.2 SYNCHRONOUS MODE... 4 5.3 BAUD RATE CONSIDERATIONS... 4 6 TECHNIQUES FOR BURST CONTROL... 5 6.1 ANT NETWORK PROCESSORS... 5 6.2 ANT SOCS... 5 7 TRANSMIT QUEUES... 5 8 ADVANCED BURST... 6 9 EVENT MESSAGES... 6 9.1 EVENT_TRANSFER_TX_COMPLETED... 6 9.2 EVENT_TRANSFER_TX_FAILED... 6 9.3 EVENT_TRANSFER_RX_FAILED... 7 9.4 EVENT_TRANSFER_TX_START... 7 9.5 EVENT_TRANSFER_NEXT_ DATA_BLOCK... 7 9.6 TRANSFER_IN_PROGRESS... 7 9.7 TRANSFER_SEQUENCE_NUMBER_ ERROR... 7 9.8 TRANSFER_IN_ERROR... 7 9.9 TRANSFER_BUSY... 7 10 CLOSING REMARKS... 7 LIST OF FIGURES Figure 1. ANT Burst mode vs Increased Message Rate... 3 Figure 2. ANT Burst mode signaling using asynchronous serial mode... 4 Figure 3. ANT Burst mode signaling using byte synchronous serial mode... 4 Figure 4. Polling (above) vs using event message (below)... 5 Figure 5. Queuing and effects on flow control... 6

ANT APPLICATION NOTE - BURST TRANSFERS 3 of 7 1 Introduction Many wireless applications have a need for bulk data transfer. Although such transfers are often occasional, they typically require faster communication rates than the standard broadcast mode of operation. ANT offers a burst transfer mode which is ideal for efficiently transferring bulk data at significantly faster rates. Additional benefits include automatic retries of lost message packets and a simple application interface for serial data transfer. The following application note provides a detailed explanation of the ANT burst mode. 2 Relevant Documents It is strongly recommended that the following documents be reviewed prior to using this application note. To ensure you are using the current versions, check the ANT+ website at http://www. or contact your ANT+ representative ANT Message Protocol and Usage Interfacing with ANT General Purpose Chipsets and Modules ANT chip/module datasheets ANT SoftDevice Specification and Release Notes 3 ANT Burst Mode There are two ways to increase data throughput on an ANT device: increasing the message rate, or using burst mode. as shown in Figure 1.c, will result in higher data throughput (12.8 kbps for a channel period of 200 Hz), however the lower power transmission state is lost, and maximum data throughput is still significantly less than that achieved through bursting. Bursting can be thought of as extending the allotted channel timeslot and inserting additional transmit pulses, resulting in a maximum data throughput of 20 kbps (60 kbps when using advanced burst, see Section 8) when in a favorable environment, and when an appropriate serial interface is used in the case of ANT network processors (see Section 5). In the case of ANT SoCs, where the application and the ANT stack run on the same MCU, there is no serial interface affecting the throughput, however, the application must rely on appropriate burst control techniques (see Section 6) to properly sustain the burst. In addition to the increased throughput advantage, ANT Burst mode uses acknowledged messages with automatic retries to ensure successful data transfer while maintaining a simple interface to the application MCU. As an exception however, single packet bursts are handled identically to an acknowledged message, and are not retried. As explained in the ANT Message Protocol and Usage document (Section 9.5.5.3), a 3-bit sequence number is also embedded in each data packet to further increase data integrity and application control. 4 Data Throughput link quality and serial interface configuration are the two prominent factors that affect the data throughput in ANT Burst mode. (a) MASTER Typical Use Case 4.1 Link Quality (b) MASTER Burst Mode (c) MASTER Increased Message Rate _min Figure 1. ANT Burst mode vs Increased Message Rate Figure 1.a shows a master device operating in its typical mode at a channel period of T ch, which is optimized for low power and typical data throughput. Occasionally the master device needs to send larger amounts of data which it can do by sending the data in burst mode (b), or by increasing the message rate (c). When data is sent in burst mode, as can be seen in Figure 1.b, it is sent every T burst (i.e. 1/burst_rate). Once the burst transfer is complete, the master once again transmits at T ch, maintaining the lower power communication state. Increasing the message rate, ANT Burst mode automatically retries lost packets up to 5 times; as a result of this, data throughput can be significantly affected by the quality of the link. In other words, the more packets ANT has to retry, the lower the data throughput. 4.2 Serial Interface Setup for ANT Network Processors The rate at which the application MCU can provide new data to an ANT network processor directly affects the throughput of ANT Burst mode. The maximum data throughput is 20kbps (60 kbps when using advanced burst). This maximum throughput can be achieved using either bit or byte synchronous modes or asynchronous mode at 50000 baud or higher. A slower baud rate will result in lower throughput. ANT Burst mode is designed to operate at baud rates of 19200 and higher. Efficiency is less than adequate

4 of 7 ANT APPLICATION NOTE - BURST TRANSFERS at lower serial interface speeds. 5 Serial Interface Protocol ANT Burst mode in ANT network processors uses flow control signaling to efficiently pipeline data messages from the application MCU to ANT. The use of hardware signaling instead of event messages results in more condensed serial activity which allows for faster data throughput. For simplicity, the serial interface signaling during bursting is very similar to the serial protocol during normal operation. The application MCU need only be aware of the absence of EVENT_TX messages which are usually used to send the next data message to ANT. 5.1 Asynchronous Mode In asynchronous mode, flow control of data from host to ANT during a burst transfer is performed by the RTS signal. ANT asserts (logic 1) this signal to halt message transfers from the application MCU. Similarly, ANT de-asserts (logic 0) RTS to allow the host to send a data message. The timing diagram below illustrates the ANT burst mode signaling using an asynchronous serial interface; showing transfer of an entire message packet including sync byte (0xA4), message length (), message ID (ID), 8-byte data message (D0:D7) and checksum (CS). CTS RX TX HOST A4 ID D0 D1 D2 D3 Packet 1 D4 D5 D6 D7 CS A4 Packet 2 ANT Figure 2. ANT Burst mode signaling using asynchronous serial mode To achieve the fastest data throughput, the application MCU must respond to the RTS transitions as rapidly as possible. Figure 2, above, shows only the serial activity for a burst transfer that is going from host MCU to ANT. For a burst receive (i.e. ANT to host), the data will appear on the RX line. Note, there is no flow control for data in this direction; therefore the application MCU must be able to receive data at any time. 5.2 Synchronous mode The SEN signal is used for flow control when using a synchronous (bit or byte) serial interface. This signal is asserted (logic 0) to enable the transfer of a data message and de-asserted (logic 1) to halt any transfers. From the host MCU s perspective, the operation of the serial interface is the same for burst mode as it is for normal operation. The difference is that SEN will be signaling at the burst rate (T burst) RTS TXD RXD rather than the message rate (T ch). Figure 2 shows the timing diagram of a burst transfer from application MCU to ANT using the byte synchronous serial mode. Again, the figure shows the transfer of an entire message packet from sync byte (0xA5 for serial host) to checksum (CS). If bit synchronous mode were used instead, SRDY would be pulsed for each bit, rather than each byte. HOST MESSAGE _READY SYNC_ ENABLE SRDY SCLK SIN SOUT A5 ID D0 D1 D2 D3 Packet 1 D4 D5 D6 D7 CS A5 ANT Packet 2 SMSGRDY SEN SRDY SCLK SOUT Figure 3. ANT Burst mode signaling using byte synchronous serial mode The application MCU must ensure a fast response to the flow control to achieve the fastest data throughput. On the receiver side, the application MCU should read the received burst data as soon as it is available. In order to protect the integrity of received burst data, ANT will not acknowledge new incoming burst packets until the existing data is read out by the application MCU. Long delays in reading out received packets can cause the overall burst transfer to fail. 5.3 Baud Rate Considerations As mentioned in the prior sections, the application MCU s ability to provide data quickly to ANT can affect the data throughput while bursting. In other words, ANT can only send data over the air as quickly as the data is provided by the host. Not only does the serial interface s speed of data transfer affect data throughput, it also has an effect on the burst mode s immunity to failure and the receiving device s power consumption. In burst mode, ANT will only transmit new data on the next designated burst (not channel) timeslot. If no new data has been presented by the host, ANT will not retransmit the old data. The receiver, however, will be active during the next burst timeslot anticipating the next burst packet. As no packet was transmitted, the receiver will register a failed packet. This effectively wastes one of the allocated retries, hence affecting failure immunity, as well as wasting power due to the receiver s radio being active. If the transmitter misses the entire burst transmit window, including all allocated retries for that packet (~3 ms), the overall burst transfer will fail. SIN

ANT APPLICATION NOTE - BURST TRANSFERS 5 of 7 Transmit queues, as explained in a later section, can be used to counter the serial port latency and help reduce the effects of slower serial interfaces in some situations. 6 Techniques for Burst Control 6.1 ANT Network Processors When requesting a burst data transfer, the host can send packets to prime ANT s buffers prior to the next channel timeslot. Unless a transmit queue is present (described in Section 7), ANT can be primed with two burst packets. Take, for example, an ANT node typically sending broadcast messages at channel period T ch. As shown in Figure 4, the application can use EVENT_TX to initiate the burst transfer and start sending burst data packets. Once ANT s buffers are full, the flow control line will go to logic 1. This will indicate to the host that no further data can be sent to ANT. EVENT_TX EVENT_TX...... Figure 4. Polling (above) vs using event message (below) The application MCU can then monitor the flow control signal to determine when the next packet can be sent. Once primed, ANT will hold the flow control signal at logic 1 until bursting commences and the first packet is sent on the next channel timeslot. Once this packet is sent over the air, ANT is able to buffer more data and will indicate this to the host by setting the flow control signal to logic 0. The time between priming ANT and the burst beginning (circled) is relatively significant (potentially up to a full channel period in duration). An alternative to monitoring the flow control signal would be to use the EVENT_TRANSFER_TX_START message. This event message allows the host to prime ANT s buffers and then continue with other processing. Upon receiving the EVENT_TRANSFER_TX_START message, the application MCU can resume sending burst data to ANT. For those devices that do not have this message, monitoring flow control line is the only method available. 6.2 ANT SoCs In the case of ANT SoCs, data does not need to be provided to ANT one packet at a time. The application can allocate a buffer with a block of data to send and pass it to the ANT stack s burst handler. Instead of hardware flow control, the application can make use of the EVENT_TRANSFER_NEXT_DATA_BLOCK event as a cue to provide the next block of data to the burst handler. The application must make sure to service the burst transfer quickly if no data is available to send during the allocated burst timeslot (including retries, ~3ms), the burst transfer will fail. The size of this buffer is defined by the application. Typically, a larger data buffer can help to limit the amount of time the application is interrupted to provide burst data to the stack. 7 Transmit Queues On some devices (refer to datasheets for capabilities), ANT has built-in transmit queues which provide the ability to buffer additional data packets (or messages) per channel. The size of the transmit queue varies according to the ANT chip used; in some devices, it can be configured by the application. On network processors, the number of packets that can be buffered in the transmit queue can be sent to ANT without locking up the serial interface. In other words, after sending as many packets as the size of the transmit queue, the flow control signal returns to logic 0 and further messages (data or command) can be sent from host to ANT. Figure 5 shows an example of the usage of a transmit queue and its effect on flow control on an ANT network processor with a queue size of 8. The timing diagram above the dashed line shows the transfer of 8 data messages (M0:M7) from host to ANT prior to bursting on the next channel timeslot. Note that after the 8 th message (M7), the flow control line has returned to logic 0. This allows the host MCU to continue to communicate with ANT in the remaining time prior to the start of the burst. The timing diagram below the dashed line shows 9 data packets (M0:M8) sent to ANT. Flow control remains logic 1 after the 9 th message (circled), preventing any further communication with ANT until the burst commences and flow control returns to logic 0.

6 of 7 ANT APPLICATION NOTE - BURST TRANSFERS M0 M0 M1 M1 M7 M8 Start of Channel Timeslot Figure 5. Queuing and effects on flow control As described in Section 6, the host application can either monitor the flow control signal or use the EVENT_TRANSFER_TX_START message to indicate when the burst has commenced and ANT is able to receive more data messages. In the case of ANT SoCs, there is no serial interface, and no flow control blocking communication to ANT when the ANT buffers and transmit queue are full. However, attempts to send additional burst packets to ANT while the queue is full will result in a TRANSFER_BUSY response. The application must wait for the EVENT_TRANSFER_NEXT_DATA_BLOCK to queue additional data for transmission. Transmit queues alleviate the effects of slower serial ports, providing a buffer against the latency in transferring data from host to ANT. They are ideal for slow serial interface applications requiring small burst transfers. Transmit queues also help when bursting is performed in tandem with time consuming activities, such as flash access. 8 Advanced Burst Advanced burst, available in some ANT devices, provides enhanced data throughput of up to 60 kbps, and additional features to improve the efficiency of the transfer, while supporting backwards compatibility with ANT devices without the advanced burst capability. On the devices that support it, advanced burst is not enabled by default. The message Configure Advanced Burst (0x78) must be sent to ANT to enable and configure advanced burst. Refer to the ANT Message Protocol and Usage document for more details on advanced burst configuration. When a burst transfer is initiated by a device with advanced burst enabled, it will negotiate the specific characteristics of the transfer with its peer, including the packet size and optional/required features such as frequency hopping. Required features not supported by the peer will result in a burst transfer failure, while optional features not supported by the peer will not be used. If an advanced burst is attempted with a device not supporting advanced burst, the transfer will be downgraded to a normal burst transfer, however, if required features were requested, the burst transfer will fail. For maximum compatibility with other devices in the field, it is not recommended to mark any features as required. Burst feature negotiation takes place on every burst transfer, as the burst configuration can be modified in between transfers. Because of the overhead introduced by this negotiation, it is not recommended to use advanced burst in use cases involving frequent small transfers (2-3 8-byte packets). For larger transfers, the increase in throughput offsets the negotiation overhead, and it is more beneficial to use advanced burst. To send advanced burst data, the standard 8-byte BURST_DATA_MESSAGE (0x50) can be used. The variable length ADV_BURST_MESG (0x72) can also be used; the choice depends on serial buffer size, application buffering, and legacy application considerations. On ANT SoCs, advanced burst data can be passed to ANT in larger blocks using the burst handler. When receiving burst data, the first packet will always be a standard 8-byte BURST_DATA_MESSAGE, all subsequent packets will be passed using the variable length ADV_BURST_MESG. The size of the received packets will depend on the negotiated packet size, therefore, it is important to always read the size of the packet before parsing the rest of the message. 9 Event Messages As explained in the ANT Message Protocol and Usage document, ANT generates event messages and sends them to the host either in response to a message or as generated by an event. The event messages relevant to bursting are detailed below. Note that not all of these event messages are available in all ANT devices; refer to the datasheets for capabilities. 9.1 EVENT_TRANSFER_TX_COMPLETED initiated the burst transfer, indicating that the entire burst message was successfully transmitted. 9.2 EVENT_TRANSFER_TX_FAILED initiated the burst transfer, indicating that the burst transfer was not successfully transmitted. This message does not indicate at which point in the transfer the message failed. It is recommended to

ANT APPLICATION NOTE - BURST TRANSFERS 7 of 7 resend the entire burst transfer rather than just sending the remaining packets. Despite the fact that the previously successful packets will be retransmitted, this is far simpler than trying to calculate at which point the transfer failed. The protocol for this would be implemented at the application level and would need to be agreed upon by both nodes in the established communication channel. Determining which data packet in the burst failed is difficult as it is dependent not just on which message the host was preparing to send to ANT, but on how many other messages were already buffered on ANT. For an example of an application level mechanism to handle retransmission of partially transmitted bursts, refer to the ANT-FS Technical Specification. 9.3 EVENT_TRANSFER_RX_FAILED This message will be generated on the node receiving the burst, indicating that the receive transfer has failed. This occurs when a burst transfer message was incorrectly received after the maximum number of retries. For example, a 20 packet burst transfer was initiated and 15 packets successfully received. The 16th packet failed to transmit and the receiving node s ANT will inform the host of the failure with this message. Depending on the application, the host can use this to determine if the next burst is new data, a repeated attempt of the same data, or even if the burst is just sending the remaining data. The protocol for this would be implemented at the application level and would need to be agreed upon by both nodes in the established communication channel. It is recommended to resend the entire burst transfer rather than just sending the remaining packets. Despite the fact that the previously successful packets will be re-transmitted, this is far simpler than trying to calculate at which point the transfer failed. 9.4 EVENT_TRANSFER_TX_START initiated the burst transfer, indicating that the burst transfer has commenced. Effectively, this message is sent on the next channel period, when the first burst message is sent over the channel. 9.5 EVENT_TRANSFER_NEXT_ DATA_BLOCK initiated the burst transfer to indicate the ANT stack requires the next burst data block to continue or complete the burst transfer. 9.6 TRANSFER_IN_PROGRESS initiated the burst transfer. This occurs when the host requests a burst and there is already a burst (or acknowledged) message pending or in progress. This will occur whether the active/pending burst (or acknowledged) message is on the same or different channel. 9.7 TRANSFER_SEQUENCE_NUMBER_ ERROR initiated the burst transfer. This occurs when the host sends a packet with a sequence number that is not in the order expected. This message can also be seen when the host sends packets to ANT while the flow control line is being held at a logic 1 by ANT. Packets received by ANT during that time are ignored, and subsequent packets received once the flow control line has returned to logic 0 will not match the expected sequence number and will produce this message. 9.8 TRANSFER_IN_ERROR initiated the burst transfer. It is returned when a burst message passes the sequence number check, but has the wrong channel number. This indicates to the host that the transfer is in error and should be halted as soon as possible. 9.9 TRANSFER_BUSY initiated the burst transfer. It is returned when attempting to supply the ANT stack with new burst data before it is ready to handle it. This indicates to the application that it should wait for the EVENT_TRANSFER_NEXT_DATA_BLOCK to supply the next block of data. 10 Closing Remarks This application is aimed at providing a detailed description of the ANT burst mode along with its features, advantages and proper usage. If any of the concepts presented in this application note are unclear or for any further inquiries, please use the developer forum at www..