MIL-STD-1553 Reference Manual
Chapter 7 – Bus Controller Functions
7.1.6 ApiCmdBCFrameDef
Prototype:
AiInt16 ApiCmdBCFrameDef ( AiUInt32 ul_ModuleHandle, AiUInt8 biu,
TY_API_BC_FRAME *pframe );
Driver Command:
API_BC_FRAME_DEF (0x73)
Purpose:
This command is used to define the sequence of Bus Controller Transfers within a
Minor Frame sequence with options for inserting delays, strobe pulse outputs, and skip
transfer instructions. Transfers shall first be defined using the function
ApiCmdBCXferDef and are identified by their Transfer Identifier (xid). Each Minor
Frame is identified by a unique Frame Identifier.
I
I
n
n
p
p
u
u
t
t
T
T
Y
Y
_
_
A
A
P
P
I
I
_
_
B
B
C
C
_
_
F
F
R
R
A
A
M
M
E
E
*
*
p
p
f
f
r
r
a
a
m
m
e
e
BC Minor Frame description
typedef struct ty_api_bc_frame
{
AiUInt8 id;
AiUInt8 cnt;
AiUInt16 instr[MAX_API_BC_XFRAME];
AiUInt16 xid[MAX_API_BC_XFRAME];
} TY_API_BC_FRAME;
#define MAX_API_BC_XFRAME 128
Amount of instructions in Minor Frame
A
A
i
i
U
U
I
I
n
n
t
t
1
1
6
6
i
i
n
n
s
s
t
t
r
r
[
[
]
]
BC Transfer Instruction
Used for normal transfers
BC Skip Instruction
The skip instruction is a relative, unconditional branch
forward. This means, that the instruction execution is
continued n instructions after the location of the skip
instruction, whereby n is equal to the value set in ‘xid[]’.
This instruction is also intended to be used as a ‘No
Operation’ instruction with interrupt capability (with “Skip
Count=1” and interrupt enabled in ‘xid[]’)
BC Wait Instruction
Stops the BC operation until the delay time (set in ‘xid[]’) is
expired. That means during this time, no instructions will be
executed. After the delay time is expired, the instruction
execution continues with the following instruction.
Note: This instruction may be used to implement
larger delays, if it is the only instruction within
a minor frame (the delay time is then
determined by the minor frame time).
BC external Strobe Instruction