LabVIEW Real-Time driver for Bloomy’s MIL-STD-1553B Avionics Bus Communications C-Series Module dramatically simplifies development and improves performance.
Programming Bloomy’s 1553B C-Series Module may now be performed using LabVIEW Real-Time, without the need for complex FPGA software development. While the FPGA remains an available resource, the new driver largely eliminates its use for most common automated test applications. The new Real-Time driver is much more intuitive, functional, as well as higher performing. New capabilities include:
- Simple configuration of any combination of bus controller, bus monitor, and single or dual remote terminal operating modes, as well as simultaneous operation of all four modes!
- New simplified bus controller scheduling utilizes a clock onboard the 1553B C-Series Module to manage Bus Controller traffic and timing requirements both deterministically and headlessly, without additional CPU or FGPA resources, and associated latencies.
- New parameterized messages using named data fields of variable bit-length allows direct inspection of message contents within the driver, without an additional scaling and translation layer. The real-time driver automatically converts remote terminal, bus controller and bus monitor values from encoded bit fields to floating point representation, which simplifies packing and unpacking data within bit fields, a very common issue in data bus protocols.
- Fully featured application programming interface (API) supports the full range of MIL-STD-1553B communications, including: BC Mode Codes, BC Transmit Frames, BC Receive Frames, BC RT-RT Frames, BC Async and Scheduled Frames, RT Mode Codes, RT Transmit, RT Receive, BM Filtering
- The entire codebase has been rearchitected using LabVIEW object-oriented programming, providing a significantly more robust framework for using and extending the real-time API. Users familiar with the design paradigms may also benefit from this, making their own specialized classes of the 1553 bus controller, bus monitor, and/or remote terminal.
- Real-Time driver is overall much easier to use, allowing users to develop applications involving MIL-STD-1553B communications much more quickly in an extremely wide variety of use cases, including many new examples!
- NI CompactRIO controllers running the Linux Real-Time operating system are highly recommended, along with LabVIEW Real-Time as well as VeriStand version 2016 or higher.
Note: this initial release of the 1553 Real-Time Driver Software is considered a Beta release because certain performance benchmarks, rigorous testing and documentation are not complete. However, we find it to be exceptionally useful and therefore we encourage its use with the caveat that data reading and writing throughput may not be adequate for certain highly deterministic software simulation applications we have not tested. Please report any issues via our Request Support webform.
The following three LabVIEW source code examples illustrate a few of the capabilities of the new 1553B Real-Time driver software. Please note that all these are available as thoroughly documented examples within the driver.
Figure 1 is an example of configuring a single 1553 component (one 1553B C-Series Module) with all four available operations. Configurations for a Bus Controller, two Remote Terminals, and one Bus Monitor are built into an array and supplied for use. The FPGA object provides the means for communicating with the 1553B C-Series Module directly.
Figure 1 - Multimode Configuration
Figure 2 is a simple configuration of a Bus Controller schedule. A 100,000 microsecond period is setup for the MajorFrame. The MajorFrame will execute the MinorFrame when started. The MinorFrame will send two different messages for remote terminals.
Figure 2 - Bus Controller Scheduling
Figure 3 is an example of the parameterization built into the API. Data Fields are identified in a remote terminal subaddress configuration. Each Data Field will have an identifying name, the subaddress word it’s associated with, the size and location of the data field, and a resolution for converting between a floating point value and the raw data bits in the subaddress word.
Figure 3 - Message Parameterization