You are on page 1of 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/4281906

Neural Network Processor for a FPGA-based Multiband Fluorometer Device

Conference Paper  in  International Conference on Application-Specific Systems, Architectures and Processors, Proceedings · September 2006
DOI: 10.1109/CAMP.2007.4350381 · Source: IEEE Xplore

CITATIONS READS
0 123

4 authors, including:

Abdelhak Bensaoula D. Starikov


Academia Sinica Integrated Micro Sensors Inc, Houston, TX
196 PUBLICATIONS   1,536 CITATIONS    55 PUBLICATIONS   302 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Avanced III Nitride Based Photovoltaic Devices View project

III Nitride Materials and Devices View project

All content following this page was uploaded by D. Starikov on 11 April 2017.

The user has requested enhancement of the downloaded file.


Neural Network Processor for a FPGA-based Multiband Fluorometer Device

Karima Tabari, Mounir Boukadoum Abdelhak Bensaoula, David Starikov


Département d’Informatique TcSAM, Department of Physics
Université du Québec à Montréal University of Houston
Montréal, Canada Houston, USA
boukadoum.mounir@uqam.ca

Abstract integrated multi-wavelength devices using one light


source, a grating or other wavelength-selective
We describe the design of an embedded neural mechanism, and a detector made of photodiode arrays
network for signal processing in a small size, battery (PDA) or charge-coupled devices (CCD) (see for
operated multiband fluorometer device with pattern example [4]).
recognition capabilities. The network was implemented However, most of the optoelectronics-based
in a Xilinx Spartan 3 FPGA with a microBlaze soft systems that have been described have to contend with
CPU core. The microBlaze subsystem occupied 527 two major problems: noise contamination of the
slices and required 16 kB of RAM for program and acquired signals and lack of comprehensive models to
data storage. It handled all the neural network represent the latter.
functions of spectral signature analysis and pattern The detected fluorescence emission spectrum is
recognition and had a processing speed of 1 ms per usually very small in amplitude and, therefore, is
input pattern. The microBlaze CPU also managed user highly sensitive to noise contamination. Efforts to
interaction. The whole system fit in a XC3S400 device. address this issue when designing a fluorometer
instrument include the use of optical fiber light guides
1. Introduction followed by a photo multiplier tube to compensate for
the ensuing reception losses [5]-[7], and the use of
Fluorescence measurement offers an efficient and synchronous detectors after modulating the excitation
sensitive approach to detect, identify or measure the light with a square wave carrier [2][3].
concentration of unknown substances, or investigate The analysis of the acquired data for substance
various kinds of biochemical processes. In a typical characterization is usually performed off-line and
application, the substance under study is excited with relies frequently on statistical techniques, mostly
light at one wavelength and emits fluorescence at one clustering and principal component analysis (PCA).
or more longer wavelengths. There have also been efforts to use soft programming
Several techniques are available to measure algorithms such as multi layer perceptron (MLP) and
fluorescence [1]. There exists also great interest in self organizing map (SOM) neural networks (see
building portable, general purpose, miniature reference [9] for an example application that uses both
fluorescence measurement devices. This has become PCA and a neural network in an industrial application).
feasible in view of the development of short- While providing satisfactory results in specific
wavelength, miniature and energy-efficient light classification tasks, many of the previous paradigms
emitting and laser diodes that can serve as excitation have weaknesses. For instance, PCA is a linear
sources. Since the late nineties, numerous research technique and it is usually not very good at classifying
efforts have been undertaken to show the feasibility of heterogeneous or noisy data when the data are not
small-footprint devices that utilize these diodes to normally distributed. Neural networks perform better
measure fluorescence in the visible spectrum. in those circumstances or when the data is
References [2] and [3] provide examples of such fragmentary, but it is important to choose the right
studies in the case of single wavelength measuring architecture and parameters.
devices. There are also approaches that aim to build
Another problem with current fluorescence turned into a SoC solution by using one of the new
measurement and analysis instruments are their bulk mixed signal FPGAs.
and power consumption, which raise the problem of In the next section, we provide a brief description
scalability when attempting to turn them into SoC of our system and, then, in section 3 we describe how
solutions [8]. Alternative approaches that are based on the neural network subsystem was implemented in the
chemical or biochemical sensors [9] have been more Spartan 3 FPGA. The article ends with a discussion
amenable to miniaturization, but they are substance and conclusion.
specific.

