English
Language : 

HI-6120_10 Datasheet, PDF (78/157 Pages) Holt Integrated Circuits – MIL-STD-1553 Remote Terminal ICs
HI-6120, HI-6121
11.3. Ping-Pong Data Buffering
11.3.1. Double Buffered (Ping-Pong) Mode
Ping-pong buffer mode is a method for storing message
and time-tag information and data associated with mes-
sages. 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 com-
mands. The device retrieves buffer data for transmit
commands, or stores buffer data for receive commands.
During ping-pong operation, the device alternates mes-
sage 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 De-
scriptor 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, De-
scriptor 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 assert-
ing the PPEN bit and negating the STOPP bit in the de-
scriptor 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 ac-
tive data buffer at the beginning of message process-
ing. 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 ad-
dress in each buffer. At the conclusion of error-free mes-
sage processing, the Control Word DPB bit is inverted
so the next command “ping-pongs” to the other data buf-
fer. 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 10 is a general illustration of ping-pong
buffer mode. Figure 11 shows a specific example.
11.3.2. 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 simultaneous-
ly 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 asynchro-
nously service ping-pong data buffers without data col-
lision. 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 sus-
pend ping-pong operation for the subaddress.
When the device recognizes STOPP bit asser-
tion, it negates the PPON bit to acknowledge
ping-pong is disabled. While PPON remains
low, the last written (or read) data buffer is pro-
tected 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 applica-
tion software off-loads 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 re-
sume 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.
HOLT INTEGRATED CIRCUITS
78