1553B Core

The 1553B core is a full featured core that is compliant with the Department of Defense MIL-STD-1553B specification. The design package consists of a core that contains the “1553B” data specific functions for the general operation of the core. A 1553B behavioral model and simulation environment is also provided to the designer for simulation/verification of the 1553B design in the system.

Software driver examples and support are available to accelerate application development.

Bus Controller Features

  • BC to RT RX transaction control
  • BC to RT TX transaction control
  • RT to RT transaction control
  • Broadcast command generation
  • Generation of all Mode commands
  • Transaction list generation
  • Command and Status FIFO with 4kB Data Memory
  • Dual redundant communication (A/B) with an upgrade path to more redundant channels
  • Error detection and status reporting for all transactions
  • Programmable no response timeout
  • Programmable automatic retry logic
  • Programmable interrupt
  • Terminal failsafe protection
  • On the fly loopback check

Remote Terminal Features

  • Programmable RT address (0-30) via pins with software programmable override
  • Supports 30 simultaneous RX sub-addresses (1-30)
  • Supports 30 simultaneous TX sub-addresses (1-30)
  • Supports independent 32 word buffers for each TX and RX sub-address.  All data buffers are double buffered to avoid data corruption and allow higher throughput
  • Broadcast command reception
  • Supports all Mode commands and automatically handles relevant Mode commands in hardware
  • 512 deep message queue with filtering
  • Programmable status response
  • Programmable response time
  • Programmable interrupts
  • Programmable command legalization table per sub-address with entries for broadcast, transmit/receive/both, and any number of word count combinations
  • Programmable Mode command legalization
  • Error detection and reporting with automatic handling in hardware
  • On the fly loopback check
  • Instrumentation support
  • Sub-address 30 automatic wrap-around mode with wrap rejection logic
  • Automatic switching to the redundant bus on reception of a simultaneous new command
  • Dual redundant communication (A/B) with an upgrade path to more redundant channels

Bus Monitor Features

  • Simultaneous monitoring of all communications on all channels
  • Simultaneous operation with Bus Controller and Remote Terminal controllers
  • Programmable Command/Status/Data filter.
  • Programmable interrupt
  • Word type detection with instrumentation support.
  • Manchester II and Parity error detection and reporting
  • Bus used reporting
  • Gap Time measurement from 25 ns to 2 hours with automatic resolution scaling
  • 16kB Data Memory with automatic wrap around logic

System Design

Figure 1 - MIL-STD-1553B Interface System Diagram
Figure 1 – MIL-STD-1553B Interface System Diagram


Core Design

The 1553B Interface Core is comprised of several blocks which are shown in the following block diagram.  All signals on the bottom go to the user application.  All signals on the left go to the 1553B Transceiver.

The 1553B core has been designed to allow for easy integration into custom user applications.  A simple processor bus interface is provided to access control/status registers, FIFOs, and RAMs.  This simple processor interface can also be replaced with an AXI-Lite processor interface.

A programmable interrupt controller is included with full enable, masking, and status capability to allow for interrupt driven or polled detection of events.

The 1553B core contains the following three major functions.

  1. Bus Controller (BC)
  1. Remote Terminal (RT)
  1. Bus Monitor (BM)

These functions can be used independently, or in conjunction based on the users needs.  The design is capable of switching from BC to RT mode and back, on the fly.  To support 1553 communication, the BC, RT, and BM share one Manchester II Differential Encoder, and two Manchester II Differential Decoders.

Detailed operation of the design is provided in the User Guide.


Figure 2 – MIL-STD-1553B Core Diagram


Clocks and Reset

The 1553 design is fully synchronous to the system clock (clk_local), and the 1553 bus over-sample clock (clk_ovs). The design uses two main synchronous resets (srst_local and srst_ovs). The polarity of the resets are generically configurable. These resets should be synchronized to the appropriate clock domain in the top level of your design. Synchronous enables are also available for each function of the design (BC, RT, BM).

Clk_ovs is used by the design to drive 1553B bus logic. A rate of 40 MHz is typical (but not required) to obtain perfect timing for all 1553 timers. The only requirement is that clk_ovs be an even numbered frequency such as 20,22,24,… 40,42,44,… 50,52,54,… 98,100,102 MHz+. Upon purchase of the core, DDC will configure the IP to the frequency you choose. This allows the user the flexibility of choosing a clock rate other than 40 MHz.

Clk_local is used by the design to drive the main controllers, interrupt controller, and processor interface. The design is capable of 100 MHz+ local side operation, in FPGA implementations, with no stress on synthesis/place and route tools.

All interactions between clock domains are handled by FIFOs and synchronization logic.

Detailed clock and reset descriptions and requirements are available in the User Guide.


