Subversion Repositories svnkaklik

Rev

Rev 881 | Rev 887 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

\documentclass[12pt]{article}
\usepackage{czech}
\usepackage{array}
\usepackage{times}
\usepackage{graphicx}
\usepackage{pdfpages}
\usepackage{color}

\usepackage[pdftex]{graphicx}
\usepackage{fancyhdr,multicol} %nastavení češtiny, fancy, grafiky, sloupce
\usepackage[utf8]{inputenc} %vstupni soubory v kodovani UTF-8
\usepackage[a4paper,text={17cm,25cm},centering]{geometry} %nastavení okrajů
\usepackage{rotating}


\textheight     230.0mm
\textwidth      155.0mm 
%\topmargin        0.0mm
\topmargin      -20.0mm
\oddsidemargin    0.0mm
\parindent        0.0mm
\renewcommand{\baselinestretch}{1.0}

\newcommand{\vsp}[1]{\vspace{#1mm}}

\begin{document}

\thispagestyle{empty}

\begin{center} 
  \extrarowheight 1.5ex
  \begin{tabular}{c} 
    \textbf{\Large České vysoké učení technické v Praze} \\
    \textbf{\Large Fakulta jaderná a fyzikálně inženýrská} \\
    \textbf{\Large Katedra fyzikální elektroniky}  
  \end{tabular}
\vsp{60}

\textbf{\Huge Modul pro Time Correlated Photon Counting}
\bigskip

{\Large Ročníková práce}
\end{center}
\vfill

\extrarowheight 0.75ex
\begin{tabular}{>{\large}l>{\large}l}
Autor páce: & \textbf{Jakub Kákona} \\
Školitel:    & Ing. Jan Kodet \\
Konzultant:  & Prof. Ing. Ivan Procházka, DrSc. \\
Školní rok:  & \textbf{2010/2011} 
\end{tabular}
\vsp{0}

\pagebreak

\mbox{}
\vfill

Prohlašuji, že jsem předloženou práci vypracoval samostatně a že jsem
uvedl veškerou použitou literaturu.
\vsp{10}

\noindent
\quad \hfill \textcolor{red}{\small Podpis studenta} \qquad \\
Praha, xx.xx.2011 \hfill Jakub Kákona \qquad
\par
\vsp{5}

\pagebreak
\tableofcontents
\pagebreak

\begin{abstract}
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. 
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í.  
\end{abstract}

\section{Zadání práce}

Vytvořte přístroj měřící časové intervaly využívající čip TDC-GP2 od firmy Acam. Navrhněte a osaďte tištěný spoj. Hotové a odladěné zařízení otestujte ve Vámi zvolených a navržených experimentech.

\begin{enumerate}
\item Seznamte se s funkcí mikrokontrolérů PIC.
\item Seznamte se s funkcí TDC-GP2.
\item Realizujte prototyp zařízení.
\item Ověřte jeho funkci.
\end{enumerate}

\subsection{Časově digitální převodník (TDC)}

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. 
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ů. 

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}.
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. 
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.

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=150mm]{./img/TDC_principle2.png} 
\caption{Ideové schéma měřící jednotky TDC}
\label{TDC_unit}
\end{center}
\end{figure}

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. 
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}.   

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=150mm]{./img/TDC_principle.png} 
\caption{Způsob přesného měření delších časových úseků}
\label{TDC_unit_long}
\end{center}
\end{figure}

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. 

\section{Realizace}

\subsection{Architektura zařízení}

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}.
Č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.).

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í). 
 

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=150mm]{./img/blokove_schema.png} 
\caption{Ideové schéma cílového zařízení}
\label{device_block}
\end{center}
\end{figure}

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=150mm]{./img/TDC_block.png} 
\caption{Blokové schéma čipu TDC-GP2}
\label{GP2_chip_block}
\end{center}
\end{figure}

\subsection{Konstrukční platforma}

Vzhledem k nepříliš kvalitní technické dokumentaci ke zvolenému čipu by nebylo časově ani ekonomicky výhodné pro přístroj navrhovat okamžitě jednoúčelový plošný spoj.  Pro vývoj zařízení byla proto zvolena prototypovací platforma MLAB \cite{MLAB}, která díky své variabilní modulární konstrukci umožňuje snadno a rychle měnit zapojení i fyzické rozložení. 

Tím je umožněno velmi efektivně procházet nejrůznější provozní stavy a upravovat konstrukci podle aktuálních potřeb programu nebo externího měřícího přístroje.


\subsection{Testovací prototypy}

Pro otestování funkčnosti zvoleného čipu byly sestaveny dva testovací prototypy, které se liší, především komunikačním rozhraním a způsobem generování testovacích impulzů. 

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=150mm]{./img/prototyp1.jpg} 
\caption{1. testovací prototyp}
\end{center}
\end{figure}

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. 

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.   

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.

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=150mm]{./img/prototyp2.jpg} 
\caption{2. testovací prototyp}
\end{center}
\end{figure}

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=100mm]{./img/prototype2.png} 
\caption{Způsob propojení modulů 2. prototypu}
\end{center}
\end{figure}


\subsection{Hardware}

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}.

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=150mm]{./img/GP2_PCB.png} 
\caption{Návrh plošného spoje modulu GP201A}
\label{GP201A_PCB}
\end{center}
\end{figure}

\subsubsection{Mikroprocesory}

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.  


\subsubsection{Kalibrační oscilátor}

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. 
   
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. 

\subsubsection{Teplotní kalibrace}

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á. 

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.

\subsection{Firmware}

Firmware mikroprocesoru je napsán v jazyce C v prostředí CCS C compiler. 

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=100mm]{./img/program.png} 
\caption{Hlavní programová smyčka řídícího mikrokontroléru PIC16F887 }
\end{center}
\end{figure}

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. 

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. 

