The SAE-AS5643 protocol differs from other 1394 protocols because of its stringent timing requirements. Because of potential inaccuracies and unpredictable latencies possible with software implementations, DapTechnology strongly believes that the AS5643 protocol timing is best implemented via a HW extension in the 1394b Link Layer. Therefore, DapTechnology has added the AS5643 protocol timing into FireLink® Extended as an integral module. With this HW support FireLink® Extended is easily capable of meeting the AS5643 frame timing requirements and eliminates the need for complicated interrupt schemes or real-time operating systems typically needed to efficiently use the AS5643 protocol.
The FireStack® software library contains an AS5643 protocol module that can be used to control the AS5643 hardware of FireLink Extended enabled products (e.g. the FireTrac I/O card). Optimized frame timing can be configured and used for both timed transmission and reception.
Frame Timing: FireStack® is very flexible in the way it handles the timing of Start of Frames. Frame synchronization for AS5643 reception and transmission may be configured as either:
- Free Running based on an internal clock with a 1us resolution,
- based on STOF packets on the bus (just any stream packet on a configurable channel),
- based on an External Sync Input Signal
- or synchronized to one of the other buses on the same FireTrac.
In addition to acting as a synchronization “slave”, it is also possible for each bus to act as STOF master and output a sync pulse on an External Sync Pin.
Reception: AS5643 reception provides a filtering mechanism and all incoming packets will be run against a comprehensive verification system. Messages can be filtered on channel number, AS5643 message ID or a combination of both.
Transmission: AS5643 Transmission module can be used to control devices that support AS5643 timed transmission in. FireTrac® offers very accurate transmission timing. The following transmission modes are available:
Streaming messages: Allows writing large or small sets of messages to FireStack® and having them transmitted automatically at specified frame offset times. The provided data needs to contain so called frame separator elements to indicate that the following message needs to be transmitted in the next frame.
Repeating messages: Allows setting up a message that will automatically be transmitted each frame by FireTrachardware. The user will have a pointer to the actual data of the message and is allowed to manipulate the data at any point in time without having to worry about its timed transmission. This is very useful for AS5643 status messages.
Single messages: Allows simply transmitting a message as soon as possible but exactly at the specified frame offset time. Several messages may be handed to the FireStack® for immediate transmission and the FireStack® will then take care of the actual moment of transmission.
STOF Messages: Allows controlling transmission of STOF messages.