In recent times, due to the usage of avionics subsystems and the amount of data processed by them, there is an increased demand for the usage of digital techniques in aircraft. MIL-STD-1553B is widely referred to as an international standard for military applications. The MIL-STD-1553B protocol is implemented using chipsets which are mostly manufactured by companies outside India. In this project, we have created a simulator that behaves just like the physical controller Chipset. The purpose of this project was to create software that could be used to mimic the behavior of the Chipset so that a large amount of test cases could be carried out on the simulator instead of physical hardware. The project was built using C++.
Introduction
I. INTRODUCTION
The MIL-STD-1553 is a military standard created by the United States Department of Defense. It is used to define the mechanical, electrical, and functioning of a serial data bus. It was originally designed as an avionic data bus for use with military avionics but has also become commonly used in spacecrafts. MIL-STD-1553B, introduced in 1978 as the successor to MIL-STD-1553A from 1975, outlines a standardized communication system. This system typically involves a Bus Controller (BC) overseeing multiple Remote Terminals (RTs) linked via a data bus, establishing a singular data path between the BC and all RTs. Up to 32 RTs can be accommodated in this setup. While one or more Bus Monitors (BMs) may be present, they typically remain inactive during data transfers, serving solely to record data for analysis purposes. The standard has expanded its applications into the Navy, satellites, and the International Space Station.
II. MIL-STD-1553B BUS INTERFACE
MIL-STD-1553B serves as a serial data bus utilizing bi-directional communication and time division multiplexing. The major components of the standard are the Bus Controller (BC), Remote Terminal (RT), Bus Monitor (BM), and Transmission Media. The block diagram of MIL-STD-1553B is shown in the below figure 1.
A. Bus controller
The bus controller (BC) (BC) is the key part of the MIL-STD-1553B protocol and the control of data transmission on the bus lies with the BC. It is responsible for all types of data transmission. Only 1 Bus Controller can be active at a time. The primary role of the Bus Controller (BC) is to regulate data flow for all transmissions across the bus. In addition to initiating all data transfers, the BC must transmit, receive, and coordinate the transfer of information on the data bus. Communication occurs exclusively in a command/response mode, where the Bus Controller (BC) initiates communication by sending commands to Remote Terminals (RTs), which then respond accordingly.
B. Remote terminal
In the MIL-STD-1553B setup, any device that isn't a Bus Controller or a Bus Monitor falls into the category of Remote Terminal (RT). An RT can serve as a bridge between the bus and a subsystem or link two 1553 buses together. The subsystem is essentially the sender or recipient of the data transmitted on the bus. An RT comprises all the necessary components to facilitate data transfer from the sender to the recipient. There can be a maximum of 32 RTs and each RT consists of 32 subaddresses. Each RT has a unique address.
C. Bus Monitor
The Bus Monitor (BM) acts as an attentive listener on the bus, capturing and storing specific activities. It operates passively, recording data for either immediate analysis or later review. The BM has the capability to save complete or partial bus traffic, including both electrical and protocol errors. It's commonly employed for tasks such as instrumentation and testing of the data bus.
D. Transmission media
According to MIL-STD-1553B, a data bus can be defined as “a twisted-shielded pair transmission line which is made up of a main bus and several attached stubs”. Signal interference from any outside sources is controlled by shielding. The twisted pair has noise canceling which is responsible for message integrity in the data bus.
III. STRUCTURE OF WORDS
Some of the most important words of the MIL-STD-1553B protocol are Command word, Status word and Data word.
A. Command word
The command word is word contains the information like the address of the remote terminal, the Transmit or Receive command, the number of data words to be sent, and the subaddress of the remote terminal. This word is written by the bus controller on the bus. The message format can also be identified from the command word.
B. Status word
If a valid message is received by the remote terminal, it transmits a status word. The status word tells the bus controller whether a message was received properly or not. It also tells the state of the remote terminal.
C. Data word
A data word is the actual information being sent in a message. Data words can be sent by both, the remote terminal as well as the bus controller. If the data words are sent by the remote terminal, it indicates the transmit command and if the data words are sent by the bus controller, it indicates the receive command. The remote terminal is the reference point. The transfer of the data words depends on the T/R bit of the Command word. The number of the data words to be transferred is also mentioned in the Command word.
V. DESIGN METHODOLOGY
In the BC to RT message transfer, first of all, the BC writes the command word to the bus. In the command word, the T/R bit is set to 0, indicating a receive command. The command word contains the address of the RT, the no. of the data words to be sent, and also the subaddress of the specified RT. The RT will verify the command word received. Later, the RT receives the specified number of data words from the BC. Subsequently, the RT sends an acknowledgment status word to the BC.
In the RT to BC message transfer, the BC writes the Transmit command word on the bus i.e. the T/R bit is set to 1. It also sends the RT address it wants to communicate with. The RT after decoding the address in the command word sends the status information in addition to the number of data words specified.
The Broadcast message is similar to the BC to RT message transfer. The only difference here is that the BC sends the data words to all the RTs and it is not necessary that the RTs may send back a status word back to the BC.
VI. SOFTWARE IMPLEMENTATION
For the software implementation of the MIL-STD-1553B protocol, we can make use of the Object Oriented Programming (OOPs) paradigm. The software is built using C++ language. For our area of research, in the software, we have explicitly used the 16-bit data and ignored the synchronization bits and the parity bits of the command word, status word, and data words. Hence there is no need for Manchester Encoding implementation from the software point of view.
For the software first of all, the classes of the Bus Controller (BC) and Remote Terminal (RT) are made according to the specified requirements of the 1553B protocol. Once the classes are implemented, the objects can be made. We will create a BC object and RT objects. The RT object should contain its address.
For the transmission of data from the devices a Bus class is also implemented which contains all the helper functions required for the message transmission. The bus object will act as the transmission media for the data transfer.
The BC and RT objects will be loaded with the required configurations. The user will write the command word and the data blocks for the transmission. The type of message transfer will be identified by the T/R bit of the command word. In the case of BC-RT message format after the successful transmission of all the data words, the RT sends the status word back to the BC. During the RT-BC message transfer, the RT will send first the status word and all the data words to the BC.
VII. TESTING
For testing the software, 2 types of tests were carried out which are unit testing and integration testing.
VIII. RESULTS
To check the performance of the software, BC-RT, and RT-BC test cases are performed.
A. BC to RT Message Transfer Test Case
The command word is 0x0847. From the command word, we can say that the RT address specified is 1, the number of data words to be sent is 7 and the RT sub-address specified is 2. As this is a BC to RT message format, the T/R bit is set as 0.
The 7 data words transferred from BC to RT are 0xAAAA, 0xBBBB, 0xCCCC, 0xDDDD, 0xEEEE, 0xFFFF, and 0x1234.
B. RT to BC Message Transfer Test Case
The command word is 0x0C47. As this is a BC to RT message format, the T/R bit is set as 1 and the status word is sent by the RT to the BC and then the data words are transmitted. The number of data words to be transmitted is 8.
The 8 data words transferred from BC to RT are 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0x7777 and 0x8888.
Conclusion
While we have simulated the behavior of MIL-STD-1553B protocol controller Chipset, the project does not accurately represent the internal workings of Chipset. We have taken physical layer components completely for granted and we have ignored many of the internal registers and memory areas to employ the data transfer method in the MIL-STD-1553B protocol.
We have considered only the bus controller and remote terminal as the protocol components and have only employed BC to RT, RT to BC, and Broadcast message format. Message formats which are specified in this paper are implemented according to the standard. Military and space applications require reliable and high speed data transmission protocols.
The future work regarding this protocol may focus on improvements in reliability. Hence, the future of MIL- STD-1553B will continue with the integration of new applications which will provide a more efficient means of data transmission for civilian and military use.