Commit a7180ffc authored by mcattin's avatar mcattin

Add user guide Latex source and Makefile.

Move drawings to figures folder.



git-svn-id: http://svn.ohwr.org/fmc-adc-100m14b4cha/trunk@128 ddd67a1a-c8ad-4635-afe9-0b8a11d8f8e4
parent 64798771
FILE=fmcadc100m14b4cha_users_guide
all:
pdflatex $(FILE).tex
pdflatex $(FILE).tex
evince $(FILE).pdf
clean:
rm -rf *.aux *.dvi *.log $(FILE).pdf
\ No newline at end of file
......@@ -10,8 +10,8 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
width="606"
height="273.09766"
id="svg3720"
version="1.1"
inkscape:version="0.47 r22583"
......@@ -306,13 +306,13 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="423.67086"
inkscape:cy="854.45871"
inkscape:cx="364.17086"
inkscape:cy="154.9587"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="951"
inkscape:window-width="1920"
inkscape:window-height="1123"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
......@@ -339,7 +339,8 @@
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
id="layer1"
transform="translate(-59.499996,-79.764526)">
<rect
y="107.36218"
x="59.999996"
......@@ -513,7 +514,7 @@
sodipodi:linespacing="100%"><tspan
sodipodi:role="line"
x="339.69595"
y="320.92175"
y="310.92175"
id="tspan5831" /></text>
<rect
y="142.36218"
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="207.78"
height="205.05769"
id="svg7154"
sodipodi:version="0.32"
inkscape:version="0.46"
version="1.0"
sodipodi:docname="CERN logo.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs7156">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective7162" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2"
inkscape:cx="178.17318"
inkscape:cy="107.38216"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1024"
inkscape:window-height="712"
inkscape:window-x="-4"
inkscape:window-y="-4" />
<metadata
id="metadata7159">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-113.92285,-212.231)">
<path
d="M 198.38055,377.79433 L 200.68304,375.20508 C 188.3047,372.03952 180.53416,367.72129 171.89772,359.08486 L 166.42966,357.64826 C 175.63962,368.29762 184.27606,373.76568 198.38055,377.79433 z M 220.8291,381.82298 C 243.57005,381.82298 261.98995,373.76568 275.51812,357.93502 L 274.36547,353.90637 C 261.41362,370.02379 243.28048,378.37066 220.8291,378.37066 C 215.65061,378.37066 213.34531,378.0839 208.74315,377.21801 L 205.57477,380.09682 C 211.3324,381.24666 214.78753,381.82298 220.8291,381.82298 z M 189.16778,216.32216 C 150.59899,216.32216 119.51401,247.69673 119.51401,286.2655 C 119.51401,314.18493 135.0579,340.08863 159.5222,349.30139 L 165.56658,351.60107 C 173.05318,354.47988 180.82091,355.91929 189.16778,355.91929 C 227.73938,355.91929 258.82438,324.83429 258.82438,286.2655 C 258.82438,268.70868 253.35632,254.31462 242.70415,242.22585 L 250.76427,245.96775 C 256.80865,254.31462 259.68746,261.80122 261.98995,272.16101 L 278.97044,345.84907 L 280.12309,351.89064 L 295.09067,416.94225 L 291.05921,416.94225 L 278.10736,358.22177 L 276.09445,351.60107 L 262.85303,294.03605 C 261.12687,312.17201 251.62735,327.42354 240.1149,340.08863 L 205.86434,376.92844 L 203.27228,379.81006 L 168.73215,417.2262 L 164.41674,417.2262 L 198.6673,380.09682 L 202.69877,376.06816 L 226.8763,349.8749 C 215.65061,356.49561 202.98553,360.23751 189.45735,360.23751 C 183.12621,360.23751 178.808,359.95075 173.05318,358.22177 L 163.84042,355.34296 C 148.29651,350.45123 136.78407,340.66495 128.14763,327.71311 L 140.23921,372.03952 L 135.92099,372.03952 L 118.93768,308.71687 C 116.92476,301.51984 115.48535,294.03605 115.48535,286.2655 C 115.48535,245.681 148.29651,212.58026 188.88103,212.2935 L 189.16778,212.2935 C 189.16778,212.2935 189.16778,212.2935 189.45735,212.2935 L 322.14421,212.2935 L 322.14421,216.32216 L 213.34531,216.32216 C 226.01041,220.64037 234.93361,226.68476 243.57005,236.75779 L 235.50993,234.4553 C 223.1344,222.65611 207.87726,216.32216 189.16778,216.32216 z M 220.8291,233.87898 C 196.36482,233.87898 175.35285,245.39423 162.11425,262.95106 L 164.41674,265.54312 C 177.36859,248.27305 197.80422,237.33411 220.8291,237.33411 C 228.02614,237.33411 232.91788,237.62088 239.53858,239.92618 L 249.61442,243.66807 C 274.65504,252.87802 291.34878,279.35523 291.34878,307.85379 C 291.34878,322.53181 288.18321,333.47073 280.69942,344.98318 L 281.56251,349.59096 C 289.04629,339.79906 292.50143,330.30516 294.22759,317.3505 L 305.45327,230.71622 L 302.28489,230.71622 L 293.93802,296.62811 C 289.62261,269.28219 273.21563,247.1204 247.59869,239.34985 L 234.35728,235.3212 C 229.17598,233.87898 226.58673,233.87898 220.8291,233.87898 z M 150.31224,307.85379 C 150.31224,306.9879 150.31224,306.12482 150.31224,305.26174 L 147.14667,305.26174 C 147.14667,306.12482 146.8571,306.9879 146.8571,307.85379 C 146.8571,323.10813 150.59899,335.19689 158.65911,346.99609 L 164.12717,349.59096 C 154.63046,337.49939 150.31224,324.54472 150.31224,307.85379 z M 142.25494,300.08043 C 131.60277,300.08043 124.98487,294.03605 124.98487,284.53934 C 124.98487,274.75307 133.04217,268.99544 143.40477,268.99544 C 146.8571,268.99544 150.59899,269.85853 153.76738,271.01118 C 153.47781,272.16101 153.18825,273.31366 152.9043,274.4635 L 152.61473,274.4635 C 151.75165,273.60042 148.29651,270.72161 143.11521,270.72161 C 134.19482,270.72161 129.87661,277.34231 129.87661,284.53934 C 129.87661,293.17297 135.34467,298.35427 142.82845,298.35427 C 148.29651,298.35427 152.32798,295.76222 153.18825,294.89914 L 152.9043,297.77795 C 150.02548,299.50411 145.99402,300.08043 142.25494,300.08043 z M 171.89772,282.81037 C 173.33712,282.81037 174.77654,282.52361 176.21594,282.52361 C 176.21594,282.81037 175.92919,283.38669 175.92919,283.67345 C 175.92919,283.96302 176.21594,284.53934 176.21594,284.8261 C 174.77654,284.8261 173.33712,284.53934 171.89772,284.53934 L 162.11425,284.53934 L 162.11425,297.49119 C 164.99025,297.49119 170.17437,297.49119 173.05318,297.20444 C 174.48977,297.20444 176.21594,297.20444 177.65535,296.91487 C 177.65535,297.49119 177.36859,297.77795 177.36859,298.35427 C 177.36859,298.64103 177.65535,299.21735 177.65535,299.50411 L 157.79603,299.50411 L 157.79603,269.57176 L 177.36859,269.57176 C 177.36859,270.14809 177.07902,270.43484 177.07902,271.01118 C 177.07902,271.29793 177.36859,271.87426 177.36859,272.16101 C 175.92919,272.16101 174.48977,271.87426 173.05318,271.87426 L 168.15863,271.5875 L 162.11425,271.5875 L 162.11425,282.81037 L 171.89772,282.81037 z M 194.63866,269.57176 C 202.12245,269.57176 205.57477,271.87426 205.57477,276.19247 C 205.57477,281.37096 200.39347,283.96302 195.50174,284.53934 L 205.57477,296.05179 L 207.87726,298.64103 L 208.74315,299.79368 C 207.87726,299.50411 207.01417,299.50411 206.15109,299.50411 C 204.99844,299.50411 204.13536,299.50411 203.27228,299.79368 C 202.12245,298.35427 201.25655,297.20444 200.10672,295.76222 L 194.34909,289.14432 L 190.60719,285.11285 L 186.57854,285.11285 L 186.57854,299.79368 C 186.00503,299.50411 185.13914,299.50411 184.56281,299.50411 C 183.69973,299.50411 183.12621,299.50411 182.26313,299.79368 L 182.26313,269.57176 L 194.63866,269.57176 z M 194.63866,283.09994 C 198.38055,282.52361 200.9698,280.22113 200.9698,276.76598 C 200.9698,273.88717 199.24363,271.87426 195.50174,271.29793 C 193.77558,271.01118 188.3047,271.29793 186.29179,271.29793 L 186.29179,283.38669 C 187.15487,283.38669 192.33616,283.67345 194.63866,283.09994 z M 238.38874,299.79368 C 237.81242,298.9306 236.94933,298.0647 235.79669,296.91487 L 214.78753,275.9029 L 214.20839,275.9029 L 214.20839,299.79368 C 213.92445,299.50411 213.34531,299.50411 213.05856,299.50411 C 212.48223,299.50411 211.90872,299.50411 211.61915,299.79368 L 211.61915,269.57176 L 213.34531,269.57176 L 236.66258,292.30989 L 236.94933,292.30989 L 236.94933,269.57176 C 237.52566,269.57176 237.81242,269.85853 238.38874,269.85853 C 238.96506,269.85853 239.25182,269.57176 239.82814,269.57176 L 239.82814,299.79368 L 238.38874,299.79368 z"
style="fill:#4178c5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.01377235000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path7120"
sodipodi:nodetypes="ccccccccsccccsccssccccccccccccccccccsccccccsccccccccccccsccsccccccccccccsccccsscccssscccccsccccccsccccscccccccsccccsccccccsccccscccccccccsccccccsccc" />
</g>
</svg>
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -10,8 +10,8 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
width="488.32202"
height="236.81071"
id="svg6649"
version="1.1"
inkscape:version="0.47 r22583"
......@@ -330,21 +330,25 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="213.97453"
inkscape:cy="943.8409"
inkscape:zoom="1.4"
inkscape:cx="297.12732"
inkscape:cy="159.55387"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:snap-global="true"
inkscape:window-width="1280"
inkscape:window-height="951"
inkscape:window-width="1920"
inkscape:window-height="1123"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid8318" />
id="grid8318"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata6654">
......@@ -361,7 +365,8 @@
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
id="layer1"
transform="translate(-135.61713,-69.647018)">
<g
id="g8474"
transform="translate(83.460474,14.63236)">
......@@ -697,7 +702,7 @@
sodipodi:cy="252.36218"
sodipodi:rx="25"
sodipodi:ry="25"
d="m 200,252.36218 a 25,25 0 1 1 -50,0 l 25,0 z"
d="m 200,252.36218 c 0,13.80712 -11.19288,25 -25,25 -13.80712,0 -25,-11.19288 -25,-25 0,0 0,0 0,0 l 25,0 z"
transform="matrix(0,-0.39999988,0.51428566,0,311.49174,272.32313)"
sodipodi:start="0"
sodipodi:end="3.1415927" />
......@@ -705,7 +710,7 @@
sodipodi:end="3.1415927"
sodipodi:start="0"
transform="matrix(0,-0.39999988,0.51428566,0,311.49174,324.17822)"
d="m 200,252.36218 a 25,25 0 1 1 -50,0 l 25,0 z"
d="m 200,252.36218 c 0,13.80712 -11.19288,25 -25,25 -13.80712,0 -25,-11.19288 -25,-25 0,0 0,0 0,0 l 25,0 z"
sodipodi:ry="25"
sodipodi:rx="25"
sodipodi:cy="252.36218"
......
\documentclass[11pt,a4paper]{article}
\usepackage[pdftex]{color,graphicx}
\usepackage{tabularx}
% Uncomment the following two lines to check syntax only (no .dvi output produced, so it's faster!)
%\usepackage{syntonly}
%\syntaxonly
%\pagestyle{headings}
% Superscript and subscript commands
\newcommand{\superscript}[1]{\ensuremath{^{\textnormal{\scriptsize{#1}}}}}
\newcommand{\subscript}[1]{\ensuremath{_{\textnormal{\scriptsize{#1}}}}}
% Define the title
\title{FmcAdc100m14b4cha User's Guide}
\author{Matthieu Cattin}
\begin{document}
% Insert logos
\begin{figure}[t]
\includegraphics[height=3cm]{figures/cern_logo.pdf}
\label{fig:cern_logo}
\hfill
\includegraphics[height=3cm]{figures/ohr_logo.pdf}
\label{fig:ohr_logo}
\end{figure}
% Generate the title
\maketitle
% Document abstract
\begin{abstract}
This document, blabla...
\end{abstract}
% Revision history
\newpage
\begin{tabularx}{1.0\textwidth}{| c | c | l | X |}
\hline
Revision & Date & Author & Comments\\
\hline
0.1 & 07.02.2012 & Matthieu CATTIN & Initial revision\\
\hline
\end{tabularx}
% Insert a table of content
\newpage
\tableofcontents
% Start sections on a new page
\newpage
%===============================================================================
\section{Overview}
Here's an overview of the fmcadc100m14b4cha board...
%===============================================================================
\section{Acquisition}
* Single shot mode:
* Multi-shot mode:
\subsection{Trigger}
\subsection{Memory}
\section{Calibration}
The calibration is done once during the prodoction tests.
It can be repeated afterwards with the production test suite (PTS) and the corresponding testbench.
The calibration process gives four values per channel and per input range:
ADC gain correction, ADC offset correction, DAC gain correction and DAC offset correction.
The temperature during the calibration process is also measured.
All the calibration values are stored in the FmcAdc100m14b4cha EEPROM.
Tables \ref{tab:adc_calibr_data_eeprom} and \ref{tab:dac_calibr_data_eeprom} shows the calibration data types and the arrangement in the EEPROM.
Note that ADC calibration data are stored before DAC calibration data in the EEPROM.
\begin{table}[ht]
\centering
\begin{tabularx}{\textwidth}{|c|l|X|}
\hline
\multicolumn{3}{|c|}{\textbf{ADC correction values}} \\ \hline
\textbf{Input range} & \textbf{Description} & \textbf{Type} \\ \hline
10V & Offset correction channel 1 & 16-bit signed \\
& Offset correction channel 2 & 16-bit signed \\
& Offset correction channel 3 & 16-bit signed \\
& Offset correction channel 4 & 16-bit signed \\
\cline{2-3}
& Gain correction channel 1 & 16-bit unsigned \\
& Gain correction channel 2 & 16-bit unsigned \\
& Gain correction channel 3 & 16-bit unsigned \\
& Gain correction channel 4 & 16-bit unsigned \\
\cline{2-3}
& Temperature & 16-bit unsigned * 0.01$^\circ$C \\
\hline
1V & Offset correction channel 1 & 16-bit signed \\
& Offset correction channel 2 & 16-bit signed \\
& Offset correction channel 3 & 16-bit signed \\
& Offset correction channel 4 & 16-bit signed \\
\cline{2-3}
& Gain correction channel 1 & 16-bit unsigned \\
& Gain correction channel 2 & 16-bit unsigned \\
& Gain correction channel 3 & 16-bit unsigned \\
& Gain correction channel 4 & 16-bit unsigned \\
\cline{2-3}
& Temperature & 16-bit unsigned * 0.01$^\circ$C \\
\hline
100mV & Offset correction channel 1 & 16-bit signed \\
& Offset correction channel 2 & 16-bit signed \\
& Offset correction channel 3 & 16-bit signed \\
& Offset correction channel 4 & 16-bit signed \\
\cline{2-3}
& Gain correction channel 1 & 16-bit unsigned \\
& Gain correction channel 2 & 16-bit unsigned \\
& Gain correction channel 3 & 16-bit unsigned \\
& Gain correction channel 4 & 16-bit unsigned \\
\cline{2-3}
& Temperature & 16-bit unsigned * 0.01$^\circ$C \\
\hline
\end{tabularx}
\caption{ADC calibration data}
\label{tab:adc_calibr_data_eeprom}
\end{table}
\begin{table}[ht]
\centering
\begin{tabularx}{\textwidth}{|c|l|X|}
\hline
\multicolumn{3}{|c|}{\textbf{DAC correction values}} \\ \hline
\textbf{Input range} & \textbf{Description} & \textbf{Type} \\ \hline
10V & Offset correction channel 1 & 16-bit signed \\
& Offset correction channel 2 & 16-bit signed \\
& Offset correction channel 3 & 16-bit signed \\
& Offset correction channel 4 & 16-bit signed \\
\cline{2-3}
& Gain correction channel 1 & 16-bit unsigned \\
& Gain correction channel 2 & 16-bit unsigned \\
& Gain correction channel 3 & 16-bit unsigned \\
& Gain correction channel 4 & 16-bit unsigned \\
\cline{2-3}
& Temperature & 16-bit unsigned * 0.01$^\circ$C \\
\hline
1V & Offset correction channel 1 & 16-bit signed \\
& Offset correction channel 2 & 16-bit signed \\
& Offset correction channel 3 & 16-bit signed \\
& Offset correction channel 4 & 16-bit signed \\
\cline{2-3}
& Gain correction channel 1 & 16-bit unsigned \\
& Gain correction channel 2 & 16-bit unsigned \\
& Gain correction channel 3 & 16-bit unsigned \\
& Gain correction channel 4 & 16-bit unsigned \\
\cline{2-3}
& Temperature & 16-bit unsigned * 0.01$^\circ$C \\
\hline
100mV & Offset correction channel 1 & 16-bit signed \\
& Offset correction channel 2 & 16-bit signed \\
& Offset correction channel 3 & 16-bit signed \\
& Offset correction channel 4 & 16-bit signed \\
\cline{2-3}
& Gain correction channel 1 & 16-bit unsigned \\
& Gain correction channel 2 & 16-bit unsigned \\
& Gain correction channel 3 & 16-bit unsigned \\
& Gain correction channel 4 & 16-bit unsigned \\
\cline{2-3}
& Temperature & 16-bit unsigned * 0.01$^\circ$C \\
\hline
\end{tabularx}
\caption{DAC calibration data}
\label{tab:dac_calibr_data_eeprom}
\end{table}
Two registers per channel are implemented in the FPGA for ADC gain and offset correction.
When an input range is selected, the corresponding gain/offset correction values must be loaded from the EEPROM to those registers.
As the DAC value is set once before an acquisition, there is no need to implement the gain and offset correction in the FPGA.
Therefore gain and offset correction must be applied to the DAC value by the software.
Below is the pseudo-code to calculate the DAC corrected value, applying gain and offset correction:
\begin{verbatim}
c_val = ((((val-0x8000+offset) << 15) * gain) >> 30)+0x8000
\end{verbatim}
\end{document}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment