User’s Guide 21020285 D
Chapter 4 Command Operation
Using a Command List Structure Page 4 - 21
Using a
Command List
Structure
The Command List Structure is a fast method of sending commands to the
RF3880 adapter. This section explains usage of the indexes. It also details
command issuing procedures.
Index
Guidelines
These guidelines explain the use of the Command List Indexes:
• The respective IN and OUT indexes for the Parameter and Status Blocks
control each respective circular list. The number placed in each index
points to an element in an array: a 0 is the first element in an array; 1 is
the second element in an array; etc.
• The IN indexes indicate the next free block of the array to be written from
the Host side (Parameter Block) or from the adapter side (Status Block).
• The OUT indexes point to the next block of an array to be read in to the
Host side (Status Block) or to the adapter side (Parameter Block).
• The IN and OUT Indexes are manipulated with standard circular list
algorithms; If IN is equal to OUT, the list is empty; if IN is equal to OUT
minus one (modulo list size), the list is full.
• The Host side is responsible for updating the Parameter Block IN Index
and the Status Block OUT Index.
• The RF3880 adapter updates the Parameter Block OUT Index and the
Status Block IN Index. These indexes must not be changed from the Host
side.
• The Parameter Block OUT Index is not necessarily changed at the time
a command is accepted or for each command read onto the board. To
reduce system bus activity the adapter performs this action only
periodically to keep the list from filling up. Therefore, change in the OUT
Index cannot be used to signal command acceptance.
Command
Guidelines
Use the following guidelines when issuing commands via Command List:
• Several commands can be loaded into the Parameter Block array at once
and issued with a single write of 1 to the Channel Attention Port.
• Similarly, the adapter can return several Status Blocks at once; there may
not be an interrupt received for each Status Block. However, you may
also receive several interrupts in a row.
• The issue of commands and receipt of status occurs asynchronously; there
are no timing restrictions on either.
• The number of possible Parameter and Status Blocks is indicated by the
two counter fields: Number of Parameter Blocks; and Number of Status
Blocks.