Downlink data multiplexer
AssigneeThe United States of America as represented by the Administrator of the National Aeronautics and Space Administration
InventorsS. Douglas Holland, Glen F. Steele, Denise M. Romero, Robert David Koudelka
Life of this patent
Estimating the term…
Abstract
A data multiplexer that accommodates both industry standard CCSDS data packets and bits streams and standard IEEE 1394 data is described. The multiplexer provides a statistical allotment of bandwidth to the channels in turn, preferably four, but expandable in increments of four up to sixteen. A microcontroller determines bandwidth requested by the plurality of channels, as well as the bandwidth available, and meters out the available bandwidth on a statistical basis employing flow control to the input channels.
Claims19
A method of multiplexing data onto a common bus from a plurality of data channels, comprising the steps of:
- a. first allocating a predetermined number of data frames to each of the plurality of data channels for access to the bus;
- b. polling the plurality of data channels in turn for access to the bus, thereby defining a polling cycle;
- c. determining which of the plurality of data channels is active and nonactive, for each polling cycle;
- d. determining a requested allocation of data frames from each active plurality of data channels based on a predetermined priority order, for each polling cycle;
- e. comparing the requested allocation of data frames for each active plurality of data channels and the total number of allocated data frames, for each polling cycle;
- f. determining if each of the active channel's requested allocation of data frames can be accommodated based on a statistical analysis of the results from the comparing step during the current polling cycle and the predetermined priority order, wherein the determining step identifies any data frames that can be reallocated from any nonactive data channel;
- g. for each polling cycle, if there are any nonaccommodated active channels, wherein a nonaccommodated active channel is an active channel wherein its requested allocation of data frames cannot be accommodated, and there are data frames that can be reallocated from any nonactive data channel, reallocating any unused data frames amongst any nonaccommodated active channels based on a statistical analysis and the predetermined priority order.
A method of multiplexing data onto a common bus from a plurality of data channels, comprising the steps of:
- providing a digital data multiplexer comprising:
- the common bus;
- an output serial data interface operatively coupled to receive data from the common bus and having a predetermined bandwidth;
- a plurality of channels of a first data type operatively coupled to provide data to the common bus, wherein each of the plurality of channels is comprised of a dedicated channel controller capable of receiving commands and controlling data flow;
- a parallel channel of a second data type operatively coupled to provide data to the common bus;
- and
- a microcontroller capable of controlling access of the plurality of channels and the parallel channel to the common bus in accordance to the predetermined bandwidth on a statistical basis for a plurality of polling cycles;
- allocating a predetermined number of frames for each of the dedicated channel controllers for each polling cycle, wherein the allocation is performed by the microcontroller;
- polling the plurality of dedicated channel controllers;
- determining which of the plurality of channels is active;
- determining a requested allocation of frames for each active plurality of channels;
- determining if each of the active channels' requested allocation of frames can be accommodated comprising the steps of:
- comparing the predetermined number of allocated frames and the requested allocation of frames;
- determining how many available frames each of the plurality of channels has during the current cycle;
- and
- reallocating any available frames amongst the plurality of channels using a statistical allocation process and a predetermined priority order, wherein the step of reallocating is performed by both the microcontroller via commands and the plurality of channel controllers.
Dependencies are inferred from the claim text.