Ams 16th Smoi Martin 10.3
Ams 16th Smoi Martin 10.3
Figure 2. Schematics of a radar system with and without an FPGA transceiver. The yellow boxes denote
functions that are performed by the FPGA firmware.
The SD3C implementation is described here in GateFlow provides specific “user blocks” that
terms of the Pentek card that it currently runs on, intercept the data flow through the FPGA, and into
but it should be noted that a very similar which the user can insert custom processing. The
architecture could be realized using many of the user blocks meet some but not all of the SD3C
commercially available transceiver cards available. needs. The down conversion, matched filtering,
Much of the firmware could be reused with other pulse tagging, coherent integration and
vendor hardware. complimentary code processing are implemented
in VHDL components that are instantiated in the
6.1 SD3C Firmware user blocks.
Figure 4 presents a high level diagram of the GateFlow is oriented towards communications
SD3C signal-processing pipeline. processing, and therefore does not inherently
The SD3C firmware builds upon the Pentek provide the functions needed for pulsed systems.
“GateFlow” infrastructure. GateFlow provides a This required other areas of GateFlow to be
reference firmware design that is capable of modified so that the down-converted data signals
running the transceiver card with basic A/D could be sampled on the pulse repetition
sampling, D/A output and digital I/O. The Pentek frequency (PRF) boundaries. Similarly, the
card is quite sophisticated, providing flexible transmit pulse is generated by feeding baseband
capabilities for onboard memory capture, data values to the up-converter, and GateFlow was
routing and device configuration. modified to also allow this to be synchronized with
the PRF.
5
A programmable VHDL timer component was and writing SD3C configuration and
created in order to generate timing signals. control registers.
Multiple copies of the timer are instantiated for the Down Combines an fs/n down converter, a
required timing signals, such as the PRF, blanker, Converter Kaiser filter and a Gaussian filter.
and amplifier power control. These signals can be Pulse Prepends an incrementing PRF
used within the FPGA to gate the signal Tagging pulse number, I/Q identifier, format
processing, and they are routed to the FPGA I/O identifier, and channel number to
pins, where they can be brought off board for each received pulse.
connection to other hardware. The current design Coherent Sums the samples for each range
provides eight independent timers. If additional Integration gate, for I and Q, for each channel.
signals are required, it is a simple matter to If complimentary coding is enabled,
instantiate additional timers. the sums are further segregated by
Many of the custom functions within the SD3C even and odd pulse.
are configurable. Typical parameters include filter Table 1. SD3C VHDL components.
coefficients, timer periods, integration intervals,
etc. GateFlow has a control register module that 6.2 SD3C Host Software
allows host software to write and read
configuration registers for the existing GateFlow The transceiver card and its firmware provide
functions. This module was extended to allow the the hardware component for the SD3C. A software
same configuration for SD3C functions. infrastructure implements a high level capability for
Table 1 summarizes the SD3C custom VHDL the host computer to interact with the card.
functions that are incorporated into the GateFlow As is common with most commercial
foundation. transceiver cards, the vendor markets a low-level
software interface that controls the basic card
functions. In this case, Pentek provides the
Block Function
“ReadyFlow” package to support the P7142.
Timer Implements a gang of timers for
ReadyFlow allows the user to configure and
timing signal generation. All timers
capture data from direct memory access (DMA)
are started by a common pulse, but
bus transfers, and to configure other functions in
are free running after that.
the FPGA.
Control Provides the interface for reading
6
Class Function
p7142sd3c Overall transceiver control
P7142sd3cDn Down-conversion channels
P7142Up Up-conversion channels
Table 2. SD3C main C++ classes.
449 MHz Wind Profiler W-Band Cloud Radar Ka-Band Microphysics Radar
Application Boundary layer Cloud microphysics Cloud microphysics and water
dynamics vapor retrieval (with S-band
radar)
Frequency
Gate spacing 449
150mMHz 94.4
37m GHz 34.7
75 mGHz
Range 7 km 15 km 7 km
Experience has also shown that separating • Gain confidence by starting with the basics of
specific functions into independent processes VHDL, implementing very simple components
leads to a system which is simpler to construct, that can quickly transit the workflow, and that
more robust, and easier to troubleshoot. It is can be tested easily.
important that the data distribution scheme allows • Make the design as modular as possible, and
the connections between two processes to reuse VHDL code wherever possible.
arbitrarily come and go, without negatively • Create and run simulation test benches for all
impacting either process. The NCAR 449 MHz components.
wind profiler has successfully employed this • Make full use of embedded VHDL probes (e.g.
architecture, using the Open Data Distribution ChipScope) to diagnose problems right on the
Service (OpenDDS) as the data transport FPGA chip.
mechanism.
Use of FPGA technology transforms many
7 Example SD3C Applications aspects of radar system development into a major
software activity. This work benefits greatly by
The SD3C is currently employed in three employing standard software engineering
operational radars, whose characteristics are practices. Designing from a software architecture
summarized in Table 3. These systems cover a perspective, using tools such as integrated
wide range of capabilities. development environments, source code revision
Images of the FPGA transceiver host, the control and bug tracking, and creating embedded
antennas, and sample observations are presented documentation will all greatly enhance the project
in figures 8 through 16 for each system. productivity.
8 Conclusions The SD3C project has demonstrated that an
FPGA solution, based on commercial hardware,
FPGA development has usually been the brings many benefits to system developments
domain of specialized digital hardware engineering such as those described here. The FPGA is
teams. In contrast, the SD3C project was capable of very high signal processing
executed by a very small group of RF system and performance, thus mitigating large data
software engineers, who had to learn the bandwidths and host CPU loads. The technology
technology “on the fly”. The learning curve is facilitates very flexible applications: the same
challenging, and required gaining expertise in hardware can be customized to meet quite
VHDL concepts and FPGA system design. The different requirements simply by loading the
development workflow is intricate and time application specific firmware. Total system costs
consuming, and the support tools are complicated are reduced by leveraging the use of a single
and often non-intuitive. Debugging and testing can FPGA card among several systems, and by the
be very difficult. Based on our experience, the consolidation of functions from many discrete
following recommendations can be made to hardware components onto a single card.
engineers just starting with this technology:
8
Figure 10. Time-height cross sections of signal-to-noise, vertical velocity, and horizontal winds.
9