
Chapter 4 Command Operation
Using a Command List Structure | Page 4 - 21 |
Using a
Command List
Structure
Index
Guidelines
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.
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 a rray 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 P arameter and Status Blocks is indicated by the two counter fields: Number of Parameter Blocks; and Number of Status Blocks.
User’s Guide | 21020285 D |