1 |
\documentclass[12pt,a4paper,oneside]{article} |
1 |
\documentclass[12pt,a4paper,oneside]{article} |
2 |
\usepackage[colorlinks=true]{hyperref} |
2 |
\usepackage[colorlinks=true]{hyperref} |
3 |
\usepackage[utf8]{inputenc} |
3 |
\usepackage[utf8]{inputenc} |
4 |
\usepackage[czech]{babel} |
4 |
\usepackage[czech]{babel} |
5 |
\usepackage{graphicx} |
5 |
\usepackage{graphicx} |
6 |
\usepackage{pdfpages} |
6 |
\usepackage{pdfpages} |
- |
|
7 |
\usepackage{listings} |
7 |
\textwidth 16cm \textheight 25cm |
8 |
\textwidth 16cm \textheight 25cm |
8 |
\topmargin -1.3cm |
9 |
\topmargin -1.3cm |
9 |
\oddsidemargin 0cm |
10 |
\oddsidemargin 0cm |
10 |
\pagestyle{empty} |
11 |
\pagestyle{empty} |
11 |
\begin{document} |
12 |
\begin{document} |
12 |
\title{Emulátor digitálního syntetyzéru od DG8SAQ} |
13 |
\title{Emulátor digitálního syntetyzéru od DG8SAQ} |
13 |
\author{Jakub Kákona, kaklik@mlab.cz} |
14 |
\author{Jakub Kákona, kaklik@mlab.cz} |
14 |
\maketitle |
15 |
\maketitle |
15 |
|
16 |
|
16 |
\thispagestyle{empty} |
17 |
\thispagestyle{empty} |
17 |
\begin{abstract} |
18 |
\begin{abstract} |
18 |
Vzhledem k tomu, že je potřebné modul CLKGEN01B nějakým způsobem přelaďovat, je vhodné jej připojit například k počítači. Tento článek popisuje způsob, jak ovládat čip Si570 pomocí sběrnice USB. |
19 |
Vzhledem k tomu, že je potřebné modul CLKGEN01B nějakým způsobem přelaďovat, je vhodné jej připojit například k počítači. Tento článek popisuje způsob, jak ovládat čip Si570 pomocí sběrnice USB. |
19 |
\end{abstract} |
20 |
\end{abstract} |
20 |
|
21 |
|
21 |
\begin{figure} [htbp] |
22 |
\begin{figure} [htbp] |
22 |
\begin{center} |
23 |
\begin{center} |
23 |
\includegraphics [width=80mm] {DG8SAQ_emulator_Big.jpg} |
24 |
\includegraphics [width=80mm] {DG8SAQ_emulator_Big.jpg} |
24 |
\end{center} |
25 |
\end{center} |
25 |
\end{figure} |
26 |
\end{figure} |
26 |
|
27 |
|
27 |
\tableofcontents |
28 |
\tableofcontents |
28 |
|
29 |
|
29 |
\section{Technické parametry} |
30 |
\section{Technické parametry} |
30 |
\begin{table}[htbp] |
31 |
\begin{table}[htbp] |
31 |
\begin{center} |
32 |
\begin{center} |
32 |
\begin{tabular}{|c|c|p{4.7cm}|} |
33 |
\begin{tabular}{|c|c|p{4.7cm}|} |
33 |
\hline |
34 |
\hline |
34 |
Parametr & Hodnota & Poznámka \\ |
35 |
Parametr & Hodnota & Poznámka \\ |
35 |
\hline |
36 |
\hline |
36 |
Napájecí napětí POWER & max 5V & Napájení z USB\\ |
37 |
Napájecí napětí POWER & max 5V & Napájení z USB\\ |
37 |
\hline |
38 |
\hline |
38 |
Frekvenční rozsah & 10 - 1500 MHz & Záleží na konkrétním typu čipu Si5XX, obvykle 10-810MHz \\ |
39 |
Frekvenční rozsah & 10 - 1500 MHz & Záleží na konkrétním typu čipu Si5XX, obvykle 10-810MHz \\ |
39 |
\hline |
40 |
\hline |
40 |
Fázový jitter & $<$ 0,3ps & Pro obvody řady Si570 z diferenciálním výstupem\\ |
41 |
Fázový jitter & $<$ 0,3ps & Pro obvody řady Si570 z diferenciálním výstupem\\ |
41 |
\hline |
42 |
\hline |
42 |
\end{tabular} |
43 |
\end{tabular} |
43 |
\end{center} |
44 |
\end{center} |
44 |
\end{table} |
45 |
\end{table} |
45 |
|
46 |
|
46 |
\section{Popis konstrukce} |
47 |
\section{Popis konstrukce} |
47 |
Zařízení vychází z velmi rozšířené metody ovládání čipu Si570 pomocí ATtiny, tak jak byla navržena v \cite{Si570board}. Tento postup funguje, ale díky nekompatibilním napěťovým úrovním na USB a na ATtiny, může způsobovat nežádoucí chování. Navíc v některých moderních implementacích USB 3.0 může být jeho použití rizikové pro rozhraní v počítači. Zde je proto popsán technicky mnohem čistší způsob vyhovující standardu USB při zachování všech funkcí původní konstrukce. |
48 |
Zařízení vychází z velmi rozšířené metody ovládání čipu Si570 pomocí ATtiny, tak jak byla navržena v \cite{Si570board}. Tento postup funguje, ale díky nekompatibilním napěťovým úrovním na USB a na ATtiny, může způsobovat nežádoucí chování. Navíc v některých moderních implementacích USB 3.0 může být jeho použití rizikové pro rozhraní v počítači. Zde je proto popsán technicky mnohem čistší způsob vyhovující standardu USB při zachování všech funkcí původní konstrukce. |
48 |
Navíc je zde i korektně bezodrazově ošetřen vysokofrekvenční výstup z čipu Si570. |
49 |
Navíc je zde i korektně bezodrazově ošetřen vysokofrekvenční výstup z čipu Si570. |
49 |
|
50 |
|
50 |
V nových zařízeních MLAB jako je například stanice RMDS02 je však tento způsob ovládání modulu nahrazen kombinací modulu USBI2C \cite{USBI2C} s knihovnou pymlab\cite{pymlab}. Tento způsob ovládání odstraňuje některé technické problémy vycházející z principu ovládání Si570 přes PIC. (dochází nejčastěji ke ztrátě kmitočtové kalibrace syntezátoru). Při přímém ovládání obvodu Si570 přes I2C tyto komplikace nevznikají. |
51 |
V nových zařízeních MLAB jako je například stanice RMDS02 je však tento způsob ovládání modulu nahrazen kombinací modulu USBI2C \cite{USBI2C} s knihovnou pymlab\cite{pymlab}. Tento způsob ovládání odstraňuje některé technické problémy vycházející z principu ovládání Si570 přes PIC. (dochází nejčastěji ke ztrátě kmitočtové kalibrace syntezátoru). Při přímém ovládání obvodu Si570 přes I2C tyto komplikace nevznikají. |
51 |
|
52 |
|
52 |
\subsection{Zapojení} |
53 |
\subsection{Zapojení} |
53 |
Zapojení spočívá pouze v propojení modulu PIC18F4550v01A s modulem CLKGEN01B. Toto je realizováno jedním napájecím kablíkem, který propojuje napájení modulu připojeného na USB s 5V napájením CLKGEN01B (Modul si nižší napájecí napětí stabiluzuje sám). V zapojení jsou ještě dva datové kablíky, které přímo propojují I2C sběrnici. |
54 |
Zapojení spočívá pouze v propojení modulu PIC18F4550v01A s modulem CLKGEN01B. Toto je realizováno jedním napájecím kablíkem, který propojuje napájení modulu připojeného na USB s 5V napájením CLKGEN01B (Modul si nižší napájecí napětí stabiluzuje sám). V zapojení jsou ještě dva datové kablíky, které přímo propojují I2C sběrnici. |
54 |
Na modulu PIC18F4550v01A je jako napájení jumperem zvoleno USB. Použitý krystal je 20 MHz, což vyžaduje v modulu osazené u oscilátoru kondenzátory s kapacitou 12pF. |
55 |
Na modulu PIC18F4550v01A je jako napájení jumperem zvoleno USB. Použitý krystal je 20 MHz, což vyžaduje v modulu osazené u oscilátoru kondenzátory s kapacitou 12pF. |
55 |
|
56 |
|
- |
|
57 |
|
- |
|
58 |
|
56 |
\subsection{Odrušení} |
59 |
\subsection{Odrušení} |
57 |
|
60 |
|
58 |
Odrušení je třeba provádět zvláště pečlivě, pracujeme-li v prostředí, kde by mohlo vadit elektromagnetické vyzařování, jako jsou například radioastronomická pracoviště. Nejkritičtějším místem je v tomto případě připojení počítače, který je často sám o sobě silným zdrojem rušení. USB kabel je tedy vhodné volit dostatečně stíněný a nejlépe s odrušovacími ferity na obou koncích. Počítač by sám o sobě měl do USB vnášet co nejmenší množství šumu, proto je dobré použít místo notebooku spíše stolní počítač s kvalitním zdrojem a kovovou bednou. Samozřejmost je mít moduly přišroubované na dostatečně vodivé podložce tedy nejlépe ALBASE. |
61 |
Odrušení je třeba provádět zvláště pečlivě, pracujeme-li v prostředí, kde by mohlo vadit elektromagnetické vyzařování, jako jsou například radioastronomická pracoviště. Nejkritičtějším místem je v tomto případě připojení počítače, který je často sám o sobě silným zdrojem rušení. USB kabel je tedy vhodné volit dostatečně stíněný a nejlépe s odrušovacími ferity na obou koncích. Počítač by sám o sobě měl do USB vnášet co nejmenší množství šumu, proto je dobré použít místo notebooku spíše stolní počítač s kvalitním zdrojem a kovovou bednou. Samozřejmost je mít moduly přišroubované na dostatečně vodivé podložce tedy nejlépe ALBASE. |
59 |
|
62 |
|
60 |
\section{Nastavení testování} |
63 |
\section{Nastavení testování} |
61 |
Při připojení k napájení generuje CLKGEN01B frekvenci nastavenou při výrobě v Silicon Labs. V případě modulů MLAB je to 10~MHz z důvodu využitelnosti jako standardní laboratorní normál. Pro možnost ladění je potřeba do PIC18F4550 nahrát firmware, který naleznete na \cite{pic_firmware}. Při úspěšném nahrání firmwaru programátorem například PICprogUSB02A, se sestava připojením k počítači ohlásí jako nové USB zařízení a bude vyžadovat driver. Ten lze ten je stejný jakopro původní konstrukci a lze jej nalézt v odkazu\cite{CFGSR}. |
64 |
Při připojení k napájení generuje CLKGEN01B frekvenci nastavenou při výrobě v Silicon Labs. V případě modulů MLAB je to 10~MHz z důvodu využitelnosti jako standardní laboratorní normál. Pro možnost ladění je potřeba do PIC18F4550 nahrát firmware, který naleznete na \cite{pic_firmware}. Při úspěšném nahrání firmwaru programátorem například PICprogUSB02A, se sestava připojením k počítači ohlásí jako nové USB zařízení a bude vyžadovat driver. Ten lze ten je stejný jako pro původní konstrukci a lze jej nalézt v odkazu\cite{CFGSR}. |
- |
|
65 |
|
- |
|
66 |
\noindent Firmware do modulu nahrajeme skriptem, který se nachází ve složce SW. Skript spustíme přes příkazový řádek: |
- |
|
67 |
|
- |
|
68 |
\begin{lstlisting}[language=bash] |
- |
|
69 |
svnMLAB/Modules/Clock/CLKGEN01B/SW$ ./flash.sh |
- |
|
70 |
Program Succeeded. |
- |
|
71 |
PICkit 2 Verify Report |
- |
|
72 |
16-1-2016, 18:16:56 |
- |
|
73 |
Device Type: PIC18F4550 |
- |
|
74 |
|
- |
|
75 |
Verify Succeeded. |
- |
|
76 |
|
- |
|
77 |
Operation Succeeded |
- |
|
78 |
\end{lstlisting} |
- |
|
79 |
|
62 |
|
80 |
|
63 |
\section{Programové vybavení} |
81 |
\section{Programové vybavení} |
64 |
Vzhledem k tomu, že výsledek je plně kompatibilní s konstrukcí dg8saq lze k ladění generátoru použít naprostou většinu programů pro SDR a nebo pouze pro nastavení frekvence například USBSynth \cite{USB_Synth}, či CFGSR \cite{CFGSR}, které je z těchto nástrojů nejmodernější. |
82 |
Vzhledem k tomu, že výsledek je plně kompatibilní s konstrukcí dg8saq lze k ladění generátoru použít naprostou většinu programů pro SDR a nebo pouze pro nastavení frekvence například USBSynth \cite{USB_Synth}, či CFGSR \cite{CFGSR}, které je z těchto nástrojů nejmodernější. |
65 |
|
83 |
|
66 |
\begin{thebibliography}{99} |
84 |
\begin{thebibliography}{99} |
67 |
\bibitem{Si570board}{Původní konstrukce Si570 Board } |
85 |
\bibitem{Si570board}{Původní konstrukce Si570 Board } |
68 |
\href{http://wb6dhw.com/inactive.html}{http://wb6dhw.com/inactive.html} |
86 |
\href{http://wb6dhw.com/inactive.html}{http://wb6dhw.com/inactive.html} |
69 |
|
87 |
|
70 |
\bibitem{DG8SAQemulator}{PIC emulátor USB syntezátoru od DG8SAQ} |
88 |
\bibitem{DG8SAQemulator}{PIC emulátor USB syntezátoru od DG8SAQ} |
71 |
\href{http://www.qrpradio.org/pub/softrocks/manuals/Softrock Group Files 210109/21 9V1AL/02 UBW Emulator/README.txt}{http://www.qrpradio.org/pub/softrocks/manuals/Softrock Group Files 210109/21 9V1AL/02 UBW Emulator/README.txt} |
89 |
\href{http://www.qrpradio.org/pub/softrocks/manuals/Softrock Group Files 210109/21 9V1AL/02 UBW Emulator/README.txt}{http://www.qrpradio.org/pub/softrocks/manuals/Softrock Group Files 210109/21 9V1AL/02 UBW Emulator/README.txt} |
72 |
|
90 |
|
73 |
\bibitem{CFGSR}{CFGSR} |
91 |
\bibitem{CFGSR}{CFGSR} |
74 |
\href{http://pe0fko.nl/CFGSR/}{http://pe0fko.nl/CFGSR/} |
92 |
\href{http://pe0fko.nl/CFGSR/}{http://pe0fko.nl/CFGSR/} |
75 |
|
93 |
|
76 |
\bibitem{USB_Synth}{USB Synth} |
94 |
\bibitem{USB_Synth}{USB Synth} |
77 |
\href{ http://www.mydarc.de/dg8saq/hidden/USB\_Synth3.zip}{http://www.mydarc.de/dg8saq/hidden/USB\_Synth3.zip} |
95 |
\href{ http://www.mydarc.de/dg8saq/hidden/USB\_Synth3.zip}{http://www.mydarc.de/dg8saq/hidden/USB\_Synth3.zip} |
78 |
|
96 |
|
79 |
\bibitem{USBI2C}{USBI2C01A} |
97 |
\bibitem{USBI2C}{USBI2C01A} |
80 |
\href{http://wiki.mlab.cz/doku.php?id=cs:usbi2c}{http://wiki.mlab.cz/doku.php?id=cs:usbi2c} |
98 |
\href{http://wiki.mlab.cz/doku.php?id=cs:usbi2c}{http://wiki.mlab.cz/doku.php?id=cs:usbi2c} |
81 |
|
99 |
|
82 |
\bibitem{pymlab}{pymlab} |
100 |
\bibitem{pymlab}{pymlab} |
83 |
\href{http://wiki.mlab.cz/doku.php?id=cs:pymlab}{http://wiki.mlab.cz/doku.php?id=cs:pymlab} |
101 |
\href{http://wiki.mlab.cz/doku.php?id=cs:pymlab}{http://wiki.mlab.cz/doku.php?id=cs:pymlab} |
84 |
|
102 |
|
85 |
\bibitem{pic_firmware}{PIC firmware} |
103 |
\bibitem{pic_firmware}{PIC firmware} |
86 |
\href{http://www.mlab.cz/Modules/Clock/CLKGEN01B/SW/DG8SAQ\%20synthesiser\_Emulator/firmware.hex}{http://www.mlab.cz/Modules/Clock/CLKGEN01B/SW/DG8SAQ\%20synthesiser\_Emulator/firmware.hex} |
104 |
\href{http://www.mlab.cz/Modules/Clock/CLKGEN01B/SW/DG8SAQ\%20synthesiser\_Emulator/firmware.hex}{http://www.mlab.cz/Modules/Clock/CLKGEN01B/SW/DG8SAQ\%20synthesiser\_Emulator/firmware.hex} |
87 |
|
105 |
|
88 |
|
106 |
|
89 |
\end{thebibliography} |
107 |
\end{thebibliography} |
90 |
\end{document} |
108 |
\end{document} |