NORMALIZED EMISSION SPECTRA NORMALIZED PHOTORESPONSE


4000

4000 480nm 3500

PHOTORESPONSE (Arb. U.)


519nm 618nm
3500 548nm 606nm633nm 3000
374nm
INTENSITY (Arb.U.)

3000 2500
587nm
2500
2000
2000
1500
PHOTORESPONSE
1500 CB30 (Agilent)
CE30 (Agilent)
1000 CM31 (Agilent)
EL10 (Agilent)
1000 EJ30 (Agilent)
EM30 (Agilent)

500 EG30 (Agilent)


276-022A (Radio Shack)

500
0
0 350 400 450 500 550 600 650 700
400 500 600 700
Wavelength (nm)
Wavelength (nm)
Figure 1. Emission and Photo Response Spectra 2. System design
of Various Color LEDs
Finally, the fluorescence data is processed on Figure 2 shows the bloc diagram of our system. Our
computer workstations without concern for real-time design includes an optoelectronic front end that
or embedded systems issues such as computational consists of two forward-biased white and UV leds,
efficiency or ease of implementation in a standalone source coded and modulated by a carrier, and of 8
system. reversed biased colored LED used as photo detectors.
In a recent work, we have shown that the use of
CDMA (code division multiple access) source coding
to bias the excitation leds allows for multi-channel
fluorescence measurement while offering superior LCD
noise rejection when compared to FDMA (frequency
division multiple access) source coding [10].
We have also undertaken the design of a miniature Led I/F and analog
multi spectral fluorometer by using the property of any f
reversed biased diode to act as a photo detector, and
the fact that colored leds respond to their respective CDMA
wavelengths. By using different colored leds, the transmitter Dual Port RAM
whole visible spectrum can be spanned (Figure 1),
albeit in a non-linear fashion [11]. We addressed the FIR filters
non-linearity of the response by using an off-line
artificial neural network in order to recognize the Clock generation
obtained spectral responses [12]. Dual Port RAM

In this article, we describe the integration of the MicroBlaze core


neural network into the measurement system by using
Neural network CDMA receiver
a MicroBlaze CPU core from Xilinx [13] and
implementing it a Spartan 3 FPGA [14]. By adding a Spartan 3 FPGA
multiplexed A/D converter and two quad operational
Figure 2. Bloc Diagram of the LED-based Multi
amplifiers, a standalone system is obtained (see Figure
2) that has a minimal footprint, and which can be Spectral Fluorometer and Analyzer.
The signals obtained from them are amplified and bacteria were pGFPuv, GFPmut and DsRed, three
demodulated, before processing by a neural network strains of E-Coli marked with 2 green and 1 red
for spectral signature identification and concentration fluorescent proteins, respectively. All compounds
measurement (Figure 3). could efficiently absorb the light of a UV (370nm),

Vhdl Xilinx Core Generator- Back-Propagation


Module based module Algorithm in c

blue (470nm) or green (558nm) source.


