HOLTIC HI

November 2009
HI-6120 Parallel Bus Interface and
HI-6121 Serial Peripheral Interface (SPI)
MIL-STD-1553 Remote Terminal ICs
GENERAL DESCRIPTION
REMOTE TERMINAL FEATURES
The HI-6120 and HI-6121 provide a complete, integrated,
3.3V MIL-STD-1553 Remote Terminal in a monolithic
silicon gate CMOS device. Two host interface options are
offered: The HI-6120 uses a 16-bit parallel host bus
interface for access to registers and RAM and is offered in
a 100-pin plastic quad flat pack (PQFP). The HI-6121 has a
4-wire SPI (Serial Peripheral Interface) host connection
and comes in a reduced pin count 52-pin PQFP or 64-pin
QFN. Both devices handle all aspects of the MIL-STD1553 protocol, including message encoding, decoding,
error detection, illegal command detection and data
buffering. Host data management is simplified by storing
message information and data within the on-chip 32K x 16
static RAM.
· Fully
A descriptor table in shared RAM provides fully
programmable memory management. Multiple descriptor
tables can be implemented for fast context switching.
Transmit and receive commands can use any of four
different data buffer modes: indexed (single) buffering,
ping-pong (double) buffering or two circular buffer
schemes. Transmit and receive commands for each
subaddress may use different buffer modes. Mode code
commands employ a simple scheme for storing mode data
and message information with programmable interrupts.
· In compliance with MIL-STD-1553B Notice 2, received
The HI-6120 and HI-6121 provide programmable
interrupts for automatic message handling, message
status and general status. A host interrupt history log
maintains information about the last 16 interrupts.
The HI-6120 and HI-6121 can be configured for automatic
self-initialization. A dedicated SPI port reads data from
external serial EEPROM memory to fully configure the
descriptor table, illegalization table and host interrupts.
· Four data buffer methods for subaddress transmit and
receive commands: indexed (single) buffering, pingpong (double) buffering and two circular buffer modes
· Independently
selectable data buffer modes for
transmit and receive commands on each subaddress
· Simplified mode code command handling
· Integral 16-bit Time-Tag counter has programmable
options for clock, interrupts and auto-synchronization
· Message
information and time-tag words are stored
with message data words for all transacted messages
data from broadcast messages may be optionally
separated from non-broadcast received data
· Optional interrupt log buffer stores the most recent 16
interrupts to minimize host service duties
· Optional illegal command detection uses internal table
· Optional automatic self-initialization at reset
· +/- 8kV ESD Protection (HBM, all pins)
· MIL-STD-1760 compliant
PIN CONFIGURATION (Top View)
52 - TXINHB
51 - TXINHA
50 - AUTOEN
49 - VCC
48 - GND
47 - SSYSF
46 - ACTIVE
45 - READY
44 - TTCLK
43 - ACKINT
42 - INTMES
41 - INTHW
40 - BENDI
HI-6121 in 52-PQFP Package
COMP - 1
CE - 2
MODE - 3
SI - 4
SCK - 5
SO - 6
MCLK - 7
RTA0 - 8
RTA1 - 9
RTA2 - 10
MR - 11
RTA3 - 12
RTA4 - 13
Internal dual-redundant transceivers provide direct
connection to bus isolation transformers. The device is
offered with industrial temperature range. Extended
temperature range is also offered, with optional burn-in. A
“RoHS compliant” lead-free option is offered.
HI-6120 Rev New
HOLT INTEGRATED CIRCUITS
www.holtic.com
HI-6121PQx
39 - TEST
38 - LOCK
37 - MTSTOFF
36 - BUSA
35 - VCCP
34 - BUSA
33 - BUSB
32 - VCCP
31 - BUSB
30 - TEST0
29 - TEST1
28 - TEST2
27 - TEST3
RTAP - 14
MISO - 15
MOSI - 16
VCC - 17
GND - 18
ECS - 19
EECOPY - 20
ESCK - 21
EE1K - 22
TEST7 - 23
TEST6 - 24
TEST5 - 25
TEST4 - 26
The device provides internal illegalization capability,
allowing any subset of subaddress, command T/R bit,
broadcast vs non-broadcast and word count (or mode
code) to be illegalized, resulting in a total of 4,096 possible
combinations. The illegalization table resides in internal
RAM. The RT can also operate without illegal command
detection, providing “in form” responses to all valid
commands. Broadcast command recognition is optional.
integrated 3.3V Remote Terminal meets all
requirements for MIL-STD-1553B Notice 2
11/09
HI-6120, HI-6121
BLOCK DIAGRAM
HI-6120 MIL-STD-1553 Terminal With Host Bus Interface
HI-6121 MIL-STD-1553 Terminal With Host SPI Interface
LOCK
EE1K
SHARED
STATIC RAM
AND
REGISTERS
AUTOEN
CONFIG.
OPTION
LOGIC
RTA4 - 0
RTAP
32K X 16
ADDRESS
SPACE
HI-6120
ONLY
CONTROL
BTYPE
WPOL
R / W or WE
STR or OE
A0 / LB
WAIT or WAIT
A15:1
DATA
TEST
LOGIC
MCLK
TTCLK
(OPT)
TEST7:0
TEST
MODE
COMP
DATA
HOST SPI
INTERFACE
HI-6121
ONLY
ADDRESS
CONTROL
SI
VCCP
MEMORY
ACCESS
MANAGER
ADDRESS
CE
SO
TRANSCEIVER
POWER
CONTROL
HOST BUS
INTERFACE
HI-6120
ONLY
D15:0
SCK
VCC
GND
INTERNAL
CLOCKS
DATA
BENDI
BWID
ADDRESS
EECOPY
MTSTOFF
LOGIC POWER
TXINHA
BUSA
ACKHW
ACKMES
BUS
}*
REMOTE
TERMINAL
STATE
MACHINE
SSYSF
MR
INTHW
INTMES
READY
BUSA
MESSAGE
SEQUENCER
AND DUAL
ENCODERDECODERS
TXINHB
BUSB
DISCRETE
SIGNAL
INTERFACE
TO HOST
BUS
BUSB
ACTIVE
BUS
TRANSCEIVERS
* Combined into ACKINT pin
MISO
MOSI
ECS
ESCK
on HI-6121PQx varient
SPI MASTER MODE
INTERFACE
TO OPTIONAL
SERIAL EEPROM
(AUTO-CONFIG)
HOLT INTEGRATED CIRCUITS
2
HI-6120, HI-6121
PIN DESCRIPTION
THESE PINS APPLY TO BOTH HI-6120 AND HI-6121
PIN
TYPE
DESCRIPTION
INTHW
OUTPUT
Hardware Interrupt output, active low.This signal is programmed as a brief low-going
pulse output or as a level output by the INTSEL bit in Configuration Register 1.
INTMES
OUTPUT
Message Interrupt output, active low. This signal is programmed as a brief low-going
pulse output or as a level output by the INTSEL bit in Configuration Register 1.
MR
INPUT
Master Reset, active low. Internal 50KW pull-up resistor. The host can also assert
software reset by asserting the SRST bit in Configuration Register 1.
MTSTOFF
INPUT
Memory test disable, active high. Internal 50KW pull-down resistor. When this pin is low,
the device performs a memory test on the entire RAM after rising edge on the MR reset
pin. When this pin is high, the RAM test is skipped, resulting in a faster reset process.
For further information, refer to the data sheet section entitled “Reset and Initialization.”
EECOPY
INPUT
EEPROM Copy, active high. Internal 50KW pull-down resistor. This input is used to start
the process that copies registers and configuration tables to serial EEPROM. Refer to
the data sheet section entitled “Reset and Initialization.”
AUTOEN
INPUT
Auto-Initialize Enable, active high. Internal 50KW pull-down resistor. If pin is high at
rising edge on MR reset input, automatic initialization proceeds, copying configuration
data to registers and RAM from an external serial EEPROM via the dedicated autoinitialization SPl port. Refer to the data sheet section entitled “Reset and Initialization.”
EE1K
INPUT
When the AUTOEN pin is high, the EE1K input sets the range of the auto-initialization
process. When EE1K is low, registers and RAM occupying the 32K address range from
0x0 to 0x7FFF are initialized. For applications needing faster initialization, when EE1K is
high, only registers and RAM occupying the 1K address range from 0x0 to 0x03FF are
initialized. This pin has an internal 50KW pull-down resistor. If the AUTOEN pin is low,
this pin is not used. Refer to the data sheet section entitled “Reset and Initialization.”
RTA4:0
RTAP
INPUTS
Remote terminal address bits 4 - 0, and parity bit. Internal 50KW pull-up resistors. The
RTAP pin should provide odd parity for the address present on pins RTA4:0. Terminal
address and parity pin levels are latched into the Operational Status register when rising
edge occurs on the MR pin. The Operational Status Register value (not these pins)
reflects the active terminal address. The register value can be overwritten by the host
under some circumstances. See Operational Status Register description.
LOCK
INPUT
Internal 50KW pull-down resistor. Pin state is latched into the Operational Status register
LOCK bit when rising edge occurs on the MR pin. If Operational Status register LOCK
bit is high, terminal address in the register cannot be overwritten by a host register write.
If Operational Status register LOCK bit is low, the host can overwrite the five terminal
address bits and address parity bit in the Operational Status register.
TXINHA
TXINHB
INPUTS
Transmit Inhibits for Bus A and Bus B, active high. Internal 50KW pull-down resistors.
These inputs are logically ORed with the corresponding TXINHA and TXINHB bits in
Configuration Register 1. If the input pin or register bit is high, bus transmit is disabled.
READY
OUTPUT
Pin is low when auto-initialization or built-in test is in-process. Host should not access
shared RAM or device registers when pin state is low. When output is high, the shared
RAM and registers may be configured, and device will begin terminal execution when
the STEX (start execution) bit in Configuration Register 1 is set.
ACTIVE
OUTPUT
MCLK
INPUT
Master clock input, 50.0 MHZ ±0.01% (100ppm). Internal 50KW pull-down resistor.
TTCLK
INPUT
Time-Tag Clock input. Internal 50KW pull-down resistor. When Configuration Register 1
bits TTCK2:0 = 001, this pin is the clock input for the Time Tag counter. For other values
of TTCK2:0, the Time-Tag counter is internally clocked so the TTCLK pin is not used.
SSYSF
INPUT
Subsystem fail input, active high. Internal 50KW pull-down resistor. When this input is
high, the HI-6120 terminal sets the SUBSYS flag in its status word.
ECS
OUTPUT
Pin is high when the HI-6120 is actively processing a 1553 command, otherwise low.
Chip select output for the dedicated Serial Peripheral Interface (SPI) that connects to
the optional external serial EEPROM used for automatic self-initialization. For this autoinitialization SPI, the device operates in SPI master mode while the external memory
operates in slave mode. This SPI is separate from the host SPI found in the HI-6121.
HOLT INTEGRATED CIRCUITS
3
HI-6120, HI-6121
PIN DESCRIPTION, Cont.
THESE PINS APPLY TO BOTH HI-6120 AND HI-6121
PIN
TYPE
DESCRIPTION
ESCK
OUTPUT
Serial Clock output signal for the dedicated auto-initialization SPI connected to external
auto-initialization EEPROM.
MISO
INPUT
MOSI
OUTPUT
Serial Output signal (Master-Out Slave-In) for the dedicated auto-initialization SPI
connected to external auto-initialization EEPROM.
BUSA, BUSA
ANALOG
Bi-directional analog interface to MIL-STD-1553 bus A isolation transformer, positive and
negative signals respectively.
BUSB, BUSB
ANALOG
Bi-directional analog interface to MIL-STD-1553 bus B isolation transformer, positive and
negative signals respectively.
VCC, VCCP
POWER
3.3V supply voltage inputs for logic and transceiver circuits
GND
POWER
Ground pin for logic and transceiver circuits
TEST
INPUT
Test enable. Internal 50KW pull-down resistor. The host asserts this pin to perform RAM
self-test or loopback tests.
TEST7:0
BI-DIR
Test pins used for factory testing. Internal 50KW pull-down resistor. Do not connect
these pins.
MODE
INPUT
Test pin used for factory testing. Internal 50KW pull-up resistor. Do not connect this pin.
COMP
INPUT
Test pin used for factory testing. Internal 50KW pull-down resistor. Do not connect this
pin.
CE
INPUT
Chip Enable, active low. Internal 50KW pull-up resistor. When asserted, this pin enables
host read or write accesses to device RAM or registers. On HI-6121, it is normally
connected to a host SPI chip select output signal.
BENDI
INPUT
Configuration pin for selecting “endianness” of the host bus interface when byte transfers
are used. Internal 50KW pull-up resistor. Endianness is the system attribute that
indicates whether integers are represented with the most significant byte stored at the
lowest address (big endian) or at the highest address (little endian). Internal storage is
“big endian.” When using the HI-6120, this pin only applies when the host bus is
configured for 8-bit width, that is, when BWID equals 0. When the HI-6120 is configured
for 16-bit bus width, the BENDI input pin is “don’t care.” When using the HI-6121, this
pin controls the byte order of the 16-bit data following the SPI command.
Serial Input signal (Master-In Slave-Out) for the dedicated auto-initialization SPI
connected to external auto-initialization EEPROM. Internal 50KW pull-down resistor.
When BENDI is low, “little endian” is chosen; the low order byte (bits 7:0) is transacted
before the high order byte (bits 15:8). When BENDI is high, “big endian” is chosen and
the high order byte is transacted on the host bus before the low order byte.
ACKHW*
INPUT
Hardware Interrupt Acknowledge, active high. Internal 50KW pull-down resistor. This
input is only used when the INTSEL bit in Configuration Register 1 is asserted to enable
level interrupts. After interrupt assertion causes the INTHW output to go low, a high
state (60ns minimum duration) on ACKHW will clear the INTHW output to logic 1. The
interrupt is also cleared by reading the Pending Interrupt Register.
ACKMES*
INPUT
Message Interrupt Acknowledge, active high. Internal 50KW pull-down resistor. This input
is only used when the INTSEL bit in Configuration Register 1 is asserted to enable level
interrupts. After interrupt assertion causes the INTMES output to go low, a high state
(60ns minimum duration) on ACKMES will clear the INTMES output to logic 1. The
interrupt is also cleared by reading the Pending Interrupt Register.
* Note: These pins are combined into the ACKINT pin on HI-6121PQx variant.
HOLT INTEGRATED CIRCUITS
4
HI-6120, HI-6121
PIN DESCRIPTION, Cont.
THESE PINS APPLY TO HI-6120 ONLY
PIN
TYPE
DESCRIPTION
D15:0
I/O
Tristate data bus for host read/write operations upon registers and shared RAM.
Internal 50KW pull-down resistors. All read/write operations transact 16 bit words, but
bus width can be configured for 8 or 16 bits. For 8 bit bus width, pins D15:8 are not
connected; each 16-bit word is transacted as a pair of upper and lower byte operations,
with data presented sequentially on pins D7:0. For compatibility with different host
processors, when byte transfers are enabled the BENDI input pin sets whether the low
order byte is transferred before the high order byte, or vice versa.
A15:1 and
A0 (LB)
INPUTS
BWID
INPUT
BTYPE
INPUT
Address bus for host read/write operations upon registers and shared RAM. For 16-bit
bus width, address bit A0 (LB) from the host is not used. For 8-bit bus width, bit A0
equals 0 during the first byte read/write access; while A0 equals 1 during the second
byte access.
Configuration pin for host bus width. Internal 50KW pull-up resistor. High selects 16-bit
bus width, low selects 8-bit bus width.
Configuration pin for host bus read/write control signal style. Internal 50KW pull-up
resistor. High selects “Intel style” using separate read strobe OE (output enable) and
write strobe WE. Low selects “Motorola style” using single read/write strobe STR and
read/write select signal, R/W.
R/W or WE
INPUT
R/W (read/write) signal when BTYPE pin is low, or WE (write enable) when BTYPE pin
is high. Internal 50KW pull-up resistor. Used for host read or write accesses to device
RAM or registers. Important: This pin or the CE pin should be high during all address
transitions.
STR or OE
INPUT
Common STR (read/write strobe) when BTYPE pin is low, or OE (output enable) when
BTYPE pin is high. Internal 50KW pull-up resistor. Used for host read or write accesses
to device RAM or registers.
WAIT or WAIT
OUTPUT
Host bus read cycle “wait” output. For compatibility with different host processors, this
output can be made active high or active low, set by the state of the WPOL input pin.
The WAIT output may be ignored when the host processor’s read cycle time is
sufficiently slow to meet worst case (slowest) read cycle timing for this device, or when
wait cycles have been enabled from the processor. The WAIT output is useful when the
host processor runs at high clock rates and/or when processor read wait states do not
provide adequate timing margin for worst case (slowest) read cycle timing for this
device.
WPOL
INPUT
Configuration pin for WAIT output polarity. Internal 50KW pull-up resistor. When WPOL
is low, the “wait” output is active low (WAIT). When WPOL is high, the “wait” output is
active high (WAIT). A multiple word sequential read will always assert WAIT during the
first read cycle. As long as successive reads are sequential, no further wait output
occurs.
THESE PINS APPLY TO HI-6121 ONLY
PIN
.
TYPE
DESCRIPTION
SO
OUTPUT
Serial Peripheral Interface (SPI) Serial Output pin. SO is normally connected to MISO
(Master In - Slave Out) pin on host SPI port. The SO pin is tri-stated when not
transmitting serial data to host.
SI
INPUT
Serial Peripheral Interface (SPI) Serial Input pin. Internal 50KW pull-down resistor. SI is
normally connected to MOSI
(Master Out - Slave In) pin on host SPI port.
SCK
INPUT
Serial Peripheral Interface (SPI) Serial Clock pin. Internal 50KW pull-down resistor.
SCK is normally connected to SCK output pin on host SPI port
ACKINT
(HI-6121PQx
variant only)
INPUT
Interrupt Acknowledge, active high. Internal 50KW pull-down resistor. This input is only
used when the INTSEL bit in Configuration Register 1 is asserted to enable level
interrupts. After interrupt assertion causes the INTHW or INTMES output to go low, a
high state (60ns minimum duration) on ACKINT will clear the INTHW or INTMES output
to logic 1. Interrupt are also cleared by reading the Pending Interrupt Register.
HOLT INTEGRATED CIRCUITS
5
HI-6120, HI-6121
FUNCTIONAL OVERVIEW
The Holt HI-6120 or HI-6121 provides a complete Remote
Terminal (RT) interface between a host and a MIL-STD1553B dual redundant data bus. It automatically handles all
aspects of the MIL-STD-1553 protocol, namely,
encoding/decoding, message formatting, error checking,
message data buffering, protocol checking, illegalization
and default terminal responses. Internal static RAM is
shared by the host and device logic, providing efficient
storage for message data and information about messages,
updated after each message transaction. The shared RAM
also contains host-initialized tables that define terminal
operation.
Two options are offered for host interface. The HI-6120 uses
a 16-bit tri-state data bus, ideally suited for memory-mapped
host processor operation. The HI-6121 uses a 3-wire Serial
Peripheral Interface (SPI) with powerful SPI command set.
Registers occupy the lowest 32 addresses of the 32K
memory address space. Internal registers (or contained bit
fields) are partitioned as read-only or read-write so the host
can exercise configuration and control without risk of
misconfiguration caused by accidental writes to devicemaintained registers or bit fields.
Dedicated output pins convey status to the host, and
generate host interrupts for preselected events. Before
processing messages, internal registers and transmit data
buffers in shared RAM must be initialized by the host to
define the desired message responses. Optional autoinitialization using parameters in external EEPROM can
replace host initialization.
SHARED RAM UTILIZATION
Descriptor Table
The host-initialized Descriptor Table, residing in shared
RAM, defines terminal response to valid commands. The
table is comprised of 4-word Descriptor Blocks. Each of 32
subaddresses and 32 mode code values has two descriptor
blocks, one for transmit and one for receive, for a total of 128
descriptor blocks. The first word in each descriptor block
defines message options (interrupt selections, data buffer
mode, etc.). Except for Indexed buffer mode (where one
word counts messages) the remaining three words point to
allocated data storage in shared RAM. After Master Reset is
negated and before message processing, the host must
initialize descriptor blocks for each utilized subaddress and
mode code. Unused subaddresses and unimplemented
mode codes may be illegalized (see below). The Descriptor
Table Base Address Register is initialized with the starting
address of the Descriptor Table. Multiple Descriptor Tabes
can be used for fast context switching, with the active table
designated by the base address register.
Illegalization Table
Optional illegal command detection utilizes an Illegalization
Table in the shared RAM. The table can illegalize any logical
combination of 11 command word bits for subaddress, T/R
bit and word count (or mode code), plus broadcast vs nonbroadcast status, resulting in a total of 4,096 possible
combinations. The Illegalization Table Base Address
Register is initialized with the table’s start address. Terminal
response to an illegal command sets “message error” status
and transmits Status Word only. If illegal command detection
is not used (that is, no “illegal” entries in Illegalization Table),
the terminal responds “in form” to all valid commands.
Message Data Buffers
After master reset, all locations in shared memory are reset
to 0000 hex. Ordinary transmit or receive commands
transfer 1 to 32 data words. These are called “subaddress
commands,” distinguishing them from “mode code
commands,” described in the next paragraph. By initializing
the Descriptor Table, the host allocates space in shared
RAM for storing message data words and message
information words. Data pointers in the table assign
separate data buffer addresses in memory for each
command. Data storage arrangement differs by choice of
data buffer method. Two examples are shown for each of the
four buffer modes in Figures 11-18. After successfully
transacting a message with one or more received data
words, the RT writes into the assigned data buffer. While
transacting a message with one or more transmitted data
words, the RT reads data for transmission from the assigned
data buffer. Before transmit commands occur, the host
should write desired data into assigned transmit data buffers
in shared RAM. Transmit subaddress data buffers can be
optionally loaded by auto-initialization.
Storage for Mode Code Commands
MIL-STD-1553 defines “mode code commands” that are
used for command and control, instead of data transfer. The
various “mode commands” transfer a single data word, or no
data word at all. The user has two choices for storing mode
command data: (1) similar to subaddress command data,
mode command data can be stored in RAM data buffers
assigned by the host-initialized Descriptor Table, or (2)
When “simplified mode command processing” is chosen,
mode command data is stored within the Descriptor Table
itself. Just six defined mode commands transfer a data word;
thus, option 2 is often preferred since initialization is easier.
Consistent, predictable terminal responses can be set up for
all mode commands, including the reserved and undefined
mode codes. An option bit in Configuration Register 1
globally sets whether the 22 undefined mode commands are
treated as illegal (RT response dependent on command’s
Illegalization Table setting) or invalid (no RT response
whatsoever, and no RT status change).
HOLT INTEGRATED CIRCUITS
6
HI-6120, HI-6121
FUNCTIONAL OVERVIEW, Cont.
Interrupt Log
The device maintains information from the last 16 interrupts
in a 32-word circular buffer in shared RAM known as the
Interrupt Log. Two 16-bit words characterize each interrupt;
one word identifies the interrupt type (Interrupt Identification
Word) and one word identifies the command that generated
the interrupt (Interrupt Address Word). After reset, the
Interrupt Log Address Register is reset to the fixed starting
address of the 32 word Interrupt Log. After each occurring
interrupt, the device updates the register to point to the log
address used for the next occurring interrupt.
HARDWARE FEATURE SUMMARY
Clock Inputs
A 50 MHz master clock input is required. The Time-Tag
counter clock is selected from six internally generated
frequencies, or may use an external clock input signal.
Remote Terminal Address Inputs
The 5-bit Remote Terminal address is set using pins RTA0 to
RTA 4. The RTAP input pin should be set or reset to present
matching odd parity. The state of the RT address and parity
pins is latched into the Operational Status register upon
rising edge on the MR master reset input. The state of the
LOCK input is latched into the Operational Status register at
the same time, and controls whether or not the active
terminal address and parity in the Operational Status
register can be overwritten by host writes into the register.
Between Master Reset assertions, the state of the RTA and
RTAP inputs is “don’t care”. If the value of RT address and
parity in the Operational Status register has parity error,
terminal operation is disallowed.
Integral Time-Tag Counter
A free-running 16-bit counter provides time-tag values that
are recorded for each message transacted. The time-tag
counter can be clocked from one of six internally generated
frequencies, or from an external source. The user can
enable automatic counter synchronization in response to
“synchronize” mode commands, and optional host interrupts
are provided for time-tag counter roll-over, and counter
match to a stored value in the Time-Tag Utility register.
Dual Bus Transceivers
Built-in bus transceivers provide direct interface between
the device and MIL-STD-1553 bus isolation transformers.
The transceivers convert digital data to and from differential
Manchester II encoded bus signals. A pair of “transmit
inhibit” input pins exercises direct control over transmission
for both buses.
Encoder and Decoders
The RT contains separate Manchester II encoders and
decoders for each bus. Encoder-decoder logic interfaces
directly with the dual-bus MIL-STD-1553 transceivers. The
decoder checks for proper sync pulse and Manchester
waveform, edge skew, correct number of bits and parity.
During transmission, each encoded word is looped back
through the decoder to check for errors. Bus sampling is
clocked at 25 MHz, providing superior tolerance to zerocrossing distortion.
Auto-Initialization Serial EEPROM Interface
The device has an automatic self-initialization feature. If selfinitialization is enabled after MR master reset, the device
reads configuration settings from external serial EEPROM
to load the Descriptor Table, Illegalization Table, transmit
mode command data and registers for terminal operation.
Self-initialization can optionally initialize transmit data
buffers with fixed data from EEPROM. A mechanism is
provided to initially program or later modify the external
serial EEPROM memory, by copying host-loaded tables and
register values to the serial EEPROM.
MEMORY AND REGISTER ADDRESSING
The HI-6120 and HI-6121 have an internal address space of
32K 16-bit words. All memory addresses in this data sheet
are expressed as hexadecimal numbers, using the C
programming convention where the prefix “0x” denotes a
hexadecimal value; e.g., 0x00FF represents 00FF hex.
All device RAM and register address mapping is word
oriented, rather than byte oriented. Register and memory
addresses throughout this document reflect word
addressing. For all HI-6121 and most HI-6120 applications,
word oriented addressing applies. Word oriented
addressing with the HI-6120 uses address inputs A15 to A1;
address input A0 is not used as fifteen bits are sufficient for a
32K address range.
HI-6120 ONLY: When required by the application, the host
bus interface HI-6120 is able to use byte transfers. All 8-bit
microprocessors (and some 16-bit and 32-bit
microprocessors) use (or can use) byte-oriented memory
accesses. To provide byte capability, the HI-6120 has a
sixteenth bus address input, A0. Byte oriented addressing
with the HI-6120 uses all 16 address pins, A15 to A0 to
address 64K bytes. The A0 input denotes whether the first or
second byte in the word is being addressed, while A15-A1
indicate the word address. This difference must be
considered when assigning HI-6120 pointer values or
accessing RAM or registers. From the microprocessor’s
standpoint, any host-assigned RAM buffer address will be
double the value of the buffer’s pointer stored in RAM. This
paragraph only applies to HI-6120 using 8-bit bus width.
HOLT INTEGRATED CIRCUITS
7
HI-6120, HI-6121
MEMORY AND REGISTER ADDRESSING, Cont.
From this point on, all register and memory addresses
presented in this data sheet are 15-bit word addresses.
From the host standpoint, register operations and RAM
operations are performed identically. Registers occupy the
lowest 32 addresses, 0x0 to 0x001F. Depending on function,
individual registers may be read-only, read-write, or a
combination of read-only and read-write bit fields. Read-only
registers, and read-only bit fields contained in registers, are
protected against accidental host overwrite by device logic.
Addresses in the range 0x0020 to 0x7FFF apply to static
RAM memory. All RAM is read-write and can be written or
read by either the host or the internal device logic.
Some memory locations (specifically Descriptor Table
Control Words) contain bits updated by both host and
device. These locations are protected against accidental
data collision by device arbitration logic which acts when
concurrent writes by both host and device occur.
0x7FFF
Host-Allocated
Subaddress Data Buffers.
Comprising 97% of the memory
address space, this RAM is
allocated into subaddress
data buffers by the
Descriptor Table.
0x0400
0x03FF
Descriptor Table.
Defines terminal behavior
for valid commands:
how data is stored,
host interrupts, etc.
512 Words
Multiple Descriptor Tables can be
used for fast context switching.
The active Descriptor Table is
defined by the Descriptor Table
Base Address Register.
0x00FF
Unallocated Memory.
This space in shared RAM
can be assigned by the host.
160 Words
0x0200
0x01FF
Illegalization Table.
Initialized by the host, this table
identifies illegal commands.
256 Words
0x0100
0x00FF
0x0060
0x005F
Interrupt Log Data Buffer.
32 Words
Expanded
at Right
0x0040
0x003F
Temporary Receive Data Buffer.
32 Words
0x0000
0x0020
0x001F
Registers (listed on next page)
32 Locations
0x0000
FIGURE 1. Address Mapping for Registers and RAM
HOLT INTEGRATED CIRCUITS
8
HI-6120, HI-6121
REGISTERS
Residing at the start of the memory address space, 32 addresses are reserved for HI-6120 and HI-6121 registers. Register
addresses overlay the shared RAM address space, but are separate from the shared dual-port RAM. All register bits are active
high. Unless otherwise indicated, all registers are reset in software to the logic zero condition after Master Reset (except any
bits reflecting the state of input pins). For all registers, bit 15 is the most significant:
Register
Number
Hex
Address
0
1
2
3
4
5
6
7
8
9
10
11-14
15
16
17
18
19
20
21
22
23
24
25
26-31
0x0000
0x0001
0x0002
0x0003
0x0004
0x0005
0x0006
0x0007
0x0008
0x0009
0x000A
0x000B-0x000E
0x000F
0x0010
0x0011
0x0012
0x0013
0x0014
0x0015
0x0016
0x0017
0x0018
0x0019
0x001A-0x001F
Register Name
Configuration Register 1
Configuration Register 2
Operational Status Register
Current Command Register
Current Control Word Address Register
Descriptor Table Base Address Register
Pending Interrupt Register
1553 Status Word Bits Register
Time-Tag Register
Interrupt Log Address Register
Current Message Information Word Address Register
Reserved
Memory Address Pointer (HI-6121 Only)
Interrupt Enable Register
Time-Tag Utility Register
Bus A Select Register
Bus B Select Register
Built-In Test (BIT) Word Register
Alternate Built-In Test (BIT) Word Register
Reserved
Test Control Register
Loopback Test Transmit Data Register
Loopback Test Receive Data Register
Reserved
CONFIGURATION REGISTER 1 (0x0000)
IN
BC
S
U TIN
M V
C
N IN
O V
TI
SM CE
C 2
SS P
R
D
8
H
B
IN US
H A
B
IN US
TS B
SD EL
S
TT EL
C
TT K2
C
TT K1
C
ST K0
E
SR X
ST
This 16-bit register is Read-Write and is fully maintained by the host. All bits are active high. This register is cleared after MR pin
Master Reset. After SRST software reset, the SRST bit is reset; the remaining bits are unchanged.
MSB 15 14 13 12 11 10 9
8
7
X
X
6
5
4
3
2
1
0
LSB
Bit No.
Mnemonic Function
15
INHBUSA
Bus A Inhibit.
When set, this bit disables transmit and receive for Bus A. This bit is logically ORed with the TXINHA
input signal to control Bus A transmitter enablement. Bus A transmission is disabled if the INHBUSA
register bit or TXINHA input pin is asserted. The TXINHA pin does not affect the Bus A receiver.
14
INHBUSB
Bus B Inhibit.
When set, this bit disables transmit and receive for Bus B. This bit is logically ORed with the TXINHB
input signal to control Bus B transmitter enablement. Bus B transmission is disabled if the INHBUSB
register bit or TXINHB input pin is asserted. The TXINHB pin does not affect the Bus B receiver.
13
INTSEL
Interrupt Mode Select.
When this bit is low, pulse interrupt outputs are selected for INTMES and INTHW output pins. When
this bit is high, level interrupts are enabled which require host acknowledgment for interrupt pin reset.
HOLT INTEGRATED CIRCUITS
9
HI-6120, HI-6121
REGISTERS, Cont.
12
SDSEL
Shutdown Select.
This bit affects terminal response to “transmitter shutdown” mode code commands and only applies
when the MCOPT4 bit in Configuration Register 2 equals logic 0 for automatic shutdown after
“transmitter shutdown” and “selected transmitter shutdown” mode code commands. When MCOPT4
and SDSEL are both logic 0, a valid “transmitter shutdown” mode command automatically disables
the inactive bus transmitter and receiver (complete ”bus shutdown”). This is the recommended
mode of operation and is the default state of these two bits after MR reset.
When MCOPT4 is logic 0 and SDSEL is logic 1, “transmitter shutdown” or “selected transmitter
shutdown” mode commands automatically disable just the inactive bus transmitter, but the bus
receiver remains enabled. The terminal fully complies with valid commands received on the
inactive bus (storing received data, etc.), except it does not transmit status or data onto that bus
(”mute terminal”). This mode of operation is not recommended but may be required in some
applications. See MCOPT4 bit in Configuration Register 2 for further information concerning
“transmitter shutdown” and “selected transmitter shutdown” mode commands. Also see Built-In Test
(BIT) Word Register which contains status flags that reflect automatic shutdown status when the
MCOPT4 bit in Configuration Register 2 is logic 0.
11
10
9
TTCK2
TTCK1
TTCK0
Time-Tag Counter Clock Select.
These three bits select the time-tag counter clock source from the following options:
TTCK2
0
0
0
0
1
1
1
1
TTCK1
0
0
1
1
0
0
1
1
TTCK0
0
1
0
1
0
1
0
1
Clock Source
Time-Tag counter disabled
External clock provided at TTCK input pin
Internally generated 2us clock
Internally generated 4us clock
Internally generated 8us clock
Internally generated 16us clock
Internally generated 32us clock
Internally generated 64us clock
8
STEX
Start Execution.
Assertion of this bit initiates RT operation; negation of this bit inhibits or stops RT operation. Upon
STEX assertion, RT parity-address error prevents terminal operation, regardless of the logical state
of the STEX bit. If RT address parity error occurs, the Status Register and Pending Interrupt Register
RTAPF bits will be asserted. This bit is cleared after MR pin master reset.
7
SRST
Software Reset.
Assertion of this bit immediately initiates the software reset process. This bit should not be set to logic
1 during auto-initialization. This bit is cleared after MR master reset and automatically self-resets after
being set by the host.
6-5
——
Not used.
4
BCSTINV
Broadcast Commands Invalid.
If this bit is high, commands addressed to RT address 31 are treated as invalid: There is no terminal
recognition of commands to RT address 31; there is no RT command response, and no status
updating for the benefit of following “transmit status” or “transmit last command” mode commands. If
this bit is low, commands addressed to RT address 31 are treated as valid broadcast commands.
3
UMCINV
Undefined Mode Codes Invalid.
This bit globally defines whether undefined mode code commands are treated as valid (default) or
invalid commands. This bit applies only to the following undefined mode code commands:
Mode Codes 0 through 15 with T/R bit = 0
Mode Codes16, 18 and19 withT/R bit = 0
Mode Codes 17, 20 and 21 with T/R bit = 1
If this bit is low (default state after MR pin reset) undefined mode code commands are considered
valid, and RT response is based on individual mode command settings in the Illegalization Table: If a
HOLT INTEGRATED CIRCUITS
10
HI-6120, HI-6121
REGISTERS, Cont.
mode command is legal, the RT “responds in form” and updates status. If a mode command is illegal,
the RT asserts Message Error status and (if non-broadcast) transmits only its Status Word without
associated data word. Later in this data sheet, the section “RT Message Responses, Options &
Exceptions” fully describes terminal response for each mode code value, command word T/R bit
state, and option settings.
If this bit is high, undefined mode code commands are treated as invalid: There is no RT recognition of
an invalid command, no RT command response, and no status updating for the benefit of following
“transmit status” or “transmit last command” mode commands.
2
NOTICE2
If this bit is high, the terminal stores data associated with broadcast commands separately from data
associated with non-broadcast commands to meet the requirements of MIL-STD-1553B Notice 2. If
this bit is low, broadcast command data is stored in the same buffer as non-broadcast command data.
1
SMCP
Simplified Mode Command Processing.
When asserted the device applies simplified processing for all valid mode code commands. The later
section entitled “Mode Command Processing” describes this option.
0
SSRD8
Single-Strobe Read for 8-Bit Parallel Bus Mode.
This bit only applies to HI-6120 (not HI-6121) and only applies when the parallel host bus is
configured for 8-bit bus width. When performing 2-byte read accesses of external memory, some
microprocessors with 8-bit bus assert individual Read Enable (or STROBE) pulses for high and low
bytes. Other microprocessors assert a single, wider Read Enable (or STROBE) pulse, while simply
changing the low address bit (A0 / LB) to access the two bytes. For this last case, the SSRD8 bit
should be set when writing device configuration, before register or RAM readback is performed.
CONFIGURATION REGISTER 2 (0x0001)
TO
S
TO EL
S 1
TR EL
X 0
TT DB
LO
RT AD
T
AL AG
TB
M IT
C W
O
M PT
C 4
O
M PT
C
O 3
M PT
C 2
O
M P
C T1
O
PT
0
This 16-bit register is Read-Write and is fully maintained by the host. All bits are active high. This register is cleared after MR
pin Master Reset, but is unaffected by SRST software reset.
MSB 15 14 13 12 11 10 9
8
7
Bit No.
Mnemonic Function
15
14
TOSEL1
TOSEL0
TRXDB
5
X
X
X
X
X
4
3
2
1
0
LSB
Time-Out Select for RT-RT Receive Commands.
These bits select the “no response” time-out for RT-RT receive commands. Message error occurs
when the transmitting Remote Terminal fails to begin transmission before time-out occurs. Time
interval boundaries are defined in RT validation test plan Figure 8 “RT-RT Timeout Measurement.”
MIL-STD-1553B stipulates that 54 to 60us is the acceptable range for time-out. However, longer
time-out options are provided for systems using long buses and/or utilizing bus repeaters that add
delay to bus traffic. RT-RT time-out can be selected from the following options:
TOSEL1
1
1
0
0
13
6
TOSEL0 RT-RT Time-Out
1
150 us
0
125 us
1
100 us
0
57 us
(default after MR pin master reset)
Temporary Receive Data Buffer.
Setting this bit enables a temporary data buffer for all receive commands. When enabled, the RT
stores received data words in a 32-word data buffer during message processing. Upon error-free
message completion, all saved words are written to data buffer memory in a burst. When the
temporary receive data buffer is disabled, the RT writes each received data word to the subaddress
data buffer memory as it is received. Should message error occur during data word reception, this
mode results in loss of data integrity, as vaild data from the prior command is partially overwritten by
data from a message with error. MIL-STD-1553 states that data should be disregarded for messages
HOLT INTEGRATED CIRCUITS
11
HI-6120, HI-6121
REGISTERS, Cont.
ending in error. This bit should only be modified while Configuration Register 1 STEX bit is low.
Changes occurring while STEX = 1 cause unpredictable results. In a typical application, the buffer is
not directly accessed by the host, although there is no restriction preventing host data access.
12
TTLOAD
Load Time-Tag Counter.
When this bit is written from logic 0 to logic 1, data contained in the Time-Tag Utility register is written
to the Time-Tag counter. The TTLOAD register bit self-resets after use. See MCOPT3 bit which
affects automatic Time-Tag counter loading upon “synchronize” mode command with data word.
11
RTTAG
Reset Time-Tag Counter.
Assertion of this bit clears the Time-Tag counter and counting is disabled until the bit is negated. Also
the “synchronize” mode command (mode code 1) causes automatic Time-Tag counter reset.
10
ALTBITW
Alternate BIT Word Enable.
If this bit is logic 0, the device responds to a “transmit BIT word” mode command (MC19) by sending
the word stored in the Built-In Test Word register, at address 0x0014. If this bit is logic 1, the terminal
transmits the word stored in the Alternate Built-In Test Word register, at address 0x0015. The
alternate register allows the user to fully define the BIT word, while the default register location
contains several predefined, device-controlled status bits.
9
MCOPT4
Mode Code Option 4.
Note: Mode commands MC4 and MC5 are not affected by the MCOPT4 bit, but are included in this
description to present a complete picture of device response to bus shutdown mode commands.
The Bus Controller exercises “shutdown“ control over the terminal’s connection to the inactive MILSTD-1553 bus using the “transmitter shutdown” (MC4) or “selected transmitter shutdown” (MC20
decimal) mode code commands. When the inactive transmitter is shutdown, the HI-612x device
inhibits further transmission on that bus. Once shutdown, the transmitter can be reactivated by (a) an
“override transmitter shutdown” (MC5) mode command, (b) an “override selected transmitter
shutdown” (MC21 decimal) mode command, (c) a “reset remote terminal” (MC8) mode command, (d)
hardware MR master reset or (e) software reset by setting the SRST bit in Configuration Register 1.
When the MCOPT4 bit is reset, the device automatically performs bus shutdown and shutdown
override in response to mode commands. When the MCOPT4 bit is set, the device only transmits
status; the host must perform bus shutdown and override duties by asserting control of the TXINHA
and TXINHB bits in Configuration Register 1, or by controlling the input pins with the same function.
Mode commands MC4 (”transmitter shutdown”) and MC5 (”override transmitter shutdown”) have
unconditional shutdown or override response. When MC4 is received, the terminal fulfills shutdown
for the inactive bus, disabling the transmitter and receiver, or transmitter only, depending on the state
of the SDSEL bit in Configuration Register 1. The device affirms shutdown status by updating bits 1512 in the BIT Word Register. When mode command MC5 is received, inactive bus transmit and
receive is automatically reenabled by the device; “shutdown override” status is affirmed by resetting
the inactive bus shutdown bit(s) in the BIT Word Register.
The “selected transmitter shutdown” (MC20 decimal) and “override selected transmitter shutdown”
(MC21 decimal) mode commands act similarly to MC4 and MC5 respectively, except bus shutdown
(or shutdown override) is conditional, based on the value of a mode data word received with the
command. To act on a given bus, the received mode data word must match a predetermined “bus
select” value. Bus shutdown (or shutdown override) can only act on the inactive bus, and only when
the received mode data word matches the “bus select” value for that bus. When a MC20 mode data
word matches the “bus select” value for the inactive bus, the terminal fulfills shutdown for the inactive
bus, disabling the transmitter and receiver, or transmitter only, depending on the state of the SDSEL
bit in Configuration Register 1. The device affirms shutdown status by updating bits 15-12 in the BIT
Word Register. When a MC21 mode data word matches the “bus select” value for the inactive bus,
the terminal fulfills shutdown override for the inactive bus, enabling the transmitter (and receiver, if
the SDSEL bit in Configuration Register 1 is logic 0). The device affirms override status by resetting
bits 15-12 in the BIT Word Register.
When the MCOPT4 bit equals zero, unique “bus select” values should be initialized by the host in the
“Bus A Select” register (0x0012) and “Bus B Select” register (0x0013) for fulfillment of “selected
HOLT INTEGRATED CIRCUITS
12
HI-6120, HI-6121
REGISTERS, Cont.
transmitter” shutdown and override mode commands. When MCOPT4 equals zero, transmitter
shutdown (or shutdown override) automatically occurs when the received mode data value matches
the inactive bus “Bus Select” register.
This table shows device response for “transmitter shutdown” and “override transmitter shutdown”
mode code commands for different option configurations:
The MCOPT4 bit in Configuration Register 2 is logic 0 or 1
MC4 (or MC5)
unconditional
fulfillment
Inactive Bus Tx & Rx
Disabled (Enabled).
(only Tx is disabled, if the
SDSEL config. bit = 1)
Status Word
transmitted,
unless
broadcast.
In BIT Word Register,
TXSD & RXSD bits updated.
(only TXSD bit updated, if the
SDSEL configuration bit = 1)
The MCOPT4 bit in Configuration Register 2 is logic 0
MC20 ( or MC21)
if mode data
value matches
“Bus Select ”value
Inactive Bus Tx & Rx
Disabled (Enabled).
(only Tx is disabled, if the
SDSEL config. bit = 1)
Status Word
transmitted,
unless
broadcast.
In BIT Word Register,
TXSD & RXSD bits updated.
(only TXSD bit updated, if the
SDSEL configuration bit = 1)
MC20 ( or MC21)
if mode data
does NOT match
“Bus Select ”value
Inactive Bus Tx & Rx
status not changed
Status Word
transmitted,
unless
broadcast.
In BIT Word Register, the
TXSD & RXSD bits are static
The MCOPT4 bit in Configuration Register 2 is logic 1
Inactive Bus Tx & Rx
MC20 ( or MC21)
if mode data
status NOT changed
value matches
(Host can modify BUSINH
“Bus Select ”value bit in Configuration Reg 1)
MC20 ( or MC21)
if mode data
does NOT match
“Bus Select ”value
8
7
MCOPT3
MCOPT2
Inactive Bus Tx & Rx
status NOT changed
Status Word
transmitted,
unless
broadcast.
In BIT Word Register, the
TXSD & RXSD bits are static.
Status Word
transmitted,
unless
broadcast.
In BIT Word Register, the
TXSD & RXSD bits are static.
Mode Code Option 3.
Mode Code Option 2.
If both of these bits equal one, the data word received with a valid “synchronize” mode command
(MC17) is unconditionally loaded into the Time-Tag counter. For non-broadcast MC17 commands,
the counter load occurs before status word transmission. If both of these bits equal 0, the external
host assumes responsibility for actions needed to perform “synchronize” duties upon reception of the
valid MC17 “synchronize”mode code command, but status transmission automatically occurs.
The binary 01 and 10 combinations of the MCOPT3 and MCOPT2 bits support certain extended
subaddressing schemes. If the MCOPT3-MCOPT2 bits equal 01, the received data word is
automatically loaded into the Time-Tag counter if bit 0 of the received data word equals 0. If the
MCOPT3-MCOPT2 bits equal 10, the received data word is automatically loaded into the Time-Tag
counter if bit 0 of the received data word equals 1. For non-broadcast MC17 commands, the
counter load occurs before status word transmission.
6
MCOPT1
Mode Code Option 1.
If this bit is logic 0, reception of a “transmit vector word” mode command (MC16) causes automatic
reset of the Service Request status bit. The Service Request bit is reset in the Status Word Bits
HOLT INTEGRATED CIRCUITS
13
HI-6120, HI-6121
REGISTERS, Cont.
register before status word transmission begins. If the MCOPT1 bit is logic 1, the external host
assumes responsibility for resetting the Service Request bit in the Status Word Bits register.
5
MCOPT0
Mode Code Option 0.
If this bit is logic 0, reception of a “reset remote terminal” mode command (MC8) causes automatic
assertion of SRESET software reset. If non-broadcast mode command, reset occurs after status
word transmission is complete. If this bit is logic 1, the external host assumes responsibility for
actions needed to perform terminal reset.
4-0
——
Not used.
OPERATIONAL STATUS REGISTER (0x0002)
RT
A
RT 4
A
RT 3
A
RT 2
A
RT 1
A
RT 0
A
LO P
C
AU K
T
R OE
EA N
AC DY
T
M IVE
C
N
M D
C
R
M D
C
T
RT D
A
EE PF
C
R KF
AM
IF
All sixteen register bits are active high. After rising edge on the MR master reset input pin, bits 15 - 8 reflect the state of input
pins RTA4 through RTA0, RTAP, LOCK and AUTOEN; register bits 7 - 3 are reset to logic 0 state. Register bits 8 - 0 are always
read-only. If the register’s LOCK bit is logic 0, bits 15 - 9 are read-write but cannot be written unless STEX in Configuration
Register 1 is low. If the register LOCK bit is logic 1, bits 15 - 9 are is read-only. Once the LOCK bit is set, unlock requires a new
MR master reset assertion with the LOCK input pin at logic 0 state. This register is not affected by SRST software reset.
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
Bit No.
Mnemonic Function
15-11
10
RTA4 - 0
RTAP
Remote Terminal Address bits 4 - 0.
Remote Terminal Address Parity.
These bits contain the active remote terminal address. After a rising edge on the MR master reset
input signal, these bits reflect the state of the RTA4 - 0 and RTAP input pins. When the register LOCK
bit is high, these bits are read-only. When the register LOCK bit is low (and STEX in Configuration
Register 1 equals 0) auto-initialization (see bit 8) or the host can overwrite these bits to change the
terminal address and parity.
9
LOCK
Terminal Address Lock.
After a rising edge on the MR master reset input signal, this bit reflects the state of the LOCK input pin.
When the LOCK bit is high, this bit is read-only. When LOCK is low (and STEX in Configuration
Register 1 equals 0) auto-initialization (see bit 8) or the host can write this bit to logic 1 to lock the
active terminal address.
8
AUTOEN
Auto-Initialize Enable.
This read-only bit reflects the state of the AUTOEN input pin that applied at the rising edge on the MR
master reset input signal. If the register AUTOEN bit is high, device auto-initialization was performed
following MR reset. When auto-initialization is complete, the device waits for the host to assert the
STEX bit in Configuration Register 1 to enable terminal operation. Auto-initialization of the Control
Register can optionally set STEX to begin terminal operation without host assistance. See section
entitled “Reset and Initialization” for details.
7
READY
Ready status.
This read-only bit reflects the state of the output pin READY and is cleared on reset. The bit is
asserted after post-reset internal terminal initialization is complete, indicating that shared RAM is
ready to accept configuration data from the host.
6
ACTIVE
Active status.
When set, this read-only bit indicates the terminal is presently processing a message. This bit reflects
the state of output pin ACTIVE and is cleared on reset. Note: Ths bit and the corresponding output pin
are asserted upon valid command detection and negated when command processing is completed.
HOLT INTEGRATED CIRCUITS
14
HI-6120, HI-6121
REGISTERS, Cont.
5-3
MCND
MCRD
MCTD
Mode Code Command Type Flags (No-Data, Receive-Data and Transmit-Data).
These three bits reflect the state of the command stored in the Current Command Register, 0x0003:
Current Command Type
MCND
Subaddress (not mode code)
0
Mode code (no data word)
1
Mode code (receive data)
0
Mode code (transmit data)
0
Mode code (undefined, no data) 1
MCRD
0
0
1
0
1
MCTD
0
0
0
1
1
Current Command Word
Subaddress, transmit or receive
MC0 to MC15, T/R bit equals 1
MC16 to MC31, T/R bit equals 0
MC16 to MC31, T/R bit equals 1
MC0 to MC15, T/R bit equals 0
2
RTAPF
RTAddress Parity Fail.
This bit is set when Remote Terminal address parity error is present. The bit is low when correct odd
parity applies to the terminal address latched in bits 15-10. This bit is high when parity error is present.
1
EECKF
EEPROM Checksum Fail.
This bit only applies when auto-initialization is enabled. While performing auto-initialization, this bit is
set if the checksum tallied from read EEPROM data doesn’t match the checksum value stored in
EEPROM. This failure also sets bit 1 in the Built-In Test Word Register (0x0014).
0
RAMIF
RAM Initialization Fail.
This bit only applies when auto-initialization is enabled. While performing initialization, this bit is set if
a write-then-read RAM value doesn’t match its counterpart location in the serial EEPROM. This
failure also sets bit 1 in the Built-In Test Word Register (0x0014).
CURRENT COMMAND REGISTER (0x0003)
This 16-bit register is Read-Only and is fully maintained by the device. This register is cleared after MR pin master reset, but is
not affected by SRST software reset.
CURRENT COMMAND 15:0
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
Bit No.
Mnemonic Function
15-0
CC15:0
LSB
Current Command Word.
This register contains the last valid command received over either MIL-STD-1553 bus. This register
is updated 5us after the ACTIVE output is asserted. Bit 15 is MSB.
CURRENT CONTROL WORD ADDRESS REGISTER (0x0004)
This 16-bit register is Read-Only and is fully maintained by the device. This register is cleared after MR pin master reset, but is
not affected by SRST software reset.
CURRENT CONTROL WORD ADDRESS 15:0
A
A
A
A
A
A
A
A
A
A
MSB 15 14 13 12 11 10 9
A
A
A
A
A
A
8
7
6
5
4
3
2
1
0
Bit No.
Mnemonic Function
15-0
CCW15:0
LSB
Current Control Word Address Register
This register contains the address for the descriptor table Control Word corresponding to the current
command stored in the Current Command Register (0x0003). This register is updated 5us after the
ACTIVE output is asserted. Bit 15 is MSB. Also see “Current Message Information Word Address”
register, 0x000A.
HOLT INTEGRATED CIRCUITS
15
HI-6120, HI-6121
REGISTERS, Cont.
DESCRIPTOR TABLE BASE ADDRESS REGISTER (0x0005)
This 16-bit register is Read-Write and is fully maintained by the host. This register is loaded with 0x0200 after MR pin master
reset or SRST software reset. The host maintains this register to specify the starting address for the Descriptor Table. For fast
context switching, the host may initialize multiple Descriptor Tables, then update this register to load the new base address
when the active Descriptor Table changes. The base address must be chosen with bits 7:0 = 00000000. These bits (and the
highest address bit) cannot be set in the register. The primary Descriptor Table (enabled at reset) should reside at address
space 0x0200 to 0x03FF. Other tables (if used) could begin at address multiples of 0x0200, like 0x0400 and 0x0600. Bit 15 and
bits 7:0 cannot be set and will always read logic 0.
DESCRIPTOR TABLE BASE ADDR 15:0
0
A
A
A
A
A
A
A
0
0
0
0
0
0
0
0
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
X
X
C
M
SP D
IF
LB AIL
FA
LB
FB
TT
IN
TT T1
IN
RT T0
AP
EE F
C
R KF
AM
IF
IL
M
IX
ER
R
EQ
IW Z
A
IB
R
PENDING INTERRUPT REGISTER (0x0006)
This 16-bit register is Read-Only. It is cleared after MR pin master reset, but is not affected by SRST software reset. If the
corresponding bit is set in the Interrupt Enable Register when a predetermined interrupt-causing event occurs, these actions
occur: (1) a pending interrupt bit is set in this register, (2) the INTMES or INTHW output is asserted, depending on interrupt
type, (3) the interrupt is registered in the Interrupt Log. To simplify host interrupt management, when the host reads this
register, the Pending Interrupt Register automatically resets to 0x0000 and (if level interrupts are enabled by the INTSEL
configuration bit) the INTMES and/or INTHW output pins are automatically negated. For further information on interrupt
behavior, also see descriptions for Interrupt Enable register and Interrupt Log Address register, and refer to the later section
entitled “Interrupt Management”.
X
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
Bit No.
Mnemonic Interrupt Type
15
IXEQZ
Index Equal Zero Interrupt.
If the IXEQZ bit is set in the Interrupt Enable register and the subaddress descriptor Control Word
allows the IXEQZ interrupt, this bit is asserted for (a) subaddresses using indexed buffer mode when
the index decrements from 1 to 0, or (b) subaddresses using circular buffer modes when the predetermined number of messages has been transacted. The INTMES output is asserted and the
Interrupt Log is updated.
14
IWA
Interrupt When Accessed.
If the IWA bit is set in the Interrupt Enable register and the subaddress descriptor Control Word allows
the IWA interrupt, this bit is asserted each time a valid legal message is transacted for the
subaddress. The INTMES output is asserted and the Interrupt Log is updated.
13
IBR
Broadcast Command Received Interrupt.
If the IBR bit is set in the Interrupt Enable register and the subaddress descriptor Control Word allows
the IBR interrupt, this bit is asserted each time a valid legal broadcast message is transacted for the
subaddress. The INTMES output is asserted and the Interrupt Log is updated.
12-11
——
Not used.
10
MERR
Message Error Interrupt.
If the MERR bit is set in the Interrupt Enable register, this bit is asserted when a message error is
detected. Errors can be caused by Manchester encoding problems or protocol errors. The INTMES
output is asserted and the Interrupt Log is updated.
9
——
Not used.
8
ILCMD
Illegal Command Interrupt.
If the ILCMD bit is set in the Interrupt Enable register, this bit is asserted each time an illegal message
HOLT INTEGRATED CIRCUITS
16
HI-6120, HI-6121
REGISTERS, Cont.
(determined by the Illegalization Table) occurs for a new command. The INTMES output is asserted
and the Interrupt Log is updated. See section entitled “Illegalization Table” for additional information.
7
SPIFAIL
6-5
SPI Fail Interrupt (HI-6121 only).
The HI-6121 uses a SPI interface for host access. The device operates in SPI Slave mode. If the
SPIFAIL bit is set in the Interrupt Enable register, this bit is asserted each time an incorrect number of
SCK clocks occurs during SPI chip select assertion, The INTHW output is asserted and the Interrupt
Log is updated.
LBFA, LBFB
Loopback FailBus A and Loopback Fail Bus B Interrupts.
During all transmitted command responses, the device compares words transmitted to the received
and decoded words detected on the bus. If the LBFA or LBFB bit is set in the Interrupt Enable register,
this bit is asserted each time this loopback detects mismatch. The INTMES output is asserted and the
Interrupt Log is updated.
4
TTINT1
Time-Tag Interrupt 1.
If the TTINT1 bit is set in the Interrupt Enable register, this bit is asserted each time the free-running
Time-Tag counter value matches the value stored in the Time-Tag Utility Register. The INTHW output
is asserted and the Interrupt Log is updated.
3
TTINT0
Time-Tag Interrupt 0.
If the TTINT0 bit is set in the Interrupt Enable register, this bit is asserted each time the free-running
Time-Tag counter value rolls over from full count 0xFFFF to 0x0000. The INTHW output is asserted
and the Interrupt Log is updated.
2
RTAPF
RTAddress Parity Fail Interrupt.
This bit is asserted when RT address and parity bits latched in the Operational Status Register do not
exhibit odd parity (odd number of bits having logic 1 state). Because the RTAPF bit is always set in the
Interrupt Enable register, the INTHW output is asserted and the Interrupt Log is updated. When parity
error occurs, the RT will not begin operation, regardless of the state of the Control Register STEX bit.
1
EECKF
Initialization EEPROM Checksum Fail Interrupt.
This bit is asserted if serial EEPROM checksum failure occurs during auto-initialization. Because the
EECKF bit is always set in the Interrupt Enable register, the INTHW output is asserted and the
Interrupt Log is updated.
0
RAMIF
RAM Initialization Fail Interrupt.
This bit is asserted after auto-initialization if an initialized RAM location does not match its 2
corresponding serial EEPROM locations. Because the RAMIF bit is always set in the Interrupt Enable
register, the INTHW output is asserted and the Interrupt Log is updated.
1553 STATUS WORD BITS REGISTER (0x0007)
0
0
0
0
0
MSB 15 14 13 12 11 10 9
8
0
0
0
0
7
6
5
4
TF
C
R
BU ) *
S
SS Y
YS
F
(B
TX
AN
D
C
(M
E)
IN *
ST
SV
C
R
EQ
LR
This 16-bit register is Read-Write and is fully maintained by the host. The register is cleared after MR pin Master Reset or SRST
software reset. All bits are active high. Bits set in this register are reflected in the outgoing MIL-STD-1553 status word.
* STATUS BIT AUTOMATICALLY
CONTROLLED BY DEVICE
0
3
2
1
0
LSB
The”dynamic bus control acceptance” bit is not implemented; this device cannot function as bus controller. The host controls
the Instrumentation, Busy, Terminal Flag, Service Request and Subsystem Flag status word bits by writing to bits 9:0 in this
register. Remote terminal status word responses reflects the assertion of these register bits until negated by the host, unless
the Immediate Clear function (bit 15) is enabled. The position of register bits 4 and 10 correspond to the Broadcast Command
Received (BCR) and Message Error (ME) bits in the terminal status word. Transmit state for the BCR and ME bits in the
terminal’s status word is controlled by the device, based on prior command transactions. This pair of register bits cannot be set
by a host write operation and always read back logic 0, so do not reflect the true status of these status flags.
HOLT INTEGRATED CIRCUITS
17
HI-6120, HI-6121
REGISTERS, Cont.
Bit No.
15
Mnemonic Status Bit or Function
TXANDCLR Transmit (Once) and Clear.
When this bit is set, the register is cleared after any set bits 0-9 are used once in a transmitted status
word. This bit does not affect operation of the Transmit Status Word and Transmit Last Command
mode codes. Example: Transaction of a valid legal command with the INST and TXANDCLR bits
asserted results in status word transmission with the Instrumentation bit set. If the following
command is Transmit Status or Transmit Last Command mode code, the Instrumentation bit remains
set.
14-10
——
Not used, these bits cannot be set.
9
INST
Instrumentation.
When this bit is asserted, the Instrumentation status bit is set.
8
SVCREQ
Service Request.
When this bit is asserted, the Service Request status bit is set.
7-4
——
Not used, these bits cannot be set.
3
BUSY
Busy (global).
When this bit is asserted, the device asserts Busy bit in status response for all valid commands.
Instead of globally enabling Busy status for all commands here, the host can assert Busy status for
selected commands by asserting the Busy bit in descriptor table Control Words for the individual
commands. When response to a command conveys Busy status, the device suppresses
transmission of data words that would normally accompany status transmission. For any message
transacted with Busy status, the WASBUSY flag is asserted in the stored Message Information Word.
2
SSYSF
Subsystem Flag.
This register bit is logically ORed with the SSYSF input pin. If either SSYSF register bit or SSYSF pin
is asserted, the SSYSF Subsystem Flag status bit is set. If the Configuration Register 2 MCOPT1 bit
equals 0, reception of a “transmit vector word” mode command (MC16) causes automatic reset of the
SSYSF status bit in this register; when this occurs, the register bit is reset before status word
transmission begins.
1
——
Not used, this bit cannot be set.
0
TF
Terminal Flag.
When this bit is asserted, the Terminal Flag status bit is set.
TIME-TAG REGISTER (0x0008)
This register is Read Only and is cleared after MR pin Master Reset or SRST software reset. Reads to this register address
return the current value of the free running 16-bit Time Tag counter. Counter resolution is programmed by TTCK2:0 bits in
Configuration Register 1. Options are: 2, 4, 8, 16, 32 and 64us, or externally provided clock.
TIME-TAG COUNT 15:0
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
The device automatically resets the Time-Tag count when a “synchronize” mode command without data (MC1) is received. In
addition, the host can reset the Time-Tag count at any time by asserting the RTTAG bit in Configuration Register 2.
The MCOPT2 and MCOPT3 bits in Configuration Register 2 allow automatic loading of Time-Tag count using the data word
received with a “synchronize with data” mode command, MC17. If both of these bits equal one, the data word received with a
valid “synchronize” mode command (MC17) is unconditionally loaded into the Time-Tag counter. For non-broadcast MC17
commands, the counter load occurs before status word transmission. If both MCOPT2 and MCOPT3 bits equal 0, the external
host assumes responsibility for actions needed to perform “synchronize” duties upon reception of the valid MC17
“synchronize” command, but status transmission automatically occurs.
HOLT INTEGRATED CIRCUITS
18
HI-6120, HI-6121
REGISTERS, Cont.
The binary 01 and 10 combinations of the MCOPT2 and MCOPT3 bits support certain extended subaddressing schemes. If
the MCOPT3-MCOPT2 bits equal 01, the received data word is automatically loaded into the Time-Tag counter if the low
order bit of the received data word (bit 0) equals 0. If the MCOPT3-MCOPT2 bits equal 10, the received data word is
automatically loaded into the Time-Tag counter if the low order bit of the received data word (bit 0) equals 1. For nonbroadcast MC17 commands, the counter load occurs before status word transmission. .
INTERRUPT LOG ADDRESS REGISTER (0x0009)
This 16-bit register is Read-Only and is fully maintained by HI-6120 logic. The register contains 0x0040 after MR pin master
reset but is not affected by SRST software reset. Bits 7:0 contain an address pointer for the 32-word Interrupt Log Buffer
located in shared RAM. The value in Interrupt Log Address register bits 7:0 indicates the storage address where interrupt
information words will be stored for the next occurring interrupt, 0x40 - 0x5E. The value is always even since two words are
stored for each interrupt.
Bits 15:8 contain a count value for the number of interrupts logged (0 - 255) since the Interrupt Log Address Register was last
read. The count increment stops at 255. Bits 15:8 are reset automatically after this register is read by the host.
INTERRUPT
COUNT 7:0
C
C
C
C
C
C
INTERRUPT LOG
ADDRESS 7:0
C
C
0
1
0
A
A
A
A
0
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
To help the host process interrupts, the device maintains information from the 16 most recent interrupts in a 32-word ring buffer
in shared RAM, found at address range 0x0040 to 0x005F. Each interrupt stores two information words: the Interrupt
Identification Word (IIW) identifies the interrupt type(s) that occurred; the Interrupt Address Word (IAW) identifies the interrupt
source. For interrupts that result from message processing, the IAW contains the 16-bit address of the command’s Control
Word in the Descriptor Table. For hardware interrupts, the IAW value is 0x0000.
After MR master reset, the device automatically resets this register to 0x0040, an interrupt count of zero and log address of
0x40. During terminal operation, the host can read bits 15:8 to see the number of interrupts logged in the buffer since the last
read operation upon the register. Information words for the sixteenth interrupt are stored in buffer addresses 0x005E and
0x005F, and the Interrupt Log Address “rolls over” to read 0x40, where interrupt information for the seventeenth interrupt will be
stored. For further information on interrupts, see descriptions for the Interrupt Enable register, the Pending Interrupt register,
and see the later section entitled “Interrupt Management”.
CURRENT MESSAGE INFORMATION WORD ADDRESS REGISTER (0x000A)
This 16-bit register is Read-Only and is fully maintained by the device. This register is cleared after MR pin master reset, but is
not affected by SRST software reset. Also see “Current Control Word Address” register, 0x0004.
CURRENT MSG INFO WORD ADDRESS 15:0
A
A
A
A
A
A
A
A
A
A
MSB 15 14 13 12 11 10 9
A
A
A
A
A
A
8
7
6
5
4
3
2
1
0
LSB
Bit No.
Mnemonic Function
15-0
MIWA15:0 Current Message Information Word Address Register
This register contains the data buffer address for the last command’s Message Information Word, or
MIW, corresponding to the current command stored in the Current Command Register (0x0003).
This register is updated 5us after the ACTIVE output is asserted. Bit 15 is MSB.
MEMORY ADDRESS POINTER REGISTER (HI-6121 ONLY) (0x000F)
This register is Read-Write and is cleared after MR pin master reset, but is not affected by SRST software reset. This register is
maintained by the host. The contained value is a memory address used when fulfilling RAM or register read or write operations
via the HI-6121 Serial Peripheral Interface (SPI). See data sheet section, ”Host Serial Peripheral Interface (SPI)” for further
details. For HI-6120 devices, writes to this address have no effect; the address reads back 0x0000 if a host read cycle occurs.
HOLT INTEGRATED CIRCUITS
19
HI-6120, HI-6121
REGISTERS, Cont.
MEMORY ADDRESS 15:0
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
X
X
C
M
SP D
IF
LB AIL
FA
LB
FB
TT
IN
TT T1
IN
RT T0
AP
EE F
C
R KF
AM
IF
IL
M
IX
ER
R
EQ
IW Z
A
IB
R
INTERRUPT ENABLE REGISTER (0x0010)
This 16-bit register is Read-Write (except bits 2-0 are read only) and is fully maintained by the host. All bits are active high.
After rising edge on the MR Master Reset input, the register is automatically initialized to 0x0007. This register is unaffected by
SRST software reset. For further information on interrupts, see descriptions for the Pending Interrupt and Interrupt Log
Address registers, and refer to the later section entitled “Interrupt Management”.
X
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
1
1
1
2
1
0
LSB
An interrupt type is globally disabled when the corresponding bit in this register is reset. This allows the external host or
subsystem to temporarily disable interrupt servicing for some or all interrupts. While an interrupt enable bit is negated, the
terminal does not generate an interrupt output signal for the corresponding interrupt event. Note: Asserting an interrupt bit in
this register after an event occurs does not generate an interrupt for that event. For some interrupts that result from message
processing, interrupt enable bits in a each command’s descriptor Control Word act in combination with settings in this register
to respond appropriately to interrupt-causing events:
Bit No.
Mnemonic Interrupt Type
15
IXEQZ
Index Equal Zero Interrupt.
When this bit is asserted, interrupts are globally enabled for (a) subaddresses using indexed buffer
mode when the index decrements from 1 to 0, and (b) subaddresses using a circular buffer mode
when the pre-determined number of messages has been transacted. When this bit is asserted,
occurrence of an IXEQZ event (a) or (b) causes INTMES output assertion (if the IXEQZ bit is set in the
command’s descriptor Control Word).
14
IWA
Interrupt When Accessed Interrupt.
When this bit is asserted, interrupts are globally enabled for each message occurrence to
subaddresses in which the Descriptor Control Word allows the IWA interrupt. When this bit is
asserted, occurrence of an IWA event causes INTMES output assertion (if the IWA bit is set in the
command’s descriptor Control Word).
13
IBR
Broadcast Command Received Interrupt.
When this bit is asserted, interrupts are globally enabled for each broadcast message to
subaddresses in which the Descriptor Control Word allows the IBR interrupt. When this bit is
asserted, occurrence of an IBR event causes INTMES output assertion (if the IBR bit is set in the
command’s descriptor Control Word).
12-11
——
Not used.
10
MERR
Message Error Interrupt.
When this bit is high, the INTMES interrupt output is asserted when a message error is detected.
Errors are caused by Manchester encoding problems or protocol errors. Interrupt assertion occurs
whenever the terminal sets the ME “message error” bit in the terminal’s status word. The detected
error type can be found in Message Information Word stored as a result of message processing.
9
——
Not used.
8
ILCMD
Illegal Command Interrupt.
Illegal commands are defined in the Illegalization Table. When enabled, the ILCMD interrupt is
asserted when the Illegalization Table bit corresponding to the received command is logic 1. The
Illegalization Table should only contain nonzero values when “illegal command detection” is being
HOLT INTEGRATED CIRCUITS
20
HI-6120, HI-6121
REGISTERS, Cont.
applied. When illegal commands are received, the terminal responds by transmitting status word with
ME “message error” flag set; no data words are transmitted. If this ILCMD bit is high, all illegal
commands cause INTMES interrupt output assertion. See next section entitled “Pending Interrupt
Register” (below) and the section entitled “Illegalization Table” for further information.
7
SPIFAIL
SPI Fail Interrupt (HI-6121 only).
The HI-6121 uses a SPI interface for host access. The device operates in SPI Slave mode. When
this bit is high, the INTHW output is asserted and the Interrupt Log is updated each time an incorrect
number of SCK clocks occurs during SPI chip select assertion.
LBFA, LBFB
Loopback Fail Bus A and Loopback Fail Bus B Interrupts.
During all transmitted command responses, the device compares words transmitted to the received
and decoded words detected on the bus. When this bit is high, the INTMES output is asserted and the
Interrupt Log is updated each time loopback detects word mismatch.
4
TTINT1
Time-Tag Interrupt 1.
If this bit is logic 1, the INTHW interrupt output is asserted and the TTINT1 bit is set in the Pending
Interrupt register each time the free-running Time-Tag counter value matches the value stored in the
Time-Tag Utility Register.
3
TTINT0
Time-Tag Interrupt 0.
If this bit is logic 1, the INTHW interrupt output is asserted and the TTINT0 bit is set in the Pending
Interrupt register each time the free-running Time-Tag counter value rolls over from 0xFFFF full count
to 0x0000.
2
RTAPF
RTAddress Parity Fail Interrupt.
When this bit is high, the INTHW interrupt is asserted when RT address parity error is detected. This
bit is 1 after MR master reset and cannot be reset by host register write.
1
EECKF
Initialization EEPROM Checksum Fail Interrupt.
When this bit is high, the INTHW interrupt is asserted if serial EEPROM checksum failure occurs
during auto-initialization. This bit is 1 after MR master reset and cannot be reset by host register write.
0
RAMIF
RAM Initialization Fail Interrupt.
When this bit is high, the INTHW interrupt is asserted after auto-initialization if an initialized RAM
location does not match its 2 corresponding serial EEPROM locations. This bit is 1 after MR master
reset and cannot be reset by host register write.
6-5
The Interrupt Enable Register lets the host temporarily or permanently disable interrupt servicing for some or all interrupt
types. When bits are reset in this register, interrupt output signals are globally disabled for the corresponding interrupt types.
Asserting a bit in the Interrupt Enable register after an event occurs does not generate an interrupt for that event. The IXEQZ,
IWA and IBR interrupts result from message processing. The host can enable or disable these three interrupt types for
individual subaddresses and mode code commands by setting or resetting the IXEQZ, IWA and IBR bits in descriptor table
Control Words corresponding to each subaddress or mode command. While the ILCMD and MERR interrupts also result from
message processing, these interrupts (along with all hardware interrupts) are globally enabled or disabled, and are unaffected
by descriptor table settings. Here is a summary of settings and responses to interrupt-causing messages:
Descriptor Control Word Interrupt Enable Register
IXEQZ, IWA & IBR bits
Bit for Interrupt Type
Effect on Corresponding Bit
in Pending Interrupt Register
Is Interrupt Output
Signal Generated?
Reset
Set
Set
Don’t Care
Reset
Set
No Change
No Change
Pending Int. Register bit is set
No
No
Yes
All Interrupts Except
IXEQZ, IWA and IBR
(no Control Word bits)
Reset
Set
Pending Int. Register bit is set
Pending Int. Register bit is set
No
Yes
HOLT INTEGRATED CIRCUITS
21
HI-6120, HI-6121
REGISTERS, Cont.
TIME-TAG UTILITY REGISTER (0x0011)
This 16-bit register is Read-Write and is fully maintained by the host.This register is cleared after MR pin master reset, but is not
affected by SRST software reset. This register has two functions associated with the free-running Time-Tag counter:
TIME-TAG UTILITY 15:0
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
Function 1: When Configuration Register 2 is written causing a 0 to 1 transition of the TTLOAD bit, the value contained in the
Time-Tag Utility register is loaded into the Time-Tag counter.
Function 2: If the TTINT1 bit in Configuration Register 2 and the TTINT1 bit in the Interrupt Enable register are both set, the
Interrupt Pending register TTINT1 bit is set and the INTHW interrupt output is asserted each time the free-running Time-Tag
counter value matches the value stored in the Time-Tag Utility register.
BUS A SELECT REGISTER (0x0012)
This 16-bit register is Read-Write and is fully maintained by the host. This register is cleared after MR pin master reset, but is not
affected by SRST software reset. The Bus A Select register is only used when the MCOPT4 bit in Configuration Register 2
equals 0. This MCOPT4 setting means the device automatically fulfills mode commands MC20 (decimal) “selected transmitter
shutdown” or MC21 “override selected transmitter shutdown”.
BUS A SELECT REGISTER 15:0
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
“Transmitter shutdown” or “shutdown override” can only occur for the inactive bus. If either mode command is received on Bus
B, the inactive bus is Bus A. The device compares the received mode data word to the contents of the Bus A Select register to
determine whether inactive Bus A is selected for “transmitter shutdown” or “transmitter shutdown override”. (Bus shutdown or
shutdown override can only occur for the inactive bus.) If the data word matches the value stored in the Bus A Select register
and MCOPT4 equals 0, the device automatically fulfills MC20 “transmitter shutdown” or MC21 “shutdown override” without
host assistance: If the mode command received was MC20, the Transmit Shutdown A bit in the built-in test (BIT) word is
asserted. If mode command MC21 was received, the Transmit Shutdown A bit in the BIT Word is negated. Refer to
Configuration Register 2 description of MCOPT4 bit for additional details.
BUS B SELECT REGISTER (0x0013)
This 16-bit register is Read-Write and is fully maintained by the host.This register is cleared after MR pin master reset, but is not
affected by SRST software reset. The Bus B Select register is only used when the MCOPT4 bit in Configuration Register 2
equals 0. This MCOPT4 setting means the device automatically fulfills mode commands MC20 (decimal) “selected transmitter
shutdown” or MC21 “override selected transmitter shutdown”.
BUS B SELECT REGISTER 15:0
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
“Transmit shutdown” or “shutdown override” can only occur for the inactive bus. If either mode command is received on Bus A,
the inactive bus is Bus B. The device compares the received mode data word to the contents of the Bus B Select register to
determine whether inactive Bus B is selected for “transmitter shutdown” or “transmitter shutdown override”. If the data word
matches the value stored in the Bus B Select register and MCOPT4 equals 0, the device automatically fulfills MC20 “transmit
shutdown” or MC21 “shutdown override” without host assistance: If the mode command received was MC20, the Transmit
Shutdown B bit in the built-in test (BIT) word is asserted. If mode command MC21 was received, the Transmit Shutdown B bit in
the BIT Word is negated. Refer to Configuration Register 2 description of MCOPT4 bit for additional details.
HOLT INTEGRATED CIRCUITS
22
HI-6120, HI-6121
REGISTERS, Cont.
BL
B
BL FA
B
BM FB
T
RT F
AP
EE F
L
TF F
BI
N
H
UNASSIGNED BITS
ARE USER DEFINED
TX
A
TX SD
B
R SD
XA
R SD
XB
SD
BUILT-IN TEST WORD REGISTER (0x0014)
Bits 4-11 in this 16-bit register are read-write, the remaining bits are read-only. The ten assigned bits are written by the device
when predetermined events occur. The host may overwrite the device-written bits 5 and 4. After MR pin master reset, bits 1312, 5-4 and 0 are reset. Bits 15-14 will be set if the corresponding TXINHA or TXINHB input pins are high. Bits 3-1 will be set if
RT address parity error, or post-MR memory test or auto-initialization failure occurred. This register is cleared by SRST
software reset.
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
If the ALTBITW option bit in Configuration Register 2 is zero when a valid “transmit BIT word” mode command (MC19) is
received, the current value in this register is transmitted as the mode data word in the terminal response. The value is also
copied to the assigned data buffer for MC19, after mode command fulfillment.
Bit No.
Mnemonic Interrupt Type
15
14
TXASD
TXBSD
Transmitter A Shut Down.
Transmitter B Shut Down.
These read-only bits are set when the corresponding bus transmitter was disabled by assertion of the
bus TXINHA or TXINHB input pin, or by fulfillment of a “transmitter shutdown” mode command MC4
or MC20. Refer to the description for the SDSEL bit in Configuration Register 1 and the description for
the MCOPT4 bit in Configuration Register 2 for further information.
13
12
RXASD
RXBSD
Receiver A Shut Down.
Receiver B Shut Down.
These read-only bits are set when the corresponding bus receiver was disabled concurrently with the
bus transmitter by a “transmitter shutdown” mode command MC4 or MC20. Refer to the description
for the SDSEL bit in Configuration Register 1 and the description for the MCOPT4 bit in Configuration
Register 2 for further information.
11-6
——
User assigned bits.
5
BLBFA
BIST Loopback Fail Bus A.
This bit is set if Bus A loopback failure error occurs during built-in self-test.
4
BLBFB
BIST Loopback Fail Bus B.
This bit is set if Bus B loopback failure error occurs during built-in self-test.
3
BMTF
BIST Memory Test Fail.
This bit is set if error occurs during built-in self-test for device RAM memory.
2
RTAPF
RTAddress Parity Failure.
This bit is asserted when Operational Status Register bits 15:10 reflect parity error. After MR master
reset, bits 15:10 in the Operational Status Register reflect input pin states, but will be overwritten if
subsequent auto-initialization is performed (if AUTOEN pin is high) and the initialization EEPROM
contains different data for Operational Status Register bits 15:10.
1
EELF
Auto-Initialization EEPROM Load Fail.
This bit only applies when auto-initialization is enabled (AUTOEN input pin state equals 1). This bit is
set if, after MR master reset, failure occurs when copying serial EEPROM to registers and RAM.
When this occurs, bit 0 or bit 1 will be set in the Operational Status Register (0x0002) to indicate type
of failure.
0
TFBINH
Terminal Flag Bit Inhibited.
This bit is set when the Terminal Flag status bit is disabled while fulfilling an “inhibit terminal flag bit”
mode code command (MC6). This bit is reset if terminal flag status bit disablement is later cancelled
by an “override inhibit terminal flag bit” mode code command (MC7).
HOLT INTEGRATED CIRCUITS
23
HI-6120, HI-6121
REGISTERS, Cont.
ALTERNATE BUILT-IN TEST WORD REGISTER (0x0015)
This 16-bit register is Read-Write and is fully maintained by the external host. This register is cleared after MR pin master reset
but unaffected by SRST software reset.
ALTERNATE BUILT-IN TEST WORD REGISTER 15:0
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
If the ALTBITW option bit in Configuration Register 2 equals one when a valid “transmit BIT word” mode command (MC19) is
received, the current value in this register is transmitted as the mode data word in the terminal response. The value is also
copied to the assigned data buffer for MC19, after mode command fulfillment.
RESERVED REGISTER (0x0016)
Register 0x0016 is used for factory testing. It is cleared after MR pin master reset and cannot be written by the host while the
TEST input pin is low.
MSB 15 14 13 12 11 10 9
8
LB
FR
A
R MA
BF
R FAI
BS L
R EL
BS 2
R EL
BS 1
R EL0
BS
R TR
BP T
R AS
BF S
AI
L
AL
LB OG
S
LB YN
B C
LB US
S EL
LB TAR
PA T
LB SS
FA
IL
TEST CONTROL REGISTER (0x0017)
This register controls RAM built-in self-test, and transceiver loopback testing. Bits 3-4 and 8-9 are Read Only. The remaining
bits in this register are Read-Write but can be written only when the TEST input pin is high. This register is cleared after MR pin
master reset, or SRST software reset. This register supports two types of test: Register bits 15 - 8 are used for RAM built-in self
test (RAM BIST). Register bits 7 -2 are used for transceiver loopback testing (either digital loopback or analog loopback).
0
0
7
6
5
4
3
2
1
0
LSB
Under internal logic control, this device uses one RAM self test (Inc / Dec Test described below) to check internal RAM memory
after MR pin master reset. Test Control Register bits 15 - 8 provide a means for the host to perform RAM self-test at other times.
Register bits 13:11 select RAM test type. Then bit 10 starts the selected RAM test, and bits 9-8 report a pass/fail result after test
completion. All tests are destructive, overwriting data present before test commencement.
Bit No.
Mnemonic Interrupt Type
15
FRAMA
Full RAM Access Enable.
During normal operation, some bits in certain RAM locations (e.g., Descriptor Table Control Words)
cannot be written by the host. When the FRAMA bit is asserted, host writes to RAM are unrestricted
to permit full testing. During normal completion, this bit must be reset to logic 0.
14
RBFFAIL
RAM BIST Force Failure.
When this bit is asserted, RAM test failure is forced to verify that RAM BIST logic is functional.
13-11
RBSEL2-0 RAM BIST Select Bits 2-0.
This 3-bit field selects the RAM BIST test mode applied when the RBSTART bit is set:
RBSEL2:0
000
001
010
011
100
101
110
111
SELECTED RAM TEST
TEST TIME
Idle
Pattern Test, described below . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.42ms
Write 0x0000 to RAM address range 0x0000 - 0x7FFF . . . . . . . . . . . . 170us
Read and verify 0x0000 over RAM address range 0x0000 - 0x7FFF . . . 500us
Write 0xFFFF to RAM address range 0x0000 - 0x7FFF . . . . . . . . . . . . 170us
Read and verify 0xFFFF over RAM address range 0x0000 - 0x7FFF . . 500us
Inc / Dec Test performs only steps 5 - 8 of the Pattern Test below . . . . . . 1.32ms
Idle
HOLT INTEGRATED CIRCUITS
24
HI-6120, HI-6121
REGISTERS, Cont.
Description of the RAM BIST “PATTERN” test selected when register bits RBSEL2:0 = 001:
Note: Test read /write accesses to addresses 0x0000 - 0x001F involve 32 RAM locations not
accessible to the host. These accesses do not affect the host-accessible registers, overlaying the
same address range.
1. Write 0x0000 to all RAM locations, 0x0000 through 0x7FFF
2. Repeat the following sequence for each RAM location from 0x00000 through 0x7FFF:
a. Read and verify 0x0000
b. Write then read and verify 0x5555
c. Write then read and verify 0xAAAA
d. Write then read and verify 0x3333
e. Write then read and verify 0xCCCC
f. Write then read and verify 0x0F0F
g. Write then read and verify 0xF0F0
h. Write then read and verify 0x00FF
I. Write then read and verify 0xFF00
j. Write 0x0000 then increment RAM address and go to step (a)
3. Write 0xFFFF to all RAM locations, 0x0000 through 0x7FFF
4. Repeat the following sequence for each RAM location from 0x00000 through 0x7FFF:
a. Read and verify 0xFFFF
b. Write then read and verify 0x5555
c. Write then read and verify 0xAAAA
d. Write then read and verify 0x3333
e. Write then read and verify 0xCCCC
f. Write then read and verify 0x0F0F
g. Write then read and verify 0xF0F0
h. Write then read and verify 0x00FF
I. Write then read and verify 0xFF00
j. Write 0xFFFFthen increment RAM address and go to step (a)
5.
6.
7.
6.
Write each cell’s memory address into each RAM location from 0x00020 to 0x7FFF
Read each memory location from 0x00000 to 0x7FFF and verify it contains its address
Write 1s complement of each cell’s memory address, into each RAM location (same addr range)
Read each memory location and verify it contains the 1s complement of its address
10
RBSTRT
RAM BIST Start.
Writing logic 1 to this bit initiates the RAM BIST test selected by register bits RBSEL2:0. The RBSTRT
bit can only be set if the TEST input pin is high and if register bit 15 is already asserted. This bit is
automatically cleared upon test completion. Register bits 9-8 indicate pass / fail test result.
9
RBPASS
RAM BIST Pass.
Device logic asserts this bit when the selected RAM test completes without error. This bit is
automatically cleared when RBSTRT bit 10 is set.
8
RBFAIL
RAM BIST Fail.
Device logic asserts this bit when failure occurs while performing the selected RAM test. This bit is
automatically cleared when RBSTRT bit 10 is set. When BIST failure occurs, a clue to the failing RAM
address can be read at register address 0x001E. For speed, the RAM BIST concurrently tests 4
quadrants of the RAM address range, in parallel. If test failure occurs, register address 0x001E
contains the RAM address being tested in the lowest RAM quadrant. Actual failure will occur in any of
these four locations: at RAM address “ADDR” stored in register 0x001E, or ADDR+0x2000, or
ADDR+0x4000 or ADDR+0x6000.
7-6
——
Not Used.
5
LBALOG
Loopback Test Analog.
The device supports either digital or analog loopback testing for either bus transceiver. When the
LBALOG bit is low, digital loopback is selected and no data is transmitted onto the selected external
MIL-STD-1553 bus. When the LBALOG bit is high, analog loopback is selected and a test word is
HOLT INTEGRATED CIRCUITS
25
HI-6120, HI-6121
REGISTERS, Cont.
transmitted onto and received from the selected external MIL-STD-1553 bus.
4
LBSYNC
Loopback Test Word Sync Select.
When the LBSYNC bit is high, the loopback test word is transmitted with command sync. When the
LBSYNC bit is low, the loopback test word is transmitted with data sync.
3
LBBUSEL Loopback Test Bus Select.
When this bit is low, loopback testing occurs on Bus A. When this bit is high, loopback testing occurs
on Bus B.
2
LBSTART Loopback Test Start.
Writing logic 1 to this bit initiates the loopback test selected by register bits 2, 6 and 7. The LBSTRT bit
can only be set if the external TEST pin is already asserted, and is automatically cleared upon test
completion. Register bits 3-4 indicate pass / fail test result.
1
LBPASS
Loopback Test Pass.
Device logic asserts this bit when the selected RAM test completes without error. This bit is
automatically cleared when LBSTRT bit 5 is set.
0
LBFAIL
Loopback Test Fail.
Device logic asserts this bit when failure occurs while performing the selected loopback test. Failure
is comprised of Manchester encoding error, parity error, wrong sync type or data mismatch. This bit is
automatically cleared when LBSTRT bit 5 is set.
LOOPBACK TEST TRANSMIT DATA REGISTER (0x0018)
This 16-bit register is Read-Write and is fully maintained by the host. This register is cleared after MR pin master reset, but is not
affected by SRST software reset. The value contained in this register is used when performing digital loopback testing. See
Test Control Register, 0x0016, for additional information.
LOOPBACK TEST TRANSMIT DATA REGISTER 15:0
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
LOOPBACK TEST RECEIVE DATA REGISTER (0x0019)
This 16-bit register is Read-Only. This register is cleared after MR pin master reset, but is not affected by SRST software reset.
Data is written to this register when performing digital loopback testing. See Test Control Register, 0x0016, for additional
information.
LOOPBACK TEST RECEIVE DATA REGISTER 15:0
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
COMMAND RESPONSES
A brief review of MIL-STD-1553 commands and responses
is appropriate here to establish terminology used in the
rest of this data sheet. Shown in Figure 2, each command
word is comprised of a sync field, three 5-bit data fields, a
single bit denoting Transmit / Receive direction and ends
with a parity bit. The hardware decoder uses the sync field
to determine word type (command vs. data). Word validity
is based on proper sync encoding, Manchester II
encoding, correct bit count and correct odd parity for the 16
data bits. Once a valid word with command sync is found,
the sync and parity are stripped before the command’s 16
data bits are stored for further processing.
HOLT INTEGRATED CIRCUITS
26
HI-6120, HI-6121
COMMAND RESPONSES, Cont.
Command
Sync
Word Count
Field *
T/R
Bit
* Word Count field is replaced by Mode Code
field when the SA field equals 0x00 or 0x1F
Terminal
Address
Field
Subaddress
(SA) Field
Parity
Bit
FIGURE 2. MIL-STD-1553 Command Word Structure
A “valid command” can be specifically addressed to the
individual HI-6120 terminal (the command word’s
embedded Terminal Address field matches the terminal
address latched in the Operational Status register) or can
be a “broadcast command” addressed to all terminals.
Broadcast commands are always addressed to RT
address 31 (0x1F). In systems where broadcast
commands are disallowed, RT31 is not used as a
conventional terminal address. When set, the BCSTINV bit
in Configuration Register 1 renders RT31 commands as
“invalid”: broadcast commands are indistinguishable from
commands addressed to other terminals. Invalid
commands are simply disregarded.
When the command word’s 5-bit SA (subaddress) field is in
the range of 1 to 30 (0x01 to 0x1E) the command is
considered a “subaddress command”. The terminal will
either receive or transmit data words, and “direction” is
specified by the command’s T/R bit. The number of data
words transacted is specified in the 5-bit word count field,
ranging from 1 to 32 words. Thirty-two data words is
represented when the word count field equals 0x00.
When the command’s 5-bit subaddress field equals 0 or 31
(0x1F) a “mode code” command is indicated; the low order
five bits no longer specify a word count, instead they
convey a mode code value. This data sheet refers to mode
code commands by the mode code number. For example,
a mode command with 5-bit mode code field of 0x10 is
called MC16, and the full range of mode code values is
MC0 through MC31 (decimal).
Mode codes MC16 through MC31 (0x10 through 0x1F)
have a single associated data word. When the command
T/R bit equals 0, the data word is contiguous with the
command word and received by the RT. When the
command’s T/R bit equals 1, the data word is transmitted
by the RT, following the terminal’s transmitted status word.
Mode codes MC0 through MC15 (0x0F) do not have
associated data words. For these 16 commands, the
command T/R bit does not specify “direction”. These
commands must be transmitted with T/R bit equal to 1. If
the T/R bit is 0, the mode command is “undefined”.
Twenty-two mode commands are “undefined mode
commands ” in MIL-STD-1553B:
Mode Codes 0 through 15 with T/R bit = 0
Mode Codes16, 18 and19 with T/R bit = 0
Mode Codes 17, 20 and 21 with T/R bit = 1
The UMCINV bit in Configuration Register 1 determines
how these undefined mode commands are handled by the
HI-6120. If the UMCINV configuration bit equals 1, the
undefined mode commands are treated as invalid. They
are not recognized by the device. There is no terminal
response and status is not updated. If the UMCINV
configuration bit equals 0, the 22 undefined mode
commands are considered valid; this is the default
condition following reset. For this case, terminal response
depends on whether or not the application uses “illegal
command detection:”
If illegal command detection is not used, all
Illegalization Table entries should be logic 0, including the
22 entries for these undefined commands. (The
Illegalization Table is fully described later in this data sheet.
After MR reset, all entries equal logic 0.) The terminal
responds “in form”, transmitting clear status (and a single
mode data word if the command is MC17, MC20 or MC21
with T/R bit = 1). Terminal status is updated.
If illegal command detection applies, the Illegalization
Table entries for these 22 undefined commands should be
initialized to logic 1. In this case, the terminal will respond
with status word only, with Message Error bit set. No mode
data word is transmitted. Terminal status is updated.
Twenty-seven mode codes are considered “reserved” in
MIL-STD-1553B:
Mode Codes 9 through 15 with T/R bit = 1
Mode Codes 22 through 31 with T/R bit = 1
Mode Codes 22 through 31 with T/R bit = 0
Treatment of these reserved mode commands depends on
their respective Illegalization Table entries. As described
above for undefined mode commands, response depends
on whether or not illegal command detection applies.
Any mode commands not implemented in the HI-6120
terminal should be treated the same as reserved mode
HOLT INTEGRATED CIRCUITS
27
HI-6120, HI-6121
COMMAND RESPONSES, Cont.
commands. For example, command MC0 (with T/R = 1) is
probably unimplemented because the HI-6120 does not
have provisions for accepting “dynamic bus control”.
The important point is that “illegal command detection”
should be universally applied (or not applied) when setting
up a HI-6120 Remote Terminal application. Here are the
two options:
Not using Illegal command detection. The HI-6120
Illegalization Table is left in its default state (all locations
equal to MR post-reset 0x0000). The terminal responds “in
form” to all valid commands, whether legal or illegal.
Using illegal command detection. The HI-6120
Illegalization Table is initialized by the host to implement
“illegal command detection”. The host sets bits for all illegal
commands. This generally includes the reserved and
unimplemented mode commands, unimplemented
subaddresses (or specific word counts, T/R bit states,
and/or broadcast vs. non-broadcast status within
subaddresses). Treatment for the undefined mode
commands depends on UMCINV bit.
The host defines terminal response for all individual
commands by initializing the Descriptor Table, fully
described later. At this point, a few comments about the
Descriptor Table are appropriate.
The command SA (subaddress) field has a range of 0 to 31
(0x1F). When SA is in the range 1 to 30 (0x1E), the
command is a transmit or receive “subaddress command”.
The number of data words transmitted or received is
expressed in the low order 5 bits. When SA equals 0 or 31
(0x1F) the command is a mode command and the mode
code value is expressed in the low order 5 bits.
For each subaddress, separate table “descriptor blocks”
for transmit and receive commands permit different data
buffering to be applied. The host initializes the table so
each transmit-subaddress and each receive-subaddress
uses one of four methods for storing message data. During
table initialization, memory is allocated in shared RAM for
storing message data according to the application
requirements. Each transmit-subaddress and receivesubaddress has one or more data pointers (depending on
buffer method) addressing its reserved data buffer(s).
Each mode command also has its own table “descriptor
block”. Mode commands have either one data word or no
associated data words. Descriptor words used as data
pointers by “subaddress commands” are instead used for
direct storage of transacted mode data words. Mode
commands that transmit or receive mode data words have
a dedicated storage address range in shared RAM,
eliminating the need for descriptor table data pointers.
Each mode command with mode data word has its own
fixed address for data storage. This includes reserved
mode codes with data word. Thus the HI-6120 can
respond consistently for all mode commands; transmitted
data values for “in form” responses (when “illegal
command detection” is not used) can be predetermined,
even for the reserved mode commands.
RT to RT Commands. The MIL-STD-1553 standard
allows for data word transmission from a specified
transmitting terminal to a different receiving terminal.
When broadcast commands are allowed, data
transmission can be addressed to the broadcast terminal
address, RT31. If broadcast is allowed, the host should
initialize the BCSTINV (broadcast invalid) bit in
Configuration Register 1 to logic 0.
All RT to RT commands are characterized by a pair of
contiguous command words: Command Word 1 is a
receive command addressed to the intended receiving
terminal, then Command Word 2 is a transmit command
addressed to a single transmitting terminal. Command
Word 2 cannot be broadcast address RT31. The HI-6120
automatically detects and handles RT to RT commands,
except when either command word contains a subaddress
field equal to 0x0 or 0x1F. Either subaddress value
indicates a mode code command; the device treats RT to
RT commands with mode code as invalid. If either RT-RT
command word is addressed to the HI-6120 terminal but
contains subaddress 0x0 or 0x1F, the command is not
recognized; there is no RT command response, and no
status updating for the benefit of following “transmit status”
or “transmit last command” mode commands.
When either RT-RT command word (with subaddress field
not equal to 0x0 or 0x1F) is addressed to the HI-6120
terminal, but the other command word contains
subaddress 0x0 or 0x1F, the RT-RT command is not
recognized as valid. There is no RT command response,
and no status updating for the benefit of following “transmit
status” or “transmit last command” mode commands.
An RT-RT command pair where Command Word 1 is
addressed to the HI-6120 terminal and Command Word 2
is addressed to a different terminal is considered an “RTRT receive” command. When the message is transacted,
the device sets the RTRT bit in the Receive Subaddress
Message Information Word in the subaddress data buffer.
An RT-RT command pair where Command Word 2 is
solely addressed to the HI-6120 terminal (not RT31) is
considered an “RT-RT transmit” command. The Message
Information Word does not distinguish the RT to RT
transmit message from an ordinary RT to BC transmit
command.
HOLT INTEGRATED CIRCUITS
28
HI-6120, HI-6121
COMMAND ILLEGALIZATION TABLE
The following pages describe various structures residing in
the RAM shared between the host and HI-6120 or HI-6121
command processing logic. The host initializes these
structures to control the terminal’s response to received
commands. The first structure described is the command
Illegalization Table used for “illegal command detection”.
Illegal command detection is an optional process. When
illegal command detection is not used, the terminal
“responds in form” to all valid commands: it sends Clear
Status and transacts the number of data words defined in
the received command. When illegal command detection
is not used, the bus controller cannot tell whether the
command is legal or illegal, from the terminal’s transmitted
response.
If illegal command detection is used, the terminal responds
differently when an illegal command is detected. The
terminal responds to illegal commands with “message
error” status, transmitting only status word. Data word
transmission is suppressed if the command type inherently
includes transmitted data words. The terminal responds to
each legal command with clear status and transacts the
number of data words defined in the type of command
received.
For consistency, apply illegal command detection to all
illegal and unimplemented commands, and to all reserved
or undefined mode code commands, or “respond in form”
to all of these commands (illegal command detection
disabled) by leaving the Illegalization Table in the allcleared default state after MR master reset
The device uses a 256-word “Illegalization Table” in shared
RAM to distinguish between legal and illegal commands.
After the (MR) master reset input is negated, HI-6120
performs internal self test including a shared RAM test
which leaves all memory locations fully reset. Once self
test is complete, the HI-6120 READY output goes high to
indicate HI-6120 readiness for host initialization. At this
point, all entries in the Illegalization Table read logic 0, so
by default, illegal command detection is not applied.
To apply illegal command detection, the host (or autoinitialization) writes the Illegalization Table to set bits for all
illegal command combinations. This typically includes any
unimplemented subaddresses and/or word counts,
undefined mode commands, reserved mode commands
and any mode commands not implemented in the terminal
design. Host initialization of the table can be replaced by
auto-initialization.
Once STEX is set in Configuration Register 1, terminal
execution begins. Each time a valid command is received,
a 1-bit entry (indexed using command word data bits) is
fetched from the Illegalization Table:
If fetched Illegalization Table bit equals logic 0, the
command is “legal”; the terminal responds “in form”,
transmitting clear status and transacting the number of
data words defined for the message type. Terminal status
is updated.
If fetched Illegalization Table bit equals logic 1, the
command is “illegal”; the terminal responds with status
word only, with Message Error bit set. No data words are
transmitted. Terminal status is updated.
When illegal command detection is not applied, all table
entries should read logic 0; the terminal responds “in form”
to all valid commands.
The illegalization scheme allows any subset of command
T/R bit, broadcast vs. non-broadcast status, subaddress
and word count (or mode code number), for a total of 4,096
legal/illegal command combinations. Commands may be
illegalized down to the word count level. For example, 10word receive commands to a given subaddress may be
legal, while 9-word receive commands to the same
subaddress are illegal.
Broadcast receive commands are illegalized separately
from non-broadcast receive commands. Transmit and
receive commands for the same subaddress are
illegalized separately. For mode commands, any
combination of mode code number, T/R bit and
broadcast/non-broadcast status can be legal or illegal.
The Illegalization Table is located in shared RAM within the
fixed address range of 0x0100 to 0x01FF. See Figure 4.
The table is comprised of 256 16-bit words. To cover the
full range of 1 to 32 data words, each subaddress uses a
pair of illegalization registers. The lower register (even
memory address) covers word counts 0 to 15, using one bit
per word count. As in command encoding, “0” denotes 32
data words. Bit 0 corresponds to 32 data words, bit 1
corresponds to 1 data word and bit 15 corresponds to 15
data words. The upper register (odd memory address)
similarly covers word counts 16 to 31, using one bit per
word count. Bit 0 corresponds to 16 data words, while bit
15 corresponds to 31 data words.
When a command’s subaddress field equals 0 or 31
(0x1F), the command is a mode command. Table entries
for mode commands use bits to represent mode code
numbers, not word counts. The lower register (even
memory address) covers mode codes 0 to 15, using one bit
per mode code. Bit 0 corresponds to mode code 0, bit 15
corresponds to mode code 15. The upper register (odd
memory address) similarly covers mode codes 16 to 31,
using one bit per mode code. Bit 0 corresponds to mode
code 16, bit 15 corresponds to mode code 31. There is no
functional difference between SA0 mode commands and
HOLT INTEGRATED CIRCUITS
29
HI-6120, HI-6121
COMMAND ILLEGALIZATION TABLE, Cont.
SA31 mode commands. Since either subaddress
indicates a mode command, the subaddress 0 table words
should match the subaddress 31 table words in each
quadrant.
Table entries from 0x0142 to 0x017D do not have to be
programmed. These correspond to broadcast transmit
subaddress commands (undefined by MIL-STD-1553B)
and are always invalid. There is no terminal response.
Addressing for the Illegalization Table is derived from the
command word T/R bit, subaddress field, MSB of the Word
Count (Mode Code) field and the command’s broadcast
vs. non-broadcast status as shown below in Figure 3:
Bit Fields Comprise Each Received Command Word
Command
Sync
Terminal
Address
TA4:0
Word Count
T/R Subaddress (Mode Code)
SA4:0
WC4:0
Bit
P
“0” if
TA4:0 = 11111
else “1”
T/R
SA4
SA3
SA2
SA1
SA0
WC4
0 0 0 0 0 0 0 1
Table
Address
FIGURE 3. Deriving the Illegalization Table Address
From the Received Command Word
block. The word stored at 0x01C3 controls subaddress 1
transmit commands having word counts 16 to 31. The
word stored at 0x01C2 controls subaddress 1 transmit
commands having word counts 1 to 15 or 32. (Reminder:
In MIL-STD-1553B, zero corresponds to 32 words.)
Word at 0x01C3 (subaddress 1: 31 to 16 words)
Bit
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Words 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Word at 0x01C2 (subaddress 1: 15 to 1 & 32 words)
Bit
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Words 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 32
If the word stored at 0x01C3 = 0xFFFF and the word stored
at 0x01C2 = FF0F, then commands with 4, 5, 6, or 7 data
words are the only legal transmit commands for
subaddress 1 and all other word counts are illegal. Receive
commands and broadcast receive commands for
Subaddresses1 through 30 are encoded similarly.
For “mode code commands” (characterized by
command word subaddress field equal to 00000 or 11111
binary) individual table bits correspond to individual mode
code values. Here “transmit” and “receive” simply indicate
the state of the command word T/R bit. (For mode codes
0-15, the T/R bit does not indicate data direction since
data is not transacted when fulfilling these commands.)
Figure 5 summarizes the 16 Illegalization Table locations
for mode commands. These locations are scattered
throughout the overall Illegalization Table shown in Figure
4. Remember: the host must initialize all table locations
corresponding to both subaddress 0 and subaddress 31
(11111 binary).
Figure 5 shows individual bit locations in the Illegalization
Table for broadcast and non-broadcast variants of all mode
commands defined by MIL-STD-1553B. Locations are
also identifed for reserved mode codes and undefined
mode code commands.
Consider an example in which all reserved and all
undefined mode commands are illegal. If all defined
transmit mode commands are legal except MC0 (”dynamic
bus control”) the eight table entries for transmit mode
commands would be:
The following examples illustrate how the Illegalization
Table is initialized to distinguish between legal and illegal
commands when “illegal command detection” is being
used. Remember: If the terminal does not use illegal
command detection, the table is left in its post-MR reset
state, with all table locations reset to 0x0000. In this case,
all command responses are “in form”.
0x01FF
0x01FE
0x017F
0x017E
For “subaddress commands” (ordinary receive
commands or transmit commands) individual table bits
correspond to word counts specified in the received
command word. If a bit is 0, the corresponding word count
is legal. If a bit is 1, the corresponding word count is illegal.
For example, transmit commands to subaddress 1 are
controlled by the words at 0x01C2 and 0x01C3. In Figure
4, these words are located in the “RT Address Transmit”
and
and
and
and
0x01C1
0x01C0
0x0141
0x0140
=
=
=
=
1111
1111
1111
1111
1111
1110
1111
1110
1111
0000
1111
0000
0010
0001
1111
0101
=
=
=
=
0xFFF2
0xFE01
0xFFFF
0xFE05
The receive mode command words are encoded similarly.
Continuing the same example where all reserved and all
undefined mode commands are illegal: If all defined
receive mode commands are legal, the eight table entries
for receive mode commands would be:
0x01BF
0x01BE
0x013F
0x013E
and
and
and
and
0x0181
0x0180
0x0101
0x0100
HOLT INTEGRATED CIRCUITS
30
=
=
=
=
1111
1111
1111
1111
1111
1111
1111
1111
1100
1111
1100
1111
1101
1111
1101
1111
=
=
=
=
0xFFCD
0xFFFF
0xFFCD
0xFFFF
HI-6120, HI-6121
COMMAND ILLEGALIZATION TABLE, Cont.
0x01FF
Tx Subaddress 31 Block (mode codes)
RT Address Tx Mode Codes 31 - 16
0x01FF
Tx Subaddress 30 Block
RT Address Tx Mode Codes 15 - 0
0x01FE
RT Addr Tx SA30 Word Counts 31 - 16
0x01FD
RT Address Transmit Quadrant
32 subaddress blocks
of 2 words each.
RT Addr Tx SA30 Word Counts 15 - 0 *
0x01FC
Tx Subaddress 1 Block
RT Address Tx Mode Codes 31 - 16
0x01C1
0x01C0
Tx Subaddress 0 Block (mode codes)
RT Address Tx Mode Codes 15 - 0
0x01C0
0x01BF
Rx Subaddress 31 Block (mode codes)
RT Address Rx Mode Codes 31 - 16
0x01BF
Rx Subaddress 30 Block
RT Address Rx Mode Codes 15 - 0
0x01BE
* Word Count = 0
denotes 32 words
RT Addr Rx SA30 Word Counts 31 - 16
0x01BD
RT Address Receive Quadrant
32 subaddress blocks
of 2 words each.
RT Addr Rx SA30 Word Counts 15 - 0 *
0x01BC
Rx Subaddress 1 Block
RT Address Rx Mode Codes 31 - 16
0x0181
Rx Subaddress 0 Block (mode codes)
RT Address Rx Mode Codes 15 - 0
0x0180
Tx Subaddress 31 Block (mode codes)
Broadcast Tx Mode Codes 31 - 16
0x017F
Tx Subaddress 30 Block
Broadcast Tx Mode Codes 15 - 0
0x017E
Broadcast Transmit Quadrant
32 subaddress blocks
of 2 words each.
SA1 to SA30 are illegal
broadcast transmit!
Broadcast Tx SA30 Word Counts 31 - 16
0x017D
Broadcast Tx SA30 Word Counts 15 - 0 *
0x017C
Tx Subaddress 1 Block
Broadcast Tx Mode Codes 31 - 16
0x0141
0x0140
Tx Subaddress 0 Block (mode codes)
Broadcast Tx Mode Codes 15 - 0
0x0140
0x013F
Rx Subaddress 31 Block (mode codes)
Broadcast Rx Mode Codes 31 - 16
0x013F
Rx Subaddress 30 Block
Broadcast Rx Mode Codes 15 - 0
0x013E
0x0180
0x017F
0x0100
* Word Count = 0
denotes 32 words
* Word Count = 0
denotes 32 words
Broadcast Rx SA30 Word Counts 31 - 16
0x013D
Broadcast Receive Quadrant
32 subaddress blocks
of 2 words each.
Broadcast Rx SA30 Word Counts 15 - 0 *
0x013C
Rx Subaddress 1 Block
Broadcast Rx Mode Codes 31 - 16
0x0101
Rx Subaddress 0 Block (mode codes)
Broadcast Rx Mode Codes 15 - 0
0x0100
Illegalization Table Comprised of
32 2-Word Blocks per Quadrant
Example Subaddress Blocks
from Each Table Quadrant
* Word Count = 0
denotes 32 words
FIGURE 4. Fixed Address Mapping for Illegalization Table
HOLT INTEGRATED CIRCUITS
31
HI-6120, HI-6121
COMMAND ILLEGALIZATION TABLE, Cont.
0x01FF
and
0x01C1
Tx MC31 - MC16
0x01FE
and
0x01C0
Tx MC15 - MC0
0x01BF
and
0x0181
Rx MC31 - MC16
0x01BE
and
0x0180
Rx MC15 - MC0
0x017F
and
0x0141
Br.Tx MC31 - MC16
0x017E
and
0x0140
Br.Tx MC15 - MC0
0x013F
and
0x0101
Br.Rx MC31 - MC16
0x013E
and
0x0100
Br.Rx MC15 - MC0
RAM
Address
Transmit
Mode Commands
With Data
Transmit
Mode Commands
Without Data
Receive
Mode Commands
With Data
Receive
Mode Commands
Without Data
Broadcast Transmit
Mode Commands
With Data
Broadcast Transmit
Mode Commands
Without Data
Broadcast Receive
Mode Commands
With Data
Broadcast Receive
Mode Commands
Without Data
Bit No.
15 14 13 12 11 10 9
8
MC #
Status
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R R R R R R R R R R U U D D U D
MC #
Status
15 14 13 12 11 10 9
R R R R R R R
MC #
Status
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R R R R R R R R R R D D U U D U
MC #
Status
15 14 13 12 11 10 9
U U U U U U U
MC #
Status
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R R R R R R R R R R U U NB NB U NB
MC #
Status
15 14 13 12 11 10 9
R R R R R R R
MC #
Status
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R R R R R R R R R R D D U U D U
MC #
Status
15 14 13 12 11 10 9
U U U U U U U
8
D
8
U
8
D
8
U
LEGEND
D = Defined Mode Command
U = Undefined Mode Command
7
7
D
7
U
7
D
7
U
6
6
D
6
U
6
D
6
U
5
5
D
5
U
5
D
5
U
4
4
D
4
U
4
D
4
U
3
3
D
3
U
2
2
D
2
U
1
1
D
1
U
0
0
D
0
U
3 2 1 0
D NB D NB
3
U
2
U
1
U
0
U
R = Reserved Mode Code
NB = Defined Code, But
Broadcast Not Allowed
FIGURE 5. Summary of Illegalization Table Addresses for Mode Code Commands
TEMPORARY RECEIVE DATA BUFFER
The 32-word temporary receive data buffer resides in
shared RAM in address space 0x0020 to 0x003F. The
device optionally uses this buffer for temporary storage of
receive data words until successful message completion.
To enable the buffer, the host asserts the TRXDC bit in
Configuration Register 2.
When enabled, the terminal stores received data words in
the 32-word buffer during message processing. Upon
error-free message completion, all buffered words are
written in a burst to the data buffer memory assigned to the
specific subaddress in the Descriptor Table.
20us intervals, the terminal writes received data words to
assigned subaddress data buffer memory as each word is
received. If message error occurs during data reception,
data integrity is lost; valid data from the prior receive
message may be partially overwritten by data from a
message ending in error. MIL-STD-1553 states that all
received data from messages ending in error should be
disregarded.
In a typical application, the temporary buffer is not directly
accessed by the host, although there is no restriction
preventing host data access. The host should never write
data into the temporary buffer space.
When the TRXDB bit in Configuration Register 2 is
negated, the temporary receive data buffer is disabled. At
HOLT INTEGRATED CIRCUITS
32
HI-6120, HI-6121
INTERRUPT LOG BUFFER
Two interrupt output pins notify the host upon occurrence
of pre-determined interrupt-causing events. The interrupt
types are listed below. Each interrupt type only occurs
when the corresponding interrupt type bit is asserted in the
Interrupt Enable Register. To manage host interrupts, the
device architecture uses an Interrupt Log buffer, three
control registers, two interrupt output pins and two interrupt
acknowledge input pins. The data sheet section entitled
“Interrupt Management” provides additional details.
Shown in Figure 8, the Interrupt Log Buffer is a 32-word
ring buffer located in shared RAM, at address range
0x0040 to 0x005F. To help the host process interrupts, the
device interrupt manager maintains information from the
16 most recent interrupts in this buffer. The buffer contains
two information words for each occurring interrupt: the
Interrupt Identification Word and Interrupt Address Word.
The Interrupt Identification Word (IIW) identifies the
occurring interrupt type using a word format identical to the
Pending Interrupt Register. Upon update, all bits except
the occurring interrupt type bit(s) are reset:
IIW - Interrupt Information Word
IAW - Interrupt
Bit
Interrupt
Origin
Address Word
15
IXEQZ
Message
14
IWA
Message
13
IBRD
Message
IAW contains the
12
——
——
Command Word
11
——
——
Descriptor Table
10
MERR
Message
Address
9
——
——
8
ILCMD
Message
————————————————————
7
SPIFAIL
Hardware
6
LBFA
Hardware
5
LBFB
Hardware
4
TTINT1
Hardware
IAW contains
3
TTINT0
Hardware
0x0000
2
RTAPF
Hardware
1
EECKF
Hardware
0
RAMIF
Hardware
More than one bit may be asserted in an Interrupt
Identification Word. For example, IBR (interrupt broadcast
received) and MERR (interrupt message error) can occur
for the same message. One assertion of the INTMES
output pin alerts the host when concurrent message
interrupts occur.
The Interrupt Address Word (IAW) identifies the originating
command for message-based interrupts. When interrupts
originate from message processing, the Interrupt Address
Word (IAW) identifies the interrupt source using the 16-bit
address of the command’s Control Word in the Descriptor
Table. Hardware interrupts are not linked with command
processing. These interrupts write an Interrupt Address
Word value of 0x0000.
After MR reset or SRST software reset, the device
automatically initializes bits 7:0 in the Interrupt Log
Address register to the buffer’s base address, 0x0040. The
bit 7:0 value read will always be even, ranging from 0x0040
to 0x005E. Once terminal operation begins, the current
value of the Interrupt Log Address indicates where the
Interrupt Information Word (IIW) for the next occurring
interrupt will be stored.
On the first interrupt occurring after reset, the device writes
the IIW and IAW to offset locations 00000 and 00001
respectively. The device increments the ring buffer pointer
after each word is stored, storing interrupt information
sequentially in the ring buffer. Information words for the
sixteenth interrupt are stored in offset locations 0x1E and
0x1F (buffer addresses 0x005E and 0x005F) and the
Interrupt Log Address “rolls over” to again point to offset
location 0 (buffer address 0x0040) where the Interrupt
Information Word for the seventeenth interrupt will be
stored.
Bits 15:8 in the Interrupt Log Address register maintain a
count of interrupt events since the register was last read.
The interrupt count stops at 255 decimal. Counts greater
than 16 indicate buffer overrun, but the extended count
capacity is provided as a diagnostic aid.
HOLT INTEGRATED CIRCUITS
33
HI-6120, HI-6121
INTERRUPT LOG BUFFER, Cont.
0x005F
INTERRUPT 16
Interrupt Address Word
0x005E
INTERRUPT 16
Interrupt Information Word
0x005D
INTERRUPT 15
Interrupt Address Word
0x005C
INTERRUPT 15
Interrupt Information Word
0x005B
INTERRUPT 14
Interrupt Address Word
0x005A
INTERRUPT 14
Interrupt Information Word
0x0059
INTERRUPT 13
Interrupt Address Word
0x0058
INTERRUPT 13
Interrupt Information Word
0x0057
INTERRUPT 12
Interrupt Address Word
0x0056
INTERRUPT 12
Interrupt Information Word
0x0055
INTERRUPT 11
Interrupt Address Word
0x0054
INTERRUPT 11
Interrupt Information Word
0x0053
INTERRUPT 10
Interrupt Address Word
0x0052
INTERRUPT 10
Interrupt Information Word
0x0051
INTERRUPT 9
Interrupt Address Word
0x0050
INTERRUPT 9
Interrupt Information Word
0x004F
INTERRUPT 8
Interrupt Address Word
0x004E
INTERRUPT 8
Interrupt Information Word
0x004D
INTERRUPT 7
Interrupt Address Word
0x004C
INTERRUPT 7
Interrupt Information Word
0x004B
INTERRUPT 6
Interrupt Address Word
0x004A
INTERRUPT 6
Interrupt Information Word
0x0049
INTERRUPT 5
Interrupt Address Word
0x0048
INTERRUPT 5
Interrupt Information Word
0x0047
INTERRUPT 4
Interrupt Address Word
0x0046
INTERRUPT 4
Interrupt Information Word
0x0045
INTERRUPT 3
Interrupt Address Word
0x0044
INTERRUPT 3
Interrupt Information Word
0x0043
INTERRUPT 2
Interrupt Address Word
0x0042
INTERRUPT 2
Interrupt Information Word
0x0041
INTERRUPT 1
Interrupt Address Word
0x0040
INTERRUPT 1
Interrupt Information Word
The Interrupt Log Address Register
points to this address after Interrupt
15 event occurs. Upon Interrupt 16
completion, device logic reinitializes
the log address pointer to 0x0040
before Interrupt 17 is processed.
EXAMPLE: 2-WORD LOG BUFFER ENTRIES
FOR VARIOUS INTERRUPT TYPES...
Example 1: MERR bit is set in Interrupt Enable Register.
An error occurs while transacting a receive command for
subaddress 30:
Address Word = 0x0278 Descriptor Address for Rx Subaddress 30.*
Information Word = 0x0400 MERR (interrupt message error) bit = 1.
Example 2: IWA bit is set in Interrupt Enable Register.
The IWA bit is set in Transmit Subaddress 30 Control Word
to generate an interrupt upon each message occurrence.
A transmit command is received for subaddress 30:
Address Word = 0x02F8 Descriptor Address for Tx Subaddress 30.*
Information Word = 0x4000 IWA (interrupt when accessed) bit = 1.
Example 3: ILCMD bit is set in Interrupt Enable Register.
“Illegal Command Detection” is being applied and all
Illegalization Table bits for undefined mode codes are set.
An undefined Mode Code 0 with T/R bit = 0 is received:
Address Word = 0x0300 Descriptor Address for Rx Mode Code 0.*
Information Word = 0x0100 ILCMD (interrupt illegal command) bit = 1.
Example 4: TTINT0 bit is set in Interrupt Enable Register.
The Time-Tag counter rolls over from full count 0xFFFF
to 0x0000:
Address Word = 0x0000 (all hardware interrupts reset the IAW)
Information Word = 0x0010 TTINT0 (Time-Tag interrupt 0) bit = 1
* Figure 9 shows where
these addresses occur
in the Descriptor Table.
Interrupt Log Address Register
is initialized by device logic to
point to this address after
hardware reset (MR) or software reset
FIGURE 8. Fixed Address Mapping for Interrupt Log Buffer
HOLT INTEGRATED CIRCUITS
34
HI-6120, HI-6121
DESCRIPTOR TABLE
The Descriptor Table, resides in shared RAM, in address
range 0x0200 to 0x03FF. This table is initialized by the host
(or auto-initialization) to define how the terminal processes
valid commands. Descriptor Table settings for each
command specify where message data is stored, how data
is stored, whether host interrupts are generated, and other
aspects essential to command processing. Shown in
Figure 9, the table consists of 128 consecutive “descriptor
blocks”, each comprised of four 16-bit words. The table is
organized into four quadrants.
The Receive Subaddress and Transmit Subaddress
quadrants define response for commands having a
subaddress field ranging from 1 to 30 (0x1E). These are
simple N-data word receive or transmit commands, where
N can range from 1 to 32 words. When the command T/R
bit equals 0, the receive command quadrant applies. When
the T/R bit equals 1, the transmit command quadrant
applies.
Both subaddress quadrants are padded at top and bottom
with unused Descriptor Blocks for subaddresses 0 and 31
(0x1F). The word space reserved for SA0 and SA31 aligns
the table addressing, but values stored in these eight
locations is not used. Command subaddresses 0 and 31
indicate mode commands. The response for commands
containing either SA value is defined in the two mode
command table quadrants. The Receive Mode Command
quadrant applies when the command word T/R bit equals
0, while the Transmit Mode Command quadrants applies
when T/R equals 1.
The term “Transmit Mode Command” is a misnomer. All
defined mode commands with mode code less than 0x0F
haveT/R bit equal to 1, yet none of these mode commands
transmits a data word. They transmit only the terminal
status word, just like receive commands.
Within the Receive and Transmit Mode Command
quadrants, block addressing is based on the low order 5
bits in the command word, containing the mode code
value. This is fundamentally different from the Subaddress
quadrants in which block addressing is based on the 5-bit
subaddress field. Figure 10 shows how to derive Control
Word address from the received Command Word. The
Control Word address for the last valid command can also
be found in the Current Control Word Address register.
All 128 4-word Descriptor Blocks start with a Control Word.
There are four Control Word variants, based on command
type: receive vs. transmit and mode vs. non-mode
commands. The four Control Word types are defined
beginning with the next page.
Each Control Word specifies the data buffer method and
host interrupt for a specific subaddress or mode command.
Each subaddress has both a Receive Subaddress block
and a Transmit Subaddress block. Receive and transmit
commands to the same subaddress can be programmed
to respond differently.
The function of the three remaining descriptor words (in
each 4-word block) depends on the data buffer method
specified in the Control Word. Function of descriptor words
2 through 4 is explained within later data sheet sections for
the four available data buffer options, briefly listed here:
Indexed (or Single Buffer) Method where a
predetermined number of messages is transacted using a
single data buffer in shared RAM. Several host interrupt
options are offered, including an interrupt generated when
all N messages are successfully completed.
Double (or Ping-Pong) Buffer Method where successive
messages alternate between two data buffers in shared
RAM. Several host interrupt options are offered.
Circular Buffer Mode 1 where buffer boundaries
determine when the bulk transfer is complete and
message information and time-tag words are stored with
message data in a common buffer. Several host interrupt
options are offered, including an interrupt generated when
the allocated data buffer is full.
Circular Buffer Mode 2 where the number of messages
transacted defines bulk transfer progress, and message
data words are stored contiguously in one buffer while
message information and time-tag words are stored in a
separate buffer. Several host interrupt options are offered,
including an interrupt generated when all N messages are
successfully completed.
The 4-word Descriptor Table entry for each command (its
descriptor block) begins with a Control Word. There are
four types of descriptor Control Word:
Receive Subaddress Control Word
Transmit Subaddress Control Word
Receive Mode Command Control Word
Transmit Mode Command Control Word
The descriptor Control Word is initialized by the host to
select data buffer method and interrupt options. After a
command is processed by the HI-6120 terminal, the device
updates the command’s descriptor Control Word. Update
will differ based on the chosen data buffer method.
The four descriptor Control Word types are explained next.
All descriptor Control Words are initialized by the host (or
auto-initialization) to define basic command response.
HOLT INTEGRATED CIRCUITS
35
HI-6120, HI-6121
DESCRIPTOR TABLE, Cont.
32 4-Word Blocks per Quadrant
0x03FF
Descriptor Word 4 for Tx MC30
0x03FB
Descriptor Word 3 for Tx MC30
0x03FA
Descriptor Word 2 for Tx MC30
0x03F9
Control Word for Tx MC30
0x03F8
Descriptor Word 4 for Rx MC30
0x037B
Descriptor Word 3 for Rx MC30
0x037A
Descriptor Word 2 for Rx MC30
0x0379
Control Word for Rx MC30
0x0378
Mode Code 31 Block
Mode Code 30 Block
Transmit Mode Code Quadrant.
(Mode Codes with T/R Bit = 1)
32 Descriptor Blocks
of 4 Words Each
Mode Code 1 Block
0x0380
0x037F
Mode Code 0 Block
Mode Code 31 Block
Mode Code 30 Block
Receive Mode Code Quadrant.
(Mode Codes with T/R Bit = 0)
32 Descriptor Blocks
of 4 Words Each
Example 4-Word Descriptor Blocks
from Each Table Quadrant
Mode Code 1 Block
0x0300
0x02FF
Mode Code 0 Block
Descriptor Word 4 for Tx SA30
0x02FB
Descriptor Word 3 for Tx SA30
0x02FA
Descriptor Word 2 for Tx SA30
0x02F9
Control Word for Tx SA30
0x02F8
Descriptor Word 4 for Rx SA30
0x027B
Descriptor Word 3 for Rx SA30
0x027A
Descriptor Word 2 for Rx SA30
0x0279
Control Word for Rx SA30
0x0278
See Note.
Subaddress 31 Block
Subaddress 30 Block
Transmit Subaddress Quadrant.
32 Descriptor Blocks
of 4 Words Each
Subaddress 1 Block
0x0280
0x027F
Subaddress 0 Block
See Note.
Subaddress 31 Block
See Note.
Subaddress 30 Block
Receive Subaddress Quadrant.
32 Descriptor Blocks
of 4 Words Each
Subaddress 1 Block
0x0200
Subaddress 0 Block
See Note.
NOTE:
SA0 and SA31 indicate mode commands, so
are not valid Receive or Transmit Subaddresses.
FIGURE 9. Address Mapping for Descriptor Table
This figure assumes table base address = 0x0200.
HOLT INTEGRATED CIRCUITS
36
HI-6120, HI-6121
DESCRIPTOR TABLE, Cont.
Command
Sync
RT Addr
TA4:0
T/R Subaddress
Bit
SA4:0
Command
Sync
Word Count
WC4:0
RT Addr
TA4:0
T/R Subaddress
Bit
SA4:0
Mode Code
MC4:0
P
0x0
P
Descriptor Address Format
Depends On
Command Word’s Subaddress
0x2
0 0 0 0 0 0 10
0x0
0x3
0 0 0 0 0 0 11
0 0
T/R
MC4
MC3
MC2
MC1
MC0
T/R
SA4
SA3
SA2
SA1
SA0
0 0
Descriptor Table Address
for Subaddress Commands
SA4:0 equals 00001 to 11110
Descriptor Table Address
for Mode Code Commands
SA4:0 equals 00000 or 11111
FIGURE 10. Deriving a Descriptor Table
Control Word Address From Command Word
This figure assumes descriptor table base address = 0x0200.
IX
EQ
IW Z
A
IB
R
D
M
KB
D US
BA Y
D C
PB
BC
A
PP ST
O
N
C
IR
2Z
C
IR N3
C 2ZN
IR 2
2
C ZN
IR 1
ST 2ZN
O 0
PP PP
E
C N
IR
2
C EN
IR
1E
N
RECEIVE SUBADDDRESS CONTROL WORD
Receive Subaddress Control Words apply when a valid command word T/R bit equals zero (receive) and the subaddress field
has a value in the range of 1 to 30 (0x1E). The descriptor Control Word defines terminal command response and interrupt
behavior, and conveys activity status to the host. It is initialized by the host before terminal execution begins. Bits 8-11 cannot
be written by the host; these bits are updated by the device during terminal execution, that is, when Configuration Register 1
STEX bit equals 1. The host can write bits 0-2 and 4-7 only when STEX equals zero; bits 3 and 12-15 can be written anytime.
This register is cleared to 0x0000 by MR master reset. Software reset (SRST) clears just the DBAC, DPB and BCAST bits.
Following any host read cycle to the Control Word address, the DBAC bit is reset.
H
H
H
H D1 D
D
D
H
H
H
H
H
H
H
H
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
H
Bit maintained by host
D
Bit maintained by device
D1
Bit set by device, reset by host read cycle
Bit No.
Mnemonic Function
15
IXEQZ
Interrupt When Index Equals Zero.
If the Interrupt Enable Register IXEQZ bit is high, assertion of this bit enables generation of an
interrupt for (a) subaddresses using indexed buffer mode when the INDX value decrements from 1 to
0, or (b) subaddresses using a circular buffer mode when the pre-determined number of messages
has been transacted. If enabled, upon completion of command processing that results in index = 0,
an IXEQZ interrupt is entered in the Pending Interrupt Register, output pin INTMES is asserted, and
the interrupt is registered in the Interrupt Log.
14
IWA
Interrupt When Accessed.
If the Interrupt Enable Register IWA bit is high, assertion of this bit enables interrupt generation when
the subaddress receives any valid receive command. If enabled, upon completion of command
processing, an IWA interrupt is entered in the Pending Interrupt Register, output pin INTMES is
asserted, and the interrupt is registered in the Interrupt Log.
13
IBRD
Interrupt Broadcast Received.
If the Interrupt Enable Register IBRD bit is high, assertion of this bit enables interrupt generation
when the subaddress receives a valid broadcast command. If enabled, upon completion of message
processing an IBRD interrupt is entered in the Pending Interrupt Register, output pin INTMES is
asserted, and the interrupt is registered in the Interrupt Log. This bit has no function if the BCSTINV
bit is high in Configuration Register 1. In this case, commands to RT address 31 are not recognized
as valid by the device.
HOLT INTEGRATED CIRCUITS
37
HI-6120, HI-6121
DESCRIPTOR TABLE, Cont.
12
MKBUSY
Make Busy.
The host asserts the MKBUSY bit to respond with Busy status for commands to this receive
subaddress. This bit is an alternative to globally applying Busy status for all valid commands, enabled
from the 1553 Status Bits Register. See that register description for additional information. When
Busy is asserted, received data words are not stored and the DPB bit does not toggle after message
completion.
11
DBAC
Descriptor Block Accessed.
Internal device logic asserts the DBAC bit upon completion of message processing. The host may
poll this bit to detect subaddress activity, instead of using host interrupts. This bit is reset to logic 0 by
MR master reset, SRST software reset or a host read cycle to this memory address.
10
DPB
Data Pointer B.
This status bit is maintained by the device and only applies in ping-pong buffer mode. This bit
indicates the buffer to be used for the next occurring receive command to this subaddress. When the
DPB bit is logic 0, the next message will use Data Pointer A; when DPB is logic 1, the next message
uses Data Pointer B. In ping-pong buffer mode, the bit is inverted after each error-free message
completion. The DPB bit is not altered after messages ending in error, after illegal commands or after
messages when the terminal responds with Busy status. This bit is reset to logic 0 by MR master reset
or SRST software reset; therefore the first message received after either reset will use Buffer A. This
bit is “don’t care” for indexed single-buffer mode or either circular buffer mode.
9
BCAST
Broadcast Command.
Device logic sets this bit when a valid broadcast receive command is received at this subaddress. If
IBRD bit 13 and Interrupt Enable Register IBRD bit are both set, the output pin INTMES is asserted.
This bit has no function if the BCSTINV bit is asserted in the Configuration Register 1; in this case
commands to RT address 31 are not recognized as valid by the device. This bit is reset to logic 0 by
MR master reset or SRST software reset.
8
PPON
Ping-Pong Enable Acknowledge.
This bit is controlled by the device and cannot be written by the host. It only applies if PPEN bit 2 was
initialized to logic one by the host after reset, enabling ping-pong buffer mode for this subaddress.
Device logic asserts this bit when it recognizes ping-pong is active for this subaddress. Before offloading the receive data buffer for this subaddress, the host can ask the device to temporarily disable
ping-pong by asserting STOPP bit 3. The device acknowledges ping-pong is disabled by negating
PPON. The host can safely off-load the buffer without data collision while PPON is negated. After
buffer servicing, the host asks the device to re-enable ping-pong by negating STOPP bit 3. The
device acknowledges ping-pong is re-enabled by asserting PPON.
If PPEN bit 2 is high and PPON bit 8 is low when new commands arrive for this subaddress, pingpong is disabled. Each new message overwrites existing data in the buffer specified by DPB bit 10,
and the DPB bit does not toggle after command completion.
7-4
CIR2ZN
Circular Mode 2 Zero Number.
Used only in circular buffer mode 2, this 4-bit field is initialized with the number of trailing zeros in the
initialized MIBA address. This is explained in a later section that fully describes circular buffer mode 2.
3
STOPP
Stop Ping-Pong Request.
The host asserts this bit to suspend ping-pong buffering for this subaddress. The host resets this bit to
ask the device to re-enable ping-pong. The device confirms recognition of ping-pong enable or
disable status by writing PPON bit 8. Refer to later section fully describing ping-pong mode.
2
PPEN
Ping-Pong Buffer Enable.
The PPEN, CIR1EN and CIR2EN bits are initialized by the host to select buffer mode. For
explanation, see description below for bits 1-0.
After reset, the host initializes the PPEN bit to logic one to enable ping-pong buffering for this
subaddress. The host asserts STOPP bit 3 to ask the device to temporarily disable ping-pong.
Negating the STOPP bit asks the device to re-enable ping-pong. The device confirms ping-pong
enable or disable state changes by writing the PPON bit.
HOLT INTEGRATED CIRCUITS
38
HI-6120, HI-6121
DESCRIPTOR TABLE, Cont.
1
0
CIR2EN
CIR1EN
Circular Buffer Mode 2 Enable.
Circular Buffer Mode 1 Enable.
The PPEN, CIR1EN and CIR2EN bits are initialized by the host to select buffer mode. This table
summarizes how buffer mode selection is encoded:
PPEN
1
0
0
0
CIR2EN
Don’t care
1
0
0
CIR1EN
Don’t care
Don’t care
1
0
Buffer Mode
Ping-Pong
Circular Mode 2
Circular Mode 1
Indexed Single Buffer
H
X
U
BA SY
D C
PB
BC
A
PP ST
O
N
C
IR
2Z
C
IR N3
C 2ZN
IR 2
2
C ZN
IR 1
ST 2ZN
O 0
PP PP
E
C N
IR
2
C EN
IR
1E
N
D
M
IX
H
H
Bit maintained by host
D
Bit maintained by device
D1
Bit set by device, reset by host read cycle
KB
EQ
IW Z
A
TRANSMIT SUBADDRESS CONTROL WORD
Transmit Subaddress Control Words apply when a valid command word T/R bit equals one (transmit) and the subaddress field
has a value in the range of 1 to 30 (0x1E). The descriptor Control Word defines terminal command response and interrupt
behavior, and conveys activity status to the host. It is initialized by the host before terminal execution begins. Bits 8-11 cannot
be written by the host; these bits are updated by the device during terminal execution, that is, when Configuration Register 1
STEX bit equals 1. The host can write bits 0-2 and 4-7 only when STEX equals zero; bits 3,12 and 14-15 can be written
anytime. This register is cleared to 0x0000 by MR master reset. Software reset (SRST) clears just the DBAC, DPB and
BCAST bits. Following any host read cycle to the Control Word address, the DBAC bit is reset.
H D1 D
D
D
H
H
H
H
H
H
H
H
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
X
Bit is not used, may be logic 0 or 1
Bit No.
Mnemonic Function
15
IXEQZ
Interrupt When Index Equals Zero.
If the Interrupt Enable Register IXEQZ bit is high, assertion of this bit enables generation of an
interrupt for (a) subaddresses using indexed buffer mode when the INDX value decrements from 1 to
0, or (b) subaddresses using a circular buffer mode when the pre-determined number of messages
has been transacted. If enabled, upon completion of command processing that results in index = 0,
an IXEQZ interrupt is entered in the Pending Interrupt Register, output pin INTMES is asserted, and
the interrupt is registered in the Interrupt Log.
14
IWA
Interrupt When Accessed.
If the Interrupt Enable Register IWA bit is high, assertion of this bit enables interrupt generation when
the subaddress receives any valid transmit command. If enabled, upon completion of command
processing, an IWA interrupt is entered in the Pending Interrupt Register, output pin INTMES is
asserted, and the interrupt is registered in the Interrupt Log.
13
——
Not used.
12
MKBUSY
Make Busy.
The host asserts the MKBUSY bit to respond with Busy status for commands to this transmit
subaddress. This bit is an alternative to globally applying Busy status for all valid commands, enabled
from the 1553 Status Bits Register. See that register description for additional information. When
Busy is asserted, data words are not transmitted and the DPB bit does not toggle after message
completion.
11
DBAC
Descriptor Block Accessed.
Internal device logic asserts the DBAC bit upon completion of message processing. The host may
poll this bit to detect subaddress activity, instead of using host interrupts. This bit is reset to logic zero
by MR master reset, SRST software reset or a host read cycle to this memory address.
10
DPB
Data Pointer B.
This status bit is maintained by the device and only applies in ping-pong buffer mode. This bit
HOLT INTEGRATED CIRCUITS
39
HI-6120, HI-6121
DESCRIPTOR TABLE, Cont.
indicates the buffer to be used for the next occurring transmit command to this subaddress. When the
DPB bit is logic 0, the next message will use Data Pointer A; when DPB is logic 1, the next message
uses Data Pointer B. In ping-pong buffer mode, the bit is inverted after each error-free message
completion. The DPB bit is not altered after messages ending in error, after illegal commands or after
messages when the terminal responds with Busy status. This bit is reset to logic 0 by MR master reset
or SRST software reset; therefore the first message received after either reset will use Buffer A. This
bit is “don’t care” for indexed single-buffer mode or either circular buffer mode.
9
BCAST
Broadcast Received.
The device sets this bit when a broadcast-transmit command is received for this subaddress.
Because non-mode broadcast-transmit commands are always illegal, the assertion of this bit in the
Control Word by the device indicates an illegal command was received. Terminal response varies,
depending on whether or not illegal command detection applies (any bits set in Illegalization Table).
This bit has no function if the BCSTINV bit is asserted in Configuration Register 1; in this case
commands to RT address 31 are not recognized as valid by the device. This bit is reset to logic 0 by
MR master reset or SRST software reset.
8
PPON
Ping-Pong Enable Acknowledge.
This bit is controlled by the device and should not be written by the host. It only applies if PPEN bit 2
was initialized to logic one by the host after reset, enabling ping-pong buffer mode for this
subaddress. The RT asserts this bit when it recognizes ping-pong is active for this subaddress.
Before loading the transmit data buffer for this subaddress, the host can ask the RT to temporarily
disable ping-pong by asserting STOPP bit 3. The RT acknowledges ping-pong is disabled by
negating PPON. The host can safely load the buffer without data collision while PPON is negated.
After buffer servicing, the host asks the RT to re-enable ping-pong by negating STOPP bit 3. The RT
acknowledges ping-pong is re-enabled by asserting PPON.
If PPEN bit 2 is high and PPON bit 8 is low when new commands arrive for this subaddress, pingpong is disabled. Each new message transmits data from the same buffer, specified by DPB bit 10,
and the DPB bit does not toggle after command completion.
7-4
CIR2ZN
Circular Mode 2 Zero Number.
Used only in circular buffer mode 2, this 4-bit field is initialized with the number of trailing zeros in the
initialized MIBA address. This is explained in a later section fully describing circular buffer mode 2.
3
STOPP
Stop Ping-Pong Request.
The host asserts this bit to suspend ping-pong buffering for this subaddress. The host resets this bit to
ask the RT to re-enable ping-pong. The RT confirms recognition of ping-pong enable or disable
status by writing PPON bit 8. Refer to later section describing ping-pong mode for more information.
2
PPEN
Ping-Pong Buffer Enable.
The PPEN, CIR1EN and CIR2EN bits are initialized by the host to select buffer mode. For
explanation, see description below for bits 1-0.
After reset, the host initializes this bit to logic one to enable ping-pong buffering for this subaddress.
The host asserts STOPP bit 2 to ask the device to temporarily disable ping-pong. Negating the
STOPP bit asks the device to re-enable ping-pong. The device confirms ping-pong enable or disable
state changes by writing the PPON bit.
1
0
CIR2EN
CIR1EN
Circular Buffer Mode 2 Enable.
Circular Buffer Mode 1 Enable.
The PPEN, CIR1EN and CIR2EN bits are initialized by the host to select buffer mode. This table
summarizes how buffer mode selection is encoded:
PPEN
1
0
0
0
CIR2EN
Don’t care
1
0
0
CIR1EN
Don’t care
Don’t care
1
0
HOLT INTEGRATED CIRCUITS
40
Buffer Mode
Ping-Pong
Circular Mode 2
Circular Mode 1
Indexed Single Buffer
HI-6120, HI-6121
DESCRIPTOR TABLE, Cont.
DIFFERENT DATA BUFFER OPTIONS FOR MODE CODE COMMANDS
Data buffer options for mode code commands differ from options offered for subaddress commands. Mode commands cannot
use either circular data buffer method, but may use double (ping-pong) buffering or single (indexed) buffering.Single message
Index mode (INDX = 0) is suitable in many applications. An alternative called Simplified Mode Command Processing
(SMCP) may be globally applied for all mode code commands.
To use single (indexed) buffer or double (ping-pong) buffer for mode commands, the SMCP bit in Configuration Register 1 is
logic 0. The Control Word PPEN bit for each mode command determines whether ping-pong or indexed buffering is used.
To use Simplified Mode Command Processing, the SMCP bit in Configuration Register 1 is set to logic 1. The Control Word
PPEN bit for mode commands is “don’t care” (no longer specifies index or ping-pong buffer mode) because Simplified Mode
Command Processing stores mode command data and message information words directly within each mode command’s
redefined Descriptor Table block. When SMCP is enabled, mode code command descriptor blocks (in the Descriptor Table) do
not contain data pointers to reserved buffers elsewhere in the shared RAM. Instead, each 4-word descriptor block itself
contains the message information word, the time-tag word and the data word transacted for each mode command (for mode
codes 16-31 decimal).
When Simplified Mode Command Processing is used, the range of active bits is reduced in each receive or transmit mode
command Control Word. Interrupt control and response is not affected by the SMCP option. Simplified Mode Command
Processing is fully presented in the later data sheet section entitled “Mode Code Commands.”
RECEIVE MODE CONTROL WORD
Receive Mode Control Words apply when the command word T/R bit equals zero (receive) and the subaddress field has a
value of 0 or 31 (0x1F). The descriptor Control Word defines terminal command response and interrupt behavior, and conveys
activity status to the host. It is initialized by the host before terminal execution begins. Bits 8-11 cannot be written by the host;
these bits are updated by the device during terminal execution, that is, when Configuration Register 1 STEX bit equals 1. The
host can write bit 2 only when STEX equals zero; bits 3 and 12-15 can be written anytime. This register is cleared to 0x0000 by
MR master reset. Software reset (SRST) clears just the DBAC, DPB and BCAST bits. Following any host read cycle to the
Control Word address, the DBAC bit is reset.
When single-message indexed buffering or ping-pong buffering is used instead of SMCP (Simplified Mode Code Processing),
the transmit mode Control Word looks like this:
IX
ST
O
PP PP
EN
EQ
IW Z
A
IB
R
D
M
KB
D US
BA Y
D C
PB
BC
A
PP ST
O
N
SMCP Disabled
H
H
H
H D1 D
D
D
X
X
X
X
H
H
X
X
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
H
Bit maintained by host
D
Bit maintained by device
D1
Bit set by device, reset by host read cycle
X
Bit is not used, may read logic 0 or 1
When SMCP applies, the number of active mode Control Word bits is reduced:
H
H D1 X
AS
T
D
X
X
X
X
X
X
X
X
X
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
H
H
H
Bit maintained by host
D
Bit maintained by device
D1
Bit set by device, reset by host read cycle
BC
IX
EQ
IW Z
A
IB
R
D
M
KB
D US
BA Y
C
SMCP Enabled
Bit No.
Mnemonic Function
15
IXEQZ
LSB
X
Bit is not used, may read logic 0 or 1
Interrupt When Index Equals Zero.
If the Interrupt Enable Register IXEQZ bit is high, assertion of this bit enables generation of an
interrupt for mode code commands using indexed buffer mode when the INDX value decrements
from 1 to 0. Upon completion of command processing that results in INDX = 0, when IXEQZ interrupts
HOLT INTEGRATED CIRCUITS
41
HI-6120, HI-6121
DESCRIPTOR TABLE, Cont.
are enabled, an IXEQZ interrupt is entered in the Pending Interrupt Register, the INTMES output pin
is asserted, and the interrupt is registered in the Interrupt Log.
14
IWA
Interrupt When Accessed.
If the Interrupt Enable Register IWA bit is high, assertion of this bit enables interrupt generation at
each instance of a valid mode code command. Upon completion of command processing, when IWA
interrupts are enabled, an IWA interrupt is entered in the Pending Interrupt Register, the INTMES
output pin is asserted, and the interrupt is registered in the Interrupt Log.
13
IBRD
Interrupt Broadcast Received.
If the Interrupt Enable Register IBRD bit is high, assertion of this bit enables interrupt generation at
each instance of a valid broadcast receive mode code command. Upon completion of command
processing, when IBRD interrupts are enabled, an IBRD interrupt is entered in the Pending Interrupt
Register, the INTMES output pin is asserted, and the interrupt is registered in the Interrupt Log. This
bit has no function if the BCSTINV bit is high in Configuration Register 1. In this case, commands to
RT address 31 are not recognized as valid by the device.
12
MKBUSY
Make Busy.
The host asserts the MKBUSY bit to respond with Busy status for commands to this mode code. This
bit is an alternative to globally applying Busy status for all valid commands, enabled from the 1553
Status Bits Register. See that register description for additional information. When Busy is asserted,
mode data words received with MC16-MC31 are not stored and the DPB bit does not toggle after
message completion.
11
DBAC
Descriptor Block Accessed.
Internal device logic asserts the DBAC bit upon completion of message processing. The host may
poll this bit to detect mode command activity, instead of using host interrupts. This bit is reset to logic 0
by MR master reset, SRST software reset or a host read cycle to this memory address.
10
DPB
Data Pointer B.
This status bit is maintained by the device and only applies for mode commands using ping-pong
buffer mode. This bit indicates the buffer to be used for the next occurring mode command. When the
DPB bit is logic 0, the next message will use Data Pointer A; when DPB is logic 1, the next message
uses Data Pointer B. In ping-pong buffer mode, the bit is inverted after each error-free message
completion. The DPB bit is not altered after messages ending in error, after illegal commands, or after
messages when the terminal responds with Busy status. This bit is reset to logic 0 by MR master reset
or SRST software reset; therefore the first message received after either reset will use Buffer A. This
bit is “don’t care” for indexed single-buffer mode.
9
BCAST
Broadcast Received.
Device logic sets this bit when a valid broadcast mode command is received having T/R bit = 0. This
bit has no function if the BCSTINV bit is asserted in Configuration Register 1. In this case, RT address
31 commands are not recognized as valid by the HI-6120. This bit is reset to logic 0 by MR master
reset or SRST software reset.
8
PPON
Ping-Pong Enable Acknowledge.
This bit is read only and only applies for mode commands using ping-pong mode (PPEN bit 2 was
initialized to logic 1 by the host after reset). The device asserts this bit when it recognizes ping-pong is
active for this mode code. Before off-loading the receive data buffer for this mode code, the host can
ask the device to temporarily disable ping-pong by asserting STOPP bit 3. The device acknowledges
ping-pong is disabled by negating PPON. The host can safely load or off-load the buffer without data
collision while PPON is negated. After buffer servicing, the host asks the device to re-enable pingpong by negating STOPP bit 3. The device acknowledges ping-pong is re-enabled by asserting
PPON.
If PPEN bit 2 is high and PPON bit 8 is low when new commands arrive for this subaddress, pingpong is disabled. Each new message overwrites existing data in the buffer specified by DPB bit 10,
and the DPB bit does not toggle after command completion.
7-4
——
Not used.
HOLT INTEGRATED CIRCUITS
42
HI-6120, HI-6121
DESCRIPTOR TABLE, Cont.
3
STOPP
Stop Ping-Pong Request.
The host asserts this bit to suspend ping-pong buffering for this mode code. The host resets this bit to
ask the device to re-enable ping-pong. The device confirms recognition of ping-pong enable or
disable status by writing PPON bit 3.
2
PPEN
Ping-Pong Buffer Enable.
The PPEN bit is initialized by the host to select buffer mode. If this bit is high, ping-pong buffering is
selected. If this bit is low, indexed single buffering is selected.
After reset, the host initializes this bit to logic 1 to enable ping-pong buffering for this mode code. The
host asserts STOPP bit 3 to ask the device to temporarily disable ping-pong. Negating the STOPP bit
asks the device to re-enable ping-pong. The device confirms ping-pong enable or disable state
changes by writing the PPON bit.
1-0
——
Not used.
TRANSMIT MODE CONTROL WORD
Transmit Mode Control Words apply when the command word T/R bit equals one (transmit) and the subaddress field has a
value of 0 or 31 (0x1F). The descriptor Control Word defines terminal command response and interrupt behavior, and conveys
activity status to the host. It is initialized by the host before terminal execution begins. Bits 8-11 cannot be written by the host;
these bits are updated by the device during terminal execution, that is, when Configuration Register 1 STEX bit equals 1. The
host can write bit 2 only when STEX equals zero; bits 3 and 12-15 can be written anytime. This register is cleared to 0x0000 by
MR master reset. Software reset (SRST) clears just the DBAC, DPB and BCAST bits. Following any host read cycle to the
Control Word address, the DBAC bit is reset.
When single-message indexed buffering or ping-pong buffering is used instead of SMCP (Simplified Mode Code Processing),
the transmit mode Control Word looks like this:
IX
ST
O
PP PP
EN
EQ
IW Z
A
IB
R
D
M
KB
D US
BA Y
D C
PB
BC
A
PP ST
O
N
SMCP Disabled
H
H
H
H D1 D
D
D
X
X
X
X
H
H
X
X
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
H
Bit maintained by host
D
Bit maintained by device
D1
Bit set by device, reset by host read cycle
X
Bit is not used, may read logic 0 or 1
When SMCP applies, the number of active mode Control Word bits is reduced:
H
H
H
H D1 X
T
AS
H
Bit maintained by host
D
Bit maintained by device
D1
Bit set by device, reset by host read cycle
BC
IX
EQ
IW Z
A
IB
R
D
M
KB
D US
BA Y
C
SMCP Enabled
D
X
X
X
X
X
X
X
X
X
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
X
Bit is not used, may read logic 0 or 1
Bit No.
Mnemonic Function
15
IXEQZ
Interrupt When Index Equals Zero.
If the Interrupt Enable Register IXEQZ bit is high, assertion of this bit enables generation of an
interrupt for mode code commands using indexed buffer mode when the INDX value decrements
from 1 to 0. Upon completion of command processing that results in INDX = 0, when IXEQZ interrupts
are enabled, an IXEQZ interrupt is entered in the Pending Interrupt Register, the INTMES output pin
is asserted, and the interrupt is registered in the Interrupt Log.
14
IWA
Interrupt When Accessed.
If the Interrupt Enable Register IWA bit is high, assertion of this bit enables interrupt generation at
each instance of a valid mode code command. Upon completion of command processing, when IWA
HOLT INTEGRATED CIRCUITS
43
HI-6120, HI-6121
DESCRIPTOR TABLE, Cont.
interrupts are enabled, an IWA interrupt is entered in the Pending Interrupt Register, the INTMES
output pin is asserted, and the interrupt is registered in the Interrupt Log.
13
IBRD
Interrupt Broadcast Received.
If the Interrupt Enable Register IBRD bit is high, assertion of this bit enables interrupt generation at
each instance of a valid broadcast transmit mode code command. Upon completion of command
processing, when IBRD interrupts are enabled, an IBRD interrupt is entered in the Pending Interrupt
Register, the INTMES output pin is asserted, and the interrupt is registered in the Interrupt Log. This
bit has no function if the BCSTINV bit is high in Configuration Register 1. In this case, commands to
RT address 31 are not recognized as valid by the device.
12
MKBUSY
Make Busy.
The host asserts the MKBUSY bit to respond with Busy status for commands to this mode code. This
bit is an alternative to globally applying Busy status for all valid commands, enabled from the 1553
Status Bits Register. See that register description for additional information. When Busy is asserted,
mode data words are not transmitted with MC16-MC31, and the DPB bit does not toggle after
message completion. The MKBUSY bit is not heeded if set in the Control Word for mode code
command MC8 “reset remote terminal”. For this command only, Busy is inhibited for the status
response transmitted before the reset process begins.
11
DBAC
Descriptor Block Accessed.
Internal device logic asserts the DBAC bit upon completion of message processing. The host may
poll this bit to detect mode command activity, instead of using host interrupts. This bit is reset to logic 0
by MR master reset, SRST software reset or a host read cycle to this memory address.
10
DPB
Data Pointer B.
This status bit is maintained by the device and only applies for mode commands using ping-pong
buffer mode. This bit indicates the buffer to be used for the next occurring mode command. When the
DPB bit is logic 0, the next message will use Data Pointer A; when DPB is logic 1, the next message
uses Data Pointer B. In ping-pong buffer mode, the bit is inverted after each error-free message
completion. The DPB bit is not altered after messages ending in error, after illegal commands, or after
messages when the terminal responds with Busy status. This bit is reset to logic 0 by MR master reset
or SRST software reset; therefore the first message received after either reset will use Buffer A. This
bit is “don’t care” for indexed single-buffer mode.
9
BCAST
Broadcast Received.
Device logic sets this bit when a valid broadcast mode command is received having T/R bit = 1. This
bit has no function if the BCSTINV bit is asserted in Configuration Register 1. In this case, RT address
31 commands are not recognized as valid by the HI-6120. This bit is reset to logic 0 by MR master
reset or SRST software reset.
8
PPON
Ping-Pong Enable Acknowledge.
This bit is read only and only applies for mode commands using ping-pong mode (PPEN bit 2 was
initialized to logic 1 by the host after reset). The device asserts this bit when it recognizes ping-pong is
active for this mode code. Before loading the transmit data buffer for this mode code, the host can ask
the device to temporarily disable ping-pong by asserting STOPP bit 3. The device acknowledges
ping-pong is disabled by negating PPON. The host can safely load or off-load the buffer without data
collision while PPON is negated. After buffer servicing, the host asks the device to re-enable pingpong by negating STOPP bit 3. The device acknowledges ping-pong is re-enabled by asserting
PPON.
If PPEN bit 2 is asserted and PPON bit 8 is negated when a new command arrives for this mode code,
ping-pong disable handshake is in effect: The device applies single-buffer index mode using Data
Pointer A or Data Pointer B, per DPB bit 10. The DPB bit does not toggle after command completion.
HOLT INTEGRATED CIRCUITS
44
HI-6120, HI-6121
DESCRIPTOR TABLE, Cont.
7-4
——
Not used.
3
STOPP
Stop Ping-Pong Request.
The host asserts this bit to suspend ping-pong buffering for this mode code. The host resets this bit to
ask the device to re-enable ping-pong. The device confirms recognition of ping-pong enable or
disable status by writing PPON bit 3.
2
PPEN
Ping-Pong Buffer Enable.
The PPEN bit is initialized by the host to select buffer mode. If this bit is high, ping-pong buffering is
selected. If this bit is low, indexed single buffering is selected.
After reset, the host initializes this bit to logic 1 to enable ping-pong buffering for this mode code. The
host asserts STOPP bit 3 to ask the device to temporarily disable ping-pong. Negating the STOPP bit
asks the device to re-enable ping-pong. The device confirms ping-pong enable or disable state
changes by writing the PPON bit.
1-0
——
Not used.
MESSAGE DATA BUFFERS
The memory structures described up to this point comprise
not more than 1K words of the lower memory address
space. The remaining memory is allocated by the host for
message data storage, to fulfill application requirements.
This section describes the remaining data structures in
shared RAM that control (and result from) command
processing.
shared RAM. For receive commands, the device stores
data received during message processing in the shared
RAM buffer. Later, the host retrieves these data words from
the buffer. In the case of transmit commands, the host has
previously stored transmit data words in the transmit
subaddress buffer. The device retrieves these data words
for transmission while processing the transmit command.
By initializing the Descriptor Table, the host allocates
memory space for storing data for each subaddress used
in the Remote Terminal application. Each legal Receive
Subaddress and each legal Transmit Subaddress are
usually assigned unique buffer memory spaces.
(Exception: To comply with the requirements for MIL-STD1553 data wrap-around, it is convenient to assign the data
wrap-around subaddress to use the same buffer space for
both receive and transmit commands.)
For each complete message processed, the message
data stored in the buffer is comprised of these elements:
As an option, data from broadcast receive commands can
be stored separately from data resulting from nonbroadcast receive commands. Each subaddress buffer
can use any of four data storage methods offered.
Subaddress (non-mode) commands are transacted with
one to 32 data words. These are stored in a data buffer in
1. Message Information Word
2. Time-Tag Word
3. One to 32 Data Words transmitted or received
during message transaction ( except no data
word for mode code commands 0 - 15 decimal)
The Message Information word and Time-Tag word are
generated by the device and stored in assigned buffer
space to aid the host in further message processing. The
Message Information word contains message type, word
count and message error information. The 16-bit Time-Tag
word contains the value in the device internal Time-Tag
counter when the command is validated.
HOLT INTEGRATED CIRCUITS
45
HI-6120, HI-6121
MESSAGE DATA BUFFERS
The host initializes the Descriptor Table entry for each
subaddress or mode command to select one of four data
buffering methods. Briefly summarized here, the options
are explained in full detail in the next section of this data
sheet:
Circular Buffer Mode 2.
The number of messages transacted defines bulk transfer
progress. Message data words are stored contiguously in
one buffer while message information and time-tag words
are stored in a separate buffer. Several host interrupt
options are offered, including host interrupt when all N
messages are completed.
Indexed (Single Buffer) Method.
A predetermined number of messages (N) is transacted
using a single data buffer in shared RAM. Several host
interrupt options are offered, including host interrupt when
all N messages are successfully completed. This method
also supports single-message mode when N is purposely
initialized to zero.
Simplified Mode Command Processing.
This is a global option that applies for all mode code
commands, when enabled. Mode commands have either
one data word, or no data word. Instead of using data
buffers for storing this limited mode command data, the
message data is stored directly within the Descriptor Table.
This option for mode commands is described in the section
called “Mode Command Processing.”
Double (or Ping-Pong) Buffer Method.
Successive messages alternate between two 34-word
data buffers in shared RAM. Several host interrupt options
are offered.
Circular Buffer Mode 1.
Buffer boundaries determine when the bulk transfer is
complete. Message information and time-tag words are
stored in the same buffer with data words. Several host
interrupt options are offered, including host interrupt when
the allocated data buffer is full.
DATA BUFFER MODES AT A GLANCE
BUFFER
MODE
DATA BUFFER(S)
NUMBER & SIZE
MESSAGE
INFO WORDS
SUITABLE FOR
MODE CODES?
PRIMARY APPLICATION
Indexed
one, host defines
size for N messages
stored in same
buffer as data
yes, only single
message mode
For transacting N (multiple) messages
with optional host interrupt when done
Ping-Pong
two 34-word buffers,
1 message each
stored in same
buffers as data
yes
For transacting single messages,
alternating between A and B buffers
Circular 1
one, host defines
size for N words
stored in same
buffer as data
no
For transacting messages until buffer is
full / empty, optional interrupt when done
Circular 2
one, host defines
size for N messages,
plus Msg Info Block
stored in
separate buffer
(Msg Info Block)
no
For transacting N (multiple) messages
with optional host interrupt when done.
Data buffer holds contiguous pure data.
Broadcast Data Separation
When the NOTICE2 option is enabled, data words resulting from broadcast receive commands will be stored separately
from data resulting from non-broadcast receive commands when using indexed or ping-pong buffer modes. When
NOTICE2 applies, all subaddresses using indexed or ping-pong modes must have an assigned 34-word broadcast data
buffer in addition to the primary buffers listed above. Broadcast data segregation cannot be done using either circular
buffer mode.
HOLT INTEGRATED CIRCUITS
46
HI-6120, HI-6121
MESSAGE DATA BUFFERS, Cont.
RECEIVE SUBADDRESS COMMAND
MESSAGE INFORMATION WORD
For receive subaddress commands, the device stores the received data words plus two additional words. The device adds a
receive subaddress Message Information Word and a Time-Tag Word to the received data words. The device stores the
Message Information and Time-Tag words ahead of the data words associated with the receive command, as shown below. If
message error occurs, the RT stores only the receive subaddress Message Information Word and Time-Tag Word. Once a
message error is detected, the device sets the MERR bit in the receive subaddress Message Information word. When this
occurs, all data words are considered invalid. Whenever the receive subaddress Message Information Word MERR bit is set,
the host should disregard the record’s data word(s).
Here is an example data structure for a 3-word receive command. Notice that the receive subaddress Data Pointer points to
the data structure starting address, not the first data word. The data pointer is located in the receive subaddress command’s
Descriptor Block, fully described later:
Data Buffer
Hex Address
Word Description
Device Writes Word...
———> 0x0500
0x0501
0x0502
0x0503
0x0504
Message Information Word
Time-Tag Word
Data Word 1
Data Word 2
Data Word 3
TM
O
IW ER
D R
G ER
AP R
W ER
C R
T
SY ER
N R
M ER
ER R
W R
AS
IL BS
C Y
M
TX D
RT
RT E
R RR
BU T
S
W ID
C
4
W
C
3
W
C
2
W
C
1
W
C
0
Data pointer equals 0x0500
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
After message completion
“
“
“
After message completion (note)
“
“
“
“
“
“
“
“
The data words are written after message
completion when Configuration Register 2
TRXDB is 1, otherwise written when received.
LSB
The following bits comprise the receive subaddress Message Information Word:
Bit No.
Mnemonic Function
15
TMOERR
Time-Out Error.
This bit is asserted for RT-RT receive messages when the transmitting terminal fails to start its status
word and data transmission before time-out occurs, per TOSEL0-1 bits in Configuration Register 2.
14
IWDERR
Invalid Word Error.
Assertion of this bit indicates Manchester error or parity error was observed in a received data word.
13
GAPERR
Gap Error.
Assertion of this bit indicates bus activity was detected immediately after the last expected receive
data word or that a gap occurred before all expected data words were received.
12
WCTERR
Word Count Error
This bit is asserted if command is received with less data words than the command word specifies.
For example, a receive command for three data words is received with two contiguous data words.
11
SYNERR
Sync Error.
This bit is asserted when an incorrect (command/status) sync type occurs in received data words.
10
MERR
Message Error.
This bit is asserted when message error status change occurs during command processing. See bits
7 and 11-15 for details.
9
WASBSY
Was Busy.
This bit is asserted when the terminal responds to the receive command with BUSY status, due to
global BUSY bit set in 1553 Status Bits Register, or command-specific MKBUSY bit set in the
descriptor table Control Word. Received data words were buffered normally.
HOLT INTEGRATED CIRCUITS
47
HI-6120, HI-6121
MESSAGE DATA BUFFERS, Cont.
8
ILCMD
Illegal Command Received.
This bit is asserted when the Illegalization Table bit corresponding to the received command is logic
1. The Illegalization Table should only contain nonzero values when “illegal command detection” is
being applied. See section entitled Illegalization Table for further information.
7
TXRTERR
RT-RT Transmit Remote Terminal Error.
This bit is set when the terminal decodes a valid RT-RT receive command, but one of four potential
errors is detected in the second command word, CW2: (1) CW2 is addressed to broadcast address
RT31. (2) the CW2 T/R bit equals 0, (3) the CW2 subaddress is a mode command indicator, 00000 or
11111, or (4) CW2 has same non-broadcast terminal address as receive command word CW1.
The TXRTERR bit is also set when status word received from the transmitting terminal is invalid (e.g.,
parity error) or bits 15:11 in the status word reflect the wrong RT address (does not match CW2).
6
RTRT
Remote Terminal to Remote Terminal Transfer.
Assertion of this bit indicates the receive command was an error-free RT-to-RT transfer.
5
BUSID
Bus Identification.
If this bit equals zero, message was transacted on Bus A. If bit equals one, it was transacted on Bus B.
4-0
WC4:0
Word Count.
This 5-bit field contains the word count extracted from the command word. Zero indicates 32 words.
TRANSMIT SUBADDRESS COMMAND
MESSAGE INFORMATION WORD
The external host is responsible for organizing the data packet (i.e., storing N data words) in shared RAM and initializing the
applicable data pointer. The host must allocate two memory locations at the starting address of the data record for device
storage of the transmit subaddress Message Information Word and Time-Tag Word.
Here is an example data structure for a 3-word transmit command. Notice that the Data Pointer points to the data structure
starting address, not the first data word. The data pointer is located in the transmit subaddress command’s Descriptor Block.
Data Buffer
Hex Address
AP
W ER
C R
TE
R
R
M
ER
W R
AS
IL BS
C Y
M
D
G
X
X
X
Word Is Written By
Message Information Word
Time-Tag Word
Data Word 1
Data Word 2
Data Word 3
Device, after message completion
“
“
“
“
Host, prior to terminal’s data transmit
“
“ “
“
“
“
“
“ “
“
“
“
RT
R
BU T
S
W ID
C
4
W
C
3
W
C
2
W
C
1
W
C
0
———> 0x0500
0x0501
0x0502
0x0503
0x0504
Data pointer equals 0x0500
Word Description
X
MSB 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
LSB
The following bits comprise the transmit subaddress Message Information Word.
Bit No.
Mnemonic Function
15-14
——
Not used.
13
GAPERR
Gap Error.
Assertion of this bit indicates bus activity was detected immediately after the transmit command
word, when a gap was expected.
12
WCTERR
Word Count Error
This bit is asserted if command is received with unexpected data word(s).
HOLT INTEGRATED CIRCUITS
48
HI-6120, HI-6121
MESSAGE DATA BUFFERS, Cont.
11
——
Not used.
10
MERR
Message Error.
This bit is asserted when message error status change occurs during command processing. See bits
12 and 13 for details.
9
WASBSY
Was Busy Status.
This bit is asserted when the terminal responds to the transmit command with BUSY status, due to
global BUSY bit set in 1553 Status Bits Register, or command-specific MKBUSY bit set in the
descriptor table Control Word. No data words were transmitted.
8
ILCMD
Illegal Command Received.
This bit is asserted when the Illegalization Table bit corresponding to the received command equals
one. The Illegalization Table should only contain nonzero values when “illegal command detection” is
being applied. See section entitled Illegalization Table for further information.
7
——
Not used.
6
RTRT
Remote Terminal to Remote Terminal Transfer.
Assertion of this bit indicates the transmit command was an error-free RT-to-RT transfer.
5
BUSID
Bus Identification.
If this bit equals zero, message was transacted on Bus A. If bit equals one, it was transacted on Bus B.
4-0
WC4:0
Word Count.
This 5-bit field contains the word count extracted from the command word. Zero indicates 32 words.
REGARDING MODE COMMAND MESSAGE INFORMATION WORDS
Mode command data structures in shared RAM are similar to those for subaddresses. Mode codes 0 through 15 (0x0F) do not
have an associated data word, so data structures for these mode code values have just a Message Information Word and
Time-Tag Word. The Message Information Word is stored at the memory address specified by the descriptor table Data
Pointer. Mode codes 16 through 31 (0x10 through 0x1F) have one associated data word. The Message Information Word is
stored at the memory address specified by the descriptor table Data Pointer, and the Time-Tag Word is stored in the following
location. The data word is stored at the memory address specified by the Data Pointer plus two locations.
RECEIVE MODE COMMAND
MESSAGE INFORMATION WORD
The receive mode command data structure contains a Message Information Word, a Time-Tag Word and may contain one
Data Word. If a receive mode command has a data word, the device may apply the data as defined by MIL-STD-1553, plus
store the received single mode data word at the address specified by the Data Pointer, plus two locations. Refer to data sheet
section entitled “Mode Command Action Summary”.
Here is an example data structure for a receive mode command with data (mode code values 0x10 through 0x1F). Notice that
the Data Pointer points to the data structure starting address, not the mode data word. The data pointer is located in the receive
mode command’s Descriptor Block, fully described later:
Data Buffer
Hex Address
Word Description
Word Is Written By
Data pointer equals 0x0500
———> 0x0500
0x0501
0x0502
Message Information Word
Time-Tag Word
Mode Data Word
Device, after message completion
“
“
“
“
“
“
“
“
Three receive mode commands with data are not defined under MIL-STD-1553B. These are MC16, MC18 and MC19 (mode
codes 0x10, 0x12 and 0x13 respectively). However the device responds “in form” if illegal command detection is not used
(corresponding bits in Illegalization Table are logic 0) and the UMCINV bit in Configuration Register 1 is logic 0.
For mode code commands without data, the data structure contains only the Message Information Word and Time-Tag Word.
HOLT INTEGRATED CIRCUITS
49
HI-6120, HI-6121
MESSAGE DATA BUFFERS, Cont.
Here is an example data structure for a receive mode command without data (mode code values 0x00 through 0x0F). Note:
None of these receive mode commands are defined under MIL-STD-1553B but the device responds “in form” if illegal
command detection is not used (corresponding bits in Illegalization Table are logic 0) and the UMCINV bit in Configuration
Register 1 is logic 0. Notice that the data pointer points to the data structure starting address, the message information word.
The data pointer is located in the receive mode command’s Descriptor Block, fully described later:
Data Buffer
Hex Address
Word Description
Word Is Written By
———> 0x0500
0x0501
X
MSB 15 14 13 12 11 10 9
8
Message Information Word
Time-Tag Word
Device, after message completion
“
“
“
“
BU
S
M ID
C
4
M
C
3
M
C
2
M
C
1
M
C
0
IW
D
G ER
AP R
W ER
C R
T
SY ER
N R
M ER
ER R
W R
AS
IL BS
C Y
M
D
Data pointer equals 0x0500
X
X
7
6
5
4
3
2
1
0
LSB
The following bits comprise the receive mode Message Information Word:
Bit No.
Mnemonic Function
15
——
Not used.
14
IWDERR
Invalid Word Error.
Assertion of this bit indicates Manchester error or parity error was observed in a received data word.
13
GAPERR
Gap Error.
Assertion of this bit indicates bus activity was detected immediately after a received mode data word
or that a gap occurred before the data word was received.
12
WCTERR
Word Count Error
This bit is asserted if the command is received without expected mode data word, or with extra word.
11
SYNERR
Sync Error.
This bit is asserted when incorrect (command/status) sync type occurs in received mode data word.
10
MERR
Message Error.
This bit is asserted when message error status change occurs during command processing. See bits
11- 14 for details.
9
WASBSY
Was Busy Status.
This bit is asserted when the terminal responds to the mode command with BUSY status, due to
global BUSY bit set in 1553 Status Bits Register, or command-specific MKBUSY bit set in the
descriptor table Control Word.
8
ILCMD
Illegal Command Received.
This bit is asserted when the Illegalization Table bit corresponding to the received command equals
one. The Illegalization Table should only contain nonzero values when “illegal command detection” is
being applied. See section entitled Illegalization Table for further information.
7-6
——
Not used.
5
BUSID
Bus Identification.
If this bit equals zero, message was transacted on Bus A. If bit equals one, it was transacted on Bus B.
4-0
MC4:0
Mode Code.
This 5-bit field contains the mode code extracted from the command word.
HOLT INTEGRATED CIRCUITS
50
HI-6120, HI-6121
MESSAGE DATA BUFFERS, Cont.
TRANSMIT MODE COMMAND
MESSAGE INFORMATION WORD
The transmit mode command data structure contains a Message Information Word, a Time-Tag word and may contain one
Data Word. For mode commands with associated data word (mode codes 16-31 decimal) the host is responsible for loading
the Mode Command Data Table before transmit mode commands are received (e.g., Transmit Vector Word mode code). Two
mode codes have internally generated data words: MC18 “Transmit Last Command” and MC19 “Transmit BIT Word”. For
these, the device automatically transmits the data word then copies the transmitted data value to the stored data structure.
Here is an example data structure for a transmit mode command with data (mode code values 0x10 through 0x1F). This
applies to MC16 “Transmit Vector Word”. Notice that the data pointer points to the data structure starting address, not the
mode data word. The data pointer is located in the transmit mode command’s Descriptor Block, fully described later:
Data Buffer
Hex Address
Word Description
Word Is Written By
———> 0x0500
0x0501
0x0502
Data pointer equals 0x0500
Message Information Word
Time-Tag Word
Mode Data Word
Device, after message completion
“
“
“
“
Host, prior to terminal’s data transmit
(except MC18, MC19 are written
by the device after completion)
Three transmit mode commands with data are not defined under MIL-STD-1553B. These are MC17, MC20 and MC21 (mode
codes 0x11, 0x14 and 0x15 respectively). However the device responds “in form” if illegal command detection is not used
(corresponding bits in Illegalization Table are logic 0) and the UMCINV bit in Configuration Register 1 is logic 0.
For mode code commands without data, the data structure contains only the Message Information Word and Time-Tag Word.
Here is an example data structure for a transmit mode command without data (mode code values 0x00 through 0x0F). Again,
the data pointer points to the data structure starting address. The data pointer is located in the transmit mode command’s
Descriptor Block, fully described later:
Data Buffer
Hex Address
Word Description
Word Is Written By
———> 0x0500
0x0501
X
X
MSB 15 14 13 12 11 10 9
8
Device, after message completion
“
“
“
“
BU
G
X
Message Information Word
Time-Tag Word
S
M ID
C
4
M
C
3
M
C
2
M
C
1
M
C
0
AP
W ER
C R
TE
R
R
M
ER
W R
AS
IL BS
C Y
M
D
Data pointer equals 0x0500
X
X
7
6
5
4
3
2
1
0
LSB
The following bits comprise the mode transmit Message Information Word:
Bit No.
Mnemonic Function
15-14
----
Not used.
13
GAPERR
Gap Error.
This bit is high when bus activity was detected immediately after the mode command word, when a
gap was expected.
12
WCTERR
Word Count Error
This bit is asserted if command is received with unexpected data word(s).
11
----
Not used.
10
MERR
Message Error.
This bit is asserted when message error status change occurs during command processing. See bits
12-13 for details.
HOLT INTEGRATED CIRCUITS
51
HI-6120, HI-6121
MESSAGE DATA BUFFERS, Cont.
9
WASBSY
Was Busy Status.
This bit is asserted when the terminal responds to the mode command with BUSY status, due to
global BUSY bit set in 1553 Status Bits Register, or command-specific MKBUSY bit set in the
descriptor table Control Word. No mode data word was transmitted.
8
ILCMD
Illegal Command Received.
This bit is asserted when the Illegalization Table bit corresponding to the received command is logic
1. The Illegalization Table should only contain nonzero values when “illegal command detection” is
being applied. See section entitled Illegalization Table for further information.
7-6
——
Not used.
5
BUSID
Bus Identification.
If this bit equals zero, message was transacted on Bus A. If bit equals one, it was transacted on Bus B.
4-0
MC4:0
Mode Code.
This 5-bit field contains the mode code extracted from the command word.
PING-PONG DATA BUFFERING
DOUBLE-BUFFERED (PING-PONG) MODE
Ping-pong buffer mode is a method for storing message
and time-tag information and data associated with
messages. Each unique MIL-STD-1553 subaddress and
mode code is assigned a pair of data buffers for transmit
commands and a pair of data buffers for receive
commands. The device retrieves buffer data for transmit
commands, or stores buffer data for receive commands.
During ping-pong operation, the device alternates
message storage between Data Buffer A and Data Buffer
B, on a message-by-message basis.
When a subaddress or mode command uses ping-pong
data buffer mode, its 4-word descriptor block in the
Descriptor Table is defined as follows:
Descriptor Word 1
Descriptor Word 2
Descriptor Word 3
Descriptor Word 4
Control Word
Data Pointer A
Data Pointer B
Broadcast Data Pointer
If Descriptor Word 1 is stored at memory address N,
Descriptor Word 2 is stored at address N+1, and the other
two words are stored at addresses N+2 and N+3.
Prior to starting terminal operation, enable ping-pong
buffering for any subaddress (or mode code) by asserting
the PPEN bit and negating the STOPP bit in the descriptor
Control Word. When the device detects ping-pong is
selected (PPEN = 1) and enabled (STOPP = 0), it asserts
the Control Word PPON bit to confirm ping-pong is active.
During ping-pong operation, the RT determines the active
data buffer at the beginning of message processing. The
Control Word DPB bit indicates the data pointer to be used
by the next command. DPB equals logic 0 means Data
Pointer A is used next; DPB equals logic 1 means Data
Pointer B is used next. For ping-pong, Data Pointers A and
B are static values pointing to the first address in each
buffer. At the conclusion of error-free message processing,
the Control Word DPB bit is inverted so the next command
“ping-pongs” to the other data buffer. Each new message
to the subaddress or mode code overwrites message data
and information words written two messages back. The
DPB bit does not toggle when a message ends in error, or if
the command was illegal, or if Busy status applied for the
received command. In these cases, the next command will
overwrite the same buffer. Figure 11 is a general illustration
of ping-pong buffer mode. Figure 12 shows a specific
example.
PING-PONG ENABLE / DISABLE HANDSHAKE
Because ping-pong messages and host buffer servicing
are asynchronous, there is potential for “data collision”.
Here is a data collision example: The host reads data from
an earlier message while the device simultaneously writes
new message data to the same buffer. The host reads a
mix of new and old message data. Collisions can occur for
both transmit and receive messages.
A handshake scheme lets the external host
asynchronously service ping-pong data buffers without
data collision. To off-load or load a subaddress (or mode
code) buffer, the application software performs the
following sequence:
(a) Host asserts the Control Word STOPP bit to suspend
ping-pong operation for the subaddress. When the device
recognizes STOPP bit assertion, it negates the PPON bit
HOLT INTEGRATED CIRCUITS
52
HI-6120, HI-6121
PING-PONG DATA BUFFERING, Cont.
Data Word 32
Data Words 2-31
Data Word 1
Broadcast Message
(if NOTICE2 is asserted)
Data Word 32
Time-Tag Word
Data Words 2-31
Message Info Word
Subaddress
Buffer Space
for Broadcast
(Optional)
Data Word 1
Message #2
Message #4
Message #6
etc.
Time-Tag Word
Message Info Word
Assigned
Subaddress
Data Buffer B
B’cast Data Pointer
Increasing
Memory
Address
Data Pointer B
Data Pointer A
Data Word 32
Control Word
Data Words 2-31
Data Word 1
Descriptor Block
for Subaddress
Time-Tag Word
Message #1
Message #3
Message #5
etc.
Message Info Word
Assigned
Subaddress
Data Buffer A
Memory Address for the Applicable
Subaddress Block is Derived From
the Decoded Command Word
Figure 11. Illustration of Ping-Pong Buffer Mode
Message processing alternates between Data Buffers A and B. Upon successful message completion, the DPB bit in
Descriptor Control Word is updated so next message uses other buffer. Buffers are overwritten every other message.
Separate buffer for broadcast messages is optional. There is no alternate buffer for successive broadcast messages.
HOLT INTEGRATED CIRCUITS
53
HI-6120, HI-6121
PING-PONG DATA BUFFERING, Cont.
to acknowledge ping-pong is disabled. While PPON
remains low, the last written (or read) data buffer is
protected against device updates. During this time, new
messages use the active buffer indicated by the Control
Word DPA bit. Recurring messages repeatedly use the
same buffer until ping-pong resumes.
(b) Host services the last-used data buffer. If the Control
Word DPB bit equals logic 1, the last command used Buffer
A. The host application software off-loads or loads inactive
Buffer A while the remote terminal uses active Buffer B for
new message(s). If the DPB bit equals logic 0, the last
command used Buffer B. The host application software offloads or loads inactive Buffer B while the remote terminal
uses active Buffer A for any new messages. Each new
receive message overwrites buffer contents from the last
receive message. To avoid possible data loss, host buffer
servicing should be timed for completion before a second
message can occur.
(c) Host negates the Control Word STOPP bit to resume
ping-pong operation for the subaddress. When the RT
recognizes the STOPP bit is reset, it sets the PPON bit to
acknowledge ping-pong is again active. As long as PPON
remains set, the device alternates between data buffers A
and B for new messages.
BROADCAST MESSAGE HANDLING
IN PING-PONG MODE
For MIL-STD-1553B Notice II compliance, a remote
terminal should be capable of storing data from broadcast
messages separately from non-broadcast message data.
Some applications may not include this requirement. The
standard does not stipulate where data separation should
occur (e.g., within the RT or within the external host) so the
device provides alternative strategies.
When the NOTICE2 bit in Configuration Register 1 is 1 and
the BCSTINV bit is 0, ping-pong mode subaddresses (or
mode codes) will buffer data words from broadcast and
non-broadcast messages separately. Broadcast message
information and data are stored in the broadcast data
buffer; non-broadcast message information and data are
stored in ping-pong buffers A and B. Since there is just one
broadcast data buffer, the NOTICE2 option treats
broadcast messages as exceptions to normal ping-pong
mode. When using the NOTICE2 option, broadcast data
buffer servicing should have high priority, because a
closely following broadcast message will overwrite the
broadcast buffer.
Every mode command and subaddress (including
transmit subaddresses) must have an assigned valid
broadcast data pointer when NOTICE2 is asserted.
When the NOTICE2 bit in Configuration Register 1 is 1 and
the BCSTINV bit is 0, reception of a broadcast-transmit
message updates the Message Information and Time-Tag
Words for the assigned broadcast buffer, but no data is
transmitted on the bus. Since broadcast-transmit is not
allowed, multiple transmit subaddresses may share a
common “bit bucket” broadcast buffer. A two word buffer is
sufficient for storing the MIW and Time-Tag Word.
When using ping-pong mode, there are two ways to handle
broadcast messages, when broadcast is enabled:
Option 1 for Ping-Pong Mode Broadcast Messages:
This option isolates broadcast message information in the
broadcast data buffer. If the descriptor Control Word IBRD
bit and Interrupt Enable Register IBRD bit are both set,
reception of broadcast messages generates an INTMES
host interrupt. To prevent data loss, the broadcast data
buffer must be serviced before the next broadcast
message occurs. Broadcast messages do not affect nonbroadcast message ping-pong; the Control Word DPB bit
does not toggle after broadcast message completion.
Option 1 Setup: At initialization, host asserts the
NOTICE2 bit in Configuration Register 1 and sets the IBRD
(Interrupt Broadcast Received) bit in descriptor Control
Word(s). The IBRD bit is asserted in the Interrupt Enable
Register.
When a broadcast command is received, message
information and data is stored in the broadcast data buffer
and an INTMES interrupt is generated. The host must read
the Interrupt Log to determine the originating subaddress
(or mode code), then service the broadcast data buffer for
that subaddress (or mode code) before another broadcast
message to the same subaddress (or mode code) arrives.
Option 2 for Ping-Pong Mode Broadcast Messages:
The second alternative stores both broadcast and nonbroadcast message information in the ping-pong data
buffers A and B. IWA interrupts can signal arrival of any
new message. The RT handles broadcast messages just
like non-broadcast messages, except the Message
Information Word BCAST bit is asserted to identify
broadcast messages during host buffer servicing. All
messages toggle the Control Word DPB bit in message
post-processing. For Notice II compliance, separation of
broadcast and non-broadcast data occurs within the host.
Option 2 Setup: At initialization, host negates the
NOTICE2 bit in Configuration Register 1. If IWA interrupts
are used, the host asserts the descriptor Control Word IWA
(Interrupt When Accessed) bit 14 and the corresponding
bit is asserted in the Interrupt Enable Register. Using this
option, the IBRD interrupt is probably not used.
The host typically services the ping-pong data buffers A
and B whenever a message is transacted. Using the setup
above, this occurs whenever the subaddress IWA interrupt
generates an INTMES interrupt output for the host. The
host must read the Interrupt Log to determine the
originating subaddress or mode code. The applicable data
buffer is indicated by the DPB bit in the Receive Control
Word. The Message Information Word BCAST bit is
asserted if the message was broadcast.
HOLT INTEGRATED CIRCUITS
54
HI-6120, HI-6121
PING-PONG DATA BUFFERING, Cont.
Data Word 32
Data Words 2-31
Assigned
Subaddress
Broadcast
Data Buffer
0x0546
Time-Tag Word BC
0x0545
Msg Info Word BC
0x0544
Data Word 32
0x0543
Device sets Control Word BCAST bit
(DPB bit remains static)
IBRD interrupt is generated
Receive Message #2
Broadcast, 32 Data Words
Device resets Control Word
DPB and BCAST bits
0x0525 - 0x0542
Data Word 1
0x0524
Time-Tag Word B
0x0523
Msg Info Word B
0x0522
Receive Message #3
Non-Broadcast, 32 Data Words
Data Word 32
0x0521
Device sets Control Word DPB bit
Data Words 2-31
Assigned
Subaddress
Data Buffer A
0x0547 - 0x0564
Data Word 1
Data Words 2-31
Assigned
Subaddress
Data Buffer B
0x0565
0x0503 - 0x0520
Data Word 1
0x0502
Time-Tag Word A
0x0501
Msg Info Word A
0x0500
RAM
Address
Receive Message #1
Non-Broadcast, 32 Data Words
Message #4 also uses
this buffer, if not broadcast
Increasing
Memory
Address
B’cast Data Pointer
Broadcast Data Pointer = 0x0544
start address in RAM
Data Pointer B
Data Pointer B = 0x0522
Buffer B start address in RAM
Data Pointer A
Data Pointer A = 0x0500
Buffer A start address in RAM
Control Word
Control Word = 0x2010
Ping-Pong Mode, IBRD Interrupt
Initialized Descriptor Values
Descriptor Block
for a
Receive Subaddress
Figure 12. Ping-Pong Buffer Mode Example for a Receive Subaddress
Following reset (which resets Control Word DPB bit), the subaddress transacts 4 commands of 32 data words each.
The NOTICE 2 option is enabled so the device segregates data from broadcast and non-broadcast messages.
Message #2 is a broadcast command, while the other three messages are non-broadcast. Notice that the broadcast
message does not affect DPB bit, but the following message resets BCAST bit. The interspersed broadcast command
does not affect alternation between Buffer A and Buffer B.
HOLT INTEGRATED CIRCUITS
55
HI-6120, HI-6121
INDEXED DATA BUFFERING
INDEXED DATA BUFFER MODE
Also called “single buffer mode”, indexed buffering is one
method for storing message and time-tag information and
data associated with messages. Buffer mode is selected
for each subaddress or mode code in the Descriptor Table
Control Words. Indexed mode is enabled when Control
Word PPEN, CIR1EN and CIR2EN bits are all zero.
When a subaddress or mode command uses the indexed
data buffer mode, its 4-word descriptor block in the
Descriptor Table is defined as follows:
Descriptor Word 1
Descriptor Word 2
Descriptor Word 3
Descriptor Word 4
Control Word
Data Pointer A
INDX Index Word
Broadcast Data Pointer
If Descriptor Word 1 is stored at memory address N,
Descriptor Word 2 is stored at address N+1, and the other
two words are stored at addresses N+2 and N+3.
As the name implies, all message information and data is
stored in a single buffer, indexed by descriptor word Data
Pointer A. The descriptor Control Word DPB bit is “don’t
care”. The host initializes the desired message count in
descriptor INDX word. During message processing, the
device retrieves or stores data words from the address
specified by descriptor Data Pointer A, automatically
incrementing the pointer address as words are read or
stored. Data Pointer A is updated during command postprocessing with the current buffer address unless the
message index count in descriptor INDX (word 3 of
Data Word N
Data Word(s)
Increasing
Memory
Address
Data Word N
Data Word(s)
Data Word 1
Time-Tag Word
Next
Message
Message Info Word
Data Word 1
Data Word N
Time-Tag Word
Data Word(s)
Message Info Word
Subaddress
Buffer Space
for Broadcast
(Optional)
Broadcast
Message
if NOTICE2
is asserted
B’cast Data Pointer
Data Word 1
INDX Index Count
Time-Tag Word
Data Pointer A
Current
Message
Message Info Word
Data Word N
Control Word
Data Word(s)
Data Word 1
Descriptor Block
for Subaddress
Time-Tag Word
Preceding
Message
Memory Address for the Applicable
Subaddress Block is Derived From
the Decoded Command Word
Message Info Word
Assigned
Subaddress
Buffer Space
Upon successful message completion, if non-zero the INDX count in Descriptor Word 3 is decremented.
If decremented result is non-zero, Data Pointer A is adjusted so next message is stored above just-completed message.
If decremented INDX is zero, Data Pointer A remains static, and IXEQZ interrupt occurs if enabled in Control Word.
Figure 13. Illustration of Single-Buffer Indexed Mode
HOLT INTEGRATED CIRCUITS
56
HI-6120, HI-6121
INDEXED DATA BUFFERING, Cont.
descriptor block) decrements to zero upon completion of
the message. Figure 13 is a general illustration of indexed
single buffer mode. Figure 14 shows a specific example.
To set up a terminal subaddress to buffer multiple
messages, the host writes the desired index count (INDX)
to subaddress descriptor word 3. The initial INDX value
ranges from zero to 3FF hex (1023) messages. The device
decrements the INDX count each time an error-free
message is transacted, and the data pointer is updated to
the first memory address to be used for the next message.
If INDX decrements from one to zero and Control Word
IXEQZ bit 15 is asserted, the IXEQZ bit is set in the
Interrupt Pending Register. If the corresponding bit in the
Interrupt Enable Register is asserted, an INTMES interrupt
is generated when INDX decrements from one to zero.
INDX counter decrement does not occur if the command
was illegalized or if INDX already equals zero. Once INDX
equals zero, further commands will overwrite the lastwritten data buffer block and the data pointer value is not
updated after successful message completion.
When using Index Mode with a non-zero INDX value, the
host must remember the initial Data Pointer A address. The
Data Pointer A word is not automatically reinitialized to the
buffer start address when INDX decrements from 1 to 0.
SINGLE MESSAGE MODE
When Index Mode is initialized with an INDX value of zero,
the subaddress or mode code is operating in “Single
Message Mode”. Here, the same data block is repeatedly
over-read (for transmit data) or overwritten (for receive or
broadcast data). The DPA pointer is not updated at the end
of each message. The chief advantage of single message
mode is simplicity. In comparison to other data buffering
options, the single message buffer uses an absolute
minimum amount of memory space. The IXEQZ interrupt
cannot be used for this scheme (INDX is always zero) but
IWA interrupts may be used. Single message mode is best
suited to synchronous data transfer where the host
processor can reliably read or write new message data
prior to the start of the next message to the same
subaddress or mode code.
BROADCAST MESSAGE HANDLING IN INDEX MODE
For MIL-STD-1553B Notice II compliance, a remote
terminal should be capable of storing data from broadcast
messages separately from non-broadcast message data.
Some applications may not include this requirement. The
standard does not stipulate where data separation should
occur (e.g., within the RT or within the external host) so the
device supports alternative strategies.
When the NOTICE2 bit is logic 1 in Configuration Register
1, broadcast message data is stored in a broadcast data
buffer assigned for the subaddress or mode command.
Each subaddress or mode command must have an
assigned, valid non-zero broadcast buffer address.
Non-broadcast message data is stored in Data Buffer A.
There are two ways to deal with broadcast messages in
indexed buffer mode:
Option 1 for Index Mode Broadcast Messages:
The first alternative isolates broadcast message
information in the broadcast data buffer. If the descriptor
Control Word IBRD bit and Interrupt Enable Register IBRD
bit are both set, reception of broadcast messages
generates an INTMES interrupt to the host. The broadcast
data buffer must be processed before another broadcast
message arrives to prevent loss of data. Broadcast
messages do not decrement the INDX register, and Data
Pointer A is not updated in message post-processing. This
scheme may be well suited for Single Message Mode
(INDX = 0) when the host can reliably service either the
broadcast data buffer or data buffer A before the next
receive message arrives for the same subaddress (or
mode code).
Option 1 Setup: At initialization, host asserts NOTICE2 bit
in Configuration Register 1 and sets the Control Word
IBRD (Interrupt Broadcast Received) bit for each index
mode descriptor block. The IBRD bit is also asserted in the
Interrupt Enable Register.
When a broadcast command is received, message
information and data are stored in the broadcast data
buffer. If descriptor Control Word IBRD bit is set, an
INTMES interrupt is generated. The host must read the
Interrupt Log to determine the originating subaddress (or
mode code) then service the broadcast data buffer for that
subaddress (or mode code) before the next broadcast
message to the same subaddress (or mode code) arrives.
Option 2 for Index Mode Broadcast Messages:
The second alternative stores both broadcast and nonbroadcast message information in data buffer A. Optional
IBRD interrupts can signal arrival of broadcast messages.
The RT handles broadcast messages just like nonbroadcast messages, except the Message Information
Word BCAST bit is asserted to identify broadcast
messages during host buffer servicing. All messages
decrement the INDX register and Data Pointer A is updated
in message post-processing. This scheme is compatible
with Single Message Mode or conventional N-message
indexing. For Notice II compliance, separation of
broadcast and non-broadcast data occurs within the host.
Option 2 Setup: At initialization, host negates the
NOTICE2 bit in Configuration Register 1. If broadcast
interrupts are used, the Control Word IBRD (Interrupt
Broadcast Received) bit is asserted at each desired index
mode descriptor block . The IBRD bit is also asserted in the
Interrupt Enable Register.
Using option 2, the host has several options for servicing
data buffer A: (a) when INDX decrements from one to zero
(using the IXEQZ interrupt), (b) when a broadcast
message occurs (using the IBRD interrupt) or (c) when any
message arrives (using the IWA interrupt).
HOLT INTEGRATED CIRCUITS
57
HI-6120, HI-6121
INDEXED DATA BUFFERING, Cont.
For Message #2,
Index decrements to zero.
Data Pointer A = 0x0505 (static)
IXEQZ Interrupt is generated
Messages #2, #3, etc
Receive 4 Words
Message #1
Receive 3 Words
Increasing
Memory
Address
Data Word 4
0x050A
Data Word 3
0x0509
Data Word 2
0x0508
Data Word 1
0x0507
Time-Tag Word 2
0x0506
Msg Info Word 2
0x0505
Data Word 3
0x0504
Data Word 2
0x0503
Data Word 1
0x0502
Time-Tag Word 1
0x0501
Msg Info Word 1
0x0500
Assigned
Receive
Subaddress
Buffer
For Message #3 and beyond,
the data buffer is overwritten.
Index remains zero (static)
Data Pointer A = 0x0505 (static)
and no IXEQZ interrupt occurs.
Index decrements to one
Data Pointer A = 0x0505
Index equals two
RAM
Address
Don’t care
B’cast Data Pointer
Broadcast Data Pointer = 0xXXXX
INDX Index Count
Index = 0x0002
Initialize index for 2 messages
Data Pointer A
Data Pointer A = 0x0500
Buffer start address in RAM
Control Word
Control Word = 0x8000
Index Mode, IXEQZ Interrupt
Initialized Descriptor Values
Descriptor Block
for a
Receive Subaddress
Figure 14. Indexed Buffer Mode Example for a Receive Subaddress
Assume Broadcast not enabled
HOLT INTEGRATED CIRCUITS
58
HI-6120, HI-6121
CIRCULAR BUFFER MODE 1
CIRCULAR BUFFER MODE 1
The device offers two circular data buffer modes as
alternatives to ping-pong and indexed buffering. These
circular buffer options only apply for subaddress
commands, not mode code commands. Circular buffering
simplifies software servicing of the remote terminal when
implementing bulk data transfers. A circular buffer mode
can be selected for any subaddress by properly initializing
its descriptor Control Word. Circular Buffer Mode 1 is
selected when descriptor Control Word PPEN and
CIR2EN bits are both 0, and the CIR1EN bit is logic 1.
When a subaddress uses circular buffer mode 1, its four
word block in the Descriptor Table is defined as follows:
Descriptor Word 1
Descriptor Word 2
Descriptor Word 3
Descriptor Word 4
Control Word
SA (buffer start address)
CA (buffer current address)
EA (buffer end address)
If Descriptor Word 1 is stored at memory address N,
Descriptor Word 2 is stored at address N+1, and the other
two words are stored at addresses N+2 and N+3.
Figure 15 provides a generalized illustration of Circular
Buffer Mode 1, while Figure 16 shows a specific example.
Circular Buffer Mode 1 uses a single user-defined buffer
that merges all transmit or receive data, along with
message information. Two words (Message Information
and Time-Tag) are stored at the beginning of the block for
each message, followed by the message data word(s).
The Mode 1 buffer pointers roll over (are reset to their base
addresses) when the allocated data buffer memory is full.
For each valid receive message, the device enters a
Message Information word, Time-Tag word and data
word(s) into the circular receive buffer. For each valid
transmit message, the device enters a Message
Information word and a Time-Tag word into reserved
memory locations within the circular transmit buffer. The
device automatically controls the wrap around of circular
buffers.
Two pointers define circular buffer length: start of buffer
(lowest address) and end of buffer (highest address). User
specifies the start of buffer (SA) by writing the lowest
address value into the second word of a unique
subaddress descriptor block. The user defines the bottom
of the buffer (EA) by writing the highest address value to
the fourth word of that unique descriptor block. Both SA
and EA remain static during message processing. The
third word in the descriptor block identifies the current
address CA (i.e., last accessed address plus one). The
circular buffer wraps to the start address after completing a
message that results in CA being greater than or equal to
EA. If CA increments past EA during message processing,
the device will access memory addresses greater than the
EA value. Reserve 33 address locations past the EA
address to accommodate a worst-case 32 data word
message with a record starting at address = EA minus 1.
Each receive subaddress and transmit subaddress may
have a unique circular buffer assignment. The RT decodes
the command word T/R bit, subaddress field and word
count / mode code field to select the unique command
descriptor block containing the Control Word, SA pointer,
CA pointer and EA pointer.
For receive messages, the device stores the Message
Information word to the address specified by CA, the TimeTag word into CA+1 and the data into the next “N” locations
starting with CA+2. For transmit messages, the device
stores the Message Information word to the address
specified by CA and the Time-Tag word into CA+1.
Retrieval of data for transmission starts at address CA+2.
When entering multiple transmit command data packets
into the circular buffer, delimit each data packet with two
reserved memory locations. The device stores the
Message Information word and Time-Tag word into the
reserved locations when processing the command.
Message processing for all commands begins with the
device reading the unique descriptor block for the
subaddress or mode code specified by the T/R bit,
subaddress and word count fields in the received
command word.
For receive messages, the device stores “N” received data
words in the circular data buffer. The first data word
received is stored at the location specified by the CA
pointer +2. After message completion, the device stores
the Message Information word and Time-Tag words to
addresses CA and CA+1 respectively. If no errors were
detected, the device updates descriptor CA register. If the
next address location (last stored data word +1) is less
than or equal to EA, CA is updated to (last stored address
+1). If the next address location (last stored data word +1)
is greater than EA, the data buffer is full (or empty); CA is
updated to the SA value. If descriptor Control Word IXEQZ
bit is asserted (and if Interrupt Enable Register IXEQZ bit is
asserted) the device generates an interrupt to indicate full
receive buffer by asserting the INTMES interrupt output.
Although all messages store Message Information and
Time-Tag words, no data is stored if the message ended
with error, or if the Busy status bit was set or if the
commend was illegal (example: illegalized word count).
Such messages do not update CA, so the next message
overwrites the same buffer space.
For transmit commands, the device begins transmission of
data retrieving the first data word stored at address CA+2.
(Reminder: addresses CA and CA+1 are reserved for the
Message Information and Time-Tag words.) When
message processing is complete, the device writes the
Message Information and Time-Tag words into the buffer. If
no errors were detected, the device updates descriptor CA
register. If the next address location (last retrieved data
word +1) is less than or equal to EA, CA is updated to (last
retrieved address +1). If the next address location (last
retrieved data word +1) is greater than EA, the transmit
data buffer is empty; CA is updated to the SA value. If the
HOLT INTEGRATED CIRCUITS
59
HI-6120, HI-6121
CIRCULAR BUFFER MODE 1, Cont.
descriptor Control Word IXEQZ bit is asserted (and if the
Interrupt Enable Register IXEQZ bit is asserted) the device
indicates “transmit buffer empty” by asserting the INTMES
interrupt output.
Circular Buffer Mode 1 does not support NOTICE2
segregation of broadcast data, even when the NOTICE2
bit equals 1 in Configuration Register 1. Data from
broadcast and non-broadcast receive commands is stored
in the same buffer. The BCAST bit in the Message
Information Word reflects broadcast or non-broadcast
status for each stored message. If broadcast messages
are not expected during data block transmission, the host
can illegalize broadcast commands for the subaddress.
Broadcast illegalization can be done either permanently, or
only when data block transmission is scheduled.
not result in bus transmission. However these messages
update the Message Information Word addressed by the
Current Address (CA) pointer (and following Time-Tag
Word) but afterwards, the CA pointer remains
unchanged. The next transmit command to the same
subaddress, whether broadcast or not, overwrites the
Message Information and Time-Tag Word locations written
by the previous broadcast transmit command.
Data Word N
End
Address
Data Word(s)
Data Word 1
For transmit subaddresses using Circular Buffer Mode 1,
occurrences of broadcast-transmit commands to RT31 do
Time-Tag Word
Last Message
in Data Block
Message Info Word
More Messages
in Data Block
Data Word N
Data Word(s)
Data Word 1
Time-Tag Word
End Address
Current Address
Current
Message
Start Address
Message Info Word Current
Address
More Messages
in Data Block
Control Word
Data Word N
Descriptor Block
for Subaddress
Data Word(s)
Data Word 1
Time-Tag Word
Memory Address for the Applicable
Subaddress Block is Derived From
the Decoded Command Word
First Message
in Data Block
Start
Message Info Word Address
Increasing
Memory
Address
Assigned
Subaddress
Circular
Data Buffer
Figure 15. Illustration of Circular Buffer Mode 1
Descriptor block is initialized so Current Address equals buffer Start Address. After each successful message
transaction, Current Address is adjusted to point past last data word accessed. If adjusted Current Address points
past End Address, the Current Address is reinitialized to match Start Address and an optional interrupt is
generated to notify host that the pre-determined data block was fully transacted.
HOLT INTEGRATED CIRCUITS
60
HI-6120, HI-6121
CIRCULAR BUFFER MODE 1, Cont.
Data Word 32
Data Words 2-31
Buffer End
Address
0x0546
Time-Tag Word 3
0x0545
Msg Info Word 3
0x0544
Data Word 32
0x0543
0x0524
Time-Tag Word 2
0x0523
Msg Info Word 2
0x0522
Data Word 32
0x0521
Data Word 1
0x0502
Time-Tag Word 1
0x0501
Msg Info Word 1
0x0500
End Address
Current Address
(1 + Data Word 32 address) < End Address.
Device updates Current Address to 0x0544.
Receive Message #2
32 Data Words
(1 + Data Word 32 address) < End Address.
Device updates Current Address to 0x0522.
0x0503 - 0x0520
RAM
Address
Increasing
Memory
Address
Receive Message #3
32 Data Words
0x0525 - 0x0542
Data Word 1
Data Words 2-31
Buffer Start
Address
0x0547 - 0x0564
Data Word 1
Data Words 2-31
(1 + Data Word 32 address) ³ End Address.
Device updates Current Address to
equal the Start Address, 0x0500.
IXEQZ interrupt is generated.
0x0565
Receive Message #1
32 Data Words
Unless serviced by host
after Message #3 Interrupt,
Message #4 will overwrite
buffer, starting at 0x0500
End Address = 0x0546
Buffer end address in RAM
Current Address = 0x0500 Buffer current address in RAM
Start Address
Start address = 0x0500
Buffer start address in RAM
Control Word
Control Word = 0x8001
Circular Mode 1, IXEQZ Interrupt
Initialized Descriptor Values
Descriptor Block
for a
Receive Subaddress
Figure 16. Circular Buffer Mode 1 Example for a Receive Subaddress
Unlike Indexed mode, Data Block completion is based on Buffer Full / Buffer Empty, not number of messages.
Buffer size was purposely sized to yield remaining capacity after 2 full-count messages, to illustrate device behavior.
The circular buffer should have a 33-word pad beyond its End Address to deal with buffer overrun without data loss.
HOLT INTEGRATED CIRCUITS
61
HI-6120, HI-6121
CIRCULAR BUFFER MODE 2
CIRCULAR BUFFER MODE 2
Circular Buffer Mode 2 segregates message data and
message information in separate host-defined buffers.
Separating data from message information simplifies the
host software that loads or unloads the data to or from the
buffer. After a predetermined number of messages has
been transacted, buffer address pointers for data and
message information are automatically reset to their base
addresses. Figure 17 is a generalized illustration of
Circular Buffer Mode 2, while Figure 18 shows a specific
example.
Circular Buffer Mode 2 is selected when the Control Word
PPEN bit is zero and the CIR2EN bit is logic 1. When the
CIR2EN bit is high, the CIR1EN bit is don't care. The
descriptor Control Word DPB bit is not used.
Any receive subaddress using circular buffer mode 2 has
two circular buffers: a data storage buffer and a message
information buffer. A separate buffer pair may be used for
transmit commands to the same subaddress, if it also uses
circular buffer mode 2. Each transmit and receive
subaddress using circular buffer mode 2 may have unique
data buffer and message info buffer assignments. Careful
management (involving the bus controller) may allow
buffer sharing, as long as multiple message sequences to
a given subaddress are not interrupted by messages to
other subaddresses that use the same buffer space.
When a subaddress uses circular buffer mode 2, its
Descriptor Table 4-word block is defined as follows:
Descriptor Word 1
Descriptor Word 2
Descriptor Word 3
Descriptor Word 4
Control Word
SA Buffer start address
CA Buffer current address
MIBA Message Info Buffer addr
If Descriptor Word 1 is stored at memory address N,
Descriptor Word 2 is stored at address N+1, and the other
two words are stored at addresses N+2 and N+3. The first
word in the descriptor block is the Control Word. The
second and third words in the descriptor are the Start
Address (SA) and Current Address (CA) pointers. The
Message Information Buffer Address (MIBA) points to the
storage location for the Message Information Word from
the next occurring message.
Each time a message is completed, the device writes a
new Message Information Word and Time-Tag Word in the
MIB (Message Information Buffer) at the MIBA address
and following location, respectively. The MIBA pointer is
not updated if message error occurred, if the Busy status
bit was set, or if the command was illegalized (for example
an illegal word count expressed in the command word.)
For these situations, the Message Information and TimeTag words are still written, but MIB updates for the
following message will overwrite the just-written Message
Information and Time-Tag word addresses.
For error-free receive messages, received data words are
stored in the data buffer after message completion,
starting at the CA address value. The CA value is then
updated for next-message readiness.
After writing the two MIB words, the device updates the
MIBA value to show the buffer address to be used by the
next message. Until the predetermined number of errorfree messages is transacted, the MIBA value is doubleincremented at each update. Before updating the MIBA in
Descriptor Word 4, the pre-existing MIBA value is
incremented once then checked for ‘full count,” occurring
when all N low-order address bits initialized to zero
(explained below) become N “one” bits. Full count means
the predetermined number of successful messages was
completed. When this occurs, the CA and MIB pointers are
automatically written to their initialized values by the
device.
To preserve data integrity, the TRXDB bit should be set in
Control Register 2 to avoid storing incomplete data from
Number
of
Messages
—————
Control Word
Bits 7:4
CIR2ZN Field
———————
Required
Data Space, if
32 Words / Msg
———————
Required
MIB Space,
2 Words / Msg
———————
2
4
8
16
32
64
128
256
512
0010 (2)
0011 (3)
0100 (4)
0101 (5)
0110 (6)
0111 (7)
1000 (8)
1001 (9)
1010 (A)
64
128
256
512
1,024
2,048
4,096
8,192
16,384
4
8
16
32
64
128
256
512
1,024
Table 1. Circular Buffer Mode 2
Initialization Factors Based on Message Block Size
HOLT INTEGRATED CIRCUITS
62
Initial MIBA Value,
Showing the Required
Leading & Trailing Zeros
——————————
(14 address bits)
0xxxxxxxxxxxx00
0xxxxxxxxxxx000
0xxxxxxxxxx0000
0xxxxxxxxx00000
0xxxxxxxx000000
0xxxxxxx0000000
0xxxxxx00000000
0xxxxx000000000
0xxxx0000000000
HI-6120, HI-6121
CIRCULAR BUFFER MODE 2, Cont.
messages resulting in error. With TRXDB asserted, the
host is not bothered by message retries caused by errors.
The Buffer Empty/Full interrupt (if enabled) is generated
only upon successful transaction of the entire N-message
data block.
To initialize Circular Buffer Mode 2, the host must know the
number of messages to be transacted, always a power of
two: 1, 2, 4, 8, 16, 32, 64, 128, 256 or 512 messages. The
host writes descriptor Control Word bits 7:4 with an
encoded 4-bit value to set the fixed number of messages to
be transacted. See Table 1. The host initializes the
descriptor block MIBA pointer with a Message Information
Buffer starting address. Because the MIB stores two words
for each message, the allocated MIB space should equal
2x the number of messages.
The initially-loaded MIB base address value is restricted.
Some lower bits of the starting address must be zero so the
device can restore the MIBA pointer to the initial MIB base
address after the predetermined message count is
transacted. The required number of logic-0 bits depends
on the message count. See Table 1. Initializing the MIBA
base address with more trailing zeros than indicated is
acceptable; initializing less trailing zeros will cause
malfunction.
Allocated space in the data buffer (column 3 in Table 1)
assumes each message has the maximum 32 data words.
If messages contain less than 32 words, the data buffer
size can be reduced. Since Circular Buffer Mode 2 counts
messages, values in all remaining Table 1 columns remain
valid when message word count is reduced.
Data Word N
Time-Tag Word
Message Info Word
Last Message
in Data Block
Last Message
in Data Block
Increasing
Memory
Address
Time-Tag Word
Message Info Word
Data Word(s)
Data Word 1
Data Word N
Current
Message
Data Word(s)
MIB Address
Current
Message
Current Address
Data Word 1
Current
Address
Start Address
Time-Tag Word
Message Info Word
Assigned
Subaddress
Message Info Buffer
(MIB)
Control Word
First Message
in Data Block
Data Word N
Descriptor Block
for Subaddress
Data Word(s)
First Message
in Data Block
Memory Address for the Applicable
Subaddress Block is Derived From
the Decoded Command Word
Data Word 1
Start
Address
Assigned
Subaddress
Circular
Data Buffer
Figure 17. Illustration of Circular Buffer Mode 2
Segregated storage for data and message information simplifies host loading / offloading of buffered data.
Descriptor MIB Address tracks number of messages. Full count occurs when N initialized 0-bits become N 1-bits.
When full number of messages in block is transacted, an optional interrupt is generated to notify host.
HOLT INTEGRATED CIRCUITS
63
HI-6120, HI-6121
CIRCULAR BUFFER MODE 2, Cont.
The host may read the MIBA value to determine the
number of messages that have occurred since
initialization. By reading the initially-zeroed lower bits of
the MIB Address, the host may determine the number of
the next occurring message.
From Table 1, a block of 128 messages requires 8 trailing
zeros in the initial MIBA address, for example, 0x0F00.
After each message is completed, the MIBA value is
updated (0x0F02, 0x0F04, etc.) The device detects
message block completion when all required initially-zero
trailing address bits equal 1 after MIBA is incremented
once. In our example, MIBA would increment from 0x0FFE
to 0x0FFF. When “full count” occurs, the device updates
MIBA to the original value (e.g., 0x0F00) and copies the SA
starting address value to CA current address register,
ready for buffer service by the host. The device optionally
generates a “buffer empty-full” interrupt for the host when
block transfer is completed.
During block transfer, the host can read the MIBA value to
determine the number of additional messages needed
before the N-message data block is complete.
Message processing for all commands begins with the RT
reading the unique descriptor block for the subaddress
specified by the T/R bit, subaddress and word count fields
in the received command word.
For receive subaddresses using Circular Buffer Mode 2,
the device stores received data words in the circular data
buffer. The first data word received for each message is
stored at the location indicated by the CA pointer. After the
correct number of words is received (as specified in the
command word) the device writes Message Information
and Time-Tag words in the Message Information Buffer
then updates the descriptor CA Current Address and MIBA
Message Information pointers for next-message
readiness. If the predetermined total number of messages
has not yet been transacted, MIBA points to the next
location in the message information buffer and CA points to
the next location in the data buffer. If the completed
message is the last message in the block, the CA current
(data) address and MIBA message Information pointers
are reinitialized to their base address values. (Control
Word bits 7:4 tell the device how many MIBA lower bits to
reset.) If the descriptor Control Word IXEQZ bit is asserted
(and if the Interrupt Enable Register IXEQZ bit is asserted)
the device generates a Buffer Full / Empty interrupt,
asserting the INTMES interrupt output.
For transmit subaddresses using Circular Buffer Mode 2,
the device transmits data from the assigned RAM buffer,
starting at the location specified by the CA pointer. The first
data word transmitted is stored at the location specified by
the CA pointer. After all data words are transmitted (as
specified in the command word) the device writes
Message Information and Time-Tag words in the Message
Information Buffer then updates the descriptor CA Current
Address and MIBA Message Information pointers for nextmessage readiness. If the predetermined total number of
messages has not yet been transacted, MIBA points to the
next location in the message information buffer and CA
points to the next location in the data buffer. If the
completed message is the last message in the block, the
CA current (data) address and MIBA message Information
pointers are reinitialized to their base address values.
(Control Word bits 7:4 tell the device how many MIBA lower
bits to reset.) If the descriptor Control Word IXEQZ bit is
asserted (and if the Interrupt Enable Register IXEQZ bit is
asserted) the device generates a Buffer Full / Empty
interrupt, asserting the INTMES interrupt output.
Circular Buffer Mode 2 does not support NOTICE2
segregation of broadcast data, even when the NOTICE2
bit equals 1 in Configuration Register 1. Data words from
broadcast receive commands are stored in the same
buffer with data from non-broadcast receive commands.
The BCAST bit in the Message Information Word reflects
broadcast or non-broadcast status for each stored
message. If broadcast messages to the subaddresss are
not expected during data block transmission or will result in
data block error, the host can illegalize broadcast
commands for the subaddress, either permanently or only
when block transmission is scheduled.
For transmit subaddresses using Circular Buffer Mode 2,
occurrences of broadcast-transmit commands to RT31 do
not result in bus transmission. However these messages
update the Message Information Word addressed by the
Message information Block (MIB) pointer (and the
following Time-Tag Word) but afterwards, the MIB and
CA pointers remain unchanged. The next transmit
command to the same subaddress, whether broadcast or
not, overwrites the Message Information and Time-Tag
Word locations written by the previous broadcast transmit
command.
HOLT INTEGRATED CIRCUITS
64
HI-6120, HI-6121
CIRCULAR BUFFER MODE 2, Cont.
0x0561 - 0x057E
Msg Count increments to 4,
full count, data block complete.
Device updates CA to equal
buffer Start Address 0x0500.
Device updates MIBA to equal
MIB Start Address 0x0600.
IXEQZ interrupt is generated.
Data Word 1
0x0560
Receive Message #4
32 Data Words
Data Word 32
0x055F
Data Word 32
Data Words 2-31
0x057F
Time-Tag Word 4
0x0607
Data Words 2-31
Msg Info Word 4
0x0606
Data Word 1
0x0540
Time-Tag Word 3
0x0605
Data Word 32
0x053F
Msg Info Word 3
0x0604
Data Words 2-31
Time-Tag Word 2
0x0603
Data Word 1
0x0520
Msg Info Word 2
0x0602
Data Word 32
0x051F
Time-Tag Word 1
0x0601
Data Words 2-31
Msg Info Word 1
0x0600
Data Word 1
0x0521 - 0x053E
0x0501 - 0x051E
0x0500
Msg Count increments to 2.
Device updates CA to 0x0540
and updates MIBA to 0x0604.
Receive Message #2
32 Data Words
Msg Count increments to 1.
Device updates CA to 0x0520
and updates MIBA to 0x0602.
Receive Message #1
32 Data Words
RAM
Address
RAM
Address
Message
Information
Buffer (MIB)
Data Word
Buffer
MIB Address
MIB Address = 0x0600
MIB start address in RAM
Current Address = 0x0500 Buffer current address in RAM
Current Address
Increasing
Memory
Address
0x0541 - 0x055E
Msg Count increments to 3.
Device updates CA to 0x0560
and updates MIBA to 0x0606.
Receive Message #3
32 Data Words
Start Address
Start address = 0x0500
Buffer start address in RAM
Control Word
Control Word = 0x8042 Circular Mode 2, 4 messages, IXEQZ Interrupt
Initialized Descriptor Values
Descriptor Block
for a
Receive Subaddress
Figure 18. Circular Buffer Mode 2 Example for a Receive Subaddress
Data Block completion is based on number of messages, not Buffer Full or Buffer Empty.
Example is set to successfully transact four 32 data word receive messages, then generate IXEQZ interrupt for host.
The data buffer requires minimal processing by host because message information words are stored separately in MIB.
HOLT INTEGRATED CIRCUITS
65
HI-6120, HI-6121
MODE COMMAND PROCESSING
GENERAL CONSIDERATIONS
The device provides decoding for all mode code
combinations, consistent with MIL-STD-1553B
requirements. Several mode command options are
provided to suit any application requirement:
Note: Mode command MC0 “dynamic bus control”
cannot be implemented in the device since the HI-6120
cannot act as a Bus Controller. Therefore, the “dynamic
bus control acceptance” status bit cannot be set in the
outgoing status word from this device.
In Configuration Register 1, the option bit UMCINV
(Undefined Mode Codes Invalid) globally defines whether
undefined mode code commands are treated as valid
(default) or invalid commands. This bit applies only to the
following 22 mode code commands that are undefined in
MIL-STD-1553B:
MODE COMMAND INTERRUPTS
For mode commands, interrupt generation is programmed
by the top three bits in the descriptor table Control Word.
Notice that broadcast-transmit interrupts can be enabled
for mode code values in the range of 0 - 15, but broadcasttransmit mode codes 16 - 31 are not allowed. When a
mode command is received and the IWA interrupt bit is
asserted in its descriptor Control Word, that command will
generate a host interrupt if the IWA bit is high in the
Interrupt Enable Register. The IWA bit is asserted in the
Pending Interrupt Register and the INTMES interrupt
output is asserted.
Mode Codes 0 through 15 with T/R bit = 0
Mode Codes16, 18 and19 withT/R bit = 0
Mode Codes 17, 20 and 21 with T/R bit = 1
If the UMCINV bit is low (default after MR reset) undefined
mode code commands are considered valid and RT
response is based on individual mode command settings
in the Illegalization Table: If the command’s table bit equals
0, the mode command is legal; the RT responds “in form”
and updates status. If the command’s table bit equals 1 the
mode command is illegal, the RT asserts Message Error
status and (if non-broadcast) transmits only its Status
Word without associated data word. The table below
describes explicit terminal response for each mode code
value and command T/R bit state, based on various option
settings.
If UMCINV is asserted, the 22 undefined mode code
commands are treated as invalid: There is no terminal
recognition of the command. No command response
occurs and status remains unchanged for the benefit of
following “transmit status” or “transmit last command”
mode commands.
If UMCINV is low, the device determines legal vs. illegal
status of commands from the Illegalization Table. If the
terminal does not use illegal command detection, the
Illegalization Table should be left in its post-reset default
state, all values equal logic 0. In this case, the terminal
provides “in form” response to all valid commands. The
terminal responds with clear status and a transmitted
mode data word for mode commands 16-31 with T/R bit
equals 1. Assigned data buffer locations can be initialized
to provide predictable “in form” responses for all transmit
mode codes 16-31. (If UMCINV is asserted, the terminal
will not respond or update status for received mode codes
17, 20 and 21 with T/R = 1.)
To use illegal command detection, the host modifies the
Illegalization Table to make illegal any combination
subaddress and mode code commands. This may include
undefined mode codes, reserved mode codes, and/or
mode codes not implemented in the application.
Before INTMES interrupt assertion, the device updates the
Interrupt Log buffer, writing a new IIW Interrupt Information
Word and a new IAW Interrupt Address Word. The IWA
(interrupt when accessed) bit is asserted in the new IIW to
indicate interrupt type. The IAW contains the Descriptor
Table address for the mode command’s Control Word,
based on mode code value and command word T/R bit
state. The host reads the IAW to determine the command
that caused the interrupt.
MODE COMMAND DATA WORDS
Mode commands having mode code values from 0 through
15 (decimal) do not have an associated data word. These
are received as Command Word only, never having a
contiguous data word. The terminal response to valid
mode commands 0-15 always consists of Status Word
only, assuming command was not broadcast.
Mode commands having mode code values from 16
through 31 (decimal) always have an associated data
word. When the command word T/R bit equals 0, the
terminal receives a data word, contiguously following the
Command Word. When valid legal mode commands 1631 arrive with T/R bit equal to 1, the terminal responds by
transmitting its status word with a single data word.
When the SMCP option bit in Configuration register 1 is
zero, individual data words for mode codes 16-31 decimal
are stored in an indexed or ping-pong buffer assigned by
the mode command’s Descriptor Table entry. Circular
buffer methods are not available for mode code
commands.
When the SMCP option bit in Configuration register 1 is
asserted, individual data words for mode codes 16-31
decimal are stored within the Descriptor Table itself. This is
explained next.
HOLT INTEGRATED CIRCUITS
66
HI-6120, HI-6121
MODE COMMAND PROCESSING, Cont.
MODE CODE COMMAND SUMMARY
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Command
T/R Bit
Mode Code
Binary Dec.
MIL-STD-1553B
Defined Function
Associated
Data Word
Broadcast
Allowed
See
Note
0
00000
to
01111
0
to
15
Undefined Mode Commands 0 -15
with T/R bit equal to 0
No
No
(1)
1
1
1
1
1
1
1
1
1
00000
00001
00010
00011
00100
00101
00110
00111
01000
0
1
2
3
4
5
6
7
8
Dynamic Bus Control
Synchronize (without data)
Transmit Status Word
Initiate Self-Test
Transmitter Shutdown
Override Transmitter Shutdown
Inhibit Terminal Flag
Override Inhibit Terminal Flag
Reset Remote Terminal
No
No
No
No
No
No
No
No
No
No
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
1
01001
to
01111
9
to
15
Reserved Mode Commands 9 - 15
with T/R bit equal to 1
No
Yes
(2)
0
1
10000
10000
16
16
Undefined Mode Command
Transmit Vector Word
Yes
Yes
No
No
(1)
0
1
10001
10001
17
17
Synchronize With Data
Undefined Mode Command
Yes
Yes
Yes
No
0
1
10010
10010
18
18
Undefined Mode Command
Transmit Last Command
Yes
Yes
No
No
(1)
0
1
10011
10011
19
19
Undefined Mode Command
Transmit Built-In Test Word
Yes
Yes
No
No
(1)
0
1
10100
10100
20
20
Selected Transmitter Shutdown
Undefined Mode Command
Yes
Yes
Yes
No
(1)
0
1
10101
10101
21
21
Override Selected Transmitter Shutdown
Undefined Mode Command
Yes
Yes
Yes
No
(1)
0
01001
to
01111
22
to
31
Reserved Mode Commands 22 - 31
with T/R bit equal to 0
Yes
Yes
(2)
1
01001
to
01111
22
to
31
Reserved Mode Commands 22 - 31
with T/R bit equal to 1
Yes
No
(2)
(1)
(1) The 22 undefined mode commands can be rendered invalid by setting the UMCINV (undefined mode codes invalid) option bit in
Configuration Register1. If UMCINV is asserted, there is no recognition of the undefined command by the terminal. If UMCINV is zero,
the commands are considered valid. Terminal response when UMCINV equals 0 is wholly determined by the Illegalization Table:
a) If a command’s bit in the Illegalization Table equals zero, the terminal responds “in form” with Clear Status. Mode commands
17, 20 and 21 are undefined when T/R bit equals one, but will transmit a contiguous data word. Mode commands 16, 18 or 19 are
undefined when T/R bit equals 0, but will receive a contiguous data word.
b) If a command’s bit in the Illegalization Table equals one, the command is considered illegal. The Message Error (ME) status bit
is asserted and the terminal transmits status without data word. Illegal mode commands 16-31 will not transmit or receive a mode
data word.
(2) Response to the reserved mode commands is fully defined by Illegalization Table settings. As described in (a) and (b) above, the
terminal illegalizes any reserved mode command having Illegalization Table bit equal to 1, and responds “in form” when the Table bit
equals zero. The “in form” response for reserved mode commands 16 through 31 transacts a received or transmitted data word.
HOLT INTEGRATED CIRCUITS
67
HI-6120, HI-6121
MODE COMMAND PROCESSING, Cont.
STANDARD MODE COMMAND PROCESSING
Data buffer options for mode commands differ from buffer
options for subaddress commands. Mode commands can
use ping-pong buffering or indexed buffering. When mode
commands use indexed buffers, “single message mode”
(INDX = 0) is recommended. When using indexed or pingpong buffers for mode commands:
For mode commands without associated data word
(mode codes 0-15 decimal), only the Message
Information and Time-Tag words are updated in the
mode command’s assigned data buffer in RAM.
For mode commands 16-31 (decimal) that receive a
data word, indexed and ping-pong buffer methods
copy the received mode data word to the mode
command’s assigned data buffer in shared RAM, after
the message is transacted. The Message Information
and Time-Tag words are also updated.
For most mode commands 16-31 (decimal) that
transmit a data word, the device reads the data word
for transmit from the buffer location assigned in the
Descriptor Table. Exceptions occur for MC18 “transmit
last command” and for MC19 “transmit BIT word.” The
MC18 data word is automatically provided by the
device, based on recent command transactions. The
MC19 data word comes from register 0x14 or 0x15,
depending on the state of the ALTBITW option in
Configuration Register 2. For both MC18 and MC19,
the transmitted data word is automatically recorded in
the mode command’s assigned data buffer in RAM,
after message completion. The Message Information
and Time-Tag words are also updated.
SIMPLIFIED MODE COMMAND PROCESSING
Mode commands have a buffer alternative that is
unavailable for subaddress commands. The SMCP bit in
Configuration Register 1 selects Simplified Mode
Command Processing, a global option applying to all
mode commands. When the SMCP bit is high, mode
command descriptor blocks (in the Descriptor Table) do
not contain data pointers to reserved buffers elsewhere in
the shared RAM. Instead, each 4-word descriptor block
itself contains the message information word, the time-tag
word and the data from the most recent occurrence of each
mode command:
Descriptor Word 1
Descriptor Word 2
Descriptor Word 3
Descriptor Word 4
Mode command Control Word.
Message Information Word.
Time-Tag Word.
Mode Data Word.
Descriptor Word 1 contains the receive or transmit mode
command Control Word. When SMCP is used, just two
Control Word bits are used: DBAC (descriptor block
accessed) and BCAST (broadcast).
When SMCP is enabled, the host need not initialize the
mode code command segments in the Descriptor
Table. When Simplified Mode Command Processing is
selected, the host does not write Descriptor Words 2-3 in
the Descriptor Table entries for mode commands. For
mode code values 0 to 15 decimal, the Descriptor Word 4
serves no function because these mode codes do not have
an associated data word. For transmit mode code values
16 to 31, the host may initialize Descriptor Word 4. The
default transmit value is 0x0000. Mode command MC16
“transmit vector word” is one of the three defined mode
commands that transmit a data word: MC16, MC18 and
MC19. Its Descriptor Word 4 should be initialized if a value
other than 0x0000 is needed. MC18 and MC19 are
discussed below.
For mode commands without associated data word
(mode codes 0-15 decimal), Simplified Mode
Command Processing updates the Message
Information and Time-Tag words in Descriptor Words 2
and 3, and Descriptor Word 1 (bits 9,11). For these
commands, SMCP does not update Descriptor Word
4, which may be non-zero if written earlier by the host.
For receive mode commands 16-31 (decimal) that
receive a data word, Simplified Mode Command
Processing copies the received mode data word to
Descriptor Word 4. The Message Information and
Time-Tag words in Descriptor Words 2 and 3, and
Descriptor Word 1 (bits 9, 11) are also updated.
For most transmit mode codes 16-31 (decimal), the
device reads the data word for transmission from each
command’s Descriptor Word 4. Exceptions occur for
MC18 “transmit last command” and for MC19 “transmit
built-in test word”. The MC18 data word is
automatically provided, based on the last command
transacted. The MC19 data word comes from register
0x14 or 0x15, depending on the state of the ALTBITW
option in Configuration Register 2. For MC18 and
MC19, the transmitted data value is automatically
copied to the mode command’s Descriptor Word 4
after message completion. The Message Information
and Time-Tag words in Descriptor Words 2 and 3, and
Descriptor Word 1 (bits 9, 11) are also updated.
————————————
Table 3 shows terminal response to all possible
subaddress and mode code command combinations. The
table summarizes terminal response for the full range of
message conditions, including errors, incomplete
messages, etc. The table explicitly describes terminal
response and impact on terminal Status Word, Descriptor
Control Words and data buffer Message Information
Words. The table includes effects for all pertinent setup
options and identifies all interrupt options available. Bold
text blocks indicate error-free messages or “in form” Clear
Status responses when the terminal is not using “illegal
command detection”.
HOLT INTEGRATED CIRCUITS
68
HI-6120, HI-6121
INTERRUPT MANAGEMENT
HOST MESSAGE DETECTION OPTIONS
Upon receiving messages, the host has several options.
The individual descriptor table Control Words have enable
flags for generating interrupts. Interrupts can be enabled
on a subaddress or mode code basis. For any subaddress,
interrupts can be enabled for (a) every command
occurrence, (b) upon occurrence of broadcast commands,
(c) at end of multiple message block transfers (index mode
or circular buffer modes only), or (d) no interrupts at all.
Some subaddress commands may not require immediate
host servicing. If the number of legal subaddresses is
small, the host can poll descriptor table Control Words for
the legal subaddresses to detect message activity. The
Control Word’s DBAC bit (descriptor block accessed) is set
whenever a message is processed. This bit is
automatically reset by any host read cycle to the descriptor
Control Word. Whenever the DBAC bit reads high, the
subaddress transacted a message since the last Control
Word read cycle.
Another interrupt alternative that works for any number of
legal subaddresses (or when illegal command detection is
not used) is to poll the device ACTIVE pin. This pin is high
whenever a command is being processed. After the
ACTIVE pin goes low, the host can read the Current
Command Register to determine the processed command
word, or may fetch the command's descriptor table
address from the Current Control Word Address register.
Both registers maintain their loaded values until the next
valid command to the terminal is decoded.
HOST INTERRUPT GENERATION
Interrupts are output signals notifying the host when
predetermined events have occurred during terminal
operation; the interrupt-causing events are fully
programmable. The host defines message-specific
interrupt-causing events when initializing the Descriptor
Table. Other hardware-based interrupts are configured
when internal device registers are initialized.
To manage host interrupts, the device architecture
involves an Interrupt Log buffer, three control registers, two
interrupt output pins and two interrupt acknowledge input
pins. The three internal registers are the Pending Interrupt
Register, the Interrupt Enable Register and the Interrupt
Log Address Register. The Pending Interrupt Register
contains information identifying events programmed by
the host to generate interrupts. The Interrupt Enable
register lets the host enable or disable interrupt generation
for different interrupt-causing events. The Interrupt Log
Buffer is a 32-word ring buffer located in shared RAM
address range 0x0040 to 0x005F.
Separate interrupt outputs are provided for hardware
interrupts (INTHW) and message interrupts (INTMES).
The host programs both pins as either pulsed interrupt
outputs or level-sensitive outputs, by writing the INTSEL bit
in Configuration Register 1:
Config.
Register 1
Bit
Interrupt
Output
Pins
Interrupt
Acknowledge
Input Pins
INTSEL
INTHW
INTMES
ACKHW
ACKMES
0
Pulse Output
Active Low
The ACK pins
are not used.
1
Level Output
Active Low
Active High
(internal pull-downs)
Pulsed outputs have brief (~250ns) duration, sufficient to
drive edge-triggered host inputs. In the level mode of
operation, asserted interrupts remain low until
acknowledged by the host. There are two ways the host
can acknowledge level interrupts: (1) assert the ACKHW or
ACKMES input pin to clear the respective interrupt INTHW
or INTMES output, or (2) read the Pending Interrupt
Register to clear both INTHW and INTMES output pins to
the high state.
Assertion of the INTHW interrupt indicates an interruptcausing hardware event that is enabled in the Interrupt
Enable Register. Defined interrupt-causing events are
listed in the table on the following page. When the INTHW
output is asserted, one or more bits are set in the Pending
Interrupt Register, to identify the interrrupt event(s).
Assertion of the INTMES interrupt after a message is
completed indicates a predetermined message event
occurred that is (1) globally enabled in the Interrupt Enable
Register and (2) specifically enabled for the last command
transacted. The Descriptor Table Control Word for each
command is programmed by the host to enable events that
generate message interrupts. The type of INTMES event is
reflected in the IXEQZ, IWA, IBR, ILCMD and MERR bits
within the Pending Interrupt Register.
The interrupt architecture maintains information for the last
16 interrupts in a 32-word ring buffer. The device
automatically handles interrupt-logging overhead. Each
interrupt generates two words of information to help the
host perform interrupt processing. The Interrupt
Identification Word (IIW) identifies the type(s) of interrupt
that occurred. The Interrupt Address Word (IAW) identifies
the interrupt source (e.g., subaddress Descriptor Block)
using a 16-bit address.
HOLT INTEGRATED CIRCUITS
69
HI-6120, HI-6121
INTERRUPT MANAGEMENT, Cont.
INTERRUPT LOG ADDRESS REGISTER
Bits 7:0 in this register indicate the IIW storage address
within the buffer for the next occurring interrupt, 0x0040 to
0x005E. Bits 15:8 indicate the number of interrupts since
the register was last read. For further details, see the full
description of the Interrupt Log Address Register.
INTERRUPT ADDRESS WORD (IAW)
Stored in the Interrupt Log Buffer, Interrupt Address Words
(IAW) identify interrupt-causing messages by storing the
descriptor block address for the subaddress or mode code
command that generated each message interrupt.
INTERRUPT IDENTIFICATION WORD (IIW)
Stored in the Interrupt Log Buffer, Interrupt Identification
Words identify type of interrupt event. Bit assignments
match those used in the Pending Interrupt Register. The
host or subsystem reads the IIW to determine which type of
interrupt occurred. The Interrupt Identification Word is
defined as follows:
IIW - Interrupt Identification Word
IAW - Interrupt
Address Word
Bit
Interrupt
Origin
15
IXEQZ
Message
14
IWA
Message
13
IBRD
Message
IAW contains the
12
——
——
Command Word
11
——
——
Descriptor Table
10
MERR
Message
Address
9
——
——
8
ILCMD
Message
————————————————————
7
SPIFAIL
Hardware
6
LBFA
Hardware
5
LBFB
Hardware
4
TTINT1
Hardware
IAW contains
3
TTINT0
Hardware
0x0000
2
RTAPF
Hardware
1
EECKF
Hardware
0
RAMIF
Hardware
RESET AND INITIALIZATION
This section describes the hardware and software reset
mechanisms. Hardware Master Reset returns the device
to the uninitialized state, requiring register/RAM
initialization before terminal execution can begin.
Initialization can be performed by the host after MR reset,
or automatically, at the user’s option, by reading
configuration data from an external serial EEPROM.
Software reset is asserted by setting the SRST bit in
Configuration Register 1. Software reset has minimal
effect on previously initialized registers and RAM
structures that define terminal behavior. However some
reinitialization may be needed for some applications, after
SRST reset is complete.
MASTER RESET USING THE MR PIN
AND OPTIONAL AUTO-INITIALIZATION
Hardware master reset is initiated by a low to high
transition on the MR pin; it should be applied after powerup, but may be used anytime afterward. When asserted,
the MR input pin causes immediate, unconditional
hardware reset. Command processing is terminated, the
bus decoders and encoder are cleared, the Time-Tag
count is reset. The Message Error, Busy and Broadcast
Command Received status bits are reset and Terminal
Flag bit is enabled for assertion. All internal logic is cleared.
Registers and RAM structures are restored to the states
shown in Figure 19. The READY, ACTIVE, INTMES and
INTHW output pins are negated if previously asserted.
assertion, a host read cycle to any address returns the
value in the Operational Status register.
2. If the MTSTOFF pin is logic zero, the device performs a
memory test (< 985us). If memory error occurs, the BMTF
bit is set in the BIT Word Register 0x0014. If the MTSTOFF
pin is logic one, the memory test is bypassed. This option
might be chosen if a faster reset process is needed.
Regardless of MTSTOFF state, all RAM locations above
address 0x001F are cleared to 0x0000.
3. After internal processes are initialized, the device
checks the latched state of the AUTOEN bit in the
Operational Status register:
If the Operational Status register AUTOEN bit reads
low, auto-initialization is bypassed. The host must initialize
the terminal:
A) The device asserts the READY output pin. This
state change indicates the host can begin post-MR
reset initialization of registers and RAM structures.
B) Upon READY assertion, the host should initialize
configuration and option registers, the Descriptor
Table(s) and the Illegalization Table. Initialization may
include data written into the various transmit
subaddress buffers assigned by the initialized
Descriptor Table.
After MR pin low to high transition, these steps occur:
1. After 200ns, the states of the following input pins are
latched into the Operational Status register: RTA4-RTA0,
RTAP, AUTOEN, LOCK and INTSEL. Before READY
C)
After the host completes initialization, it must
assert the STEX (start execution) bit in Configuration
Register 1 to begin Remote Terminal operation.
HOLT INTEGRATED CIRCUITS
70
HI-6120, HI-6121
RESET AND INITIALIZATION, Cont.
Hex
Address
Device Register
0x0000
0x0001
0x0002
Configuration Register 1
Configuration Register 2
Operational Status Register
0x0003
0x0004
0x0005
0x0006
0x0007
0x0008
0x0009
0x000A
0x000B-0x000E
0x000F
0x0010
0x0011
0x0012
0x0013
0x0014
0x0015
0x0016
0x0017
0x0018
0x0019
0x0020-0x001F
Hex
Address
0x0020-0x003F
0x0040-0x005F
0x0060-0x00FF
0x0100-0x01FF
0x0200-0x03FF
0x0400-0x7FFF
Contents After
MR Reset
Contents After
SRST Reset
0x0000
0x0000
bits 7:0 reset to 0x00
bits 15:8 match pins
0x0000
0x0000
0x0200
0x0000
0x0000
0x0000
0x0040
0x0000
0x0000
0x0000
0x0007
0x0000
0x0000
0x0000
See Note 1
0x0000
0x0000
0x0000
0x0000
0x0000
0x0000
no change
no change
no change
Contents After
MR Reset
Contents After
SRST Reset
Temporary Receive Data Buffer, 32 Words
Interrupt Log Buffer, 32 Words
Unallocated RAM, 160 Words
Illegalization Table, 256 Words
Descriptor Table (Primary), 512 Words
Host-Assigned Data Buffers
Secondary Descriptor Tables, if used
all 0x0000
all 0x0000
all 0x0000
all 0x0000
all 0x0000
all 0x0000
all 0x0000
no change
no change
no change
no change
See Note 2
no change
no change
Terminal Function
State After
MR Reset
State After
SRST Reset
Current Command Register
Current Control Word Address Register
Descriptor Table Base Address Register
Pending Interrupt Register
1553 Status Word Bits Register
Time-Tag Register
Interrupt Log Address Register
Current Message Information Word Register
Reserved
Memory Address Pointer (HI-6121 Only)
Interrupt Enable Register
Time-Tag Utility Register
Bus A Select Register
Bus B Select Register
Built-In Test (BIT) Word Register
Alternate BIT Word Register
Test Control Register
BIST Control Register
Loopback Test Transmit Data Register
Loopback Test Receive Data Register
Reserved
RAM Structure
Hardware Bus Decoders
reset
Hardware Encoders and Transmitters
reset
Command Processing & ACTIVE Output
reset
Terminal Status (incl ME & BCR bits)
reset
Prior Bus Shutdown by Mode Cmd MC4 or MC20
overridden
Prior Terminal Flag Inhibit by Mode Cmd MC6
overridden
READY Output
reset
negated (high)
INTMES & INTHW Interrupt Outputs
no change
no change
0x0200
no change
0x0000
0x0000
no change
no change
no change
no change
no change
no change
no change
no change
0x0000
no change
0x0000
0x0000
0x0000
0x0000
no change
reset
reset
reset
reset
overridden
overridden
set
negated (high)
Notes:
1. After Master Reset, bits 15, 14 and 2 in the BIT Word Register depend on input pin settings. See register description. If the
MTSTOFF input pin is low, register bit 3 (BMTF) depends on memory test outcome. The remaining bits are unconditionally
reset. However if auto-initialization is enabled and EEPROM load failure occurs during the subsequent initialization process,
register bit 1 (EELF) will be set.
2. Upon SRST reset, the DBAC, DPB, MKBUSY and BCAST bits are reset for each of the 128 Control Words in the primary
Descriptor Table which starts at address 0x0200. If secondary Descriptor Tables are used (above address 0x0400), the host
must perform any necessary table reconfiguration after SRST reset.
FIGURE 19. Summary of Changes Due to MR Master Reset or SRST Software Reset
HOLT INTEGRATED CIRCUITS
71
HI-6120, HI-6121
RESET AND INITIALIZATION, Cont.
If the Operational Status register AUTOEN bit reads
high, the device initializes itself from an external serial
EEPROM via the dedicated EEPROM SPI port:
The READY output pin remains low while automatic
self-initialization proceeds. The device reads
initialization data from the external serial EEPROM
memory, using the dedicated EEPROM SPI port.
Initialization includes all registers, all tables (including
secondary Descriptor Tables, if used) and can include
initial data written to transmit subaddress data buffers
allocated by the Descriptor Table.
If the EE1K pin is low, initialization covers the full
32K address range 0x0 to 0x7FFF, including the
entire RAM. Therefore it can initialize secondary
Descriptor Tables and transmit subaddress
buffers in the upper RAM space.
If the EE1K pin is high, initialization covers just
the 1K address range 0x0 to 0x003F. This covers
all registers and the minimum set of required
tables, including the primary Descriptor Table from
0x00200 to 0x003FF. For many applications, this
is the only Descriptor Table.
During auto-initialization, the written value for each
register or RAM location is read back for confirmation.
If the read-back value does not match the
corresponding value from EEPROM, an initialization
error is saved. This error results in action (described
below) that occurs when the initialization process is
finished.
While performing initialization, a running checksum is
tallied as follows, using EEPROM data read from the
1K or 32K address range. A properly configured serial
EEPROM contains a 16-bit checksum value stored at
the pair of EEPROM locations corresponding to RAM
address 0x0020. The stored checksum is tallied as if
RAM address 0x0020 equals 0x0000 and five
registers are excluded from checksum computation:
Operational Status register 0x0002, Pending Interrupt
register 0x0006, Time-Tag register 0x0008 and BIT
Word register 0x0014. The stored value is actually the
twos-complement of the 16-bit memory checksum,
(CHECKSUM + 1).
During initialization, byte pairs are sequentially read
from EEPROM, then merged to a 16-bit value that is
both written to device RAM (or register) and added
(running tally) to the twos-complemented checksum
value. When the full 1K or 32K EEPROM range is
tallied, the running checksum tally should equal zero,
indicating error-free checksum tally. After initialization
(at READY assertion), the 16-bit twos-complement
checksum value is copied from EEPROM to device
RAM address 0x0020. This is part of the Temporary
Receive Data Buffer, which does not interfere with
terminal initialization.
When the device completes auto-initialization, the
READY output pin is asserted to the high state.
If an initialization error occurred, these events take
place immediately after READY assertion: (1) the
INTHW interrupt output pin is asserted. (2) the
Operational Status Register 0x0002 is written to
indicate the type of error. The EECKF or RAMIF bit is
set to show checksum failure or read-back data
mismatch between RAM and EEPROM. (3) The
EELF bit is set in the Built-In Test Word Register
0x0014. (4) If RAMIF read-back error occurred, the
address of the first occurring instance is written to
register address 0x001F. Additional locations beyond
the saved address may have mismatch, but only the
first instance is logged.
The STEX bit in Configuration Register 1 is still zero.
If the STEX bit in the initialization EEPROM is high,
and if the EECKF, RAMIF and RTAPF bits are reset in
the Operational Status Register 0x0002, the device
now sets the STEX bit to start Remote Terminal
operation. This means: (1) auto-initialization was
error-free and (2) the RT address in Operational
Status Register bits 15-10 has correct parity. The
register’s terminal address bits reflect input pin states
if the LOCK pin is high, or were overwritten by values
from the initialization EEPROM, if the LOCK pin is low.
If automatic STEX assertion was blocked because
EECKF or RAMIF bits were written high after READY
assertion, the host can write STEX high, overriding the
error condition. If STEX assertion was blocked
because of RT address parity error, the STEX bit
cannot be asserted until the parity error is corrected.
The host may overwrite the Operational Status
Register RTAP4-0 and RTAP bits to correct the error,
then assert the STEX bit in Configuration Register 1.
If the STEX bit in the initialization EEPROM is low,
the STEX bit in Configuration Register 1 is not
asserted at this time. The device awaits STEX
assertion by a host write to Configuration Register 1
before starting Remote Terminal operation. The STEX
bit may be written any time after the READY output pin
goes high.
After any MR master reset, the state of certain input
pins (AUTOEN, LOCK and terminal address pins
RTA4 to RTA0 and RTAP) are latched into Operational
Status Register 0x0002. Because auto-initialization
follows master reset, the mirrored pin states may be
overwritten by the values stored in the initialization
EEPROM bytes corresponding to register address
0x0002, only if the LOCK input pin is low.
A method for programming the EEPROM itself from a fully
configured terminal is explained in a following section
entitled “Serial EEPROM Programming Utility”. If a
HOLT INTEGRATED CIRCUITS
72
HI-6120, HI-6121
RESET AND INITIALIZATION, Cont.
different method is used for writing the serial EEPROM, the
twos-complemented checksum (described earlier) must
be saved in EEPROM locations corresponding to device
RAM address 0x0020.
A compatible serial EEPROM uses a SPI interface for byteaccess read and write operations. Sixteen-bit register and
RAM values in the HI-612X are stored as upper and lower
bytes in the EEPROM, in “big endian” fashion. For
example, the upper byte for register address 0x0000 is
stored at EEPROM address 0x0000 while the lower byte is
stored at EEPROM address 0x0001. A 64K x 8 EEPROM is
required to store the entire 32K x 16 address range.
Serial EEPROM data mapping follows the device memory
map shown in Figure 1. The single exception: two
EEPROM locations corresponding to device RAM address
0x0020 must contain the expected checksum value. The
serial EEPROM used for auto-initialization should be fully
written to cover the HI-6120/21 upper address limit of
0x7FFF (or 0x03FF, depending on the state of the EE1K
input pin). Ideally the EEPROM image will reflect a postMR reset followed by fresh initialization with nothing
written to reset-cleared registers or RAM as a result of
command processing.
SOFTWARE RESET
Software reset is initiated by a host write that sets the
SRST bit in Configuration Register 1. This bit is set
automatically when a “Reset Remote Terminal” mode
command is received while the MCOPT0 bit is set in
Configuration Register 2 (0x0002). Software reset causes
immediate reset without overwriting registers or tables that
were initialized by the host to define terminal behavior.
Changes to registers and RAM are summarized in Figure
19. Software reset cannot initiate automatic selfinitialization from serial EEPROM. Once the SRST bit in
Configuration Register 1 is asserted, the following steps
are performed:
1. The READY, ACTIVE, INTMES and INTHW output
pins are negated. Terminal execution stops while
SRST reset is underway. Command processing is
terminated. The hardware bus decoders and
hardware encoder are cleared. The Message Error
and Broadcast Command Received flags in the
internal status register used for MC2 or MC18 mode
command responses are not affected by SRST.
2. The Descriptor Base Address register (0x0005) is
reinitialized to the base address 0x0200. The following
registers are cleared: the 1553 Status Word Bits
register (0x0007), the Time-Tag register (0x0008) and
test registers 0x0016 to 0x0019.
3. The BIT Word Register (0x0014) is cleared, except
the contained RTAPF bit is not changed. This
reinstates any bus previously shutdown by mode code
commands MC4 or MC20 (decimal). If the Terminal
Flag status bit was previously inhibited by mode
command MC6, inhibit is cleared: The Terminal Flag
status bit will be transmitted whenever bit 0 is set in the
1553 Status Word Bits Register.
4. All 128 descriptor table Control Words are modified
to reset the DBAC, DPB, MKBUSY and BCAST bits.
Subaddresses or mode codes using ping-pong or
single message index mode (INDX = 0) are ready for
immediate operation after SRST reset is complete.
However the device cannot reinitialize the Descriptor
Table to restore multi-message block transfers, for
indexed buffer mode when initial INDX value was nonzero, or for either circular buffer mode.
5. The device asserts the READY output pin. Terminal
operation automatically resumes if the STEX bit in
Configuration Register 1 was set before SRST
occurred.
6. After READY assertion, the host may reset STEX,
then reinitialize all or part of the Descriptor Table. The
host can reinitialize the Descriptor Table for
subaddresses using multi-message block transfers
(Circular Buffer Mode 1, Circular Buffer Mode 2 or
Indexed Buffer Mode with initial non-zero INDX.) The
host can also reinitialize transmit data in the assigned
transmit subaddress data buffers. Data buffers in RAM
contain data values loaded before SRST occurred.
The host can clear or overwrite this old data. The host
can then assert the STEX bit in Configuration Register
1 to restart terminal operation.
RESET REMOTE TERMINAL MODE CODE
Mode code MC8 with T/R bit = 1 should reset the Remote
Terminal. After Status Word transmission, the device
automatically resets the status Message Error (ME) and
Broadcast Command received (BCR) bits in its internal
status register. Bits 0, 14 and 15 are reset in the BIT Word
register at address 0x0014. If either transmitter was
shutdown by a previous mode code MC4 or MC20, the
shutdown condition is overridden. If the Terminal Flag (TF)
status bit was inhibited, the inhibit is reset. This command
does not reset any of the host-programmed registers that
configure the terminal for operation.
To complete the reset process, the host must assert either
MR master reset (with or without auto-initialization) or
assert the SRST bit in Configuration Register 1 to execute
software reset. Since MC8 requires host interaction, most
applications will probably utilize the IWA interrupt to alert
the host when valid MC8 is received.
Per MIL-STD-1553B appendix 30.4.3, any reset initiated
by the “Reset Remote Terminal” mode command should
be completed within 5 ms following transmission of the
Status Word. Overall reset time includes internal device
initialization, either host initialization or auto-initialization.
Overall time to complete reset initiated by the “Reset
Remote Terminal” mode command MC8 is affected by host
response speed and application complexity.
HOLT INTEGRATED CIRCUITS
73
HI-6120, HI-6121
RESET AND INITIALIZATION, Cont.
SERIAL EEPROM PROGRAMMING UTILITY
The HI-6120 or HI-6121 can program a serial EEPROM via
the dedicated EEPROM SPI port for subsequent autoinitialization events. The device copies host-configured
registers and RAM (configuration tables and possibly data
buffers) to serial EEPROM.
Compatible SPI serial EEPROMs are 3.3V, operate in SPI
modes 1 or 3 and and have 128-byte pages. The serial SPI
data is clocked at 8.3 MHz SCK frequency. A 2K x 8
EEPROM can restore the lower 1K x 16 device address
space. A 64K x 8 EEPROM can restore the entire 32K x 16
device address space.
A deliberate series of events initiates copy of data from HI6120 or HI-6121 to serial EEPROM. This reduces the
likelihood of accidental EEPROM overwrites. This series
of events must occur to initiate programming:
1A. If using a fresh host initialization immediately
following MR master reset as the basis for
EEPROM copy: With the AUTOEN, TXINHA and
TXINHB pins in logic zero state, apply MR master
reset and wait for READY output assertion. Verify that
the INTHW output does not pulse low at READY
assertion, indicating likely RT address parity error at
the RTA4:0 and RTAP pins. Using known good
parameters, the host initializes device registers, the
RAM descriptor table and transmit data buffers (if
necessary). Do not assert STEX. Go to step 2.
or
1B. If using the existing EEPROM configuration as
the baseline for a new EEPROM configuration:
With the AUTOEN pin in logic 1 state and the TXINHA
and TXINHB pins in logic zero state, apply MR master
reset and wait for READY output assertion. Verify that
the INTHW output does not pulse low (or go and
remain low) at READY assertion. Confirm that the
RTAPF, EECKF and RAMIF bits are all logic 0 in the
Operational Status Register 0x0002. If the STEX bit in
Configuration Register 1 was set by auto-initialization,
reset it now. Modify register and RAM values to reflect
the new changes. Go to Step 2.
2. IMPORTANT: Any processing of valid bus
commands between MR master reset and this point
will cause auto-initialization checksum failure later,
due to non-zero values written to read-only registers
as a result of command processing. The device will not
enter EEPROM copy mode at step 3 if valid command
reception caused ACTIVE output assertion after MR
reset occurred. If set, the STEX bit in Configuration
Register 1 also locks-out EEPROM copy mode at
programming step 3.
3. The host writes one of two 2-part “unlock codes” to
RAM address 0x0020. The two unlock codes perform
identical EEPROM programming with the exception of
the programmed state for the STEX bit in
Configuration Register 1.
If auto-initialize should program Configuration
Register 1 STEX bit to logic 0, RAM address
0x0020 is first written 0xA5F0, then a second load
to 0x0020 overwrites the value just written with
0x5F0A.
If auto-initialize should program Configuration
Register 1 STEX bit to logic 1, RAM address
0x0020 is first written 0x5A0F, then a second load
to 0x0020 overwrites the value just written with
0xA0F5.
In either case, the two unlock writes must occur
without intervening access to other device addresses,
except Memory Address Pointer 0x000F for HI-6121.
4. The EECOPY input pin is driven high for at least 1
ms, then driven low. In response, the READY output
goes low while EEPROM memory is written.
Programming commences. The unlock code at
address 0x0020 is cleared, then device register and
RAM contents are written to the serial EEPROM.
During programming, the twos-complemented
checksum is tallied for the entire address range being
programmed (1K or 32K words), excluding addresses
0x0002, 0x0006, 0x0008, 0x0014 and 0x0020. At
EEPROM programming completion, the final
checksum is stored in the pair of EEPROM locations
corresponding to device RAM address 0x0020. The
value written to EEPROM is actually the twoscomplement of the memory checksum, (CHECKSUM
+ 1). The value in EEPROM is used for error detection
when performing auto-initialization. (The host can only
access the stored value immediately after an autoinitialization sequence is performed. The twoscomplement EEPROM checksum value will be copied
into RAM address 0x0020.)
5. When the READY output goes high, EEPROM
copy is complete. The STEX bit is reset in device
Configuration Register 1.
The address range copied during EEPROM programming
depends on the state of the EE1K input pin when rising
edge occurs on the EECOPY input:
If EE1K is high when EECOPY is asserted, the lower
1K x 16 address range from 0x0 to 0x03FF is copied
from device registers and RAM to EEPROM. This
includes all registers, all configuration tables in RAM
and the primary Descriptor Table in RAM at address
0x0200 to 0x03FF. The 1K x 16 write to EEPROM
requires up to 65 ms.
If EE1K is low when EECOPY is asserted, the entire
32K x 16 address range from 0x0 to 0x7FFF is copied
HOLT INTEGRATED CIRCUITS
74
HI-6120, HI-6121
RESET AND INITIALIZATION, Cont.
from device registers and RAM to EEPROM. This
range covers all registers, all configuration tables in
RAM, the primary Descriptor Table in RAM at address
0x0200 to 0x03FF. As long as EE1K remains low when
auto-initialization occurs, the 32K x 16 programming
option can initialize secondary Descriptor Tables
above address 0x0400, if used. The 32K x 16 write to
EEPROM requires up to 1.9 seconds.
The 32K x 16 programming option (EE1K equals zero) can
also initialize fixed data for any subset of the 32 possible
transmit subaddress buffers, using any of the defined data
buffer schemes. To enable EEPROM copy for transmit
subaddress data buffers, the buffer space must be preloaded with the desired data. Be sure to reserve space for
Message Information and Time-Tag Word locations, as
required for the transmit subaddress buffer method.
HOST BUS INTERFACE (HI-6120 ONLY)
In the HI-6120, internal RAM and registers occupy a 32K x
16 address space. The lowest 32 addresses access
registers and the remaining addresses access RAM
locations.
The HI-6120 uses a parallel bus interface for
communications with the host. Host interface to registers
and RAM is enabled through the Chip Enable (CE) pin, and
accessed via 16-bit data bus and several host-originated
control signals described below. Timing is identical for
register operations and RAM operations via the host bus
interface, but read and write operations have different
signal timing. The HI-6120 parallel host bus interface is
capable of faster communication than the HI-6121 Serial
Peripheral Interface.
Depending on the chosen microprocessor family, the
processor’s hardware bus interface may be described as
an “external bus interface,” “memory interface” or may
have a different name. The user can also implement a
software controlled “bit-banged” interface to the HI-6120,
at the cost of substantially slower RAM and register
read/write times.
The bus interface is compatible with the two prevalent bus
control signal methods: “Intel style” interface,
characterized by separate strobes for read and write
operations (OE and WE), and “Motorola style” interface,
characterized by a single read/write strobe (STR) and a
data direction signal (R/W). Bus control style is selected
using the BTYPE configuration pin, which sets the function
of two other input pins to serve as either OE and WE, or
STR and R/W.
The BWID configuration pin selects either 8- or 16-bit bus
widths. When the BWID pin is connected to ground, 8-bit
mode is selected; two bytes are sequentially transferred
for each 16-bit word operation. In 8-bit mode only, the
BENDI configuration pin selects bus “endianness.” This is
the system attribute that indicates whether integers are
represented with the most significant byte stored at the
lowest address (big endian) or at the highest address (little
endian). Internal device storage is “big endian”. For
processor compatibility, the BENDI pin sets the order for
byte accesses when the host bus is configured for 8-bit
width, that is, when BWID equals 0. When BENDI is low,
“little endian” is chosen; the low order byte (bits 7:0) is
transacted before the high order byte (bits 15:8). When
BENDI is high, “big endian” is chosen and the high order
byte is transacted on the host bus before the low order
byte. In 8-bit mode, all transacted data uses bus data bits
7:0 and bus data bits 15:8 are not used. Further, bus
address bit A0 (LB) always equals 0 during the first byte
read/write access, and equals 1 during the second byte
access
When the BWID pin is connected high or left unconnected,
16-bit bus width is used. For 16-bit bus operation, the A0
(LB) address pin is not used and the BENDI input pin is
“don’t care.”
A WAIT output pin can be used to modify host timing for bus
read cycles. For compatibility with different host
processors, the WAIT output can be made active high or
active low, set by the state of the WPOL input pin. The
WAIT output may be ignored when the host processor’s
read and write cycle times are consistent with worst case
(slowest) read/write cycle timing for this device. The WAIT
output is useful when the host processor runs at high clock
rates and/or when processor options for read wait states
do not provide adequate timing margin with worst case
(slowest) read/write timing for this device. The WAIT is not
used for write operations.
WAIT is always asserted during the first read cycle. This
may be the first byte read in 8-bit mode, or the first word
read in 16-bit mode, possibly the first word read from a
series of sequential addresses. After each word (or byte)
is fetched by the device for a read operation, the next word
(or byte) is pre-fetched from the next address to speed-up
the read cycle time when immediate, sequential read to the
next address occurs. For fastest read access under all
conditions, the user can set host processor bus timing to
match the faster rate for the second and subsequent read
cycles, while using the WAIT output to pace access for the
slower initial read cycle.
Timing diagrams for bus read and write operations are
shown in the AC Electrical Characteristics section of the
datasheet. Separate diagrams show “Intel style” and
“Motorola style” control interfaces.
HOLT INTEGRATED CIRCUITS
75
HI-6120, HI-6121
HOST SERIAL PERIPHERAL INTERFACE (HI-6121 ONLY)
In the HI-6121, internal RAM and registers occupy a 32K x
16 address space. The lowest 32 addresses access
registers and the remaining addresses access RAM
locations. Timing is identical for register operations and
RAM operations via the serial interface, and read and write
operations have likewise identical timing.
configuration setting in the HI-6121 to select SPI Mode 0 or
Mode 3 because compatibility is automatic. Beyond this
point, the HI-6121 data sheet only shows the SPI Mode 0
SCK signal in timing diagrams.
The SPI protocol transfers serial data as 8-bit bytes. Once
CE chip enable is asserted, the next 8 rising edges on SCK
latch input data into the master and slave devices, starting
with each byte’s most-significant bit. The HI-6121 SPI can
be clocked at 16 MHz.
SERIAL PERIPHERAL INTERFACE (SPI) BASICS
The HI-6121 uses an SPI synchronous serial interface for
host access to registers and RAM. Host serial
communication is enabled through the Chip Enable (CE)
pin, and is accessed via a three-wire interface consisting of
Serial Data Input (SI) from the host, Serial Data Output
(SO) to the host and Serial Clock (SCK). All programming
cycles are completely self-timed, and no erase cycle is
required before write.
Multiple bytes may be transferred when the host holds CE
low after the first byte transferred, and continues to clock
SCK in multiples of 8 clocks. A rising edge on CE chip
enable terminates the serial transfer and reinitializes the
HI-6121 SPI for the next transfer. If CE goes high before a
full byte is clocked by SCK, the incomplete byte clocked
into the device SI pin is discarded.
The SPI (Serial Peripheral Interface) protocol specifies
master and slave operation; the HI-6121 operates as an
SPI slave.
Two byte transfers are needed for SPI exchange of 16-bit
register values or RAM data. “Big endian” byte order is
used for SPI data transfers. The high order byte (bits 15:8)
is transferred before the low order byte (bits 7:0).
The SPI protocol defines two parameters, CPOL (clock
polarity) and CPHA (clock phase). The possible CPOLCPHA combinations define four possible "SPI Modes."
Without describing details of the SPI modes, the HI-6121
operates in the two modes where input data for each
device (master and slave) is clocked on the rising edge of
SCK, and output data for each device changes on the
falling edge. These are known as SPI Mode 0 (CPHA = 0,
CPOL = 0) and SPI Mode 3 (CPHA = 1, CPOL = 1). Be sure
to set the host SPI logic for one of these modes.
In the general case, both master and slave simultaneously
send and receive serial data (full duplex) per Figure 21
below. However the HI-6121 operates half duplex,
maintaining high impedance on the SO output, except
when actually transmitting serial data. When the HI-6121
is sending data on SO during read operations, activity on
its SI input is ignored. Figures 22 and 23 show actual
behavior for the HI-6121 SO output.
The difference between SPI Modes 0 and 3 is the idle state
for the SCK signal, which is logic 0 for Mode 0 state and
logic 1 for Mode 3 state (see figure 20). There is no
SCK (SPI Mode 0)
0
1
2
3
4
5
6
7
SCK (SPI Mode 3)
0
1
2
3
4
5
6
7
SI
SO
High Z
MSB
LSB
MSB
LSB
High Z
CE
FIGURE 21. Generalized Single-Byte Transfer Using SPI Protocol, SCK is Shown for SPI Modes 0 and 3
HOLT INTEGRATED CIRCUITS
76
HI-6120, HI-6121
HOST SERIAL PERIPHERAL INTERFACE, Cont. (HI-6121 ONLY)
HI-6121 SPI COMMANDS
For the HI-6121, each SPI read or write operation begins
with an 8-bit command byte transferred from the host to the
device after assertion of CE. Since HI-6121 command byte
reception is half-duplex, the host discards the dummy byte
it receives while serially transmitting the command byte.
register 15, consisting of command byte 0xBC followed by
the desired 16-bit memory or register address. The pointer
uses a 15-bit value to access any location in the 32K
address range. The current address pointer value can be
read using a fast-access read command byte 0x3C.
After a 2-byte read/write completion, the internal address
pointer automatically increments to the following register
address. The host may choose to extend the read or write
operation to the next register address by continuing to hold
CE low while clocking SCK 16 additional times. This autoincrement feature can be used to access one or more
sequential register addresses above the command byte
address. Auto-increment applies (ranging to the top of the
address space) as long as SCK continues to be clocked
under continuous CE assertion. Caution: When the
primary address pointer is used for auto-incrementing
multi-word read/write and reaches the top of the address
range (0x7FFF) the next increment will roll over the pointer
value to 0x0000. The host should avoid this situation.
The HI-6121 SPI command set uses the most significant
command bit to specify whether the command is Read or
Write. The command byte MSB is zero for read
commands, and one for write commands.
FAST-ACCESS COMMANDS FOR REGISTERS 0-15
The SPI command set includes directly-addressed read
and write commands for registers 0 through 15. The 8-bit
pattern for these commands has the general form
W-0-R-R-R-R-0-0
where RRRR is the 4-bit register address, and the most
significant bit, W signifies Write when 1, or Read when 0.
These fast-access commands appear at the top of Table 2.
————————————
Figures 22 and 23 show read and write timing as it appears
for fast-access register operations. The command byte is
immediately followed by two data bytes comprising the 16bit data word read or written. For a register read or write,
CE is negated after the 2-byte data word is transferred.
Three single-byte SPI commands modify the current
address pointer value in register 15:
Command
0xD0
0xD8
0xE0
RAM AND REGISTER INDIRECT ADDRESSING
Refer to the HI-6121 SPI command set shown in Table 2.
SPI commands other than fast-access use an address
pointer to indicate the address for read or write
transactions. This “primary address pointer” resides at
register address 15, and must be initialized before any
non-fast-access read or write operation.
The “Add 4” command may be useful when sequentially
accessing the same word (for example, the Control Word)
in a series of 4-word Descriptor Table entries. The “Add 2”
command might be useful for reading the Interrupt Log
Buffer, comprised of 2-word log entries. In both cases, the
Add command would be probably followed by Read
command 0x40 to read the location addressed by the
To set the address pointer, use a fast-access write to
0
1
2
3
4
5
6
7
0
1
2
Address Pointer Operation
add 1 to the current pointer value
add 2 to the current pointer value
add 4 to the current pointer value
3
4
5
6
7
0
1
2
3
4
5
6
7
SCK
SPI Mode 0
MSB
LSB
SI
Command Byte
SO
MSB
LSB
LSB MSB
High Z
High Z
Data Byte 0
Data Byte 1
CE
Host may continue to assert CE
here to read sequential word(s).
Each word needs 16 SCK clocks.
FIGURE 22. Single-Word (2-Byte) Read From RAM or a Register
HOLT INTEGRATED CIRCUITS
77
HI-6120, HI-6121
HOST SERIAL PERIPHERAL INTERFACE, Cont. (HI-6121 ONLY)
current pointer value. Similarly, Write command 0xC0
writes the location addressed by the current pointer value.
Two command bytes cannot be “chained”; CE must be
negated after the Add command, then reasserted for the
following Read or Write command.
These two commands can be used to read or write a single
location, or may be used to start a multi-word read or write
that uses the pointer’s auto-increment feature.
The primary address pointer is not affected by fast-access
read/writes to registers 0-14 because fast-access SPI
commands use a separate, internal pointer not directly
accessible to the host.
————————————
SPECIAL PURPOSE COMMANDS
Several other HI-6121 SPI commands load or otherwise
modify the primary address pointer before initiating a read
or write process. These commands were tailored to the
specific needs of HI-6121 Remote Terminal host software.
————————————
Just two single-byte SPI commands use the current
address pointer value in register 15 without first loading or
otherwise modifying it:
Command
0x40
Read Operation
read location addressed by pointer value
Command
0xC0
Write Operation
write location addressed by pointer value
Using a single-byte SPI command, the address pointer can
be directly loaded with the memory address for the
descriptor table Control Word corresponding to the last
completed MIL-STD-1553 command. The Control Word is
then read.
Command Read Operation
0x50
Copy Current Control Word Address register
13 to address pointer register 15. Read the
location addressed by the new pointer value.
Either of these commands can be used to read or write a
single location, or may be used when starting a multi-word
read or write by using the pointer’s auto-increment feature.
————————————
This command can be used to read just the current Control
Word, or may be used to start a multi-word read because
memory pointer auto-increment occurs after the Control
Word is read.
————————————
Two single-byte SPI commands increment the current
address pointer value in register 15, then perform a read or
write:
Six single-byte SPI commands add an offset to the current
address pointer value, then read the addressed memory
location; the read value is then written to the address
pointer register 15. The new pointer value is used to start a
read or write operation:
Command Read Operation
0x48
add 1 to pointer then read addressed location
Command Write Operation
0xC8
add 1 to pointer then write addressed location
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
SCK
SPI Mode 0
MSB
LSB MSB
LSB
LSB MSB
SI
Command Byte
SO
Data Byte 0
Data Byte 1
High Z
CE
Host may continue to assert CE
here to write sequential word(s).
Each word needs 16 SCK clocks.
FIGURE 23. Single-Word (2-Byte) Write To RAM or a Register
HOLT INTEGRATED CIRCUITS
78
HI-6120, HI-6121
HOST SERIAL PERIPHERAL INTERFACE, Cont. (HI-6121 ONLY)
Command Read Operation
0x68
Read the location addressed by the memory
address pointer. Write the value just read into
the memory address pointer. Then read.
0x70
0x78
Add 1 to the memory address pointer. Read
value at newly addressed location and write it
into the memory address pointer. Then read.
Add 2 to the memory address pointer. Read
value at newly addressed location and write it
into the memory address pointer. Then read.
Command Write Operation
0xE8
Read the location addressed by the memory
address pointer. Write the value just read into
the memory address pointer. Then write.
0xF0
Add 1 to the memory address pointer. Read
value at newly addressed location and write it
into the memory address pointer. Then write.
0xF8
Add 2 to the memory address pointer. Read
value at newly addressed location and write it
into the memory address pointer. Then write.
Primary use occurs when a Descriptor Table Control Word
was just read. For example, the last op code performed
was 0x50, reading the Control Word for the last command.
After reading the Control Word, the memory pointer has
automatically incremented. The host can examine flag bits
contained in the just-read Control Word to determine the
applicable data buffer (e.g., Data Buffer A, Data Buffer B or
the Broadcast Data Buffer) then directly service that buffer
using these op codes; the three data buffer pointers occur
in the three words following the initially read Control Word.
These six commands can be used to read or write a single
location, or may be used to start a multi-word read or write
that uses the pointer’s auto-increment feature.
————————————
When some or all subaddress or mode commands are not
programmed to trigger host interrupts, a different singlebyte SPI command may be useful if polling the Descriptor
Table for message activity. In this situation, the host may
poll a series of Descriptor Table Control Words looking for
instances where the DBAC activity bit is set. The DBAC
(Descriptor Block Accessed) flag is set in the Control Word
each time the corresponding command is completed. The
process of reading the Control Word automatically resets
the register’s DBAC bit so the host can detect activity the
next time the DBAC flag is set by the device.
Command Read Operation
0x60
read addressed location then add 4 to pointer
Primary use occurs when the address pointer initially
points to the first Descriptor Table Control Word in a series
of Control Words to be polled (every fourth word).
After 8 SCK clocks for the SPI command, each instance of
this command reads a single location using 16 SCK clocks.
If CS remains low after 24 clocks and SCK continues, a
multi-word read begins, using the address pointer’s autoincrement feature. The second word read is at (Control
Word address + 4), the next Control Word in the table.
————————————
Another single-byte SPI command is useful when
servicing interrupts. When enabled interrupts occur, two
words are written to the circular 32-word Interrupt Log
Buffer, and the Interrupt Log Address register 9 is updated
to show the storage address where interrupt information
words will be stored for the next occurring interrupt.
Buffer starting address is 0x0040 and ending address is
0x005F. Because two words are written to the buffer for
each interrupt, the Interrupt Log Address register always
contains an even value in the range of 0x0040 to 0x005E.
When servicing an interrupt that just occurred, the host
wants timely information on that interrupt. An SPI
command is provided to simplify interrupt handling:
Command Read Operation
0x58
write memory address pointer 0x000F with
current value in Interrupt Log Address register
minus 1. If the Log Address register contains
0x0040 then 0x005F is written to memory
pointer register. Then read the addressed
RAM location, containing the last-written
Interrupt Address Word. Then decrement the
memory address pointer, addressing the
corresponding Interrupt Information Word.
This command can be used to read a single location, or
may be used to start a multi-word read in which the
memory address pointer automatically decrements after
each word read. This is the only SPI op code that
decrements the memory pointer for multi-word operations.
Repeated memory pointer decrements will wrap around
the 0x0040 to 0x005F log buffer boundary.
————————————
Since Descriptor Table Control Words are spaced four
words apart, this command is useful when polling a series
of descriptor table Control Words:
HOLT INTEGRATED CIRCUITS
79
HI-6120, HI-6121
HOST SERIAL PERIPHERAL INTERFACE (SPI), Cont.
FAST-ACCESS SPI COMMANDS FOR REGISTERS 0-15
Command Bits 5:2 Convey the 4-Bit Register Address
COMMAND BITS
7 6 5 4 3 2 1 0
HEX
BYTE
FAST-ACCESS
READ
COMMAND BITS
7 6 5 4 3 2 1 0
HEX
BYTE
FAST-ACCESS
WRITE
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0x00
0x04
0x08
0x0C
0x10
0x14
0x18
0x1C
0x20
0x24
0x28
0x2C
0x30
0x34
0x38
0x3C
Read register 0
Read register 1
Read register 2
Read register 3
Read register 4
Read register 5
Read register 6
Read register 7
Read register 8
Read register 9
Read register 10
Read register 11
Read register 12
Read register 13
Read register 14
Read register 15
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0x80
0x84
0x88
0x8C
0x90
0x94
0x98
0x9C
0xA0
0xA4
0xA8
0xAC
0xB0
0xB4
0xB8
0xBC
Write register 0
Write register 1
Write register 2
Write register 3
Write register 4
Write register 5
Write register 6
Write register 7
Write register 8
Write register 9
Write register 10
Write register 11
Write register 12
Write register 13
Write register 14
Write register 15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SPI COMMANDS USING ADDRESS POINTER REGISTER
HEX
BYTE
READ or
WRITE
0xD0
0xD8
0xE0
—
—
—
Address Pointer Operations (no data is written or read, no pointer auto-increment)
Add 1 to the current address pointer value in register 15
Add 2 to the current address pointer value in register 15
Add 4 to the current address pointer value in register 15
0x40
0xC0
R
W
Read / Write RAM or Register Location Using Current Address Pointer Value
Read location addressed by current address pointer value in register 15
Write location addressed by current address pointer value in register 15
0x48
0xC8
R
W
Increment Address Pointer Then Read / Write Addressed RAM or Register Location
Read addressed location after incrementing pointer in register 15
Write addressed location after incrementing pointer in register 15
0x50
R
0x68
0x70
0x78
R
R
R
Add 0 to the current address pointer value in register 15. Then . . .
Add 1 to the current address pointer value in register 15. Then . . .
Add 2 to the current address pointer value in register 15. Then copy value from newly
addressed location to address pointer in register 15 then read newly addressed location.
0xE8
0xF0
0xF8
W
W
W
Add 0 to the current address pointer value in register 15. Then . . .
Add 1 to the current address pointer value in register 15. Then . . .
Add 2 to the current address pointer value in register 15. Then copy value from newly
addressed location to address pointer in register 15 then write newly addressed location.
0x60
R
Read then add 4 to the current address pointer value in register 15.
0x58
R
Write storage address of last-written Interrupt Address Word to the address pointer
in register 15, then read the Interrupt Address Word from the Interrupt Log buffer.
Decrement memory address pointer after read operation.
READ
Special Purpose Commands
Copy register 13 (current Control Word address) to address pointer in register 15, then
read the location addressed by the new pointer value (read the current Control Word)
TABLE 2. SUMMARY OF HI-6121 SERIAL PERIPHERAL INTERFACE (SPI) COMMANDS
HOLT INTEGRATED CIRCUITS
80
HI-6120, HI-6121
Table 3. RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
No terminal response,
the message is ignored.
No Status Word change.
No change
No Message Info
Word is written
None
Any valid command
to RT31 (broadcast).
when the BCSTINV
bit in Configuration
Register 1 equals 1.
No terminal response,
the message is ignored.
No Status Word change.
(Broadcast commands
are rendered invalid.)
No change
No Message Info
Word is written
None
RT Address Parity Error
based on RTA and RTAP
bits in the Operational
Status Register
For commands to the RT’s
own address or to broadcast
address RT31: No terminal
response, message is ignored.
No Status Word change.
No change
No Message Info
Word is written
RTAPF
(not
optional)
Any valid non-mode
(subaddress 1-30)
transmit command
to RT31 (undefined
broadcast transmit).
No terminal response,
Set Message Error (ME)
and BCR status bits.
DBAC bit set.
DPB bit toggles.
BCAST bit set.
MERR bit set.
BUSID bit updated.
IWA
IBR
(IXEQZ)
Any valid non-mode
(subaddress 1-30)
transmit command
except for RT31. The
corresponding bit
in the Illegalization
Table equals 0. *
Normal Status Word response
(Clear Status). Data words for
transmit are read from the
RAM data buffer assigned
by the Descriptor Table entry
for the transmit subaddress.
DBAC bit set.
DPB bit toggles.
BCAST bit reset.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit updated.
(Other error bits reset).
IWA
IBR
(IXEQZ)
Any valid non-mode
(subaddress 1-30)
transmit command
except for RT31. The
corresponding bit
in the Illegalization
Table equals 1. **
Assert Message Error (ME)
status, then transmit
ME Status Word
without following data words.
DBAC bit set.
DPB bit toggles.
BCAST bit reset.
ILCMD bit set.
BUSID bit updated.
MERR bit set.
RTRT bit updated.
(Other error bits reset).
ILCMD
IWA
Any valid non-mode
(subaddress 1-30)
receive command.
The corresponding bit
in the Illegalization
Table equals 0. *
Normal Status Word response
(Clear Status). After message
completion, the data words
received are stored in the data
buffer RAM location assigned
by the Descriptor Table entry
for the receive subaddress.
DBAC bit set.
DPB bit toggles.
BCAST bit reset.
Normal update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit updated.
(Other error bits reset).
IWA
IBR
(IXEQZ)
Any valid non-mode
(subaddress 1-30)
receive command.
The corresponding bit
in the Illegalization
Table equals 1. **
Assert Message Error (ME)
status and set BCR if broadcast.
Any received data words are
ignored and are not saved.
When data reception stops,
transmit Status Word.
DBAC bit set.
DPB bit toggles.
BCAST bit updated.
ILCMD bit set.
BUSID bit updated.
MERR bit set.
RTRT bit updated.
(Other error bits reset)
ILCMD
IWA
IBR
(IXEQZ)
Circumstances for
Received Message
Terminal Response
to Received Command
Invalid Command
Word (Manchester,
parity or bit count error)
* Terminal is using “illegal command detection” and command is legal
OR terminal is not using “illegal command detection” and command may be legal or illegal (in form response).
**Terminal is using “illegal command detection” and command is illegal
HOLT INTEGRATED CIRCUITS
81
Interrupt
Options
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
No terminal response.
Set Message Error (ME) status.
If broadcast (RT31), also set
the BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
BUSID bit updated.
IWDERR bit set.
ILCMD bit reset.
RTRT bit updated.
(Other error bits reset).
MERR
IWA
IBR
Valid receive command
followed by one or more
good data words, then
a data word having
Command Sync
No terminal response.
Set Message Error (ME) status.
If broadcast (RT31), also set
the BCR status bit,
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
BUSID bit updated.
SYNERR bit set.
ILCMD bit reset.
(Other error bits reset).
MERR
IWA
IBR
Any valid command
followed by wrong
number of data
words (too few or
too many words)
No terminal response.
Set Message Error (ME) status.
If broadcast (RT31), also set
the BCR status bit,
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
BUSID bit updated.
Set WCTERR (too few)
or GAPERR (too many).
ILCMD bit reset.
RTRT bit updated.
(Other error bits reset).
MERR
IWA
IBR
RT-RT where CW1
is a valid non-mode
receive command.
CW2 is a non-mode
transmit command
valid for different RT.
(Normal RT-RT
receive message)
Normal Status Word response
(Clear Status). If RT-RT Command
Word 1 is broadcast (RT31)
set the BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
RTRT bit set.
RTCWERR bit reset.
ILCMD bit reset.
(All error bits reset).
RT-RT where CW1
is a valid non-mode
receive command.
Transmit command
CW2 has an error:
T/R bit = 0, or CW2
subaddress equals
0 or 31 (mode code),
or CW2 has same RT
address as CW1.
No terminal response.
Set Message Error (ME) status.
If RT-RT Command Word 1 is
broadcast (RT31) also set
the BCR status bit,
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
BUSID bit updated.
RTRT bit set.
RTRTCWERR bit set.
ILCMD bit reset.
(Other error bits reset).
MERR
IWA
IBR
RT-RT where CW1
is a valid non-mode
receive command.
CW2 is valid for different
RT but transmitting RT
does not respond in time.
No terminal response.
Set Message Error (ME) status.
If RT-RT Command Word 1 is
broadcast (RT31), also set
the BCR status bit.
DBAC bit set.
BCAST bit updated
DPB bit toggles.
MERR bit set.
BUSID bit updated.
RTRT bit set.
TMOERR bit set.
ILCMD bit reset.
(Other error bits reset).
MERR
IWA
IBR
RT-RT receive command
(CW1 is valid). The
transmitting RT response
has one of these errors:
invalid word (Manchester,
(sync, bit count, parity or
word count error). Also
includes transmitting RT
response with Message
Error or Busy status
followed by no data words.
No terminal response.
Set Message Error (ME) status.
If RT-RT Command Word 1 is
broadcast (RT31) also set
the BCR status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR bit set.
BUISID bit reset.
RTRT bit set.
IWDERR bit set,
or WCTERR bit set
for Tx RT Busy case.
ILCMD bit reset.
(Other error bits reset).
MERR
IWA
IBR
Circumstances for
Received Message
Terminal Response
to Received Command
Valid receive
command followed
by invalid data word
(Manchester, parity
or bit count error).
HOLT INTEGRATED CIRCUITS
82
Interrupt
Options
IWA
IBR
(IXEQZ)
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
Normal Status Word
response. Clear status
is transmitted with the
commanded number of
data words. Data words for
transmit are read from the
RAM data buffer assigned
in the Descriptor Table entry
for the transmit subaddress.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit set.
(All error bits reset).
Valid mode code
command to RT31
(broadcast). The
BCSTINV bit in
Configuration
Register 1 equals 1.
No terminal response,
the message is ignored.
No Status Word change.
No change
No Message Info
Word is written
None
Valid undefined
mode code
command. The
UMCINV bit in
Configuration
Register 1 equals 1.
No terminal response,
the message is ignored.
No Status Word change.
——— NOTE ———
This only applies for the
undefined mode codes:
MC0 to MC15 with T/R = 0
MC16,18 & 19 with T/R = 0
MC17,20 & 21 with T/R = 1
No change
No Message Info
Word is written
None
Valid defined mode
code command
(including reserved
mode code) not
“illegalized” by
Illegalization Table
(table bit equals 0 *)
If MC2 (transmit status)
or MC18 (transmit last
command) status word
from last command is
transmitted. If MC18,
data word transmitted
is read from an internal
register.
——— OR ———
If not MC2 or MC18,
normal Status Word
response. If broadcast,
assert Status Word
BCR bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Circumstances for
Received Message
Terminal Response
to Received Command
RT-RT command
where CW2 is a
valid non-mode
(subaddress 1-30)
transmit command.
CW1 is a non-mode
receive command
for RT31. (Normal
broadcast RT-RT
transmit)
For mode codes 16-31
with T/R bit = 1 which
transmit a data word,
the word for transmit
is read from the Mode
Command Data Table.
——— AND ———
For all mode commands
with mode data word
(mode codes 16-31),
the transmitted or
received data word is
written to command’s
Descriptor Word 4.
* Terminal is using “illegal command detection” and command is legal
OR terminal is not using “illegal command detection” and command may be legal or illegal (in form response).
HOLT INTEGRATED CIRCUITS
83
Interrupt
Options
IWA
(IXEQZ)
IWA
IBR
(IXEQZ)
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
Set Message Error (ME) status.
If not broadcast (RT31), transmit.
Status Word without a following
mode data word. If broadcast
(RT31), also assert the BCR
status bit.
——— AND ———
For mode commands with
a mode data word
(mode codes 16-31),
no updates are made to
the Mode Command Data
Table or to the command’s
Word 4 in Descriptor Table.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
BUSID bit updated.
MERR bit reset.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
If bit in Illegalization Table that
corresponds to the undefined
mode code command equals 1 **
Set Message Error (ME) status,
If not broadcast (RT31), transmit
Status Word without a
following mode data word.
If broadcast (RT31), also
assert the BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
BUSID bit updated.
MERR bit reset.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
(IXEQZ)
Circumstances for
Received Message
Terminal Response
to Received Command
Valid defined mode
code command that
is “illegalized” by the
IllegalizationTable
(table bit equals 1 **)
Valid undefined mode
code command.
The UMCINV bit
in Configuration
Register 1 equals 0.
.
——— OR ———
If bit in Illegalization Table that
corresponds to the undefined
mode code command equals 0 *
Normal Status Word (Clear
Status) response. If command
was broadcast (RT31),
assert the BCR status bit.
——— AND ———
For mode codes 16-31
with T/R bit = 1 which
transmit a data word,
the word for transmit
is read from the Mode
Command Data Table.
——— AND ———
For all mode commands
with mode data word
(mode codes 16-31),
the transmitted or
received data word is
written to command’s
Descriptor Word 4.
* Terminal is using “illegal command detection” and command is legal
OR terminal is not using “illegal command detection” and command may be legal or illegal (in form response).
**Terminal is using “illegal command detection” and command is illegal.
HOLT INTEGRATED CIRCUITS
84
Interrupt
Options
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
No terminal response.
Set Status Word ME bit,
If broadcast, also set
Status Word BCR bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
BUSID bit updated.
IWDERR bit set.
ILCMD bit reset.
RTRT bit updated.
(Other error bits reset.)
Superseded Message:
Terminal receives an
incomplete message
interrupted by a gap
of at least 3.5 us,
followed by a new
valid command on
the same bus or
on the other bus
——— OR ———
Terminal is transacting
a transmit message on
one bus and receives
the start of a valid
command on the other
bus.
Terminal aborts processing
for first message and
responds in full to the
second (superseding)
message. The Status
Word BCR bit reflects
broadcast status for:
the second command,
unless second command
is MC2 (transmit status)
or MC18 (transmit last
command).
No change
to superseded
command’s
Control Word.
——————
For superseding
command’s
Control Word:
DBAC bit set.
BCAST bit updated
DPB bit toggles.
No Msg Info
Word written for
the superseded
command.
——————
For superseding
command’s
data buffer, a
normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit updated.
(All error bits reset.)
None for
superseded
command
Terminal is Busy for a
valid receive command
either globally (BUSY
bit set in Status Word
Bits register) or in
response to a particular
valid receive command
(MKBUSY bit set in the
command’s Descriptor
Table control word.)
Busy bit is set in the 1553
Status Bits register. Status
Word is transmitted,
unless broadcast. If
broadcast, the BCR bit
in Status Word is also
set. After message
completion, data words
received are stored in
the data buffer assigned
by the receive subaddress
Descriptor Table entry.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
WASBSY bit set.
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit updated.
(All error bits reset.)
IWA
IBR
Terminal is Busy for a
valid transmit command
either globally (BUSY
bit set in Status Word
Bits register) or in
response to a particular
valid receive command
(MKBUSY bit set in the
command’s Descriptor
Table control word.)
Busy bit is set in the 1553
Status Bits register. If not
broadcast, Status Word is
transmitted without data.
If broadcast, the BCR bit
in Status Word is also
set.
DBAC bit set.
BCAST bit updated,
(mode commands
with T/R = 1)
DPB bit toggles
WASBSY bit set.
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit updated.
(All error bits reset.)
IWA
IBR
Circumstances for
Received Message
Terminal Response
to Received Command
Valid receive
command followed
by invalid data word
(Manchester, parity
or bit count error).
FOLLOWING PAGES LIST THE DETAILED RESPONSES FOR MODE CODE COMMANDS
PER MIL-STD-1553B
HOLT INTEGRATED CIRCUITS
85
Interrupt
Options
MERR
IWA
IBR
————
IWA
IBR
(IXEQZ)
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 00000
and T/R bit equals 1
HI-6110 is not equipped to accept
bus control duties. The host must
initialize device to respond using
either of the two following methods:
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Interrupt
Options
DYNAMIC BUS
CONTROL (MC0)
The mode code’s bit
in Illegalization Table
equals 0 *
RT is not using “illegal
command detection.”
Respond “in form”: Reset
Message Error (ME) status
and transmit Status Word.
IWA
——— OR ———
——— OR ———
The mode code’s bit
in Illegalization Table
equals 1 **
RT is using “illegal
command detection”and
mode code is illegalized.
Set Message Error (ME)
status and transmit Status.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
ILCMD bit set.
BUSID bit updated.
MERR bit reset.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
Broadcast address RT31
(broadcast not allowed)
No Status Word transmit.
Set the Message Error
(ME) and BCR status bits.
DBAC bit set.
BCAST bit set.
DPB toggles.
MERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD, RTRT bits reset.
(Other error bits reset.)
MERR
IWA
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(MC0 is not ndefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 0.
Illegalization Table
bit equals 0 *
Respond “In form”:
Reset Message Error
(ME) status and
transmit Status Word.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 0.
Illegalization Table
bit equals 1 **
Set Message Error
(ME) status and.
transmit Status Word.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
MC0 EXCEPTIONS:
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
86
ILCMD
IWA
IBR
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 00001
and T/R bit equals 1
Default response: Reset
Message Error (ME) status
then transmit Status Word.
If broadcast, set the Status
Word BCR bit and suppress
Status Word transmit.
Reset the Time Tag counter
to 0x0000.
SYNCHRONIZE
WITHOUT
DATA
(MC1)
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
Interrupt
Options
MC1 EXCEPTIONS:
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
The Time Tag counter is
not reset.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
The Time Tag counter is
not reset.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
87
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
No Status Word updates,
Transmit Status from last
valid command (assuming
last command was not a
“Transmit Status” or a
“Transmit last Command”
mode command.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Broadcast address RT31
(broadcast not allowed)
No Status Word transmit.
Set the Message Error
(ME) and BCR status bits.
DBAC bit set.
BCAST bit set.
DPB bit toggles.
MERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
Time Tag counter is not reset.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0
The Illegalization Table.
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 00010
and T/R bit equals 1
TRANSMIT
STATUS
(MC2)
Interrupt
Options
IWA
MC2 EXCEPTIONS:
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
88
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
Default response: Reset
Message Error (ME) status
then transmit Status Word.
If broadcast, set the
Status Word BCR bit and
suppress status transmit.
Host should initiate selftest then update Built-In
Test word at shared RAM
address 0x0093. Resume
terminal execution.
DBAC bit reset.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 00011
and T/R bit equals 1
INITIATE
SELF TEST
(MC3)
Interrupt
Options
MC3 EXCEPTIONS:
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
89
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 00100
and T/R bit equals 1
Default response: Reset
Message Error (ME) status
then transmit Status Word. If
broadcast, set Status Word
BCR bit and suppress status.
transmit. After Status transmission, inhibit the inactive bus:
TRANSMITTER
SHUTDOWN
(MC4)
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit reset.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Interrupt
Options
IWA
IBR
The device automatically shuts down either transmit and receive or transmit only for
the inactive bus, depending on the state of the SDSEL bit in Configuration Register 2.
(See description of SDSEL and MCOPT4 bits in Configuration Register 2 for further information.
When a bus transmitter (or transmitter and receiver) is shut down by mode command, bus status
is reflected by assertion of a TXASD or TXBSD bit in the Built-In Test Register at register address
0x0014. If SDSEL equals logic 0, an RXASD or RXBSD bit will also be asserted. See Built-In Test
Register description for further information.
Once shutdown, the inactive bus transmitter (or transmitter and receiver) can only be
reactivated by an “Override Transmitter Shutdown” MC5 or MC21 or “Reset Remote Terminal” MC8
mode code command, or by software reset (by setting the SRST bit in Configuration Register 1)
or by hardware reset initiated by asserting the MR master reset input pin.
MC4 EXCEPTIONS:
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
90
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 00101
and T/R bit equals 1
Default response: Reset
Message Error (ME) status
then transmit Status Word.
If broadcast, set the
Status Word BCR bit and
suppress status transmit.
This command is only used
with dual redundant buses.
After Status transmission,
reactivate inactive bus:
OVERRIDE
TRANSMITTER
SHUTDOWN
(MC5)
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit reset.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Interrupt
Options
IWA
IBR
The device automatically re-enables transmit and receive for the inactive bus, regardless of
the state of the SDSEL bit in Configuration Register 2. The device affirms reenabled bus status
by resetting all four TXASD, TXBSD, RXASD and/or RXBSD bits in the Built-In Test Register
at register address 0x0014.
Note: If the TXINHA or TXINHB input pins are asserted, the device cannot override the
resulting hardware transmit inhibit for the affected bus. In this case, the corresponding TXASD
and/or TXBSD bits remain high. See Built-In Test Register description for further information.
MC5 EXCEPTIONS:
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
91
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 00110
and T/R bit equals 1
Default response: Reset
Message Error (ME) status
then transmit Status Word.
If broadcast, set the
Status Word BCR bit and
suppress status transmit.
INHIBIT
TERMINAL
FLAG BIT
(MC6)
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit reset.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Interrupt
Options
IWA
IBR
The device automatically sets the TF Inhibit bit in the BIT Word register at
address 0x0013. While the TF inhibit bit is set, the device disregards
assertion of the Terminal Flag (TF) bit in the 1553 Status Bits register (0x0006)
and only transmits status with the Terminal Flag status bit reset.
Once the Terminal Flag has been inhibited, it can be reactivated by an “Override
Inhibit Terminal Flag” MC7 or “Reset Remote Terminal” MC8 mode command,
by software reset (asserting the SRST bit in Configuration Register 1) or by
asserting the MR master reset input pin.
MC6 EXCEPTIONS:
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
MERR bit reset.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
92
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 00111
and T/R bit equals 1
Default response: Reset
Message Error (ME) status
then transmit Status Word.
If broadcast, set the
Status Word BCR bit and
suppress status transmit.
OVERRIDE
INHIBIT
TERMINAL
FLAG BIT
(MC7)
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit reset.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Interrupt
Options
IWA
IBR
The device automatically resets the TF Inhibit bit in the BIT Word register at
address 0x0013. While the TF inhibit bit is reset, the device transmits status
with the Terminal Flag status bit set if the Terminal Flag (TF) bit is asserted in the
1553 Status Bits register (0x0006).
MC7 EXCEPTIONS:
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
93
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 01000
and T/R bit equals 1
Default response: Reset
Message Error (ME)
status. If not broadcast,
transmit Status Word.
RESET
REMOTE
TERMINAL
(MC8)
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit reset.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Interrupt
Options
IWA
IBR
After Status transmission, the device automatically resets the status Message Error (ME)
Busy and Broadcast Command received (BCR) bits in its internal status register. The BIT Word
at shared RAM address is reset to 0x0000. If either transmitter was shutdown, the shutdown
condition is overridden. If the Terminal Flag (TF) status bit was inhibited, the inhibit is reset.
This command does not reset any of the host-programmed registers that configure the
terminal for operation. To complete the terminal reset process, the host must assert either
MR hardware master reset (with or without auto-initialization) or assert the SRST bit
in Configuration Register 1 to execute software reset. See following section entitled
Reset and Initialization for additional details. Because MC8 requires host interaction,
most applications will probably utilize the IWA interrupt to alert the host when received.
MC8 EXCEPTIONS:
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR bit set.
GAPERR bit set.
BUSID bit updated.
ILCMD bit reset.
BCAST bit reset.
MERR
IWA
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
94
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode codes
01001 through 01111
and T/R bit equals 1
The reserved mode code
commands do not have
defined terminal actions.
RESERVED
MODE CODES
MC9 - MC15
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
Interrupt
Options
Host must initialize device
to respond using either of
the two following methods:
The mode code’s bit
in Illegalization Table
equals 0 *
RT is not using “illegal
command detection.”
Respond “in form”: Reset
Message Error (ME) status
and transmit Status Word.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit reset.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
The mode code’s bit
in Illegalization Table
equals 1 **
RT is using “illegal
command detection”and
mode code is illegalized.
Set Message Error (ME)
status and transmit Status
Word.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
ILCMD
IWA
MC9-MC15 EXCEPTIONS:
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
95
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
Default CS response:
Reset Message Error (ME)
and BCR status bits. then
transmit Status Word
followed by the data word
stored in the assigned index or
ping-pong data buffer (or in
Descriptor Word 4 for SMCP
Simplified Mode Command
Processing).
DBAC bit reset.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Broadcast address RT31
(broadcast not allowed)
No Status Word transmit.
Set the Message Error
(ME) and BCR status bits.
DBAC bit set.
BCAST bit set.
DPB bit toggles.
MERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
If broadcast, set the
BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
(Other error bits reset.)
MERR
IWA
IBR
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 10000
and T/R bit equals 1
TRANSMIT
VECTOR WORD
(MC16)
Interrupt
Options
IWA
MC16 EXCEPTIONS:
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
96
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 10001
and T/R bit equals 0
Default response: Reset
Message Error (ME)
status. and transmit
Status Word. If broadcast,
set BCR status bit and
suppress Status response.
SYNCHRONIZE
WITH DATA
WORD
(MC17)
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit reset.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Interrupt
Options
IWA
Device stores received data word in the assigned ping-pong or index data buffer (or in Descriptor Word 4
for SMCP Simplified Mode Command Processing). Configuration Register 2 MCOPT2 and MCOPT3 bits
allow automatic Time-Tag count loading using the data word received. If MCOPT2 equals 1, the received
data word is automatically loaded to the Time-Tag counter if the low order bit of the received data word
(bit 0) equals 0. If MCOPT3 equals 1, the received data word is automatically loaded to the Time-Tag
counter if the low order bit of the received data word (bit 0) equals 1. If both bits are set, the received
data word is unconditionally loaded into the Time-Tag counter. For non-broadcast commands, counter
load occurs before status word transmission.
MC17 EXCEPTIONS:
Invalid command word.
——— OR ———
T/R bit equals 1 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 1
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 1
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word not followed by a
contiguous data word
(missing data word)
No Status Word transmit.
Set the Message Error
(ME) status bit.
If broadcast, set the
BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
Mode code command
word followed by data
word with Manchester
encoding or parity error
(bad data word)
No Status Word transmit.
Set the Message Error
(ME) status bit.
If broadcast, set the
BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
IWDERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
97
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 10010
and T/R bit equals 1
Default response: Status
is not updated. Transmit
Status Word from the
previous command, with
data word containing the
last valid command word
(assuming it was not a
“Transmit Status” or a
“Transmit Last Command”
mode command.
TRANSMIT
LAST
COMMAND
(MC18)
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit reset.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERRR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Interrupt
Options
IWA
Transmitted data word is
automatically provided from an
internal register, and is copied to
assigned index or ping-pong buffer
(or to Descriptor Word 4 for SMCP
Simplified Mode Cmd Processing)
MC18 EXCEPTIONS:
Broadcast address RT31
(broadcast not allowed)
No Status Word transmit.
Set the Message Error
(ME) and BCR status bits.
DBAC bit set.
BCAST bit set.
DPB toggles.
MERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
If broadcast, set the
BCR status bit.
DBAC bit set.
BCAST updated.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
98
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 10011
and T/R bit equals 1
Default response: Reset
Message Error (ME) and
BCR status bits. then
transmit Status Word
followed by data word from
either BIT Word Register or
Alternate BIT Word Register,
depending on Configuration
Reg. 2 option bit ALTBITW.
TRANSMIT
BIT WORD
(MC19)
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit reset.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit reset.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Interrupt
Options
IWA
Transmitted data word is
automatically copied to the
assigned index or ping-pong buffer
(or to Descriptor Word 4 for SMCP
Simplified Mode Cmd Processing)
MC19 EXCEPTIONS:
Broadcast address RT31
(broadcast not allowed)
No Status Word transmit.
Set the Message Error
(ME) and BCR status bits.
DBAC bit set.
BCAST bit set.
DPB bit toggles.
MERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
Invalid command word.
——— OR ———
T/R bit equals 0 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 0
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word is followed by a
contiguous data word
If broadcast, set the
BCR status bit.
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
99
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code command
with mode code 10100
and T/R bit equals 0
Default response: Reset
Message Error (ME)
status. and transmit
Status Word. If broadcast,
set BCR status bit and
suppress Status response.
This command is intended
for use in 1553 systems
with more than one dual
redundant bus.
SELECTED
TRANSMITTER
SHUTDOWN
(MC20)
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
DBAC bit reset.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
Interrupt
Options
IWA
After Status Word transmission, the device stores received data word in the assigned
index or ping-pong buffer (or in Descriptor Word 4 if SMCP Simplified Mode Command
Processing applies).
If the MCOPT4 bit in Configuration Register 2 equals 0, the received data word is compared
to the value in the Bus Select Register corresponding to the inactive bus. For example, if the
command is received on Bus A, the comparison uses the Bus B Select Register value. If the
compared values match, the device automatically shuts down either transmit and receive or
transmit only for the inactive bus, depending on the state of the SDSEL bit in Configuration
Register 2. (See description of SDSEL and MCOPT4 bits in Configuration Register 2 for further
information. When a bus transmitter (or transmitter and receiver) is shut down by this mode
command, bus status is reflected by assertion of a TXASD or TXBSD bit in the Built-In Test
Register at register address 0x0014. If SDSEL equals logic 0, an RXASD or RXBSD bit will
also be asserted. See Built-In Test Register description for further information.
If MCOPT4 bit in Configuration Register 2 equals 1, the IWA interrupt is typically used to alert
the host when an MC20 command is received. The host must evaluate whether the received
mode data word matches the bus selection criteria. If bus selection criteria is met, the host
fulfills bus shutdown command using one of two options:
(1) set the bus shutdown bit INHBUSA or INHBUSB for the inactive bus in
Configuration Register 1 to inhibit both transmit and receive,
or
(2) assert the transmit shutdown input pin TXINHA or TXINHB for the inactive bus
to inhibit only transmit. The inactive bus receiver is still active and all valid
commands are heeded without transmit. This option is rarely applied.
Once shutdown, the inactive bus transmitter (or transmitter and receiver) can only be
reactivated by an “Override Transmitter Shutdown” MC5 or MC21 or “Reset Remote Terminal” MC8
mode code command, or by software reset (by setting the SRST bit in Configuration Register 1)
or by hardware reset initiated by asserting the MR master reset input pin.
MC20 EXCEPTIONS:
Invalid command word.
——— OR ———
T/R bit equals 1 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 1
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
MC20 continues on next page
HOLT INTEGRATED CIRCUITS
100
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
Interrupt
Options
MC20 EXCEPTIONS
Continued:
T/R bit equals 1
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress Status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word not followed by a
contiguous data word
(missing data word)
BCR status bit.
No Status Word transmit.
Set the Message Error
(ME) status bit.
If broadcast, set the
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
WCTERR bit updated.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
Mode code command
word followed by data
word with Manchester
encoding or parity error
(bad data word)
No Status Word transmit.
Set the Message Error
(ME) status bit.
If broadcast, set the
BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
IWDERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
DBAC bit reset.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
** Command is illegal and terminal is using “illegal command detection”
Mode code command
with mode code 10101
and T/R bit equals 0
OVERRIDE
SELECTED
TRANSMITTER
SHUTDOWN
(MC21)
Default response: Reset
Message Error (ME)
status. and transmit
Status Word. If broadcast,
set the BCR status bit and
suppress Status response.
IWA
After Status Word transmission, the device stores received data word in the assigned index or
ping-pong buffer (or in Descriptor Word 4 if SMCP Simplified Mode Command Processing applies).
If the MCOPT4 bit in Configuration Register 2 equals 0, the received data word is compared
to the value in the Bus Select Register corresponding to the inactive bus. For example, if the
command is received on Bus A, the comparison uses the Bus B Select Register value. If the
compared values match, the device automatically re-enables transmit and receive for the
inactive bus, regardless of the state of the SDSEL bit in Configuration Register 2. The device
affirms fully reenabled bus status by resetting all four TXASD, TXBSD, RXASD and/or RXBSD
bits in the Built-In Test Register at register address 0x0014. Note: If the TXINHA or TXINHB
input pins are asserted, the device cannot override the resulting hardware transmit inhibit for
the affected bus. In this case, the corresponding TXASD and/or TXBSD bits remain high.
See Built-In Test Register description for further information.
If MCOPT4 bit in Configuration Register 2 equals 1, the IWA interrupt is typically used to alert
the host when an MC21 command is received. The host must evaluate whether the received
mode data word matches the bus selection criteria. If bus selection criteria is met, the host
fulfills the “override shutdown” command using one of two options:
(1) reset the bus shutdown bit INHBUSA or INHBUSB for the inactive bus in Configuration
Register 1 to reenable both transmit and receive, if the host used this bit to shut down
transmit and receive for an earlier MC4 or MC20 command. (Resetting this shutdown bit
does not restore bus transmit capability if a TXINHA or TXINHB input pin is asserted.)
or
(2) reset the transmit shutdown input pin TXINHA or TXINHB for the inactive bus to reenable
transmit if the host used this pin to shut down transmit only for an earlier MC4 or MC20 command.
HOLT INTEGRATED CIRCUITS
101
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Circumstances for
Received Message
Terminal Response
to Received Command
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
Interrupt
Options
MC21 EXCEPTIONS:
Invalid command word.
——— OR ———
T/R bit equals 1 and
UMCINV bit in Config.
Register 1 equals 1 ***
No terminal response,
the message is ignored.
No Status Word change.
(mode code is undefined
when T/R bit equals 0)
No change.
No Message Info
Word is written
None
T/R bit equals 1
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 0 *
Respond “In form”: Reset
Message Error (ME) status.
If not broadcast, transmit
Status Word. If broadcast,
set the BCR status bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
IWA
IBR
T/R bit equals 1
——— AND ———
UMCINV bit in Config.
Register 1 equals 0.
The Illegalization Table
bit equals 1 **
Set Message Error (ME)
status. If not broadcast,
transmit Status Word.
If broadcast, also set
Status Word BCR bit and
suppress status response.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
ILCMD
IWA
IBR
Mode code command
word not followed by a
contiguous data word
(missing data word)
No Status Word transmit.
Set the Message Error
(ME) status bit.
If broadcast, set the
BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
Mode code command
word followed by data
word with Manchester
encoding or parity error
(bad data word)
No Status Word transmit.
Set the Message Error
(ME) status bit.
If broadcast, set the
BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
IWDERR bit set.
BUSID bit updated.
ILCMD bit reset.
RTRT bit reset.
(Other error bits reset.)
MERR
IWA
IBR
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
*** Undefined mode command rendered invalid by UMCINV option bit. Command’s bit in Illegalization Table is “don’t care”.
HOLT INTEGRATED CIRCUITS
102
HI-6120, HI-6121
RT MESSAGE RESPONSES, OPTIONS & EXCEPTIONS, Cont.
SUMMARY OF MESSAGE RESPONSES
FOR THE HI-6120 / HI-6121 REMOTE TERMINAL
Bits Updated
in Descriptor
Control Word
Bits Updated
in Data Buffer
Msg Info Word
Mode code is illegalized.
Set Message Error (ME)
status and transmit Status
Word. If T/R bit equals 1,
suppress data word transmission.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
ILCMD bit set.
MERR bit set.
BUSID bit updated.
RTRT bit reset.
(Other error bits reset.)
If T/R bit equals 1,
Reset Message Error (ME) status.
Transmit Status Word with contiguous
data word read from assigned index or
ping-pong buffer (or from Descriptor
Word 4 if the SMCP option applies.)
—————————
If T/R bit equals 0,
Reset Message Error (ME) status
and transmit Status. If broadcast,
also set BCR status and suppress
Status transmit. Device stores received
data word in assigned index or pingpong buffer (or in Descriptor Word 4
if SMCP Simplified Mode Command
Processing applies).
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset.
(All error bits reset.)
—————————
Normal CS update:
BUSID bit updated.
MERR bit reset.
ILCMD bit reset.
RTRT bit reset
(All error bits reset.)
No terminal response,
the message is ignored.
No Status Word change.
No change.
No Message Info
Word is written
None
.
T/R bit equals 0 and
mode code command
word is not followed by
a contiguous data word
(missing data word)
No Status Word transmit.
Set the Message Error
(ME) status bit.
If broadcast, set the
BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
WCTERR bit set.
BUSID bit updated.
ILCMD, RTRT bits reset.
(Other error bits reset.)
MERR
IWA
IBR
T/R bit equals 0 and
command word is
followed by data word
with Manchester or parity
error (bad data word)
No Status Word transmit.
Set the Message Error
(ME) status bit.
If broadcast, set the
BCR status bit.
DBAC bit set.
BCAST bit updated.
DPB bit toggles.
MERR bit set.
IWDERR bit set.
BUSID bit updated.
ILCMD, RTRT bits reset.
(Other error bits reset.)
MERR
IWA
IBR
T/R bit equals 1 and
mode code command
word is followed by a
contiguous data word
No Status Word transmit.
Set the Message Error
(ME) status bit.
DBAC bit set.
BCAST bit reset.
DPB bit toggles.
MERR, WCTERR bits set. MERR
BUSID bit updated.
IWA
ILCMD, RTRT bits reset.
(Other error bits reset.)
T/R bit equals 1 and
mode code command
is addressed to RT31
No Status Word transmit.
Set the Message Error
(ME) and BCR status bits.
DBAC bit set.
BCAST bit set.
DPB bit toggles.
MERR bit set.
BUSID bit updated.
ILCMD, RTRT bits reset.
(Other error bits reset.)
Circumstances for
Received Message
Terminal Response
to Received Command
Mode code commands
having mode codes
10110 through 11111
RESERVED
MODE CODES
MC22 - MC31
The reserved mode code
commands do not have
defined actions.
Host must initialize device
to respond using either of
the two following methods:
The mode code’s bit
in Illegalization Table
equals 1 **
(RT is using “illegal
command detection”)
The mode code’s bit
in Illegalization Table
equals 0 *
(RT not using “illegal
command detection,”
respond “in form”)
—————————
DBAC bit reset.
BCAST bit updated.
DPB bit toggles.
Interrupt
Options
ILCMD
IWA
IWA
———
IWA
IBR
MC22-MC31 EXCEPTIONS:
Invalid command word.
* Command is illegal but terminal is not using “illegal command detection” (in form response).
** Command is illegal and terminal is using “illegal command detection”
HOLT INTEGRATED CIRCUITS
103
MERR
IWA
IBR
HI-6120, HI-6121
ABSOLUTE MAXIMUM RATINGS
Supply voltage (VDD)
RECOMMENDED CONDITIONS
Operating Supply Voltage
-0.3 V to +5.0 V
Logic input voltage range
X
VDD....................................... 3.3 VDC ±5%
-0.3 V DC to +3.6 V
X
Receiver differential voltage
10 Vp-p
Driver peak output current
+1.0 A
Power dissipation at 25°C
1.0 W
Solder Temperature
Operating Temperature Range
X
Industrial ......................... -40°C to +85°C
Extended ....................... -55°C to +125°C
275°C for 10 sec.
Junction Temperature
175°C
Storage Temperature
-65°C to +150°C
NOTE: Stresses above absolute maximum ratings or
outside recommended operating conditions may cause
permanent damage to the device. These are stress
ratings only. Operation at the limits is not recommended.
DC ELECTRICAL CHARACTERISTICS
VDD = 3.3 V, GND = 0V, TA = Operating Temperature Range (unless otherwise specified).
PARAMETER
SYMBOL
CONDITION
MIN
TYP
MAX
3.15
UNITS
Operating Voltage
VDD
3.30
3.45
V
Total Supply Current
ICC1
Not Transmitting
4
10
mA
ICC2
Transmit one channel @
50% duty cycle
225
250
mA
ICC3
Transmit one channel @
100% duty cycle
425
500
mA
0.06
W
0.5
W
Power Dissipation
PD1
Not Transmitting
PD2
Transmit one channel @
100% duty cycle
Min. Input Voltage
(HI)
VIH
Digital inputs
Max. Input Voltage
(LO)
VIL
Digital inputs
Min. Input Current
(HI)
IIH
Digital inputs
Max. Input Current
(LO)
IIL
Digital inputs
Pull-Up / Pull-Down Current
IPUD
Digital inputs and data bus
Min. Output Voltage
(HI)
VOH
IOUT = -1.0mA, Digital outputs
Max. Output Voltage
(LO)
VIH
IOUT = 1.0mA, Digital outputs
RECEIVER
0.3
70%
VDD
30%
VDD
20
µA
µA
-20
µA
275
90%
VDD
10%
VDD
(Measured at Point “AD“ in Figure 25 unless otherwise specified)
Input resistance
Input capacitance
Common mode rejection ratio
RIN
Differential
CIN
Differential
CMRR
Input Level
VIN
Input common mode voltage
20
Kohm
5
40
Differential
pF
dB
9
Vp-p
VICM
-5.0
5.0
V-pk
Detect
VTHD
20.0
Vp-p
No Detect
VTHND
1 Mhz Sine Wave
(Measured at Point “AD“ in Fig. 25)
1.15
0.28
Vp-p
Threshold Voltage - Transformer-coupled Detect
VTHD
14.0
Vp-p
No Detect
VTHND
1 MHz Sine Wave
(Measured at Point “AT“ in Fig. 26)
0.86
0.20
Vp-p
Threshold Voltage - Direct-coupled
TRANSMITTER
(Measured at Point “AD” in Figure 25 unless otherwise specified)
Output Voltage
VOUT
35 ohm load
6.0
9.0
Vp-p
VOUT
70 ohm load
(Measured at Point “AT“ in Fig. 26)
18.0
27.0
Vp-p
VON
Differential, inhibited
10.0
mVp-p
Direct coupled
VDYN
35 ohm load
-90
90
mV
Transformer coupled
VDYN
70 ohm load
(Measured at Point “AT“ in Fig. 26)
-250
250
mV
Output Resistance
ROUT
Differential, not transmitting
10
Output Capacitance
COUT
1 MHz sine wave
Direct coupled
Transformer coupled
Output Noise
Output Dynamic Offset Voltage
HOLT INTEGRATED CIRCUITS
104
Kohm
15
pF
HI-6120, HI-6121
AC ELECTRICAL CHARACTERISTICS
VDD = 3.3 V, GND = 0V, TA = Operating Temperature Range (unless otherwise specified).
LIMITS
PARAMETER
SYMBOL
UNITS
MIN
TYP
MAX
HI-6121 INTERFACE TIMING (SPI Host Bus Interface)
SCK clock period
CE set-up time to first SCK rising edge
CE hold time after last SCK falling edge
CE inactive between SPI instructions
SPI SI Data set-up time to SCK rising edge
SPI SI Data hold time after SCK rising edge
SCK high time
SCK low time
SO valid after SCK falling edge
SO high-impedance after CE inactive
tCYC
tCES
tCEH
tCPH
tDS
tDH
tSCKH
tSCKL
tDV
tCHZ
50
25
25
100
10
10
25
25
20
75
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
SERIAL INPUT TIMING DIAGRAM
t CPH
t CEH
CE
t CES
SCLK
t DS
t DH
SI
MSB
LSB
SERIAL OUTPUT TIMING DIAGRAM
t CPH
CE
t SCKH
t SCKL
SCLK
t CHZ
t DV
SO
Hi Impedance
MSB
HOLT INTEGRATED CIRCUITS
105
LSB
Hi Impedance
HI-6120, HI-6121
VDD = 3.3 V, GND = 0V, TA = Operating Temperature Range (unless otherwise specified).
LIMITS
PARAMETER
SYMBOL
UNITS
MIN
TYP
MAX
HI-6120 INTERFACE TIMING (Parallel Host Bus Interface)
Clock period
Write cycle
Read/Write inactive time
Non-sequential read time
8-bit sequential read time
16-bit sequential read time
Wait assertion time
Wait time
tCYC
tWR
80
55
25
110
55
65
20
tINACT
tNSR
tSR8
tSR16
tWAS
tW
130
ns
ns
ns
ns
ns
ns
ns
ns
HOST WRITE IN DUAL-BYTE MODE (8-BIT BUS WIDTH)
using BTYPE = 1 (”Intel Style” - OE Output Enable and WE Write Enable)
showing 2 bytes written for a single 16-bit word
ADDRESS
A15:1
A0 LB
CS
OE
tINACT
tWR
WE
tINACT
tWR
OE or WE
assertion
for the next
Read or Write
WAIT
BYTE 0
D7:0
BYTE 1
HOST WRITE IN WORD MODE (16-BIT BUS WIDTH)
using BTYPE = 1 (”Intel Style” - OE Output Enable and WE Write Enable)
showing a one-word write cycle. Successive writes to sequential addresses have same timing.
A15:1
ADDRESS
CS
OE
WE
tINACT
tWR
OE or WE
assertion
for the next
Read or Write
WAIT
D15:0
WORD
All timing intervals equal 0 ns MIN unless otherwise indicated.
FIGURE 21. Register and RAM Write Operations for BTYPE = 1
HOLT INTEGRATED CIRCUITS
106
HI-6120, HI-6121
HOST BUS INTERFACE TIMING, Cont. (HI-6120 ONLY)
HOST WRITE IN DUAL-BYTE MODE (8-BIT BUS WIDTH)
using BTYPE = 0 (”Motorola Style” - Single Read/Write Strobe STR and R/W Direction Select)
showing 2 bytes written for a single 16-bit word
ADDRESS
A15:1
A0 LB
CS
R/W
tWR
STR
tINACT
tWR
tINACT
STR assertion
for the next
Read or Write
WAIT
BYTE 0
D7:0
BYTE 1
All timing intervals equal 0 ns MIN unless otherwise indicated.
HOST WRITE IN WORD MODE (16-BIT BUS WIDTH)
using BTYPE = 0 (”Motorola Style” - Single Read/Write Strobe STR and R/W Direction Select)
showing a one-word write cycle. Successive writes to sequential addresses have same timing.
A15:1
ADDRESS
CS
R/W
STR
tWR
tINACT
STR assertion
for the next
Read or Write
WAIT
D15:0
WORD
All timing intervals equal 0 ns MIN unless otherwise indicated.
FIGURE 22. Register and RAM Write Operations for BTYPE = 0
HOLT INTEGRATED CIRCUITS
107
HI-6120, HI-6121
HOST BUS INTERFACE, Cont. (HI-6120 ONLY)
HOST READ IN DUAL-BYTE MODE (8-BIT BUS WIDTH)
using BTYPE = 1 (”Intel Style” - OE Output Enable and WE Write Enable)
showing two bytes read for a single 16-bit word
ADDRESS
A15:1
A0 LB
CS
WE
tINACT
tNSR
OE
WAIT
tSR8
tINACT
WE or OE
assertion
for the next
Write or Read
tWAS
tW
D7:0
BYTE 0
High-Z
BYTE 1
High-Z
High-Z
All timing intervals equal 0 ns MIN unless otherwise indicated.
After first byte is read, prefetch allows faster access times for successive reads, as long as addresses are sequential.
WAIT is always asserted during the first read cycle, is never asserted for successive read cycles to sequential adresses.
This allows default host bus configuration for the HI-6120 chip select to match the timing characteristics of the faster
successive cycles, while the slower initial cycle is handled on a WAIT-controlled exception basis. WAIT can be optionally inverted.
HOST READ IN WORD MODE (16-BIT BUS WIDTH)
using BTYPE = 1 (”Intel Style” - OE Output Enable and WE Write Enable)
showing two successive words read from sequential addresses
ADDRESS + 1
ADDRESS
A15:1
CS
WE
tINACT
tNSR
OE
WAIT
tINACT
tSR16
WE or OE
assertion
for the next
Write or Read
tWAS
tW
D15:0
High-Z
WORD
High-Z
WORD
High-Z
All timing intervals equal 0 ns MIN unless otherwise indicated.
After first word is read, prefetch allows faster access times for successive reads, as long as addresses are sequential.
WAIT is always asserted during the first read cycle, is never asserted for successive read cycles to sequential adresses.
This allows default host bus configuration for the HI-6120 chip select to match the timing characteristics of the faster
successive cycles, while the slower initial cycle is handled on a WAIT-controlled exception basis. WAIT can be optionally inverted.
FIGURE 23. Register and RAM Read Operations for BTYPE = 1
HOLT INTEGRATED CIRCUITS
108
HI-6120, HI-6121
HOST BUS INTERFACE, Cont. (HI-6120 ONLY)
HOST READ IN DUAL-BYTE MODE (8-BIT BUS WIDTH)
using BTYPE = 0 (”Motorola Style” - Single Read/Write Strobe STR and R/W Direction Select)
showing two bytes read for a single 16-bit word
ADDRESS
A15:1
A0 LB
CS
R/W
tINACT
tNSR
STR
WAIT
tSR8
tINACT
STR assertion
for the next
Read or Write
tWAS
tW
D7:0
BYTE 0
High-Z
BYTE 1
High-Z
High-Z
All timing intervals equal 0 ns MIN unless otherwise indicated.
After first byte is read, prefetch allows faster access times for successive reads, as long as read addresses are sequential.
WAIT is always asserted during the first read cycle, is never asserted for successive read cycles to sequential adresses.
This allows default host bus configuration for the HI-6120 chip select to match the timing characteristics of the faster
successive cycles, while the slower initial cycle is handled on a WAIT-controlled exception basis. WAIT can be optionally inverted.
HOST READ IN WORD MODE (16-BIT BUS WIDTH)
using BTYPE = 0 (”Motorola Style” - Single Read/Write Strobe STR and R/W Direction Select)
showing two successive words read from sequential addresses
ADDRESS + 1
ADDRESS
A15:1
CS
R/W
tINACT
tNSR
STR
WAIT
tINACT
tSR16
STR assertion
for the next
Read or Write
tWAS
tW
D15:0
High-Z
WORD
High-Z
WORD
High-Z
All timing intervals equal 0 ns MIN unless otherwise indicated.
After first word is read, prefetch allows faster access times for successive reads, as long as read addresses are sequential.
WAIT is always asserted during the first read cycle, is never asserted for successive read cycles to sequential adresses.
This allows default host bus configuration for the HI-6120 chip select to match the timing characteristics of the faster
successive cycles, while the slower initial cycle is handled on a WAIT-controlled exception basis. WAIT can be optionally inverted.
FIGURE 24. Register and RAM Read Operations for BTYPE = 0
HOLT INTEGRATED CIRCUITS
109
HI-6120, HI-6121
MIL-STD-1553 BUS INTERFACE
TRANSMITTER
1:2.5
55 W
BUSA/B
Tx Data from
Manchester
Encoder
35 W
BUSA/B
Isolation
Transformer
TXINHA/B
Point “AD“
55 W
RECEIVER
2.5:1
55 W
Point “AD“
Rx Data to
Manchester
Decoder
35 W
55 W
Isolation
Transformer
Figure 25. Direct Coupled Test Circuits
TRANSMITTER
Point
“AT”
1:2.5
1:1.4
BUSA/B
Tx Data from
Manchester
Encoder
52.5 W
(.75 Zo)
35 W (.5 Zo)
BUSA/B
TXINHA/B
52.5 W
(.75 Zo)
Isolation
Transformer
1.4:1
Point
“AT”
Coupling
Transformer
2.5:1
52.5 W
(.75 Zo)
RECEIVER
Rx Data to
Manchester
Decoder
35 W (.5 Zo)
52.5 W
(.75 Zo)
Coupling
Transformer
Isolation
Transformer
Figure 26. Transformer Coupled Test Circuits
HOLT INTEGRATED CIRCUITS
110
HI-6120, HI-6121
THERMAL CHARACTERISTICS
Data taken at VDD = 3.3V, continuous data transmission at 1 Mbit/s, single transmitter enabled.
JUNCTION TEMPERATURE
PACKAGE STYLE
CONDITION
qJA
HI-6120PQx
100 pin PQFP
Mounted on
circuit board
52.7
°C / W
56°C
116°C
156°C
HI-6121PQx
52 pin PQFP
Mounted on
circuit board
60.9
°C / W
56°C
116°C
156°C
Heat sink pad
unsoldered
31.1
°C / W
41°C
101°C
141°C
Heat sink pad
soldered
22.8
°C / W
37°C
97°C
137°C
PART NUMBER
HI-6121PCx
TA= 25°C TA= 85°C TA= 125°C
64 pin QFN
PIN CONFIGURATION FOR HI-6121, 64-PIN QFN PACKAGE
64
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
VCC
TXINHB
TXINHA
AUTOEN
VCC
GND
SSYSF
ACTIVE
READY
TTCLK
ACKMES
ACKHW
INTHMES
INTHW
VCC
GND
Notes
1 . All VCC, VCCP and GND pins must be connected.
2. See data sheet page 1 for HI-6121, 52-Pin PQFP Package Configuration.
HI-6121PCx
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
RTAP
MISO
MOSI
VCC
VCC
GND
GND
ECS
EECOPY
ESCK
EE1K
TEST7
TEST6
TEST5
TEST4
GND
COMP
CE
MODE
SI
SCK
SO
VCC
MCLK
GND
RTA0
RTA1
RTA2
MR
RTA3
RTA4
TOP VIEW
HOLT INTEGRATED CIRCUITS
111
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
BENDI
TEST
LOCK
MTSTOFF
BUSA
VCCP
VCCP
BUSA
BUSB
VCCP
VCCP
BUSB
TEST0
TEST1
TEST2
TEST3
HI-6120, HI-6121
PIN CONFIGURATION FOR HI-6120, 100-PIN PQFP PACKAGE
100 - D11
99 - D10
98 - D9
97 - TXINHB
96 - TXINHA
95 - AUTOEN
94 - D8
93 - D7
92 - D6
91 - VCC
90 - GND
89 - D5
88 - D4
87 - D3
86 - SSYSF
85 - ACTIVE
84 - READY
83 - TTCLK
82 - ACKMES
81 - ACKHW
80 - INTMES
79 - INTHW
78 - VCC
77 - GND
76 - D2
Notes
1 . All VCC, VCCP and GND pins must be connected.
2. See data sheet page 1 for HI-6121, 52-Pin PQFP Package Configuration.
HI-6120PQx
A3 - 26
A4 - 27
A5 - 28
A6 - 29
RTAP - 30
MISO - 31
MOSI - 32
A7 - 33
A8 - 34
A9 - 35
VCC - 36
GND - 37
ECS - 38
EECOPY - 39
ESCK - 40
A10 - 41
A11 - 42
A12 - 43
EE1K - 44
TEST7 - 45
TEST6 - 46
TEST5 - 47
TEST4 - 48
A13 - 49
A14 - 50
VCC - 1
GND - 2
D12 - 3
D13 - 4
D14 - 5
D15 - 6
COMP - 7
CE - 8
MODE - 9
STR - 10
VCC - 11
BTYPE - 12
MCLK - 13
GND - 14
WAIT - 15
R / W - 16
RTA0 - 17
RTA1 - 18
RTA2 - 19
MR - 20
RTA3 - 21
RTA4 - 22
A0 - 23
A1 - 24
A2 - 25
TOP VIEW
HOLT INTEGRATED CIRCUITS
112
75 - D1
74 - D0
73 - BENDI
72 - TEST
71 - LOCK
70 - MTSTOFF
69 - BUSA
68 - BUSA
67 - VCCP
66 - VCCP
65 - BUSA
64 - BUSA
63 - BUSB
62 - BUSB
61 - VCCP
60 - VCCP
59 - BUSB
58 - BUSB
57 - TEST0
56 - TEST1
55 - TEST2
54 - TEST3
53 - BWID
52 - WPOL
51 - A15
HI-6120, HI-6121
ORDERING INFORMATION
HI-6120PQ x x
PART
NUMBER
Blank
F
PART
NUMBER
PACKAGE
DESCRIPTION
Tin / Lead (Sn / Pb) Solder
100% Matte Tin (Pb-free RoHS compliant)
TEMPERATURE
RANGE
FLOW
BURN
IN
I
-40°C TO +85°C
I
No
T
-55°C TO +125°C
T
No
M
-55°C TO +125°C
M
Yes
PART
NUMBER
PQ
PACKAGE
DESCRIPTION
100 PIN PLASTIC QUAD FLAT PACK PQFP (100PQS)
HI-6121PQ x x
PART
NUMBER
Blank
F
PART
NUMBER
PACKAGE
DESCRIPTION
Tin / Lead (Sn / Pb) Solder
100% Matte Tin (Pb-free RoHS compliant)
TEMPERATURE
RANGE
FLOW
BURN
IN
I
-40°C TO +85°C
I
No
T
-55°C TO +125°C
T
No
M
-55°C TO +125°C
M
Yes
PART
NUMBER
PACKAGE
DESCRIPTION
PC
64 PIN PLASTIC 9 x 9mm CHIP SCALE LPCC (64PCS)
PQ
52 PIN PLASTIC QUAD FLAT PACK PQFP (52PTQS)
HOLT INTEGRATED CIRCUITS
113
HI-6120, HI-6121
REVISION HISTORY
Document Rev. Date
Description of Change
DS6120
Initial Release.
New 11/24/09
HOLT INTEGRATED CIRCUITS
114
HI-6120 & HI-6121 PACKAGE DIMENSIONS
52-PIN PLASTIC QUAD FLAT PACK (PQFP)
inches (millimeters)
Package Type: 52PTQS
.0256
BSC
(.65)
.520
BSC SQ
(13.2)
.394
BSC SQ
(10.0)
.015 ± .003
(.375 ± .075)
.035 ± .006
(.88 ± .15)
.063
typ
(1.6)
.008
min
(.20)
See Detail A
.063
MAX.
(1.6)
.005
(.13) R min
.055 ± .002
(1.4 ± .05)
.005
R min
(.13)
BSC = “Basic Spacing between Centers”
is theoretical true position dimension and
has no tolerance. (JEDEC Standard 95)
0° £ Q £ 7°
DETAIL A
64-PIN PLASTIC CHIP-SCALE PACKAGE (QFN)
inches (millimeters)
Package Type: 64PCS
Heat sink pad on bottom of package.
Heat sink must be left floating or
connected to VDD.
DO NOT connect to GND.
.354
BSC
(9.00)
.281 ± .003
(7.125 ± .075)
.0197
BSC
(0.50)
.354
BSC
(9.00)
.281 ± .003
(7.125 ± .075)
Top View
Bottom
View
.010
typ
(0.25)
.016 ± .004
(0.40 ± .10)
.008
typ
(0.20)
BSC = “Basic Spacing between Centers”
is theoretical true position dimension and
has no tolerance. (JEDEC Standard 95)
.039
max
(1.00)
HOLT INTEGRATED CIRCUITS
115
HI-6120 & HI-6121 PACKAGE DIMENSIONS
100-PIN PLASTIC QUAD FLAT PACK (PQFP)
inches (millimeters)
Package Type: 100PQS
.0197 BSC
(0.50)
.630
BSC SQ
(16.0)
.551
BSC SQ
(14.0)
.009 ± .002
(.22 ± .05)
.024 ± .006
(.60 ± .15)
.039
typ
(1.0)
See Detail A
.059 ± .004
(1.50 ± .10)
.008 min
(0.20)
.008 R max
(0.20)
.055 ± .002
(1.40 ± .05)
BSC = “Basic Spacing between Centers”
is theoretical true position dimension and
has no tolerance. (JEDEC Standard 95)
0° £ Q £ 7°
.003 R min
(0.08)
HOLT INTEGRATED CIRCUITS
116
Detail A