\subsubsection{Měřící mód 1}

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=100mm]{./img/TDC_mode1.png} 
\caption{Průběh měření v čipu GP2 během měřícího módu 1.}
\end{center}
\end{figure}


\subsubsection{Měřící mód 2}



\begin{figure}[htbp]
\begin{center}
\includegraphics[width=100mm]{./img/TDC_mode2.png} 
\caption{Průběh měření v čipu GP2 během měřícího módu 2.}
\end{center}
\end{figure}
 
\subsubsection{Fire generator - generování spouštěcího signálu}
  
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). 


\subsubsection{Měření teploty}

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.    

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.

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. 

\subsubsection{Datový výstup}

Datový výstup je inspirován textovým formátem GPS NMEA.

Příklad datového výstupu je následující. 

\begin{verbatim}
# TDC0.2 (C) 2011 Jakub Kakona
$TDC0.2->TM
$TDC0.2 TMP 0007506076 0007519380 0008204130 4294967295 291.90 
$TDC0.2->M2 1
$TDC0.2 M2  0.7005860
\end{verbatim}

Po resetu se přístroj ohlásí jako TDC a přidá verzi firmwaru.  Na následující řádek je vypsán prompt

\begin{verbatim}
$TDC0.2->
\end{verbatim}

Prompt opět pokaždé obsahuje verzi firmwaru, aby bylo možné v nadřazeném počítači rozlišit více přístrojů v různých stádiích vývoje.

Příkaz 
\begin{verbatim}
TM
\end{verbatim}
Spouští měření teploty, výstupem jsou 4 relativní hodnoty + teplota naměřená čidlem DS18B20 udávaná v kelvinech.


Příkaz 
\begin{verbatim}
M2 1
\end{verbatim}
Spouští časové měření v módu 2  příkaz má jeden jednociferný parametr - počet předpokládaných zásahů měřícího kanálu 1 (V příkladu má hodnotu 1). Výstupem je změřený čas počítaný od hrany START pulzu v us.   

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. Firmware zpracovává pouze prvních 20 příchozích znaků v každé řádce (řádka musí být ukončena ASCII znakem 13), všechny přečtené příchozí znaky jsou echovány zpět na výstup, je tak umožněna kontrola správnosti přenosu a implementace vlastní check-sum.
Neznámý, nebo syntakticky špatný příkaz, je firmwarem  ignorován a je vypsán nový prompt.  Každá provedená výstupní řádka obsahuje identifikaci měření - TMP, M2, nebo M1.

\section{Výsledky}
Na dvou prototypech byla ověřena funkčnost čipu TDC-GP2 pomocí experimentu - měření zpoždění průchodu signálu vedením. Zpoždění bylo měřeno na dvou typech elektrických vedení.

\begin{itemize}
\item Koaxiální kabel RG174
\item Zkroucený pár vodičů 2x0,35$mm^2$ vnější průměr izolace 1,21mm délka 2x1m.
\end{itemize}

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=150mm]{./img/MLAB_kablik_2x1m.png} 
\caption{Průběh zpoždění signálu a teploty během měření zkrouceného páru vodičů.}
\end{center}
\end{figure}

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=150mm]{./img/RG174.png} 
\caption{Průběh zpoždění signálu a teploty během měření koaxiálního kabelu RG174.}
\end{center}
\end{figure}

Průběh experimentu byl po několik hodin řízen z PC pomocí skriptu, který spouštěl měření času a teploty v opakujících se 5s intervalech. 

\subsection{Použití}

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. 

\subsection{Možnosti dalšího vývoje}

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.

\subsubsection{Komunikační protokol}

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. 


\subsubsection{Speciální zpracování rychlých vstupních a výstupních signálů}

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.

Do budoucna byl proto připraven několik základních modulů umožnujících interakci s jinými přístroji.

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.  

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.

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=100mm]{./img/TTLPECL01A_PCB.png} 
\caption{Návrh desky plošného spoje převodníku TTL na PECL a opačně.}
\end{center}
\end{figure}

\section{Závěr}

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. 

\pagebreak
\listoffigures

\begin{thebibliography}{99}
  \bibitem{AN491}{\em Silicon Labs Application Note AN491}\\
               \texttt{http://www.silabs.com/support\%20documents/technicaldocs/an491.pdf}

  \bibitem{AN393}{\em Fairchild Semiconductor Application Note 393 March 1985}\\
               \texttt{}

  \bibitem{AN-610}{\em Fairchild Semiconductor Application Note  AN-610 April 1989 }\\
               \texttt{}

  \bibitem{AN-610}{\em Analysis on the Effectiveness of Clock Trace Termination Methods and Trace Lengths on a Printed Circuit Board}\\
               \texttt{Mark I. Montrose
Montrose Compliance Services
2353 Mission Glen Dr.
Santa Clara, CA 95051-1214
(408) 247-5715
}

  \bibitem{AN-610}{\em PIC16F887 datasheet }\\
               \texttt{http://ww1.microchip.com/downloads/en/DeviceDoc/41291F.pdf}

  \bibitem{AN-610}{\em PIC18F4550 datasheet }\\
               \texttt{http://ww1.microchip.com/downloads/en/DeviceDoc/39632e.pdf}


  \bibitem{AN-610}{\em TDC-GP2 datasheet }\\
               \texttt{http://www.acam-usa.com/GP2-Data-Sheet-Download.html}

  \bibitem{MLAB}{\em MLAB electronics development system }\\
               \texttt{http://www.mlab.cz}


\end{thebibliography}


\pagebreak

\includepdf[pages={1},landscape=true]{GP201A.pdf}
\label{GP201A_SCH}
\includepdf[pages={1},landscape=true]{oscilatory.pdf}

\end{document}