AI Projects M E M O R A N D U M
To: GE Ordnance Systems Division

This specification requires knowledge of RCATIER framed Task Queue design and Attitude and Heading Reference Systems embedded inertial flight systems

From:  Ronald C. Alexander

To:   John Ryder               

Date:   07/14/87                  

re: Realtime Inertial Data Feed Mechanization


     The environment assumed by the proposed 1750A
Pre-Processor Executive (PPE) is a well-ordered Data
Set. The Data Set changes at a rate that allows
adequate sampling within a fixed frame. This frame
defines the update universe of the Data Set. Any data
vectors within the Data Set are either completely
updated in each frame, or remain unchanged over the
frame. User tasks are scheduled in each frame to
provide an update of the Data Set to the following frame.
At most one value of each vector is processed in each
frame. The list of tasks that must be processed
during a frame constitute the Navigation Data
Processor (NDP) for the frame, and each frame NDP
list consists of predetermined tasks. Each task will
run at a predetermined frame repetition cycle.

     The Navigation Pre-Processor Executive is the
sequence of individual frames. The length of each frame
is the IRTI time interval. This is the time from one
Inertial Measurement Unit (IMU) Realtime Interrupt
to the next. A timekeeper process executes as
the first task in each NDP list, and selects the
permissible user tasks in the frame NDP list by
selecting from a Phase Time List (PTL). The PTL
provides the well-ordering of the framed sequence
Data Set. Each flight phase will have a PTL to
establish the contraints of inter-frame data
updates within the phase, and select the processes
that update the frame. Each frame behaves as an
evolving object with well defined initial data,
initial input, and a list of activities to perform.
The activities are executed in sequence, and have
a priority determined by the requirements of the
flight phase of the missile.

     As with any object oriented design, the case
when activities are not completed must be considered.
Since the frame interval is fixed, tasks executing
late in the frame may not complete. Incomplete tasks
are simply treated as not performed. All data is
double buffered. Each activity must update an
activity completion flag (task semaphore) that acts
as a pointer to the active buffer. If the task
semaphore is not toggled by its activity during a
frame, the data used by the activity's next frame
is unchanged. The timekeeper associates current data
and activities for each task at the beginning of
each frame.

     Each data set provided to frame activities is
comprised of Instrument data, Phase data, and Update
data from the prior frame. Prior frame data is used
from that one of two buffers identified as having
the most recently completed update, and may well be
from several frames back. Kinematic activities, run
immediately after the timekeeper, assure that the most
current Update was made at the start of the immediately
preceding frame.

Data Feed Layout

I Timekeeper

1.   Invoked each IMU Interrupt.

2.   Inputs:
     1.   IMU Interrupt (IMUI).
     2.   Offset into Phase Definition Table (PDT).

3.   Outputs:
     1.   Offset into Phase Definition Table.
     2.   Repetition Code.
     3.   Update Data Buffer.
     4.   Pointer to current Update Data Buffer.

4.   Actions:
     1.   Update Phase Definition Table (PDT) Offset.
     2.   Update Repetition Code from Template.
     3.   Update Phase Data Buffer from Template based on
          Repetition Code.
     4.   Update Pointer to current Update Data Buffer
          based on PDT Offset.
     5.   Update Pointer to Active Task List based on
	      active Phase Data Buffer.

II Activities Layout

1.   Invoked by Timekeeper completion.

2.   Inputs:
     1.   Pointer to current Update Data Buffer.
     2.   Pointer to Active Task List.

3.   Outputs:
     1.   Update Data Buffer.
     2.   Pointer to current Update Data Buffer.

4.   Actions:
     1.   Each activity in the Active Task List.
     2.   Update the Update Data Buffer from Instrument Data Latches.
Note: The last activity in each list is a "wait forever" for the IMUI.