Software (SFT)

Subsystem Top Level Requirements
-- The software shall be written in the C programming language and PIC assembly language
-- The system shall record health, status, and sensor data in a consistent manner in memory
-- The software shall be modularized for easier modifications and on-orbit updating

Subsystem Functional Requirements
The software shall be compatible with the PIC24HJ256 microcontroller
-- The software shall allow for the ground station to upload or reload software modules to the PIC during flight
-- The software shall be capable of disabling all subsystems except Command and Data Handling (CDH) and Power (EPS)
-- The software shall nominally read from each sensor every 30 seconds in an organized and consistent manner and record the data to memory
-- Upon entering any mode of operation, that mode shall be recorded to memory along with a timestamp
-- Priority levels shall be assigned to the different modes of operation so that more critical modes can interrupt less critical modes
-- The polling rate for sensors shall be adjustable from the ground

The Science subsystem, internally known as High Speed Communications (HSCOM), is responsible for proving the effectiveness and reliability of an S-band communications link for CubeSat applications.

Special Thanks!
A special note of thanks towards Pumpkin, Inc. is necessitated here. Pumpkin donated the SalvoPRO Real Time Operating System (RTOS) that is being used on the PIC microcontroller to control the operations of the satellite.

Modes of Operation
The software subsystem is built upon a modular design with several different modes of operation as listed below.

Beacon Mode
The beacon mode is the default mode for the satellite in the event of a loss of contact for an extended period of time. In beacon mode, the satellite enters a short transmission burst of 5 seconds, a slightly longer receive time of 30 seconds, and then a wait period of 5 minutes for battery recharging. This loop repeats until the ground station is able to contact the satellite and tell it to enter normal mode.

Normal Mode
Normal mode is the most frequently utilized mode of operation for the satellite. In this mode, sensors will be polled, data recorded, and other modes initialized.

Receive Mode
In receive mode, the transceiver will be put in a receive state and will be ready to receive commands from the ground station. The PIC will decode the packets it receives from the modem and respond to the commands.

Transmit Mode
During ground passes over Boulder, the satellite will enter transmit mode. This is where it will power the transceiver and send data to the ground. In order to prevent spurious transmissions, the satellite will always have receive capabilities whenever it is in transmit mode. This will allow for a command to cease transmission to be sent at any time during transmit.

Power Save Mode
If the power system informs CDH that the batteries have dropped below 40% of charge capacity, the satellite will enter power save mode. In this mode, all non critical systems will be shut down and the satellite will focus on returning the batteries to a safe charge level. Once this level is achieved, normal operations will resume.

Heater Mode
In the event that one of the thermal sensors detects a temperature below the specified minimum, the satellite will enter heater mode. Since the PCOM transceiver wastes over 5W of power as heat, it will be told to transmit to generate heat within the satellite. Once the thermal sensors verify that the internal temperature has risen back to operating range or if the batteries become too drained, the satellite will leave heater mode and resume normal operations or enter power save mode.

Error Handling Mode
If a sensor detects values that are outside the normal expected range, the satellite will enter error handling mode and will focus its attention on determining the cause of the anomaly. Timestamps and actions will be recorded to the status data and can be sent to the ground upon request. Once the anomaly is noted and/or precautionary action is taken, the satellite will reenter normal operation mode.

Reset Mode
In order to protect the satellite against radiation induced errors, analog reset circuitry is built into the power subsystem. At a specified interval of time, the power subsystem will reset all of the other subsystems. A warning signal will be sent to indicate that reset is approaching and the satellite will cease current operations and enter reset mode. It will then save status of its current mode and operation, as well as a time stamp for the reset. The system will then sit idle until the reset occurs and will then reenter its previous mode of operation.

Emergency Shutdown Mode
In the event that the Command and Data Handling (CDH) current sensors detect excess current, such as that caused by a Single Event Latch-up (SEL) in a transistor, the PIC will enter emergency shutdown mode and immediately reset the CDH system. This will prevent the excess current from destroying transistors and the microcontroller. During a normal shutdown, a status flag will be set to indicate that the shutdown is planned. During emergency shutdown, this flag will not be set and the PIC will investigate the cause of the shutdown upon reboot.

Programming Mode
Programming mode is entered when the PIC is preparing to reprogram part of its internal flash memory.

Ground Support Mode
Ground support mode will be used prior to the launch for interacting with the satellite via the Ground Support Equipment (GSE) connector.




Links & Downloads