Interrupt Controller Operation

The 1553B Interface will detect and generate eleven different interrupts to the user application.

These are

  • BM prog number of samples collected
  • BC command list finished
  • BC failsafe
  • RT command available in queue
  • RT mode dynamic bus control accepted
  • RT mode sync without data
  • RT mode sync with data
  • RT mode init self test
  • RT mode reset terminal
  • RT mode selected transmitter shutdown
  • RT mode override selected transmitter shutdown.

Mode command interrupts in RT mode are supplied when a software action may be required. Some mode commands are handled completely by software. Others are handled partially by hardware and notify software of an event. For example, if software indicates that it will accept the bus for the Dynamic Bus Control mode command, then the hardware will accept the bus in the status response, reset the RT, enable the BC, and set the interrupt to notify software that the bus has been accepted and the Bus Controller is operational. If an interrupt is not provided for a mode command, then the mode command is handled completely and automatically by hardware.

Each of the above interrupts can be independently enabled, and masked. These events can be enabled by writing to the Enable Register (FF3_IER). Enabling an interrupt will allow its status to appear in the Status Register (FF3_ISR). Furthermore, if an interrupt is enabled, is can also be unmasked. This is done by clearing bits in the Mask Register (FF3_IMR). If an interrupt is unmasked, it will cause the external interrupt output pin to go high and stay high until cleared. Interrupts can be cleared by writing a ‘1’ to the FF3_ISR in the correct bit position of the interrupt that is to be cleared.

Detailed descriptions of each interrupt condition and processing steps are available in the User Guide.


Mode Commands

The Bus Controller is capable of sending and receiving responses for all mode commands.

The Remote terminal supports all mode commands and handles them automatically in hardware when applicable.

The Bus Monitor will log all mode commands and the responses.

Detailed descriptions of each mode command and the processing steps are available in the User Guide.


Testbench

The 1553 Core comes complete with a unit level testbench. The testbench is fully automated and self checking.

The testbench can be used as a demonstration of how the interface is programmed by software. Examples of most 1553 transactions are provided as part of the test suite.

As part of the testbench, you will receive task calls to operate the local side bus interface. Automatic check routines are provided which provide checks of all aspects of a transaction. Easy to understand terminal output is provided to follow the flow and results of all transactions.


Resource Utilization

The 1553B Core is not limited to any vendor specific implementation. Versions are available for all major FPGA vendors, and can be created for any custom ASIC application. A table at the end of this document shows typical resource requirements for various Xilinx implementations.

The following resource numbers are presented for various Xilinx devices. The DDC 1553 IP has results that are very close to the following numbers across all device families.

Virtex4

Capability FFs LUTs BRAMs (18K)
BC/RT/BM 1974 4638 26
BC only 886 1836 7
RT only 1430 3241 12
BM only 664 1668 11

Virtex5

Capability FFs LUTs BRAMs (18K) BRAMs (36K)
BC/RT/BM 1970 3827 3 9
BC only 884 1541 2 1
RT only 1426 2623 1 4
BM only 665 1426 0 4

Virtex6

Capability FFs LUTs BRAMs (18K) BRAMs (36K)
BC/RT/BM 1959 4341 3 9
BC only 898 1742 2 1
RT only 1413 3039 1 4
BM only 691 1525 0 4

Ultrascale

Capability FFs LUTs BRAMs (18K) BRAMs (36K)
BC/RT/BM 2463 3195 3 9
BC only 1217 1449 2 1
RT only 1613 2111 1 4
BM only 873 1127 0 4

Spartan6

Capability FFs LUTs BRAMs (9K) BRAMs (18K)
BC/RT/BM 2584 3432 2 19
BC only 1239 1521 2 2
RT only 1712 2274 0 9
BM only 749 1154 0 8

Virtex5Q = Space Grade – XQR5VFX130

Capability FFs LUTs BRAMs (36K)
SDP w/ ECC
XQR5VFX130 81920 81920 298
BC/RT/BM 2730/3% 4303/5% 36/12%
BC only 1247/1% 1675/2% 9/3%
RT only 1808/2% 2814/3% 20/6%
BM only 810/1% 1333/1% 11/1%

Virtex7

Capability FFs LUTs BRAMs (18K) BRAMs (36K)
BC/RT/BM 2462 3228 3 9
BC only 1217 1458 2 1
RT only 1613 2152 1 4
BM only 873 1112 0 4

Agilex 5

Capability ALMs FFs LUTs BRAMs (20K)
BC/RT/BM 3037 2881 4517 30
BC only 1395 1364 2038 7
RT only 2073 1940 3008 20
BM only 916 852 1286 10

Disclosure: The header image on this page was generated using AI.