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
Overview
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.
III
CONFIDENTIAL