0
$\begingroup$

There are a great many areas of application of PLD/FPGA in spacecraft. Let's take as a basis this classification of domains and subdomains, proposed in the November 24, 2023 FPGAInsights.com blogpost FPGA In Space Exploration: Powering Satellites and Spacecraft:

  1. Onboard Processing and Data Handling (Real-time Data Processing, Adaptive Computing, Customized Algorithms).
  2. Real-time Signal Processing for Scientific Instruments (Instrument Control, Signal Conditioning, Image and Signal Compression).
  3. Adaptive Computing in Response to Changing Mission Requirements (Mission Flexibility, Software-defined Systems, Multi-Functionality).
  4. Power Efficiency (Resource Constraints, Weight Considerations).
  5. Power Optimization (Dynamic Reconfigurability, Parallel Processing, Adaptive Computing).

All these are very large and at first glance complex areas where PLD/FPGA are actively used. Therefore, I would like to ask for some good examples of initial practical tasks with which you started working in programming PLD/FPGA for spacecraft? Can someone help me with this? Please share your experience and what you know? It will be helpful for me (but actually not only me, but many others as well) to prepare a little and learn this in advance.

$\endgroup$
12
  • 1
    $\begingroup$ The question seems to be "Is it possible to make a list?" which in my opinion it "yes" and in someone else's opinion will be "no". So this question will generate opinion-based answers. Would you be open to reading this article and then taking another crack at asking the question? $\endgroup$
    – phil1008
    Commented Apr 27 at 7:48
  • 1
    $\begingroup$ Open-ended list questions are a poor fit for Stack Exchange. $\endgroup$ Commented Apr 27 at 11:51
  • 2
    $\begingroup$ That question didn't ask for a list, even though it got one. Notice the answer was not accepted. $\endgroup$ Commented Apr 27 at 17:54
  • 2
    $\begingroup$ Ya, "List of narrow tasks in space application domains where PLD/FPGA excel" and "What is the list of key niche problems that can be solved using PLD/FPGA for all subdomains?" is not a good way to ask a Stack Exchange question (and I think you mean "accel" not "Excel") Get rid of "what is a list" since "list questions" are generally considered off-topic. Instead, what would would much better here in Space SE would be "In which spacecraft applications have FPGAs been particularly helpful/useful compared to conventional processors?" You might get several answers, but it doesn't demand a list. $\endgroup$
    – uhoh
    Commented Apr 28 at 1:46
  • 2
    $\begingroup$ @LawnHollanderLawn No, as long as a question author is responsive and is in the process of improving a question, it's fine to leave things as-is. This is a low question-rate site with a pretty reasonable community, there's no urgency to block answers, and the reopen process is pretty slow. $\endgroup$
    – uhoh
    Commented Apr 28 at 14:47

1 Answer 1

2
$\begingroup$

I'm programming an FPGA that's part of a brushless DC motor controller - although not the one used in the life support systems of the Artemis Orion spacecraft that's recently been causing challenges for that program.

If you want to gain relevant experience with FPGAs, developing a brushless DC motor controller could be a good place to start. You can start with a simple project (e.g. see here) and work your way up to something that involves lots of advanced math, such as Field Oriented Control which will lead to a quieter and more efficient motor.

Electronically controlled motors are useful in many space applications such as reaction wheels, robotics, life support systems, and gimbals, just to name a few.

Skills you will learn will include interfacing with analog-to-digital converters (especially if you attempt to implement back-emf sensing), digital-to-analog converters, controlling MOSFETs, implementing reasonably advanced math in an FPGA, and a variety of useful debugging techniques.

There are lots of tutorials online for basic designs, and there are even entire YouTube channels dedicated to the topic of motor design.

$\endgroup$
4
  • $\begingroup$ Thanks for the answer! Control of drive mechanisms is a very interesting question. Could you give a couple more examples of using FPGAs to control electric motors on orbital spacecraft? For example, you mentioned vector control (field oriented control). Is it usually used for asynchronous motors, afaik. $\endgroup$
    – ayr
    Commented May 1 at 10:52
  • $\begingroup$ I am also interested in examples of tasks on FPGAs from signal processing and image processing (also in the field of space exploration). Have you ever programmed an FPGA to solve such problems? $\endgroup$
    – ayr
    Commented May 1 at 10:54
  • $\begingroup$ I did quite a bit of image processing before I worked in space. But that was all with either full custom hardware or with GPUs. $\endgroup$
    – phil1008
    Commented May 1 at 17:36
  • $\begingroup$ Please tell us how you gained experience and how you worked in the space industry with FPGAs in practice. $\endgroup$
    – ayr
    Commented Jun 8 at 16:17

Not the answer you're looking for? Browse other questions tagged or ask your own question.