The department for Signal Processing is responsible for the signal and data path between signal generation by the sensors and data evaluation after flight or during calibration. This defines our physical interfaces with other systems as the leads of the sensors, the cabling of the rockets service module and any ground station connectors.
There are two connected signal processing units (SPU) on board. They are identical (software and hardware) and therefore reduce complexity while also reducing footprint size for the electronics processing the sensors signals by allowing them to be stacked. They share the power supply and three signal lines provided by the rockets service module and can communicate via two UART connections (receiving and transmitting) with each other. A solder jumper will be read by software and defines the mode in which they are operated, which is either master or slave. The master-mode SPU is going to be directly connected to the RXSM (REXUS Service Module) and therefore serves the telemetry.
Nine operational amplifiers onboard each SPU are responsible for the amplification of the signals coming from the strain gauges and the PT 100 temperature sensors. Six external ADCs are used for the strain gauges. These achieve a much higher precision of 16bit, in comparison to the ADCs integrated in the microcontroller, which have a resolution of 12bit. This is sufficient for the temperature sensors and is therefore used for that purpose. Per SPI-interface two ADCs will be pooled together and through a chip select separated again. The maximal data speed clocks in at 2kSPS (samples per second), allowing us with this samplerate to measure all strain gauge rosettes.
The SPU contains two 128MB NOR-flash memory units. They are accessed separately by two different SPI-interfaces of the microcontroller. With this a higher access speed and an improved seperation between metadata and measuring data in the data structure can be achieved.
The casing with dimensions 0,141×0,102×0,060 m is made up of different parts, the upper and lower plates are for shielding and will be attached to the two frames. These parts are made up of aluminium, which encompasses holes for screw fasteners. The frames have holes fitting to those from the plates. The printed circuit board will then be screwed in between the two frames.
Check out our github repository for the hardware design.
The Controller represents the most crucial actor for this system. It uses three 12-bit internal analog to digital converters (ADC) of the STM32F779 controller and six external 2-channel, 16-bit, SPI-controlled ADCs to quantify the measured temperatures and strains of the 15 sensors connected to each SPU. The processing of individual tasks will be done in realtime assured threads with message queues for interthread communication. The internal watchdog mechanism is used to recover from a system crash caused by rare conditions. C++ is used to program the devices and the source code is publicly available on github.
The external ADCs for the strain gauges have a maximum total samplerate of 2kSPS. They are controlled by looping a request for conversion of the applied voltage to a representative digital value and waiting for an interrupt, signalling, that the conversion finished and the value may now be read. This value is then being read and further processed. Internal ADCs are used for sampling the temperatures of our PT-100 resistors using the on-chip 12-bit ADCs. They are sampled with 20 SPS and accessed using Direct Memory Acces (DMA).
Telemetry covers the communication with our ground station via the provided communication link. In order to be able to send a higher measurement resolution with a fixed data rate, only one of the two SPUs send their data to the ground station, leading to only three evenly spaced measuring points being transmitted. This use case includes compression of the measurements and error handling for a later error correction and recognition.