270 likes | 494 Views
Generic Remote Interface Unit (RIU) Interface Control Document (ICD). CCSDS SOIS 2013 spring meeting Glenn Rakow/NASA-GSFC. Purpose. Evaluate the ICD requirements for an generalized RIU for the purpose of evaluating the SOIS EDS requirements. Agenda. Purpose Hardware Device ICD
E N D
GenericRemote Interface Unit (RIU)Interface Control Document (ICD) CCSDS SOIS 2013 spring meeting Glenn Rakow/NASA-GSFC
Purpose • Evaluate the ICD requirements for an generalized RIU for the purpose of evaluating the SOIS EDS requirements
Agenda • Purpose • Hardware Device ICD • Software Interface • Generalized RIU Functions • Protocol Profile • Command Formats
Hardware Device ICD • Aspects of an ICD • Software interfaces • Data Link protocol • Messaging format • Timing relationships • Conversion factors • Connector interfaces* • External box connectors • Backplane • Mechanical interfaces* • Form factor • Thermal • Power • Need to represent complete ICD in EDS • Connector and mechanical require definition • Human readable • One-stop shopping * Not focus for SOIS EDS but needs to be supported
Some Observations • Information to provide in EDS • Some information provided so that other side of interface may interpret data • Some information provided as insight • Needs to be clear as to normative and informative but always needs to be there • Depends upon complexity of device, e.g. ASIM or no ASIM • Need to understand data link controller on far end • Most Milbus controller (not packet driven) are table driven and controller configuration has transformation to data structure • Most SpaceWire controller (packet driven) require the user to assemble packet structure • Schedule driven version will do the segmentation for the user
Software Interface (1/2) • Data Link protocol • Defines the protocol • Does not describe the protocol • Defines subset of protocol that is applicable • Exception: If data link is not a standard protocol then description of protocol would be necessary, e.g., RS-422 interface • Messaging format • Describes the format of commands & telemetry • Addressing within the device • Defines quantity of telemetry and index description
Software Interface (2/2) • Timing relationships • Relationship of messages between producer and consumer • Request & indication (master & slave) – synchronized by consumer • Asynchronously sent • Synchronously sent – Data transmitted by device based upon timing information received • Frequency of messages/transactions • How often messages are generated • How generation is triggered • Timing information • Physical interface – may be part of data bus or separate discrete signal with pulse or combination • Time-Stamping of messages (if done) • Time Updates – Protocol for how this is done • Defined from the perspective of producer • Consumer will have to adapt • Accuracy –how manages jitter (does it compute average and adjust –may be necessary for any broadcast type trigger, e.g., SpaceWire Time Codes • Conversion factors • Formulas • Lookup tables
Generalized RIU Functions • 1553 Protocol – Long stub Interface • 1 Hz telemetry • TBD thermistors or PRTs • TBD external coarse sun sensors • TBD external hinge pots • TBD external pressure transducers • TBD external analog lines (S-Band TT&C) • TBD internal thermistors • TBD internal voltages • TBD external voltages from LVPC • TBD potential calibration channel • TBD current source calibration channel • 5 Hz telemetry • TBD external coarse sun sensors • Switch power to X heater zones • TBD 5 Amp heater zones • TBD 2 Amp heater zones • In-system programmable EEPROM • RS 422 Interface to read/write (test only) • Flight version contains PROM
Protocol Profile (1/X) Need to clarify options within protocol definition • Mil-Std-1553b – long stub bus • Two data buses possible for use • Any combination as prime and standby supported (decision up to BC) • RT Address = 5 • Message formats allowed: • BC to RT transfers • RT to BC transfers • Mode Control transfers • Message formats disallowed: • Broadcast message • RT-to-RT transfers • Sub-address’ accessible • All • Although not all used • Unused values are equal to zero • Mode Code supported • None • Status Word Flags • Message Error bit – active • All other status bits – always logic zero
Protocol Profile (2/X) • Data word & bit order • Most significant bit transferred first • Bits follow in descending order • Most significant byte transferred first • Data Word Order • Receive Command • Word #1 follows Receive Command Word • Word # 2 follows Word # 1 • Transmit Command • Word #1 follows Status Word • Word # 2 follows Word # 1 • Word # 32 last
Command Formats (1/x) • Heater Switch Control “ON” Receive Commands • Milbus values that are same for all Heater Control Regions “ON” commands: • RT Address=5 • Receive • Word Count= 1 • Milbus Sub-Address and Data Value are: • Heater Control Region #1 • Sub-address= 2 • Data Value = 0x0001 • Heater Control Region #2 • Sub-address= 3 • Data Value = 0x0002 • Heater Control Region #3 • Sub-address= 4 • Data Value = 0x0004 • Heater Control Region #4 • Sub-address= 5 • Data Value = 0x0008 • Heater Control Region #5 • Sub-address= 6 • Data Value = 0x0010
Command Formats (2/x) • Heater Switch Control “OFF” Receive Commands • Milbus values that are same for all Heater Control Regions “OFF” commands: • RT Address=5 • Receive • Word Count= 1 • Milbus Sub-Address and Data Value are: • Heater Control Region #1 • Sub-address= 2 • Data Value = 0x0000 • Heater Control Region #2 • Sub-address= 3 • Data Value = 0x0000 • Heater Control Region #3 • Sub-address= 4 • Data Value = 0x0000 • Heater Control Region #4 • Sub-address= 5 • Data Value = 0x0000 • Heater Control Region #5 • Sub-address= 6 • Data Value = 0x0000 • All Heaters Regions are “OFF” after a RIU power-on reset
Command Formats (3/x) • Data Collection Sync Receive Command • Initiates collection of all analog telemetry channels by RT • Delay between successive commands • 140 ms • 5 Hz was the specification from the C&DH viewpoint • Milbus Format • RT Address =5 • Receive • Sub-address = 1 • Word Count= 32 (all zeros, i.e., 0b00000) • Data Word = don’t care (0xXXXX)
Command Formats (4/x) • Heater Region/Sync Count Status Read Command • Milbus values that are same for all Heater Control Regions “OFF” commands: • RT Address= 5 • Transmit • Sub-address= 1 • Word Count= 32 (all zeros, i.e., 0b00000) • Milbus Data Words are: • Word # 1- Heater Status • Data Format • Bits 15-5 – don’t cares (0bXXXX XXXX XXX) • Bit 4 – Heater 5 Status; Bit 3 – Heater 4 Status; Bit 2 – Heater 3 Status; Bit 1 – Heater 2 Status; Bit 0 – Heater 1 Status • Bit = 0b0 indicates “OFF”; Bit = 0b1 indicates “ON” • Word # 2 – Telemetry Counter • Data Format • Bits 15 – 0 – represents number of Sync Commands received • Count rolls over - different values on successive reads means telemetry has been updated • Words # 3 – 32 are don’t cares
Command Formats (5/x) • Thermistor Telemetry Status Read Command • Milbus values that are same for all Heater Control Regions “OFF” commands: • RT Address= 5 • Transmit • Sub-address= 4 • Word Count= 32 (all zeros, i.e., 0b00000) • Milbus Data Words are: • Word # 1- Thermistor # 65 • Word # 32 – Thermistor # 96 • Incrementing values in between • Data Format • Bits 15-12 – Not used – set to ‘1’s (0b1111) • Bits 11 -2 – ADC count • Bit 11 is msb • Bit 2 is lsb • Bits 1 – 0 – ADC Noise (don’t care – 0bXX)
Command Formats (6/x) • Thermistor Telemetry Status Read Command • Milbus values that are same for all Heater Control Regions “OFF” commands: • RT Address= 5 • Transmit • Sub-address= 5 • Word Count= 32 (all zeros, i.e., 0b00000) • Milbus Data Words are: • Word # 1- Thermistor # 97 • Word # 16 – Thermistor # 112 • Word # 17 – Thermistor # 33 • Word # 32 – Thermistor # 48 • Incrementing values in between • Data Format • Bits 15-12 – Not used – set to ‘1’s (0b1111) • Bits 11 -2 – ADC count • Bit 11 is msb • Bit 2 is lsb • Bits 1 – 0 – ADC Noise (don’t care – 0bXX)
Command Formats (7/x) • Thermistor Telemetry Status Read Command • Milbus values that are same for all Heater Control Regions “OFF” commands: • RT Address= 5 • Transmit • Sub-address= 6 • Word Count= 32 (all zeros, i.e., 0b00000) • Milbus Data Words are: • Word # 1- Thermistor # 49 • Word # 16 – Thermistor # 64 • Word # 17 – Thermistor # 17 • Word # 32 – Thermistor # 32 • Incrementing values in between • Data Format • Bits 15-12 – Not used – set to ‘1’s (0b1111) • Bits 11 -2 – ADC count • Bit 11 is msb • Bit 2 is lsb • Bits 1 – 0 – ADC Noise (don’t care – 0bXX)
Command Formats (8/x) • Thermistor Telemetry Status Read Command • Milbus values that are same for all Heater Control Regions “OFF” commands: • RT Address= 5 • Transmit • Sub-address= 7 • Word Count= 32 (all zeros, i.e., 0b00000) • Milbus Data Words are: • Word # 1- # 16, & # 30 - # 32- Reserved • Word # 17 –Conditioned Active Analog Monitor _# 16 • Word # 29 – Conditioned Active Analog Monitor_# 28 • Incrementing values in between • Data Format • Bits 15-12 – Not used – set to ‘1’s (0b1111) • Bits 11 -2 – ADC count • Bit 11 is msb • Bit 2 is lsb • Bits 1 – 0 – ADC Noise (don’t care – 0bXX)
More Commands • Have not included all commands here • Refer to ICD
Conversions • Describes the functions used to convert the raw data values sampled by the ADC into engineering units (ohms, voltage or current) and vice versa. • ADC specifics: • Each ADC converter is 12 bits, and accepts 0V to 4V full scale. • Digital output values are: 0 to 4095 • => Voltage per bit = 4V / 4096 = 976.563E-6
Passive Thermistor Conversions • The raw thermistor samples returned by the RIU can be converted to resistance using the following formula: • T = Thermistor (ohms) • C = Digital output count from A/D • T = (3906.252 * C) / (4000 - .976563 * C ) • C = ((( T * 4000 ) / ( T + 4000 )) * .001) / 976.563E-6
Course Sun Sensor Conversions • The raw CSS samples returned by the RIU can be converted to current values using the following formula: • CSS = Coarse Sun Sensor output (uA) • C = Digital output count from A/D • CSS = (976.563E-6 * C) / 2940 • C = ( CSS * 2940 ) / 976.563E-6
Active Analog Conversions • The raw Active Analog samples returned by the RIU can be converted to voltages using the following formula: • AA = Active Analog (V) • C = Digital output count from A/D • AA = (976.563E-6 * C) / 0.8008 • C = (0.8008 * AA) / 976.563E-6
Pressure Transducer Conversion • The raw pressure transducer samples returned by the RIU can be converted to voltages using the following formula: • PT = Pressure Transducer (V) • C = Digital output count from A/D • PT = (976.563E-6 * C) / 0.8 • C = (0.8 * PT) / 976.563E-6
3.3V or 2.5V Monitor Conversion • The raw samples returned by the RIU for 3.3 or 2.5V monitors can be converted to voltages • using the following formula: • M = Monitor Voltage (V) • C = Digital output count from A/D • M = C * 976.563E-6 • C = M / 976.563E-6
5V Monitor Conversion • The raw samples returned by the RIU for 5V monitors can be converted to voltage using the following formula: • M = Monitor Voltage (V) • C = Digital output count from A/D • M = (976.563E-6 * C) / 0.5 • C = (0.5 * M) / 976.563E-6