26 research outputs found
MicroShell Minimalist Shell for Xilinx Microprocessors
MicroShell is a lightweight shell environment for engineers and software developers working with embedded microprocessors in Xilinx FPGAs. (MicroShell has also been successfully ported to run on ARM Cortex-M1 microprocessors in Actel ProASIC3 FPGAs, but without project-integration support.) Micro Shell decreases the time spent performing initial tests of field-programmable gate array (FPGA) designs, simplifies running customizable one-time-only experiments, and provides a familiar-feeling command-line interface. The program comes with a collection of useful functions and enables the designer to add an unlimited number of custom commands, which are callable from the command-line. The commands are parameterizable (using the C-based command-line parameter idiom), so the designer can use one function to exercise hardware with different values. Also, since many hardware peripherals instantiated in FPGAs have reasonably simple register-mapped I/O interfaces, the engineer can edit and view hardware parameter settings at any time without stopping the processor. MicroShell comes with a set of support scripts that interface seamlessly with Xilinx's EDK tool. Adding an instance of MicroShell to a project is as simple as marking a check box in a library configuration dialog box and specifying a software project directory. The support scripts then examine the hardware design, build design-specific functions, conditionally include processor-specific functions, and complete the compilation process. For code-size constrained designs, most of the stock functionality can be excluded from the compiled library. When all of the configurable options are removed from the binary, MicroShell has an unoptimized memory footprint of about 4.8 kB and a size-optimized footprint of about 2.3 kB. Since MicroShell allows unfettered access to all processor-accessible memory locations, it is possible to perform live patching on a running system. This can be useful, for instance, if a bug is discovered in a routine but the system cannot be rebooted: Shell allows a skilled operator to directly edit the binary executable in memory. With some forethought, MicroShell code can be located in a different memory location from custom code, permitting the custom functionality to be overwritten at any time without stopping the controlling shell
FPGA Coprocessor Design for an Onboard Multi-Angle Spectro-Polarimetric Imager
A multi-angle spectro-polarimetric imager (MSPI) is an advanced camera system currently under development at JPL for possible future consideration on a satellite-based Aerosol-Cloud-Environ - ment (ACE) interaction study. The light in the optical system is subjected to a complex modulation designed to make the overall system robust against many instrumental artifacts that have plagued such measurements in the past. This scheme involves two photoelastic modulators that are beating in a carefully selected pattern against each other. In order to properly sample this modulation pattern, each of the proposed nine cameras in the system needs to read out its imager array about 1,000 times per second. The onboard processing required to compress this data involves least-squares fits (LSFs) of Bessel functions to data from every pixel in realtime, thus requiring an onboard computing system with advanced data processing capabilities in excess of those commonly available for space flight. As a potential solution to meet the MSPI onboard processing requirements, an LSF algorithm was developed on the Xilinx Virtex-4FX60 field programmable gate array (FPGA). In addition to configurable hardware capability, this FPGA includes Power -PC405 microprocessors, which together enable a combination hardware/ software processing system. A laboratory demonstration was carried out based on a hardware/ software co-designed processing architecture that includes hardware-based data collection and least-squares fitting (computationally), and softwarebased transcendental function computation (algorithmically complex) on the FPGA. Initial results showed that these calculations can be handled using a combination of the Virtex- 4TM Power-PC core and the hardware fabric
FPGA Coprocessor for Accelerated Classification of Images
An effort related to that described in the preceding article focuses on developing a spaceborne processing platform for fast and accurate onboard classification of image data, a critical part of modern satellite image processing. The approach again has been to exploit the versatility of recently developed hybrid Virtex-4FX field-programmable gate array (FPGA) to run diverse science applications on embedded processors while taking advantage of the reconfigurable hardware resources of the FPGAs. In this case, the FPGA serves as a coprocessor that implements legacy C-language support-vector-machine (SVM) image-classification algorithms to detect and identify natural phenomena such as flooding, volcanic eruptions, and sea-ice break-up. The FPGA provides hardware acceleration for increased onboard processing capability than previously demonstrated in software. The original C-language program demonstrated on an imaging instrument aboard the Earth Observing-1 (EO-1) satellite implements a linear-kernel SVM algorithm for classifying parts of the images as snow, water, ice, land, or cloud or unclassified. Current onboard processors, such as on EO-1, have limited computing power, extremely limited active storage capability and are no longer considered state-of-the-art. Using commercially available software that translates C-language programs into hardware description language (HDL) files, the legacy C-language program, and two newly formulated programs for a more capable expanded-linear-kernel and a more accurate polynomial-kernel SVM algorithm, have been implemented in the Virtex-4FX FPGA. In tests, the FPGA implementations have exhibited significant speedups over conventional software implementations running on general-purpose hardware
Recommended from our members
Scientific drilling of Lake Chalco, Basin of Mexico (MexiDrill)
The primary scientific objective of MexiDrill, the Basin of Mexico Drilling Program, is development of a continuous, high-resolution ∼400 kyr lacustrine record of tropical North American environmental change. The field location, in the densely populated, water-stressed Mexico City region gives this record particular societal relevance. A detailed paleoclimate reconstruction from central Mexico will enhance our understanding of long-term natural climate variability in the North American tropics and its relationship with changes at higher latitudes. The site lies at the northern margin of the Intertropical Convergence Zone (ITCZ), where modern precipitation amounts are influenced by sea surface temperatures in the Pacific and Atlantic basins. During the Last Glacial Maximum (LGM), more winter precipitation at the site is hypothesized to have been a consequence of a southward displacement of the mid-latitude westerlies. It thus represents a key spatial node for understanding large-scale hydrological variability of tropical and subtropical North America and is at an altitude (2240 m a.s.l.), typical of much of western North America. In addition, its sediments contain a rich record of pre-Holocene volcanic history; knowledge of the magnitude and frequency relationships of the area's explosive volcanic eruptions will improve capacity for risk assessment of future activity. Explosive eruption deposits will also be used to provide the backbone of a robust chronology necessary for full exploitation of the paleoclimate record. Here we report initial results from, and outreach activities of, the 2016 coring campaign
Surface-focused Seismic Holography of Sunspots: I. Observations
We present a comprehensive set of observations of the interaction of p-mode
oscillations with sunspots using surface-focused seismic holography. Maps of
travel-time shifts, relative to quiet-Sun travel times, are shown for incoming
and outgoing p modes as well as their mean and difference. We compare results
using phase-speed filters with results obtained with filters that isolate
single p-mode ridges, and further divide the data into multiple temporal
frequency bandpasses. The f mode is removed from the data. The variations of
the resulting travel-time shifts with magnetic-field strength and with the
filter parameters are explored. We find that spatial averages of these shifts
within sunspot umbrae, penumbrae, and surrounding plage often show strong
frequency variations at fixed phase speed. In addition, we find that positive
values of the mean and difference travel-time shifts appear exclusively in
waves observed with phase-speed filters that are dominated by power in the
low-frequency wing of the p1 ridge. We assess the ratio of incoming to outgoing
p-mode power using the ridge filters and compare surface-focused holography
measurements with the results of earlier published p-mode scattering
measurements using Fourier-Hankel decomposition.Comment: Solar Physics, accepte
The Barycenter of the Numerical Range of a Matrix
The numerical range W(A) of an nxn matrix A is the totality of the scalar products \u3cAx,x\u3e as x varies over all unit vectors in Cn The barycenter (center of mass) of the numerical range is defined geometrically as the center of mass of W(A) considered as a planar lamina with variable density and also as a limit of sample averages (\u3cAx1,x1\u3e+...+\u3cAxN,xN\u3e)/N. Under a wide range the sampling schemes it is shown that the barycenter is the average of the spectrum (eigenvalues) of A weighted according to algebraic multiplicity which also equals tr(A)/n. The results of this paper justifies calling tr(A)/n the barycenter of W(A)
Real-Time On-Board Processing Validation of MSPI Ground Camera Images
The Earth Sciences Decadal Survey identifies a multiangle, multispectral, high-accuracy polarization imager as one requirement for the Aerosol-Cloud-Ecosystem (ACE) mission. JPL has been developing a Multiangle SpectroPolarimetric Imager (MSPI) as a candidate to fill this need. A key technology development needed for MSPI is on-board signal processing to calculate polarimetry data as imaged by each of the 9 cameras forming the instrument. With funding from NASA's Advanced Information Systems Technology (AIST) Program, JPL is solving the real-time data processing requirements to demonstrate, for the first time, how signal data at 95 Mbytes/sec over 16-channels for each of the 9 multiangle cameras in the spaceborne instrument can be reduced on-board to 0.45 Mbytes/sec. This will produce the intensity and polarization data needed to characterize aerosol and cloud microphysical properties. Using the Xilinx Virtex-5 FPGA including PowerPC440 processors we have implemented a least squares fitting algorithm that extracts intensity and polarimetric parameters in real-time, thereby substantially reducing the image data volume for spacecraft downlink without loss of science information
Implementing Legacy-C Algorithms in FPGA Co-Processors for Performance Accelerated Smart Payloads
Accurate, on-board classification of instrument data is used to increase science return by autonomously identifying regions of interest for priority transmission or generating summary products to conserve transmission bandwidth. Due to on-board processing constraints, such classification has been limited to using the simplest functions on a small subset of the full instrument data. FPGA co-processor designs for SVM1 classifiers will lead to significant improvement in on-board classification capability and accuracy
Technology Readiness Level (TRL) advancement of the MSPI On-Board Processing Platform for the ACE Decadal Survey Mission
No abstract availabl