X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/dmems12.git/blobdiff_plain/68ef101fa4f71c2911e9ffa93ceb5e07afb4af88..4d2d346e47215fbef2ad2e0e1b4c3b33bb2923fa:/dmems12.tex diff --git a/dmems12.tex b/dmems12.tex index 51d7344..ed1709b 100644 --- a/dmems12.tex +++ b/dmems12.tex @@ -1,8 +1,9 @@ -\documentclass[12pt]{article} + +\documentclass[10pt, conference, compsocconf]{IEEEtran} %\usepackage{latex8} %\usepackage{times} -\usepackage[latin1]{inputenc} -\usepackage[cyr]{aeguill} +\usepackage[utf8]{inputenc} +%\usepackage[cyr]{aeguill} %\usepackage{pstricks,pst-node,pst-text,pst-3d} %\usepackage{babel} \usepackage{amsmath} @@ -24,29 +25,38 @@ \newcommand{\tab}{\ \ \ } -%%%%%%%%%%%%%%%%%%%%%%%%%%%% my bib path. + + +\begin{document} + + +%% \author{\IEEEauthorblockN{Authors Name/s per 1st Affiliation (Author)} +%% \IEEEauthorblockA{line 1 (of Affiliation): dept. name of organization\\ +%% line 2: name of organization, acronyms acceptable\\ +%% line 3: City, Country\\ +%% line 4: Email: name@xyz.com} +%% \and +%% \IEEEauthorblockN{Authors Name/s per 2nd Affiliation (Author)} +%% \IEEEauthorblockA{line 1 (of Affiliation): dept. name of organization\\ +%% line 2: name of organization, acronyms acceptable\\ +%% line 3: City, Country\\ +%% line 4: Email: name@xyz.com} +%% } + \title{Using FPGAs for high speed and real time cantilever deflection estimation} +\author{\IEEEauthorblockN{Raphaël Couturier\IEEEauthorrefmark{1}, Stéphane Domas\IEEEauthorrefmark{1}, Gwenhaël Goavec-Merou\IEEEauthorrefmark{2} and Michel Lenczner\IEEEauthorrefmark{2}} +\IEEEauthorblockA{\IEEEauthorrefmark{1}FEMTO-ST, DISC, University of Franche-Comte, Belfort, France\\ +\{raphael.couturier,stephane.domas\}@univ-fcomte.fr} +\IEEEauthorblockA{\IEEEauthorrefmark{2}FEMTO-ST, Time-Frequency, University of Franche-Comte, Besançon, France\\ +\{michel.lenczner@utbm.fr,gwenhael.goavec@trabucayre.com} +} + + -\author{ Raphaël COUTURIER\\ -Laboratoire d'Informatique -de l'Universit\'e de Franche-Comt\'e, \\ -BP 527, \\ -90016~Belfort CEDEX, France\\ - \and Stéphane Domas\\ -Laboratoire d'Informatique -de l'Universit\'e de Franche-Comt\'e, \\ -BP 527, \\ -90016~Belfort CEDEX, France\\ - \and Gwenhaël Goavec\\ -?? -?? \\ -??, \\ -??\\} -\begin{document} \maketitle @@ -61,12 +71,78 @@ BP 527, \\ \section{Introduction} -%% blabla + +Cantilevers are used inside atomic force microscope which provides high +resolution images of surfaces. Several technics have been used to measure the +displacement of cantilevers in litterature. For example, it is possible to +determine accurately the deflection with different mechanisms. +In~\cite{CantiPiezzo01}, authors used piezoresistor integrated into the +cantilever. Nevertheless this approach suffers from the complexity of the +microfabrication process needed to implement the sensor in the cantilever. +In~\cite{CantiCapacitive03}, authors have presented an cantilever mechanism +based on capacitive sensing. This kind of technic also involves to instrument +the cantiliver which result in a complex fabrication process. + +In this paper our attention is focused on a method based on interferometry to +measure cantilevers' displacements. In this method cantilevers are illuminated +by an optic source. The interferometry produces fringes on each cantilevers +which enables to compute the cantilever displacement. In order to analyze the +fringes a high speed camera is used. Images need to be processed quickly and +then a estimation method is required to determine the displacement of each +cantilever. In~\cite{AFMCSEM11}, the authors have used an algorithm based on +spline to estimate the cantilevers' positions. +%%RAPH : ce qui est génant c'est qu'ils ne parlent pas de spline dans ce papier... + The overall process gives +accurate results but all the computation are performed on a standard computer +using labview. Consequently, the main drawback of this implementation is that +the computer is a bootleneck in the overall process. In this paper we propose to +use a method based on least square and to implement all the computation on a +FGPA. + +The remainder of the paper is organized as follows. Section~\ref{sec:measure} +describes more precisely the measurement process. Our solution based on the +least square method and the implementation on FPGA is presented in +Section~\ref{sec:solus}. Experimentations are described in +Section~\ref{sec:results}. Finally a conclusion and some perspectives are +presented. + + + %% quelques ref commentées sur les calculs basés sur l'interférométrie \section{Measurement principles} \label{sec:measure} +In order to develop simple, cost effective and user-friendly cantilever arrays, +authors of ~\cite{AFMCSEM11} have developped a system based of +interferometry. In opposition to other optical based systems, using a laser beam +deflection scheme and sentitive to the angular displacement of the cantilever, +interferometry is sensitive to the optical path difference induced by the +vertical displacement of the cantilever. +%%RAPH : est ce qu'on pique une image? génant ou non? +The system build by authors of~\cite{AFMCSEM11} has been developped based on a +Linnick interferomter~\cite{Sinclair:05}. A laser beam is first split (by the +splitter) into a reference beam and a sample beam that reachs the cantilever +array. In order to be able to move the cantilever array, it is mounted on a +translation and rotational stage with five degrees of freedom. The optical +system is also fixed to the stage. Thus, the cantilever array is centered in the +optical system which can be adjusted accurately. The beam illuminates the array +by a microscope objective and the light reflects on the cantilevers. Likewise +the reference beam reflects on a movable mirror. A CMOS camera chip records the +reference and sample beams which are recombined in the beam splitter and the +interferogram. At the beginning of each experiment, the movable mirror is fitted +manually in order to align the interferometric fringes approximately parallel to +the cantilevers. When cantilevers move due to the surface, the bending of +cantilevers produce movements in the fringes that can be detected with the CMOS +camera. Finally the fringes need to be analyzed. In~\cite{AFMCSEM11}, the +authors used a LabView program to compute the cantilevers' movements from the +fringes. + + + + + + + \subsection{Architecture} \label{sec:archi} %% description de l'architecture générale de l'acquisition d'images @@ -122,7 +198,7 @@ consider the camera actually in use, an exposition time of 2.5ms for $1024\times 1204$ pixels seems the minimum that can be reached. For a $10\times 10$ cantilever array, if we neglect the time to extract pixels, it implies that computing the deflection of a single -cantilever should take less than 25$µ$s, thus 12.5$µ$s by phase.\\ +cantilever should take less than 25$\mu$s, thus 12.5$\mu$s by phase.\\ In fact, this timing is a very hard constraint. Let consider a very small programm that initializes twenty million of doubles in memory @@ -135,7 +211,7 @@ $3000$ operations. %% to be continued ... -%% à faire : timing de l'algo spline en C avec atan et tout le bordel. +%% � faire : timing de l'algo spline en C avec atan et tout le bordel. @@ -318,9 +394,9 @@ Finally, the whole summarizes in an algorithm (called LSQ in the following) in t \subsubsection{Comparison} -\subsection{VDHL design paradigms} +\subsection{VHDL design paradigms} -\subsection{VDHL implementation} +\subsection{VHDL implementation} \section{Experimental results} \label{sec:results}