Figure 3. Bloc Diagram of the Neural Network We chose E-Coli bacteria for evaluating our sensor
Subsystem and methodology because: 1) E-Coli is by far the most
studied organism and as a result much is known about
CDMA is used to modulate a constant input signal, its physiology and genetic structure; 2) it is harmless
spectrum spread with 8 different sequences, before and can be easily manipulated in a laboratory
applying it to the excitation leds. At the receiver’s environment. The ability to tag the E-coli bacteria with
front end, each of the 8 photo detector LEDs handles different fluorescing markers allowed us to evaluate
one specific spectral band with central wavelength solutions of these bacteria in pure form and mixtures at
375nm (ultra-violet), 472nm (blue), 505nm (cyan), various concentrations, as well as diluted with other
526nm (green), 592nm (yellow), 605nm (orange), fluorescing compounds.
617nm (amber), and 626nm (red), respectively. By
having each photodetector Led respond to a different All of the simulations were performed by using the
CDMA sequence, the whole spectrum from UV to Stuttgart Neural Network Simulator (SNNS) [16].
infrared can be scanned while avoiding noise and Our results were that the most efficient neural
crosstalk interference. We have already described the model was a multi layer perceptron (MLP) trained with
implementation of the CDMA and clock generation the resilient backpropagation algorithm [17]. This was
subsystems in a previous article [15]. a significant result considering the heterogeneity of our
training set (both organic and biological fluorophore
3. Neural network design substances).
The next step in our design was to decide whether
The design involved two steps: specification of the to implement the network in hardware, or in software
neural network architecture and implementation. As with an embedded CPU core. Given the low
with any neural network, the architecture is specified bandwidth requirement of the application (10 Hz), the
by a topology, an output function and a learning rule. FPGA resources already committed to the CDMA
In order to evaluate the feasibility of a generic neural subsystem, and the need for a flexible neural
network engine, we acquired fluorescence data from 4 architecture in terms of parameters, an embedded CPU
organic compounds and 3 biological cultures at various core is much simpler to use than a neural network
concentration levels and conducted simulations using implemented with a state machine and the 18x18
several neural models [12]. The organic materials multipliers available in the Spartan 3. Thus, we
were fluorescein, chlorophyll, pyrene, anthracene; the
decided to use that approach and code the neural 4. Results and discussion
network algorithm in software, using the c language.
Table 1. PicoBlaze vs. MicroBlaze Comparison The measurement system was implemented using a
Spartan 3 starter kit from Xilinx. The kit comes
Function/Feature PicoBlaze MicroBlaze equipped with a 400,000-gate XC3S400 FPGA. This
Register size 8-bit 32-bit part has 3584 slices, 16 18k-bit block RAMs, 16 18x18
Registers 16 32 multipliers, and up to 173 user-defined I/O signals.
Code storage Internal Internal block Table 4 provides the device utilization summary for
block RAM RAM/ external this FPGA.
Data storage space 64 bytes 0 to 4 Gb We tested the system on the data acquired in [12]
internal and obtained a recognition accuracy of 99.94 %. The
Hardware multiply n/a Yes number of CPU cycles required for processing an input
Barrel shifter n/a Optional pattern was 57073, which corresponds to about 1 ms
Performance 44 85 when a 50 MHz clock drives the microBlaze CPU (see
(MIPS) Figure 4 for an example run). We also simulated our
Size (slices) 96 527 neural network algorithm in Matlab for performance
Xilinx offers two choices of CPU cores for the comparison. We used Matlab 6.5 running on a Pentium
Spartan family, the picoBlaze and the microBlaze Field 4 PC, with a 1.8 GHz clock and 512 Mb of RAM. This
programmable controllers (FPC). Table 1 summarizes led to a response time of 125 ms per input pattern, a
their characteristics. We chose the microBlaze given substantially slower figure than with the FPGA.
its 32 bit architecture which is more efficient for Table 2. Device Utilization for a XC3S400 FPGA
numerical computations. from Xilinx
Three possibilities exist to store code that is to be Parameter Value Used capacity
executed by the FPC: Internal block RAM, external
RAM and external flash memory. We investigated all Slices 2904 81 %
of them for FPGA resource usage in terms of control Slice Flip Flops 3112 43 %
logic and overall device utilization. We tested the 4 input LUTs 3282 45 %
systems on a MLP that consisted of eight input Bonded IOBs 12 5%
neurons, one for each photodetector, 8 hidden neurons BRAMs 24 75 %
and one output neuron. The output functions were a Mult18x18 11 69 %
sigmoid for the hidden neurons and a linear function GCLKs 1 12 %
for the output layer [12]. We coded the neural network Max clock frequency 174 MHz
in c by using simple-precision floating point variables.
The three approaches yielded similar requirement in
terms of FPGA ressources, except for the first one
which requiered 7 additional block RAMs to hold the
program and neural netwrok coefficients (The overall
code size was 14kb). Given our requirement for a
standalone operation, we finally selected a hybrid
approach where one block RAM acts a bootloader to
load the neural network program into SDRAM from
external flash memory.
At power up, the neural network program is copied
from flash memory into RAM and started. Then,
processing of the fluorescence data is performed
whenever there is activity in the FSL bus buffer
(Figure 3). The microBlaze is continuously
monitoring the latter for data from the CDMA receiver
and, as soon as new data is available, the neural Figure 4. Example Run of the Neural Network
network algorithm is executed. The result is a Processor
classification of the input data to identify the input
spectral signature and/or provide concentration data.
As one can see, our design relies essentially on two [5] Randers-Eichhorn L, Albano CR, Sipior J, Bentley
WE, Rao G. 1997. On-line green fluorescent protein
modules: a Xilinx Spartan 3 FPGA and an analog front sensor with LED excitation. Biotechnol Bioeng
end for data amplification. The microBlaze core is also 55:921–926.
used for interfacing with a keypad and a LCD display. [6] Craig DB, Wong JCY, Dovichi NJ. 1998. Detection of
The microBlaze core requires 525 slices of the Spartan Aequorea victoria green fluorescent protein by
3, plus 1 bloc RAM for internal storage. Given the capillary electrophoresis laser induced fluorescence
detection. Biomed Chromatogr 11:205–206.
device utilization summary shown in Table 4 for the [7] Korf GM, Landers JP, O’Kane DJ. 1997. Capillary
CDMA subsystem, there is sufficient room in a electrophoresis with laser-induced fluorescence
XC3S400 FPGA to handle these requirements. detection for the analysis of free and
immunecomplexed green fluorescent protein. Anal
In the future, we intend to build a complete SoC Biochem 251: 210–218.
solution by using one of the new mixed mode FPGAs [8] Madou, M. J. and Cubiccioti, R. (2003) “Scaling issues
(e.g. Fusion from Actel). We are also working on in chemical and biological sensors,” Proceedings of
building a monolithic multi wavelength photodetector IEEE, vol. 91(6), pp. 830-838.
that cover the full visible spectrum, plus the near UV [9] Deisingh, A. L. and Thompson, M. (2004) “Biosensors
for the detection of bacteria,” Canadian Journal of
and IR wavelengths. Microbiology, vol. 50, pp. 69-76.
The system can also be packaged to serve in hard to [10] Boukadoum, M., Tabari, K., Bensaoula, A. & Starikov,
reach or dangerous places with the addition of a RF D. (2004) Comparison of the noise immunity of a
LED-based multi band optoelectronic sensor when
transmitter. It will be an advantageous replacement of using FDMA and CDMA to code the excitation source,
current bulky, power hungry and costly alternatives, proc. APCCAS 2004, Tainan (Taiwan), December
and could serve as a standalone remote intelligent 2004, pp. 1089-1092.
sensor. Ultimately, it opens the door for use in MEMS [11] Boukadoum, M., Bensaoula, A. and Starikov, D. “A
Portable Multiband Optoelectronic System for
applications. Identifying and Measuring the concentration of
Fluorophore Substances,” proc. NEWCAS 2004,
Acknowledgment Montréal (Canada), May 2004, pp. 113-116.
[12] Boukadoum, M., Bensaoula, A. and Starikov, D. “A
This work was supported by grants from NSERC neural-network-based system for live bacteria
and ReSMiQ in Canada, and by SBIR phase I grants to detection,” proc. International Conference on Artificial
IMS corp. of Houston Texas. Intelligence and Applications (AIA’03), Benalmàdena
(Spain), September 2003, pp. 368-373.
[13] MicroBlaze processor reference guide, Xilinx corp.,
5. References San Jose (CA)
[14] Spartan 3 platform FPGA handbook, Xilinx corp., San
[1] Bacon, C. P., Mattley, Y. and DeFrece, R. (2004) Jose (CA).
“Miniature spectroscopic instrumentation: Applications [15] Boukadoum, M., Tabari, K., Bensaoula, A. & Starikov,
to Biology and Chemistry, Review of Scientific D. & Aboulhamid, E.M. (2005) FPGA implementation
Instruments, vol. 75-1, pp. 1-16. of a CDMA source coding and modulation subsystem
[2] Kostov, Y., Albano, C. R. and Rao, G. “All Solid-State for a multiband fluorometer with pattern recognition
GFP Sensor,” Biotechnology and Bioengineering, vol. capabilities, proc. ISCAS 2005, Kobe (Japan), May
70-4, pp. 473-477. 2005, pp. 4767-4770.
[3] Chang, A.-C., Gillespie, J. B., Tobacco, M. B. (2001) [16] Stuttgart Neural Network Simulator (SNNS),
“Enhanced detection of live bacteria using a dendrimer University of Stuttgart (Germany), http://www-
thin film in an optical environment,” Analytical ra.informatik.uni-tuebingen.de/SNNS.
Chemistry, vol. 73(3), pp. 467-470. [17] Riedmiller, M. & Braun, H. “A Direct Adaptive
[4] Barwicz, A. (2004) “Functional and technological Method for Faster Backpropagation Learning: The
integration of measurement microsystems”, IEEE RPROP Algorithm” Proc. IEEE Intl. Conf. on Neural
Instrumentation & Measurement Magazine, vol. 7(2), Networks, San Francisco, CA, 1993.
pp.14-19, June 2004.

View publication stats

You might also like