A real-time, multi-task, high-speed image processing system implemented with a single-chip FPGA is introduced. The system undertakes tasks such as improving the signal-to-noise ratio, compressing the data volume, observing Stokes parameters, and controlling instruments and observation modes. For a satellite-borne system, reliability design technologies such as core logic on-chip redundancy and corresponding redundant management circuits are adopted, and testability design technologies such as placing on-chip test and verification modules are adopted, so that the system operating clock reaches 40 MHz and the image processing rate reaches 100 Mbps. Keywords preprocessing; error detection and correction; field programmable gate array; state machine Image processing is generally completed using a digital signal processor (DSP). However, the use of multiple DSPs or DSP arrays will rapidly increase the system in terms of cost, weight, power consumption, etc. In recent years, it has become a trend to design logic circuits using Field Programmable Gate Array (FPGA) or Complex Programmable Logic Device (CPLD) [1, 2]. The reasons are as follows: 1) As the integration level of integrated circuits (IC) has been greatly improved, programmable devices provide users with abundant programmable resources; 2) Programmable device development systems and simulation methods are becoming more and more perfect. The preprocessing system introduced in this paper is a subsystem of the Science Data Processing Unit (SDPU) of the Space Solar Telescope (SST), a major national project to be launched by the National Astronomical Observatory of the Chinese Academy of Sciences [3, 4]. The function of SDPU is to perform a series of complex image processing tasks on the scientific data collected by the observation instrument to meet the analysis requirements of astronomers on the sun. The preprocessing system is a single-chip FPGA system. Since this system is a satellite-borne system, in addition to functional design, testability design technology is also used to design a highly reliable system. 1 Data processing tasks and system structure of SDPU The function of SDPU is to perform a series of complex processing on scientific data. It is responsible for high-speed acquisition, compression, encoding, and storage of huge amounts of data, and has high-reliability fault-tolerant technology [3, 4]. The structure of SDPU is shown in Figure 1. It is mainly composed of a charge coupled device (CCD) array, a pre-processing (PP) array, a central processing unit (CPU), a mass memory (MM), compression units DSP1 and DSP2, and a downlink subsystem (DLS). The tasks of SDPU include the following processes in order: data acquisition, integration, correlation operation, CCD image calibration, Stockes parameter calculation, wavelet image compression, communication formatting and downlink, etc. Data acquisition is completed by the CCD (detector) array consisting of 17 channels of the five observation instruments of SST; the integration work is completed in preprocessing; CCD correction and Stockes calculation and wavelet compression are completed by two DSP modules (DSP1, DSP2); communication formatting and downlink tasks are completed by the downlink subsystem (DLS); the data processed by each unit are temporarily stored in the massive memory (MM); the overall scheduling and management of the system are performed by the CPU. 2 Preprocessing data processing tasks and design scheme selection 2.1 Preprocessing data processing tasks As shown in Figure 1, the preprocessing system consists of 17 processing modules, and the basic functions of each module are the same. The task of preprocessing (PP) is to perform integration operations, which has the following processing tasks: 1) Improve the signal-to-noise ratio. The signal-to-noise ratio requirements of each SDPU instrument are different, but they all improve the image quality by accumulating multiple frames of continuous polarization images. The number of frames for integration is different for each instrument in different modes, and preprocessing must be correctly identified and processed; 2) Compress the data volume. The daily input data of preprocessing is 2506 GB, while the output data is 50 GB, so an average of 60 times compression is required in preprocessing. 3) Stockes parameter measurement. A polarization analyzer is inserted into the main optical path of the solar telescope. The analyzer has 3 controllable elements, which can be combined to measure the image of the 6 components of the Stockes parameter by controlling the element state. 4) Observation mode. Its instruments are: burst mode, active area mode, and quiet state mode. Preprocessing has different integration behaviors according to different observation modes. 2.2 Logical functions of preprocessing The functions of preprocessing can be generally divided into: 1) Data reception and integration: As shown in Figure 2, the high-bit clearing of data is to solve the problem of clearing the bit expansion space of multi-frame integration; data integration is based on pixels; different modes have different integration frames; the image ready flag is to indicate that the data of a certain storage block or address segment has been integrated and can be sent out. This flag is invalid when the data is being integrated and after the data has been sent away; 2) Data transmission channel control: It is a bus arbitration mechanism used to arbitrate which of the 17 channels has the right to use the data bus shared by all channels to perform data transmission operations. It adopts a sequential polling method. If the data of the queried channel is ready, it will enter the data transmission state, otherwise it will continue to query backward. 3) Data transmission: It is mainly responsible for data transmission to empty the data buffer; the data storage space segment it operates and the cache space segment used for integration should be separated to avoid conflicts; it overlaps with integration in time, so it must be designed as parallel logic. 4) Instrument observation mode and working status monitoring: The instrument observation mode and status compression code are sent from the CPU, and the preprocessing needs to be decoded and sent to the relevant parts for preprocessing. The control of the working mode of each part, so the corresponding logic must be designed.
You Might Like
Recommended ContentMore
Open source project More
Popular Components
Searched by Users
Just Take a LookMore
Trending Downloads
Trending ArticlesMore