Subversion Repositories svnkaklik

Rev

Rev 879 | Rev 881 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
872 kaklik 1
\documentclass[12pt]{article}
2
\usepackage{czech}
3
\usepackage{array}
4
\usepackage{times}
5
\usepackage{graphicx}
879 kaklik 6
\usepackage{pdfpages}
872 kaklik 7
\usepackage{color}
8
 
9
\usepackage[pdftex]{graphicx}
10
\usepackage{fancyhdr,multicol} %nastavení češtiny, fancy, grafiky, sloupce
11
\usepackage[utf8]{inputenc} %vstupni soubory v kodovani UTF-8
12
\usepackage[a4paper,text={17cm,25cm},centering]{geometry} %nastavení okrajů
13
\usepackage{rotating}
14
 
15
 
16
\textheight     230.0mm
17
\textwidth      155.0mm 
18
%\topmargin        0.0mm
19
\topmargin      -20.0mm
20
\oddsidemargin    0.0mm
21
\parindent        0.0mm
22
\renewcommand{\baselinestretch}{1.0}
23
 
24
\newcommand{\vsp}[1]{\vspace{#1mm}}
25
 
26
\begin{document}
27
 
28
\thispagestyle{empty}
29
 
30
\begin{center} 
31
  \extrarowheight 1.5ex
32
  \begin{tabular}{c} 
33
    \textbf{\Large České vysoké učení technické v Praze} \\
34
    \textbf{\Large Fakulta jaderná a fyzikálně inženýrská} \\
35
    \textbf{\Large Katedra fyzikální elektroniky}  
36
  \end{tabular}
37
\vsp{60}
38
 
39
\textbf{\Huge Modul pro Time Correlated Photon Counting}
40
\bigskip
41
 
42
{\Large Ročníková práce}
43
\end{center}
44
\vfill
45
 
46
\extrarowheight 0.75ex
47
\begin{tabular}{>{\large}l>{\large}l}
48
Autor páce: & \textbf{Jakub Kákona} \\
49
Školitel:    & Ing. Jan Kodet \\
50
Konzultant:  & Prof. Ing. Ivan Procházka, DrSc. \\
51
Školní rok:  & \textbf{2010/2011} 
52
\end{tabular}
53
\vsp{0}
54
 
55
\pagebreak
56
 
57
\mbox{}
58
\vfill
59
 
60
Prohlašuji, že jsem předloženou práci vypracoval samostatně a že jsem
61
uvedl veškerou použitou literaturu.
62
\vsp{10}
63
 
64
\noindent
65
\quad \hfill \textcolor{red}{\small Podpis studenta} \qquad \\
66
Praha, xx.xx.2011 \hfill Jakub Kákona \qquad
67
\par
68
\vsp{5}
69
 
70
\pagebreak
71
 
72
\tableofcontents
73
 
74
\section{Zadání práce}
75
 
875 kaklik 76
Předmětem této práce je návrh konstrukce přístroje určeného k měření krátkých časových intervalů vázaných na elektrické impulzní signály. 
77
Krátkým časovým intervalem se v tomto případě rozumí řádově  desítky piko sekund až jednotky mikrosekund. Od přístroje tohoto typu je obvykle vyžadováno velké časové rozlišení (65ps). Přístroj pak má široké uplatnění v medicíně průmyslu, kosmickém výzkumu a v experimentálních přístrojích fyziky vysokých energií.  
872 kaklik 78
 
79
\subsection{Časově digitální převodník (TDC)}
80
 
875 kaklik 81
Nejjednodušším způsobem elektronického měření časových intervalů je použití čítače a oscilátoru. Čítač pak počítá počet period oscilátoru mezi příchozími pulzy pro start a stop signál. Toto řešení ale začíná být se zkracujícími se intervaly velmi nepraktické, jelikož pro získání velkého časového rozlišení je třeba vysoká frekvence velice přesného oscilátoru. 
82
Navíc pro požadované časové rozlišení asi 65ps by nutná frekvence oscilátoru  byla zhruba 15,3GHz, což je ale se současnou digitální technikou neproveditelné. Nezanedbatelná je zároveň také potřebná délka extrémně rychlého čítače, která by pro praktické použití dosahovala desítek bitů. 
872 kaklik 83
 
879 kaklik 84
K měření se proto používá vhodnějšího principu a to šíření postupné vlny v sofistikovaném řetězci logických hradel. Ideové znázornění je na obrázku \ref{TDC_unit}.
873 kaklik 85
Metoda funguje tak, že příchozím startovacím impulzem je v řetězci vygenerována postupná vlna, která se šíří po jednotlivých hradlech až do doby, než je pomocí nadřazené logiky zamezeno jejímu šíření příchozím stop pulsem. Následně je pak podle počtu překlopených hradel mezi pulzy START a STOP  možné určit délku časového intervalu. 
86
Metoda tedy využívá konečnou rychlost šíření signálu přes hradla a její přesnost závisí na mnoha faktorech, jako je například geometrie čipu nebo zapojení řetězce.
87
 
872 kaklik 88
\begin{figure}[htbp]
89
\begin{center}
90
\includegraphics[width=150mm]{./img/TDC_principle2.png} 
91
\caption{Ideové schéma měřící jednotky TDC}
879 kaklik 92
\label{TDC_unit}
872 kaklik 93
\end{center}
94
\end{figure}
95
 
875 kaklik 96
Zajímavým problémem této metody je potřeba omezit počet hradel v řetězci na minimální množství, neboť tak lze lépe udržet linearitu měření a zjednodušit výrobu. Jednou z možností, jak tento problém vyřešit je zkombinovat měření na řetězci s měřením pomocí čítače. 
97
Příchodem startovacího pulzu je pak aktivována rychlá měřící jednotka, která měří pouze do nejbližší hrany hodin čítače. Následně počítá čítač intervaly oscilátoru až do doby než příchozí stop impulz aktivuje měřící jednotku která pak doměří čas do zbývající hrany hodin. Rozdíl pak udává skutečnou délku intervalu. Tento způsob měření je znázorněn na obrázku \ref{TDC_unit_long}.   
872 kaklik 98
 
99
\begin{figure}[htbp]
100
\begin{center}
873 kaklik 101
\includegraphics[width=150mm]{./img/TDC_principle.png} 
872 kaklik 102
\caption{Způsob přesného měření delších časových úseků}
879 kaklik 103
\label{TDC_unit_long}
872 kaklik 104
\end{center}
105
\end{figure}
106
 
873 kaklik 107
Předpokladem užití tohoto způsobu měření je dostatečně stabilní oscilátor s periodou kratší, než je měřící rozsah rychlé TDC jednotky. 
108
 
872 kaklik 109
\section{Realizace}
110
 
879 kaklik 111
Pro konstrukci přístroje byl zvolen jako hlavní měřící prvek čip TDC-GP2 od firmy Acam. Tento integrovaný obvod využívá k měření krátkých časových intervalů výše popsané metody řetězově zapojených hradel. Blokové schéma vnitřní architektury čipu je znázorněno na obrázku \ref{GP2_chip_block}.
112
Čip obsahuje mnoho dalších podpůrných obvodů, které zjednodušují jeho použití a také přidávají další funkce (generování spouštěcího pulzu například pro výstřel LASERu, blok umožňující měření teploty atd.).
872 kaklik 113
 
879 kaklik 114
S ohledem na tyto možnosti byla navržena koncepce výsledného zařízení tak, aby umožnila využití všech potenciálních možností čipu. Blokové schéma této koncepce je na obrázku \ref{device_block}. A obsahuje jednak obvody potřebné pro funkci čipu TDC-GP2, jako kalibrační oscilátor a napěťový stabilizátor. Tak i řídící mikroprocesor, několik možných komunikačních rozhraní a obvody pro referenční měření teploty i pro manipulaci se vstupními a výstupními signály (vstupní signál z experimentu může být poškozen rušením, nebo disperzí vedení, výstupní signál musí naopak odpovídat požadavkům experimentálního zařízení). 
873 kaklik 115
 
116
 
872 kaklik 117
\begin{figure}[htbp]
118
\begin{center}
119
\includegraphics[width=150mm]{./img/blokove_schema.png} 
120
\caption{Ideové schéma cílového zařízení}
879 kaklik 121
\label{device_block}
872 kaklik 122
\end{center}
123
\end{figure}
124
 
125
\begin{figure}[htbp]
126
\begin{center}
127
\includegraphics[width=150mm]{./img/TDC_block.png} 
128
\caption{Blokové schéma čipu TDC-GP2}
879 kaklik 129
\label{GP2_chip_block}
872 kaklik 130
\end{center}
131
\end{figure}
132
 
133
\subsection{Testovací prototypy}
134
 
135
Pro otestování funkčnosti zvoleného čipu byly sestaveny dva testovací prototypy, které se liší, především komunikační architekturou a způsobem generování testovacích impulzů. 
136
 
137
\begin{figure}[htbp]
138
\begin{center}
139
\includegraphics[width=150mm]{./img/prototyp1.jpg} 
140
\caption{1. testovací prototyp}
141
\end{center}
142
\end{figure}
143
 
875 kaklik 144
První prototyp obsahoval pouze jeden mikroprocesor, který obstarával jak komunikaci s měřícím čipem TDC-GP2, tak i generování testovacích start-stop impulzů. Komunikace a přenos dat pak byla řešena přímo programátorem PICPROGUSB02A. 
873 kaklik 145
 
146
Toto řešení se po zprovoznění základních funkcí měřícího čipu ukázalo být nepraktické, neboť nezohledňovalo reálný způsob vzniku měřených signálů, což poměrně komplikovalo programování. Navíc způsob komunikace mezi řídícím mikroprocesorem a počítačem nemohl být trvalým řešením.   
147
 
148
Z tohoto důvodu byl připraven další prototyp. V kterém byl rychlejší mikroprocesor dedikován pouze pro generování testovacích impulzů simulujících reálný experiment. Pro komunikaci s čipem byl pak přidán levnější a pomalejší mikroprocesor a převodník USB232R01B pro sériovou komunikaci s počítačem.
149
 
872 kaklik 150
\begin{figure}[htbp]
151
\begin{center}
152
\includegraphics[width=150mm]{./img/prototyp2.jpg} 
153
\caption{2. testovací prototyp}
154
\end{center}
155
\end{figure}
156
 
157
\begin{figure}[htbp]
158
\begin{center}
159
\includegraphics[width=100mm]{./img/prototype2.png} 
160
\caption{Způsob propojení modulů 2. prototypu}
161
\end{center}
162
\end{figure}
163
 
164
 
165
\subsection{Hardware}
166
 
879 kaklik 167
Pro realizaci všech prototypů experimentálního zařízení bylo s výhodou využito stávajícího elektronického vývojového systému MLAB, který byl pro účely realizace měřícího zařízení obohacen o nový modul GP201A, který obsahuje čip TDC-GP2. Zapojení modulu bylo opět zvoleno tak, aby neomezilo využitelné možnosti čipu. Jeho konkrétní zapojení je součástí přílohy. Motiv navrženého plošného spoje je na obrázku \ref{GP201A_PCB}.
872 kaklik 168
 
169
\begin{figure}[htbp]
170
\begin{center}
171
\includegraphics[width=150mm]{./img/GP2_PCB.png} 
172
\caption{Návrh plošného spoje modulu GP201A}
879 kaklik 173
\label{GP201A_PCB}
872 kaklik 174
\end{center}
175
\end{figure}
176
 
873 kaklik 177
\subsubsection{Mikroprocesory}
178
 
179
V prvním prototypu byl k ovládání měřícího čipu TDC-GP2 využit mikroprocesor PIC18F4550 v modulu PIC18F4550v01A, který zároveň generoval testovací signály. V následujícím druhém prototypu byl odsunut pouze do pozice generátoru testovacího signálu. A pro obsluhu měřícího čipu byl přidán mikroprocesor PIC16F887 v modulu PIC16F87xTQ4401B. Jehož parametry jsou dostačující pro komunikaci s měřícím čipem i nadřazeným počítačem.  
180
 
181
 
872 kaklik 182
\subsubsection{Kalibrační oscilátor}
183
 
184
Princip měření čipu TDC-GP2  je ze své podstaty závislý na mnoha dalších proměnných (Rychlost překlápění hradel se mění například s teplotou a napájecím napětím) a proto je třeba  měřící řetězec soustavně a systematicky kalibrovat. K tomu slouží externí oscilátor o kterém se předpokládá, že má stabilní periodu. Měřící řetězec TDC čipu se pak použije ke změření periody oscilátoru a je jej pak možné kalibrovat za předpokladu, že výstupní digitální hodnota z měřícího řetězce je lineární funkcí času. 
185
 
879 kaklik 186
Při návrhu konstrukce prototypu bylo vybíráno z celé řady oscilátorů [viz příloha] a hodnoceny jejich parametry; cena, stabilita a dostupnost. Výsledným vybraným kalibračním oscilátorem je CFPS-73 - 6MHz. 
872 kaklik 187
 
873 kaklik 188
\subsubsection{Teplotní kalibrace}
872 kaklik 189
 
879 kaklik 190
Samotný čip TDC-GP2 je vybaven elektronikou určenou k měření teploty avšak její princip je založen měření doby nabíjení externího referenčního kondenzátoru přes statické odpory a termistory - jde tedy o poměrovou metodu, která navíc předpokládá absolutní teplotní stabilitu referenčního kondenzátoru. Použití poměrového měření ke korekci teplotních driftů samotného čipu TDC-GP2 by tudíž bylo problematické navíc jeho TDC jednotka, kterou chceme teplotně kalibrovat se v tomto měření přímo využívá. 
873 kaklik 191
 
879 kaklik 192
Prototyp byl tedy doplněn o digitální teploměr DS18B20 jehož absolutní přesnost 0,6K a rozlišení 0,01K lze pokládat za dostačující. A lze tedy TDC čip spolu s referenčním oscilátorem kalibrovat vzhledem k teplotě naměřené tímto teploměrem.
873 kaklik 193
 
194
\subsection{Firmware}
195
 
196
Firmware mikroprocesoru je napsán v jazyce C v prostředí CCS C compiler. 
197
 
872 kaklik 198
\begin{figure}[htbp]
199
\begin{center}
200
\includegraphics[width=100mm]{./img/program.png} 
201
\caption{Hlavní programová smyčka řídícího mikrokontroléru PIC16F887 }
202
\end{center}
203
\end{figure}
204
 
880 kaklik 205
Programová smyčka řídícího mikrokontroléru je navržena tak, aby umožnila realizovat hlavní měřící režimy TDC čipu. K ovládání TDC-GP2 byla vytvořena knihovna, která umožňuje nastavit všechny možnosti čipu. 
872 kaklik 206
 
880 kaklik 207
Obsahuje také několik funkcí vyšší úrovně, které se týkají ovládání určitého měřícího módu čipu. TDC-GP2 má dva hlavní časové měřící módy, liší se především v rozsahu měřeného intervalu a počtem kanálů na kterých je možné čekat na STOP impuls. 
873 kaklik 208
 
209
\subsubsection{Měřící mód 1}
210
 
872 kaklik 211
\begin{figure}[htbp]
212
\begin{center}
213
\includegraphics[width=100mm]{./img/TDC_mode1.png} 
214
\caption{Průběh měření v čipu GP2 během měřícího módu 1.}
215
\end{center}
216
\end{figure}
217
 
873 kaklik 218
 
219
\subsubsection{Měřící mód 2}
220
 
221
 
222
 
872 kaklik 223
\begin{figure}[htbp]
224
\begin{center}
225
\includegraphics[width=100mm]{./img/TDC_mode2.png} 
226
\caption{Průběh měření v čipu GP2 během měřícího módu 2.}
227
\end{center}
228
\end{figure}
229
 
873 kaklik 230
\subsubsection{Fire generator - generování spouštěcího signálu}
231
 
880 kaklik 232
Oba měřící módy čipu umí využít takzvaný "Fire generator", který slouží k vygenerování spouštěcího signálu pro začátek měření. (Například výstřel LASERu).  K tomu v knihovně opět existují potřebné prostředky.
872 kaklik 233
 
873 kaklik 234
 
235
\subsubsection{Měření teploty}
236
 
880 kaklik 237
Při měření teploty čipem TDC-GP2 je třeba jej resetovat do továrního nastavení a následně nastavit počet měřených kanálů (Dva nebo čtyři). Další nastavení není třeba provádět. A lze rovnou spustit měření. Tento postup ale není v datasheetu stejně jako další procedury podrobně dokumentován, což způsobilo značné zdržení ve vývoji knihovny.    
873 kaklik 238
 
239
Firmware je od druhého prototypu nakonfigurován tak, že automaticky měří všechny čtyři možné teplotní kanály a navíc přečte i digitální senzor teploty DS18B20.
240
 
241
Naměřený výstup ze čtyř poměrových termočlánkových teploměrných kanálů není firmwarem nijak zpracováván a jeho vyhodnocení je ponecháno na uživateli. 
242
 
243
\subsubsection{Datový výstup}
244
 
245
Datový výstup je podobný známému GPS textovému formátu NMEA. Zde je příklad výstupních dat:
246
 
247
 
248
Výstupní data jsou odesílána na sérový port s parametry 9800 8N1. A ke sběru dat lze použít libovolný textový terminál.  
249
 
872 kaklik 250
\section{Výsledky}
880 kaklik 251
Na dvou prototypech byla ověřena funkčnost čipu TDC-GP2 
872 kaklik 252
 
253
\subsection{Použití}
254
 
880 kaklik 255
Po vybavení přístroje potřebnými optickými elementy je pak možné jej použít k laserovému měření vzdáleností. Nebo i pro Time Correlated Photon Countig a v dalších aplikacích. 
872 kaklik 256
 
257
\subsection{Možnosti dalšího vývoje}
258
 
880 kaklik 259
Další vývoj zařízení by již měl být cílen na konkrétní aplikaci ve které bude přístroje nasazen. Aktuální stav je dobrým výchozím bodem pro použití v konkrétních experimentech.
873 kaklik 260
 
872 kaklik 261
\subsubsection{Komunikační protokol}
262
 
880 kaklik 263
Použitý komunikační protokol je důsledkem postupného vývoje prototypů a zatím se stále vyvíjí. Neboť není známé podobné zařízení od kterého by bylo možno převzít komunikační formát. 
873 kaklik 264
 
265
 
872 kaklik 266
\subsubsection{Speciální zpracování rychlých vstupních a výstupních signálů}
267
 
873 kaklik 268
Samotný čip TDC-GP2 používá jako vstupní a výstupní signál logické úrovně 5V CMOS. To nemusí být pro některé aplikace vhodné, jednak kvůli komplikacím s vedením jednoduchého CMOS signálu na delší vzdálenosti a potom i z hlediska ochrany samotného obvodu před poškozením externím zařízením.
269
 
875 kaklik 270
Do budoucna byl proto připraven několik základních modulů umožnujících interakci s jinými přístroji.
873 kaklik 271
 
272
Patří mezi ně převodník TTL na PECL,  výstupní PECL signál je pak diferenciální a lze jej proto snadno odvádět na velké vzdálenosti kvalitním diferenciálním vedením, jako jsou například kabely SATA, nebo UTP kabely bez rizika poškození signálu elektrickou interferencí. Stejný převodník (Osazený jiným IO) pak lze použít i k převedení PECL signálu zpět na TTL a dovedením pouze na krátkou vzdálenost. Problémy kompatibility CMOS a TTL lze pak v takovém případě zanedbat.  
273
 
875 kaklik 274
V případě že by bylo přesto nutné stále používat CMOS signál a hrozilo by narušení jeho integrity disperzí vedení nebo jinými vlivy, tak lze zařízení snadno dovybavit rychlým komparátorem, jako je například některý z ADCMP551/ADCMP552/ADCMP553.
275
 
878 kaklik 276
\begin{figure}[htbp]
277
\begin{center}
278
\includegraphics[width=100mm]{./img/TTLPECL01A_PCB.png} 
279
\caption{Návrh desky plošného spoje převodníku TTL na PECL a opačně.}
280
\end{center}
281
\end{figure}
282
 
872 kaklik 283
\section{Závěr}
284
 
880 kaklik 285
Výsledkem práce je přístroj, který lze bez zásadních úprav využít k měření krátkých časových intervalů v laboratorních experimentech. Zařízení je zároveň dostatečně flexibilní pro potřebné úpravy na základě požadavků některých speciálních aplikací, které zatím nelze předvídat. 
872 kaklik 286
 
287
\pagebreak
879 kaklik 288
\listoffigures
872 kaklik 289
 
290
\begin{thebibliography}{99}
880 kaklik 291
  \bibitem{AN491}{\em Silicon Labs Application Note AN491}\\
292
               \texttt{http://www.silabs.com/support\%20documents/technicaldocs/an491.pdf}
293
 
294
  \bibitem{AN393}{\em Fairchild Semiconductor Application Note 393 March 1985}\\
295
               \texttt{}
296
 
297
  \bibitem{AN-610}{\em Fairchild Semiconductor Application Note  AN-610 April 1989 }\\
298
               \texttt{}
299
 
300
  \bibitem{AN-610}{\em Analysis on the Effectiveness of Clock Trace Termination Methods and Trace Lengths on a Printed Circuit Board}\\
301
               \texttt{Mark I. Montrose
302
Montrose Compliance Services
303
2353 Mission Glen Dr.
304
Santa Clara, CA 95051-1214
305
(408) 247-5715
306
}
307
 
308
  \bibitem{AN-610}{\em PIC16F887 datasheet }\\
309
               \texttt{http://ww1.microchip.com/downloads/en/DeviceDoc/41291F.pdf}
310
 
311
  \bibitem{AN-610}{\em PIC18F4550 datasheet }\\
312
               \texttt{http://ww1.microchip.com/downloads/en/DeviceDoc/39632e.pdf}
313
 
314
 
315
  \bibitem{AN-610}{\em TDC-GP2 datasheet }\\
316
               \texttt{http://www.acam-usa.com/GP2-Data-Sheet-Download.html}
317
 
318
  \bibitem{AN-610}{\em MLAB electronics development system }\\
319
               \texttt{http://www.mlab.cz}
320
 
321
 
872 kaklik 322
\end{thebibliography}
323
 
880 kaklik 324
 
879 kaklik 325
\pagebreak
326
 
327
\includepdf[pages={1},landscape=true]{GP201A.pdf}
328
\label{GP201A_SCH}
329
\includepdf[pages={1},landscape=true]{oscilatory.pdf}
330
 
872 kaklik 331
\end{document}