7
FPGA based detector of electron modulations at MHz frequencies Nicolas Huber a, , M.P. Gough b , A.M. Buckley b a Biomedical Engineering Group, University of Sussex, Brighton BN1 9QT, UK b Space Science Centre, University of Sussex, Brighton BN1 9QT, UK article info Article history: Received 20 April 2010 Accepted 15 June 2010 Available online 22 June 2010 Keywords: Field Programmable Gate Array Electron modulation Particle detection abstract Modulated energetic electrons have been observed in space plasmas, bunched up to frequencies of several MHz, due to the phenomenon of wave–particle interactions. The technique that has been the mainstay of on-board bunching detection has so far been implemented using complex circuitry, due to the high processing speed required. In this work, a novel approach to the Buncher technique has been developed, and has been implemented in a Field Programmable Gate Array (FPGA). Improvements including much higher sampling and processing speeds have been achieved, as well as a vast increase in the number of channels that can be processed simultaneously, suggesting that the FPGA technology may be much better suited as the implementation platform compared to microprocessors. As a case study, we have used the Sussex CORrelating Electron Spectrograph (CORES), a multi-channel particle correlator set for launch to the International Space Station in late 2010. & 2010 Elsevier B.V. All rights reserved. 1. Introduction For the past two decades, correlators have flown on-board space missions to detect electron modulations in both the KHz and MHz range [1], indicating the occurrence of Wave–Particle Interactions (WPI) in the region around the spacecraft. In the KHz range, the correlation method of choice has in most cases been the Auto-Correlation Function (ACF), while in the MHz range what has been termed the ‘‘Buncher’’ correlation method has been preferred. This statistical tool was first developed by Gough et al. [2] as a means of detecting the ‘bunching’ of electrons at MHz frequencies. The term ‘bunching’ refers to the preferential time separation at the wave frequency in the arrival of consecutive electrons, when the electrons have undergone velocity resonant wave–particle interactions. When measured with respect to units of a fixed clock, this algorithm, in essence, returns ‘‘the histogram of occurrences of different time separations between electrons’’ [3] up to a maximum separation. The advantage of this method lies in the fact that the analysis of the histogram can return occurrences of bunching up to one half the clock frequency of the processing elements, typically in the MHz range, and also results in a reduction in the data telemetry required. The Buncher has also been shown to loosely approximate a 1-bit ACF at very low count rates. This invaluable spectral analysis tool has been included for on-board processing in past space missions, such as the auroral sounding rockets E2B (1981) and CAESAR (1985) [4,5], as well as in the SPREE instrument flown on the STS-46(TSS-1) and the STS-75(TSS-1R) [6–8]. Under a different name and with some alterations, this method has also been used in the analysis of photoelectron statistics, based on the principle of recording the times of arrival of photoelectron pulses. These instruments fall within the realm of spectral spectroscopy, where they mostly supplement what are known as ‘clipped’ correlators [9] as a very low cost option [10], and also because their operation is not restricted to assumed Gaussian statistics alone, as is that of their more expensive counterparts. In this field, they are, somewhat arbitrarily, known as photon arrival timers [11], simply correlators [12], and as Time- Delay Correlators or TDCs [10], but in all future references to this type of instrument in this paper the term ‘Buncher’ will be used to avoid any further confusion. 2. Existing approaches There is ample literature on Buncher techniques for photo- electron statistics, dating back to a well known piece of work by Chopra et al. [13], wherein a simple measurement method was first proposed. A very good description of the function of this type of Buncher is given in Ref. [10]. The basis of the system is the occurrence of an arbitrary initializing pulse, after which all subsequent pulses will latch a counter. The counter counts clock cycles, and thus records the time separation of the incident pulse from the initializing one. The histogram of time separations is then kept in some memory element, where each memory location usually corresponds with a captured time separation (for a basic Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/nima Nuclear Instruments and Methods in Physics Research A 0168-9002/$ - see front matter & 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.nima.2010.06.202 Corresponding author. E-mail address: [email protected] (N. Huber). Nuclear Instruments and Methods in Physics Research A 621 (2010) 519–525

FPGA based detector of electron modulations at MHz frequencies

Embed Size (px)

Citation preview

Page 1: FPGA based detector of electron modulations at MHz frequencies

Nuclear Instruments and Methods in Physics Research A 621 (2010) 519–525

Contents lists available at ScienceDirect

Nuclear Instruments and Methods inPhysics Research A

0168-90

doi:10.1

� Corr

E-m

journal homepage: www.elsevier.com/locate/nima

FPGA based detector of electron modulations at MHz frequencies

Nicolas Huber a,�, M.P. Gough b, A.M. Buckley b

a Biomedical Engineering Group, University of Sussex, Brighton BN1 9QT, UKb Space Science Centre, University of Sussex, Brighton BN1 9QT, UK

a r t i c l e i n f o

Article history:

Received 20 April 2010

Accepted 15 June 2010Available online 22 June 2010

Keywords:

Field Programmable Gate Array

Electron modulation

Particle detection

02/$ - see front matter & 2010 Elsevier B.V. A

016/j.nima.2010.06.202

esponding author.

ail address: [email protected] (N. Huber).

a b s t r a c t

Modulated energetic electrons have been observed in space plasmas, bunched up to frequencies of

several MHz, due to the phenomenon of wave–particle interactions. The technique that has been the

mainstay of on-board bunching detection has so far been implemented using complex circuitry, due to

the high processing speed required. In this work, a novel approach to the Buncher technique has been

developed, and has been implemented in a Field Programmable Gate Array (FPGA). Improvements

including much higher sampling and processing speeds have been achieved, as well as a vast increase in

the number of channels that can be processed simultaneously, suggesting that the FPGA technology

may be much better suited as the implementation platform compared to microprocessors. As a case

study, we have used the Sussex CORrelating Electron Spectrograph (CORES), a multi-channel particle

correlator set for launch to the International Space Station in late 2010.

& 2010 Elsevier B.V. All rights reserved.

1. Introduction

For the past two decades, correlators have flown on-boardspace missions to detect electron modulations in both the KHzand MHz range [1], indicating the occurrence of Wave–ParticleInteractions (WPI) in the region around the spacecraft. In the KHzrange, the correlation method of choice has in most cases been theAuto-Correlation Function (ACF), while in the MHz range whathas been termed the ‘‘Buncher’’ correlation method has beenpreferred. This statistical tool was first developed by Gough et al.[2] as a means of detecting the ‘bunching’ of electrons at MHzfrequencies. The term ‘bunching’ refers to the preferential timeseparation at the wave frequency in the arrival of consecutiveelectrons, when the electrons have undergone velocity resonantwave–particle interactions. When measured with respect to unitsof a fixed clock, this algorithm, in essence, returns ‘‘the histogramof occurrences of different time separations between electrons’’[3] up to a maximum separation. The advantage of this methodlies in the fact that the analysis of the histogram can returnoccurrences of bunching up to one half the clock frequency of theprocessing elements, typically in the MHz range, and also resultsin a reduction in the data telemetry required. The Buncher hasalso been shown to loosely approximate a 1-bit ACF at very lowcount rates. This invaluable spectral analysis tool has beenincluded for on-board processing in past space missions, such asthe auroral sounding rockets E2B (1981) and CAESAR (1985) [4,5],

ll rights reserved.

as well as in the SPREE instrument flown on the STS-46(TSS-1)and the STS-75(TSS-1R) [6–8].

Under a different name and with some alterations, this methodhas also been used in the analysis of photoelectron statistics,based on the principle of recording the times of arrival ofphotoelectron pulses. These instruments fall within the realm ofspectral spectroscopy, where they mostly supplement what areknown as ‘clipped’ correlators [9] as a very low cost option [10],and also because their operation is not restricted to assumedGaussian statistics alone, as is that of their more expensivecounterparts. In this field, they are, somewhat arbitrarily, knownas photon arrival timers [11], simply correlators [12], and as Time-

Delay Correlators or TDCs [10], but in all future references to thistype of instrument in this paper the term ‘Buncher’ will be used toavoid any further confusion.

2. Existing approaches

There is ample literature on Buncher techniques for photo-electron statistics, dating back to a well known piece of work byChopra et al. [13], wherein a simple measurement method wasfirst proposed. A very good description of the function of this typeof Buncher is given in Ref. [10]. The basis of the system is theoccurrence of an arbitrary initializing pulse, after which allsubsequent pulses will latch a counter. The counter counts clockcycles, and thus records the time separation of the incident pulsefrom the initializing one. The histogram of time separations isthen kept in some memory element, where each memory locationusually corresponds with a captured time separation (for a basic

Page 2: FPGA based detector of electron modulations at MHz frequencies

N. Huber et al. / Nuclear Instruments and Methods in Physics Research A 621 (2010) 519–525520

example, see Ref. [14]). Even though the first such instrumentsenjoyed some success [12], improvements were deemed neces-sary due to very high processing dead-times [10], as thoseproposed in Ref. [15], with the system found in Ref. [11]resembling the one developed for CORES more closely. Aninteresting discussion found in Ref. [12] on the use of an arbitrarystarting pulse, and the statistical complications introduced bythis, highlights the important problems that plague the use of thismethod and any of its variations, all of the above falling withinthis category.

In the case of electron bunching in space plasmas, the targetapplication considered here, the Buncher algorithm has beenimplemented in the past using dedicated hardware. An examplemission is the SVALBARD sounding rocket, launched fromSpitzbergen, Norway, in the winter of 1997/1998. In thatinstrument, both conventional, 1-bit, low frequency ACFs andBuncher correlations were carried out on two channels. Theinstrument was a spectrometer, and hence the energy wasstepped at specific intervals. The main processing componentswere a set of two DS87C520 microcontrollers (uCs), one assignedto each type of ACF. In Fig.1 can be seen a block diagram of thepart of the main correlator circuit board designed for the Buncher.

The Buncher ACF was implemented by a pair of latches(74AC175), each assigned to a separate channel. On arrival of aparticle at any channel, its respective latch was set, enabling twosynchronous counters (74AC161) to count up to 32 cycles of the16 MHz global clock (detecting bunching at up to 8 MHz). On

74AC175D-TYPE LATCH

DS2009FIFO

74AC161SYNCHRONOUS

COUNTER

DS87C52MICROCONTR

74AC161SYNCHRONOUS

COUNTER

PARALLEOUTPUT

CHANNEL 1INPUT5-BIT

ENERGY LEVEL

Fig. 1. Block diagram of the Buncher on the SVALBARD correlator board. N

arrival of a second particle at the same channel within the 32cycles, the latch and counters were cleared, after the value of thecounters had first been transferred to a FIFO (DS2009), along withthe current energy step (5-bit resolution), which remainedconstant during this period due to the spectrometer energystepping. The uC on the other side of both FIFOs would create andhold the Buncher histogram with the use of software implemen-ted state machines, before passing it to a ‘‘Parallel-In, Serial-Out’’(PISO) shift register (74HC165) for serial transmission to ground.The uC read from the FIFO to process the next particle arrival, aslong as the FIFO was not empty, but the processing could beinterrupted whenever the shift register had finished transmittinga word (8-bits), and requested the next one. The electroniccomponents assigned to the Buncher alone totalled 12, inclusiveof all supporting circuitry [16].

As clearly stated in the work by Bezerra et al. [17], thecomplete functionality of the SVALBARD correlator board couldhave easily been implemented in a reconfigurable device such asan FPGA, using a Hardware Description Language (VHDL). Thisapproach exhibited many benefits such as reduced board spaceand complexity, lower power consumption, improved depend-ability due to fewer points of failure and increased processingspeed. This work was further expanded by the same authors inRef. [18], where the technicalities of the SVALBARD Buncherimplementation in a small Xilinx FPGA (XQ4085XL) werepresented in detail. Even though device specific resources werenecessary to make the implementation viable in terms of area

0 OLLER

74HC165SHIFT REGISTER

74AC175D-TYPE LATCH

DS2009FIFO

74AC161SYNCHRONOUS

COUNTER

74AC161SYNCHRONOUS

COUNTER

L SERIAL

TX

CHANNEL 2INPUT

16MHzCLOCK

ote the number of discreet components required for the processing.

Page 3: FPGA based detector of electron modulations at MHz frequencies

N. Huber et al. / Nuclear Instruments and Methods in Physics Research A 621 (2010) 519–525 521

usage, the actual algorithm was written using generic VHDL,providing a degree of portability. The authors, however, basedtheir FPGA design on a VHDL model of the hardware foundon SVALBARD, removing just the FIFOs, since the processescould be run in parallel. This approach, however advantageousto the specific application, would not scale easily to accom-modate the multi-channel processing necessary for an energyspectrograph, where up to 128 channels require processing inparallel.

Our work addresses the above issues by proposing a novelimplementation of the Buncher algorithm that is adaptedperfectly for multi-channel applications in small FPGAs. As a casestudy, we opted for the Sussex CORrelating Electron Spectrograph(CORES) instrument, to be launched in late 2010. We havesucceeded in limiting dead time to nothing more than thesampling speed of the system, and in increasing considerablythe number of independent channels processed in parallel.

Note that this Buncher is different to that for photoncorrelation in that the histogram of time separations betweenconsecutive pulses is returned, not that of separation from anarbitrary initial pulse. A reason for this is that CORES will beoperating autonomously in the space environment, where nohuman intervention can setup any parameters of the investigatedphenomenon, which comes in sharp contrast with that of photoncorrelation used in very delicate and controlled experiments (e.g.hydrodynamic behavior of viscous materials [19], investigationsof Brownian motion of particles [20], etc.). However, both types ofinstruments return the same type of correlation function, and can,hence, be readily compared.

3. The CORES buncher

3.1. Requirements and considerations

In the case of CORES, eight directions of electron arrival eachconsisting of 16 detectors of different energy levels, create a totalof 128 combinations (channels), which are to be monitored inparallel. A unique histogram for each such combination isrequired, counted up to 32 clock cycles separation. This multi-channel Buncher processing introduced a few complications. Theuse of 128, 5-bit counters for the implementation of the Buncherseemed unrealistic, since further circuitry would be required tostore the difference result of each counter, resulting in increasedFPGA area usage. To put things in perspective, the FPGA used onboard CORES is a Xilinx XC2S300E, a very small device by currentstandards. The design would also be much more power-consum-ing, since each counter would be free-running after the arrival ofthe first particle, expending power unnecessarily. A bettersolution was found to be the use of a timestamp on all electronevents based on a ‘universal’ counter of length equal to the entiresampling period, counting with respect to the global clock. Thistagging of each event with its unique time of arrival would give avery clear image as to the succession of arrivals in absolute, notrelative, time.

3.2. Hardware implementation method

In Fig.2 a graphical representation of the Buncher developedspecifically for CORES is shown. When an electron is detected atthe sensor, the sector, energy and time of arrival are recorded,as defined by the CORES front-end and the ‘universal’ counter.All particle events are stored in a FIFO memory of depth 128,since there is a bottleneck in the post-capture processing.The necessity of the FIFO arises mainly due to other processing

stages (low frequency ACF [21], FFT, information entropy [22]etc.) in the CORES FPGA that all share the same front-end. This isof no significance here other than to note that two particlesarriving from the same sector, at the same energy can beprocessed by the Buncher at any time after being read out ofthe FIFO, since they already have a timestamp to define at whatpoint of the ‘universal’ time they occurred, and, hence, the timedifference between them. This approach could only be madefeasible due to the large parallelization of FPGA processes, whichcan handle very large bit-widths, as required by the ‘universalcounter’.

On the other side of the FIFO resides some block RAM (BRAM)that has a depth equal to the number of sector/energy combina-tions (i.e. 128) and of width equal to the length of the timestamp(in this case, 17-bits). This RAM holds the value of the timestampfor the last particle at each sector/energy held. During thefirst clock cycle, a particle event along with the current timestampis read out of the FIFO. The BRAM is accessed on the next clockcycle, and the previous timestamp is established. By subtractingthis value from the current one, it is possible to determinewhether the two particle events occurred within the maximumacceptable time limit, and what the actual separation was in unitsof clock cycles. The subtractor requires only one clock cycle toproduce a valid result, and once it has done so, it signalsthe comparator to compare the subtraction result with themaximum allowed separation (i.e. 32 clock cycles), limited bythe histogram size.

On the next clock rising edge, the comparison is carried out,and the ‘Buncher Event Flag’ is set or not, depending on thecomparison result. Once this has been established, the subtractorand comparator are disabled, keeping both the subtraction resultand the ‘Buncher Event Flag’ intact until reset. If there has been aBuncher event, the corresponding histogram (sector/energy/separation dependent) is incremented by one. The correspondingBRAM location is then updated with the current timestamp forfuture use, an operation which is carried out irrespective ofwhether there has been a Buncher event or not. As the maximumseparation available is 32 clock cycles, the valid subtraction resultis only 5 bits wide. The histogram can be formed in either BRAMresiding within the FPGA or in a separate RAM IC, as was the casewith CORES.

It is worth noting that the output of the FIFO is also used as thesource of data for direct transmission to ground in a ‘Snaphot’mode. This mode provides a full description (energy-angleand timing to 40 nS accuracy) for each of up to 32,000contiguously detected electrons. Under normal count ratesituations a short period of time ð � 1 sÞ can be analysed in fulldetail for a complete velocity phase space–time plot. However, asdata telemetry rates are limited, this mode takes several minutesto transmit this short period ‘Snapshot’. This is an importantfunction of the instrument, but we will only concentrate here onthe Buncher, which can operate continuously on all electrons withno data gaps.

This multi-channel Buncher is fundamentally different fromthose used in photon correlation in that a small separation depthis required (only 32 separations instead of the 4095 reported insome cases), but a large number of individual input channels tothe Buncher are to be processed in parallel, something none of theabove cases ever attempted. However, this is a separation depththat was required for CORES, and can be increased for differentdesigns easily by changing the comparator threshold in VHDL. Theonly disadvantage of increasing the separation depth is, of course,the requirement for larger RAM area to store the generatedhistogram, but such considerations fall within the requirementsof each target application and will, hence, not be discussedfurther here.

Page 4: FPGA based detector of electron modulations at MHz frequencies

TIMESTAMP: MOMENT OF CAPTURE

ELECTRON ARRIVAL

EVENT CAPTURING STAGE

BRAM

SUBRACTOR

FIFO

BRAM ADDRESS

CURRENT TIMESTAMP

PREVIOUS TIMESTAMP

BRAMUPDATE

BUNCHER RESULTTO HISTOGRAM

BUNCHEREVENT FLAG

POST-CAPTURING

PROCESSING

Fig. 2. Schematic diagram of the multichannel Buncher algorithm in H/W. The timestamp is held in the FIFO, and compared against the BRAM contents to ascertain the

occurrence of a Buncher event.

N. Huber et al. / Nuclear Instruments and Methods in Physics Research A 621 (2010) 519–525522

3.3. Implementation results

Even when the target device is a small FPGA like the one usedon CORES, the simple form of the Buncher proposed here requiresminimal space. For the exact implementation mentioned inSection 3.2, about 6% of the device was used, 5% of which wastaken up by the FIFO. If we consider that this FIFO is indeed sharedfor all applications on CORES and is much larger than therequirements of the Buncher, then the Buncher alone requiresless than 1% of the device. The only other consideration is that 6%of the available BRAM was used up to store the previoustimestamps.

This approach offers very high speeds without sacrificingdevice fabric, due to its pipelined form. The above implementa-tion can reach speeds up to 130.6 MHz. As mentioned before, thisis equal to the sampling speed, and so bunching can be detectedup to half this frequency, i.e. at � 65 MHz, which is about eighttimes that of the SVALBARD Buncher. Assuming that the CORESFPGA is run at a lower speed of 25 MHz due to the very high

percentage of device utilization, then the maximum frequency ofbunching that could potentially be detected is 12.5 MHz, thisbeing higher than the Buncher capabilities of all past missionssuch as the SPREE and OEDIPUS-C ones [3]. Of no smallsignificance is also the fact that this frequency range covers allhigh frequency wave–particle correlations expected in near-Earthspace, where a maximum count rate of � 106 counts/s isanticipated, which is easily within its capabilities. Furthermore,this frequency range is shared between all electron sector/energycombinations, increasing the scientific return potential of theCORES Buncher dramatically.

The CORES Buncher, as implemented in VHDL, along with thereading out of the FIFO requires some extra buffering, up to 4clock cycles for one complete operation. When run at the CORESfrequency, this amounts to a total of 160 ns, more than an order ofmagnitude improvement on the 13ms taken by the uC softwareloop on the SVALBARD instrument. In CORES, this operation wascarried out in parallel with other functions, such as the updatingof electron spectra, hence the Buncher did not burden the system

Page 5: FPGA based detector of electron modulations at MHz frequencies

N. Huber et al. / Nuclear Instruments and Methods in Physics Research A 621 (2010) 519–525 523

with unnecessary bottleneck delays. What has to be noted is thatthe Buncher is linked with the throughput of the FIFO. Since allprocessing is done post-capturing, there is no dead time per se

added to the front-end of the system. The processing stepsnecessary will inhibit the capturing of further particle events onlyin the case of the FIFO filling up before it has been read out, asaturation short-coming that a deep FIFO can easily remedy.

4. Testing of the buncher

4.1. Considerations

Before presenting the testing methodology followed, it has tobe made clear that it was desirable to test not only thefunctionality of the Buncher, but also how it behaved within aparticle detector. To this end, the Buncher was tested as part ofthe CORES instrument itself, and all testing procedures alsoattempted to establish how the Buncher communicated with thefront end of CORES, which is very particular in nature.

In CORES, particle amplification is achieved by the use ofMicro-Channel Plates (MCP), while the charge detection techni-que of choice is that of the passive delay line method [23]. Theparticle event registering is carried out by effectively reversingthe passive delay line, by mirroring it inside the FPGA as a seriesof matched, asynchronous delay elements [24]. For each particlearriving to the instrument, two negative pulses are generatedfrom the passive delay lines and fed in parallel to the FPGA, wherethey are then decoded back into one single event, returning alsothe energy of the original particle by a time-to-digital conversion

FPGA

BUNCHER

PULSE SHAPINGCIRCUITRY

PULSE A

INCOMINGELECTRON

ELECTRON ARRI

DELAY LINE

1516

ASYNCHRONOUSSYNCHRONOU

TRANSITION WIENERGY DECOD

Fig. 3. CORES front-end showing electron arrival detection and decoding from two pul

single sector with a few energy detectors are shown.

method. The transition from the asynchronous to the synchronoustiming scheme suffers from a very minimal resolution loss of justa single FPGA clock cycle. A block diagram of the CORES front endleading to the Buncher is shown in Fig. 3.

4.2. Methodology

To simulate one Buncher event, a total of four pulses arenecessary to enter the FPGA, in pairs of two in parallel. Each pairof pulses has a specific time separation TE between its pulses that,when decoded as described in Section 4.1, will give the energy ofthe particle that formed the pair. The second pair, signifyinganother single particle event, will have to have the exact sameseparation between its constituting pulses (to register as at thesame energy level), but also arrive within the maximum timedifference, dTMAX, allowed for the Buncher (Fig. 4). If all the aboveconditions are met, then a Buncher event should occur.

The Buncher was hence therefore tested to verify that all thepulses entering the instrument were indeed registered under thesame energy and the desired timing separation. A mechanism wasput in place that made it possible to monitor in parallel the sector/energy at which each particle event is registered to, and also theexact timing at which each particle arrived by employing the‘universal’ counter in a ‘time-capturing’ way, which also recordsthe sequence of incident particles at the exact time they arrived(in clock cycles). This is a further capability of CORES that is betterdiscussed in Ref. [25].

The testing of the Buncher was carried out with the use of twopulse generators, a TTi TGP110 10 MHz analogue pulse generatorand a Stanford Research Systems DG535 digital delay/pulse

PULSE B

VAL

MCP STACK

ENERGY LEVEL

DETECTORS

12

TO S TH ING

ses into a single pulse, leading to the Buncher within the FPGA. For illustration, a

Page 6: FPGA based detector of electron modulations at MHz frequencies

TE

< dTMAXTO FPGA INPUT A

TO FPGA INPUT B

FROM DELAY LINE OUT-PUTS

TE

1st PARTICLE

EVENT

2nd PARTICLE

EVENT

A

B

Fig. 4. Pulse trains required to register a single Buncher event in CORES, showing Te and dTmax.

Table 1Indicative results of the Buncher performing as expected for example separation of

28 to 29 clock cycles (� 1:12ms).

Particle Separation Separation Buncher Buncher

pairs (Clock Cycles, Hex) (Time, ms) event? separation

1 and 2 1D 1.16 Yes 30

2 and 3 FAD 160.5 No 4013

3 and 4 1C 1.12 Yes 29

4 and 5 FAB 160.5 No 4011

5 and 6 1C 1.16 Yes 30

6 and 7 FAB 160.5 No 4011

7 and 8 1D 1.16 Yes 30

N. Huber et al. / Nuclear Instruments and Methods in Physics Research A 621 (2010) 519–525524

generator, which can both produce pulse pairs. The former wasused as an external trigger to the latter. Each pulse from theTGP110 would trigger a pair of pulses from the DG535. TheTGP110, hence, set the dT separation, while the DG535 could befine-tuned to provide the TE separation between its pulses. It isimportant to note for Fig. 4 that in the CORES architecture a‘particle event’ pulse pair from a given sector has a maximumseparation of 40 ns (i.e. Ter40 ns) due to the energy delay lineprocessing (see Fig. 3), and is measured to an accuracy of 5 nsseparately to the Buncher. In comparison, the time separation dT

between pairs of particle events is measured to the accuracy of asingle clock cycle at 40 ns, this corresponding to Bunchermeasurements, with the maximum Buncher separation entry(dTMAX) being at 32 clock cycles, i.e. 1280 ns.

The Buncher was further tested using a development boardthat housed another FPGA (Xilinx V4FX12). This acted as a pulsegenerator to replace the TGP110, at the expected CORES countrate of 105 counts per second, sampled at 25 MHz. The FPGAwould set the value of a single output line to ‘0’ or ‘1’, dependingon the contents of a block of RAM within the chip. The contents ofthe RAM had been defined earlier to correspond to a 1 MHz cosinewave modulating at 50% the expected number of particles, asdescribed in Ref. [26].

Note that all of the results presented here were generatedwhen running the FPGA at the relatively low CORES overalloperating frequency of � 25 MHz. Hence, the maximum resolu-tion of the Buncher would be at 740 ns, equal to 71 Buncherseparation step.

4.3. Experimental results

It was indeed proven that this approach to the Buncherreturned the desired results. The Buncher was allowed tooverflow after each Buncher event by setting the separationbetween the TGP110 pulse pairs to be c32 clock cycles, at about160ms. This way it became easy to distinguish single counts of theBuncher. At the same time each pulse pair was set at a separationof approximately 1:16ms, between 29 and 30 FPGA clock cycles,well within the dTMAX allowed by the Buncher. In Table 1 anexample of the results obtained from the testing of the CORESBuncher of one single sector/energy combination can be found.The presented data shows the time separation (both in number of

clock cycles in Hex, and in ms) between registered particle pairs, atwhich of these there had been a Buncher event, and at whatBuncher separation in clock cycles these were.

From Table 1, it can be summarized that the Buncher doesindeed act as expected, since at any particle pair separation under1:2ms a Buncher event was registered successfully, while at thesubsequent event pair separation outside of the dTMAX bounds, noevent was registered. In Fig. 5 the spread of the accumulatedBuncher events for this separation can be found. The sidelobe thatappears at the separation of 29 cycles falls within the resolution ofthe system, which is that of one 40 ns clock cycle, and as such canbe considered to be part of the successful measurements of 30cycles. The majority of counts still fall within the expectedseparation of 30 clock cycles, hence detecting bunching at about445 KHz, while there are no counts detected at any otherseparation.

The results given here are only a fraction of those actuallycollected through this testing procedure, as it was performed onall sector/energies, with similar successful results. As this testingwas carried out on the actual CORES flight model and was notsimulated, it is certain that the Buncher is indeed operational anda viable part of the instrument.

5. Conclusion

We have developed and implemented in a FPGA a new methodof performing the algorithm for the detection of electron

Page 7: FPGA based detector of electron modulations at MHz frequencies

15

50

100

150

200

250

300

350

400

450

Acc

umul

ated

Bun

cher

Eve

nts

Accumulated Buncher Events from Single Sector/Energy

Buncher Separation (in 40ns clock cycles)20 25 30

Fig. 5. Accumulated Buncher events for a single sector/energy. The side lobe at 29

clock cycles falls within the resolution of the system.

N. Huber et al. / Nuclear Instruments and Methods in Physics Research A 621 (2010) 519–525 525

bunching at MHz frequencies, based on the concept of a single,‘universal’ time counter. The stand-alone example design createdhas exhibited an eight times increase in the maximum Bunchingfrequency that can be detected, as well as an increase of 64 timesof the number of channels simultaneously processed (from 2 to128) compared to previous instrumentation of this type. This ledus to incorporate it into a space instrument, the Sussex CORES, ofwhose FPGA it only occupies a very minimal amount. In thisapplication, our detection method still offers the same increase inthe number of channels, but not in the maximum possiblesampling speed of 130.6 MHz due to the already present, verycompact logic in the CORES FPGA.

Our results lead us to believe that our proposed method is asignificant improvement on its predecessors, and, due to its smallfootprint, that it can very readily be added into any particleinstrument that includes a programmable logic device as aprocessing element, especially in applications with limitedprocessing power. Other possible applications include real time

diagnostics for particle bunching in nuclear fusion reactors[27,28].

References

[1] M.P. Gough, A.M. Buckley, et al., Intelligent instruments for the space plasmaenvironment, in: Pecora 15/Land Satellite Information IV/ISPRS CommissionI/FIEOS, 2002.

[2] M.P. Gough, Nuclear Instruments and Methods 177 (1980) 581.[3] M.P. Gough, A.M. Buckley, et al., Advances in Space Research 32 (3) (2003)

407.[4] M.P. Gough, et al., Planetary and Space Science 31 (1983) 875.[5] M.P. Gough, et al., Journal of Geophysical Research 95 (1990) 12287.[6] M.P. Gough, et al., Advances in Space Research 21 (1998) 729.[7] M.P. Gough, et al., Geophysics Research Letters 25 (1998) 441.[8] M.P. Gough, et al., Journal of Geophysical Research 100 (1995) 21561.[9] H. Bohidra, S. Chopra, Optics Communications 36 (1) (1981) 46.

[10] L. Basano, P. Ottonello, E. Schiavi, Journal of Physics E: Scientific Instruments16 (1983) 840.

[11] S.S.G. Pasca, A.G. Podoleanu, L.I. Plesea, Measurement Science and Technology4 (1993) 1404.

[12] L. Basano, P. Ottonello, Journal of Physics E: Scientific Instruments 15 (1982)923.

[13] S. Chopra, L. Mandel, Review of Scientific Instruments 43 (1972) 1489.[14] L. Basano, P. Ottonello, Journal of Physics E: Scientific Instruments 14 (1981)

1257.[15] V.R. Subrahmanyam, B. Devraj, S. Chopra, Journal of Physics E: Scientific

Instruments 20 (1987) 341.[16] M.P. Gough, Electronics board for SVALBARD rocket, Technical Report,

University of Sussex, 1997.[17] E.A. Bezzera, et al., Improving the dependability of embedded systems using

configurable computing technology, in: Proceedings of the 14th InternationalSymposium on Computer and Information Systems, 1999.

[18] E.A. Bezerra, M.P. Gough, A. Buckley, A VHDL implementation of an on-boardACF application targeting FPGAs, in: Proceeding of the Military and AerospaceProgrammable Logic Design, MAPLD Conference, 1999.

[19] H. Lee, A.M. Jamieson, R. Simha, Macromolecules 12 (2) (1979) 329.[20] K. Petersson, D. Ilver, C. Johansson, A. Krozer, Analytica Chimica Acta 573–574

(2006) 138.[21] N. Huber, M.S. Pouchet, T.D. Carozzi, M.P. Gough, G. Seferiadis, Parallel

processing speed increase of the one-bit auto-correlation function inhardware, Microprocessors and Microsystems, under review for publication.

[22] N. Huber, T. Carozzi, B. Popoola, M. Gough, Filtering of telemetry usingentropy, in: Proceedings of the 8th MAPLD Conference, submission 132.

[23] G. Seferiadis, M. Pouchet, M. Gough, Elsevier Measurement 39 (2006) 90.[24] G. Seferiadis, M.S. Pouchet, et al., RSI: Review of Scientific Instruments 76

(2005).[25] N. Huber, Reconfigurable hardware for the correlating electron spectrograph,

Ph.D. Thesis, School of Informatics, University of Sussex, 2007.[26] A.M. Buckley, et al., Measurement of wave-particle interactions in the

magnetosphere using the DWP particle correlator, in: Proceedings of Cluster-II Workshop on Multiscale/Multipoint Plasma Measurements, 2000, pp.303–306.

[27] L. Bertalot, et al., Fusion Engineering and Design 74 (1–4) (2005) 835.[28] K. Sakamoto, et al., Nature Physics 3 (2007) 411.