Mars Student Climate Lander “Inspiration” Command and Data Handling Subsystem Proof of Concept Brandon Gilles Zheng Guo Jeffrey Krinsky October 26th 2006 I Introduction The Mars Student Climate Lander (MSCL) mission proposal is supported by NASA's Jet Propulsion Laboratory and the National Space Grant Student Satellite Program under the National Space Grant Consortia. The first student-designed student-built mission to Mars, MSCL is a low-mass, low-volume, self-sufficient payload that will travel to Mars as a supplement to the Jet Propulsion Laboratory's proposed Astrobiology Field Laboratory rover (AFL). AFL will deliver MSCL to the Martian surface, thereby removing the challenges of launch, cruise, entry, descent, and landing. Once AFL establishes itself on the surface, it drops MSCL and continues its own mission. The MSCL mission will conduct high-priority Mars science and use the national network of Space Grant institutions to educate and inspire a generation of students over the mission's 10year development. The designers of MSCL have named the mission Inspiration to embody its goals of education and workforce development. The goal of this MSCL study is to demonstrate that a small, self-sufficient payload designed and built by university students can support an aggressive suite of instruments to conduct novel and meaningful science on the surface of Mars. Throughout this mission’s development, the team strived to create dynamic models of each subsystem so that the payload can quickly and easily adapt to different instrument suites that are representative of the current goals of the Mars Program. ~Brian Schratz, MSCL Team Lead II Background At the University of Colorado Boulder, a team of three electrical engineering students is leading the development of a prototype for the MSCL Command and Data Handling (C&DH) system. We are starting the development of the prototype Command and Data Handling system earlier then the development of the other subsystems in the hopes that the Command and Data Handling prototype will be fully functional by the time other systems get to the prototyping stage. Since this development is so preliminary, we will design the prototype to meet the most common demands from the payload, while filtering out outlier interfaces that may be likely to change by the time of launch, or even by the time of science instrument prototyping/ testing. Below we go through the requirements on the Command and Data Handling Subsystem as of the Design Study and compare these requirements with the requirements that the prototype will fulfill. III Subsystem Requirements as of 2006 Conceptual Design Study These subsystem requirements are a summary of the requirements listed in the 2006 “Inspiration: Mars Student Climate Lander” Design Study. 1. Compatibility with the requirements from the Science Instruments, Housekeeping (Telemetry), the communications subsystem, and deployable control. -Figure 1 and Table 1 summarize the requirements placed on the C&DH subsystem. Science Atmospheric Temperature Deployables Housekeeping Solar Panels MET Boom Thermisters Ground Temperature Wind Velocity & Direction Thermal TLS Heaters C&DH Subsystem Primary Battery Voltage Secondary Battery Radiation Camera Current Power Controls Pressure Power Distribution Solar Array Micro Transceiver UV Proximity-1 Space Link Protocol IR Comm Dust Opacity Figure 1 - Subsystem Connections Table 1 - Interface Summary System Connection Science Instruments 50 Analog, 20 Analog Freq, 8 Digital (SPI, RS422) Telemetry Deployments and Control Communications (x2) 45 Analog Total 30 Digital 36 Digital 95 Analog, 20 Analog Freq1, 74 Digital 2. Radiation Tolerant to an acceptable error and risk level -Actel exhibits 10-10 SEU/day (without Triple Module Redundancy) -Xilinx exhibits up to 10-6 SEU/day with Triple Module Redundancy 3. Fits within the confines of the Warm Electronics Box constraints -Fits within a 27 x 12 x 4.5cm3 enclosure -Survive planetary protection (bake at 110 Celsius) -Fully Operational to -55 Celsius 4. Low power use -The summer design study required C&DH to use a maximum of 2 Watts total power for the payload to meet its power margins. 5. Science Operations reprogrammable from ground -Main science operations code must be stored in a reprogrammable media (necessitating redundancy on storage) 6. Ability to store Science Data for multiple communication intervals -Meet at least the memory required for a 200% margin, as listed in Table 2. Table 2 - Summary of Memory and Processor Requirements Totals Storage (Flash): Required 5070 200% Margin 10140 Units KB Memory (RAM): Boot Storage (ROM): Processing Power 1517 3034 KB 158 316 KB 2.25 4.5 MIPS IV Derived Goals for Current Development Listed below are the requirements that we see suitable to try to meet in this early prototype. 1. Compatibility with the requirements from the Science Instruments, Housekeeping (Telemetry), the communications subsystem, and deployable control. -Our prototype should be capable of handling all of the inputs listed in Table 1 and outlined in Figure 1. -The Xilinx XUPV2p development board comes with an impressive array of offboard headers making plenty of digital IO available to meet the digital requirements listed in Table 1. We will therefore only need to come up with a design to handle the 95 analog voltage readings, and 20 analog frequency reading specified in Table 11. 2. Radiation Tolerant to an acceptable error and risk level -Since this prototype is so far from launch (~2016), we are not yet prototyping with space-rated hardware. 3. Fits within the confines of the Warm Electronics Box constraints -Again, since we are so far from launch, we are not worrying about flighthardware size constraints 4. Low power use -Same launch date argument here as above. 5. Science Operations reprogrammable from ground -Ability to program the FPGA from (both VHDL and C-code) from a 512 MB CompactFlash card we have available to us at Space Grant. 6. Ability to store Science Data for multiple communication intervals -Since we are using the Digilent XUP V2P development board with 256 MByte DDR memory and a 512 MB CompactFlash card, the hardware will easily meet and exceed the memory requirements set forth by the summer design. Additional Goals and Requirements: Software Since the summer design specified using either a Microblaze soft processor core or a Leon (Sparc V8 architecture) soft processor. We would like to get both processors up to the point at which they can run C-code on the Virtex-II. Optimally, we would like to install a RTOS on both and get them both 1 The difference between analog lines and analog frequency lines as defined in this document and the MSCL summer design study lies in the frequency of the incoming signal. We refer to analog lines as those that have a very large fundamental period (T~>1) and most if not all of the information is contained in the instantaneous voltage. We refer to analog frequency lines as those where not only does the instantaneous voltage matter, but the frequency content of the signal matters, these signals are expected to be up around 25 kHz (Sonic Anemometer frequency, one of the higher frequency devices). In the other words, analog frequency lines are those whose signal is destined to go through an FFT or require DSP. communicate with the sensor board. We are not sure if this second task will be possible to accomplish due to the time constraints of this semester. -ability for this board to connect w/ various different Xilinx development boards Sensor Board The sensor board we are developing this semester may prove extremely useful in testing and debugging not only MSCL hardware, but projects in general at the Colorado Space Grant. To try to make the board as useful as possible for projects outside of the MSCL prototype, we will design the board to work with as many Xilinx boards as possible. That being said, the board of which we want to make sure our sensor board is compatible is the Digilent Spartan 3 starter board, one of the other popular student FPGA boards that is readily available at the Colorado Space Grant. V Current Development The design team this semester is working with the Leon3 and the Microblaze soft processor cores to do a proof-of-concept of the Command and Data Handling subsystem as outlined in the summer design document. The design team is also developing a sensor board for this proof of concept. The goal of implementing the Leon3 is to determine the degree of difficulty of configuring and installing the Leon3 from scratch on a specific architecture. By doing this, the design team will get an idea of the feasibility of writing code for the Leon3 on Xilinx hardware and the porting the code for the Leon3 on Actel Hardware. The reason for wanting to be able to transition from development on Xilinx to flight with Actel is that Actel FPGAs use less power and have a much higher Single Event Upset tolerance than the Xilinx counterparts, making them better for deep-space applications, as mentioned in the MSCL summer design document. Although the Actel chips are better suited for deep-space applications than the radiation tolerant Xilinx FPGA, the Xilinx FPGAs are far better for development, since they are SRAM based and therefore actively reprogrammable. The goal of the sensor board is to allow the Leon3 and the MicroBlaze soft processor cores to be tested with real-world signals and interfaces similar to required by the final MSCL Command and Data Handling System. 1. Issues and discussion point i. FPGA: We need radiation tolerant FPGA for space use. Based on research in the summer, Actel is the best for tolerance, and no need for TMR. But it is one time programmable, which is not favorable for student development. XQR2V3000 has pretty good tolerance also. It is SRAM-based, so easy to change the design, which saves our cost. We decided this was the best for our design now. (We are keeping the option of going back to Actel later on when we have fully verified our design). Since we have X2V30P (Virtext-2 Pro), which has the similar FPGA chip as (actually more power full than) XQR2V3000, we decided to work on this first so we don’t have to purchase a new board now. But later we might need to purchase a QR2V FPGA. ii. CPU core: Since we are going to use an FPGA to run the C&DH system. Soft core written in HDL is the best solution for us, since hardware processor will cause a higher total power usage. Xilinx MicroBlaze is a mature product, it has great performance in terms of DMIPS/slice. Furthermore, tool support for the MicroBlaze is quite mature and has a large support base. But it is not compatible third party FPGA, which denies our option to go back to Actel. In this setting, we decided to work on Leon 2/3, a open source RISC processor in parallel. Compared to MicroBlaze, it takes more area, which would be a problem for further TMR. Also tool support is not as good as MicroBlaze. iii. EDK uses a modified cygwin called xygwin, which seems to be problematic to co-exist with cygwin (especially after you modify some default cygwin settings). Check the environment variables, mount points, and the version of make. There might be an article how to patch EDK to use cygwin. (So later we started to use Linux to avoid the confliction) 2. Work during the semester 1. Got Started: Worked out a plan for this semester with Brandon and Jeff. Based on the importance level of the blocks, our time, experience and utilities at hand(software, hardware, funds), we will do the following (some may be done in parallel). i. Soft processor core – brain of the system ii. A/D sensor PCB board iii. Glue logic and test 2. Research and Implementation of Leon processor i. Research on its architecture and instruction set. ii. Got xgrlib from http://www.gaisler.com which is a good support of implementation iii. Tried to implement the design onto board – because the lack of support, we have to manually run synthesis and implementation including modification of UCF files where we got stuck. iv. Contacted Jiri Gaisler from Gaisler research org. for a solution. 3. Implementation and configuration of MicroBlaze core i. Did research on the architecture and working flow of MB processor ii. Created a basic LED sequencing system based on SoC hardware and software codesign concept. Bitstream was generated and downloaded to the board. It worked fine. VI Results (Meeting the Derived Requirements) -Sensor PCB successfully designed, manufactured, and components soldered on. -passes signal continuity tests, power (2.5V, 3.3V, 5.0V) and ground checks -XUP signals are successfully getting to the ADC (U7) -ADC (U7) is not responding, possibly due to FPGA signaling at 2.5V instead of the required 3.3V Figure 2 - Completed Sensor Board -Notice that the two 50-pin and one 26-pin connectors are left unpopulated. These champ type connectors are commonly used to connect PCBs that have a lot of IO. The purpose of these connectors is to allow later connector boards, maybe even bread-boards to be hooked the sensor board for easier access to the large amount of analog inputs. Currently it is easier to just input individual channels into the holes of the unpopulated connectors. -Leon3 successfully synthesized and communicating to grmon on the PC. -Capable of downloading executables to the processor -Capable of running downloaded code, but did not have time to run anything of importance -Have not written any in house C-code to compile and run on the Leon 3. -Have not started the necessary code to communicate with the sensor board -We were trying to get MicroBlaze to communicate with it first The process of actually getting the Leon3 processor was quite grueling for us. The setup that finally worked for us was Xilinx ISE 8.2 and Ubuntu Linux (Breezy Badger) using the most up-to-date version of grlib from Gaisler research. The entire process is documented and available on request: contact the author. -MicroBlaze successfully set up and capable not only of running code, but outputting the correct SCLK, CS_bar, and DOUT - Tried to implement ucLinux, an operating system on MicroBlaze. Hardware bitstream was generated and downloaded, while source code from the web has some error which can’t be fixed with our knowledge, so can’t generate applications on it. VII Future work 1. Continue work on Leon (Gaisler.com) i. Test and debug writing C code, compiling and running ii. Install and RTOS, get it running iii. Install and run applications on the RTOS 2. Debug the Sensor PCB i. By any means necessary get the AD7490 to produce and output on DOUT -change the output voltage to 3.3V for the FPGA DOUT signal (slave DIN) -recommendations online are to write “bit-bang” SPI code first of all, not using the complex included libraries, but just using GPIO and software, to try to get an output 4. Install an RTOS and applications on MicroBlaze. VIII Conclusion The use of a soft processor core in tandem with radiation mitigation techniques can provide a very powerful, scalable solution to current low-cost, high risk student satellites. However, as this paper points out, using the soft-processor core adds a level of complexity to the design that necessitates a longer development cycle: up front time is required to make the soft-processor functional. VIV Lists of Resources Found //aquarius/Mars JPL/documents Virtex-II datasheet.pdf Virtex-II pro datasheet.pdf leon2-1.0.30-xst.pdf Leon-tutorial-Altera.pdf Leon-tutorial-Xilinx.pdf (Virtex2) microblaze_ref_guide.pdf uclinx-xupv2p_rev_1_2.zip Leon 2 user manual Leon implementation tutorial on Altera Board Leon implementation tutorial on Xilinx Board MicroBlaze processor reference guide ucLinux system EDK files uc-MicroBlaze.pdf ucLinux system implementation tutorial with MicroBlaze AltiumDesignTutorial.pdf Altium PCB design tutorial Evaluation_of_synthesizable_CPU_cores.pdf Evaluation and comparison between 3 kinds of soft processors SEUtestonVirtex2.pdf SEU Mitigation Testing of Xilinx Virtex II FPGAs Web Resources: http://www.gaisler.com/ -- Leon processor source code and document http://www.xilinx.com/univ/xupv2p.html -- Xilinx XUP Virtex II Pro Development System