Skip to content

Commit c1f31ad

Browse files
authored
Merge pull request #27 from BerkeleyLab/doc_revision
Doc revision
2 parents 5d36bdd + 2b41785 commit c1f31ad

20 files changed

Lines changed: 98 additions & 107 deletions

README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
# Marble board
22

3-
LBNL: Dual FMC (HPC & LPC) NAD Carrier
3+
Marble is a dual FMC FPGA carrier board developed for general purpose use in particle accelerator electronics instrumentation. It is currently under development and the base platform for two accelerator projects at DOE: ALS-U (the Advanced Light Source Upgrade at LBNL and the LCLS-II HE (the Linac Coherent Light Source II High Energy upgrade).
44

5-
A general purpose carrier board, sized to satisfy needs of some BPM and LLRF applications
5+
![marble](docs/marble.jpg)
66

7-
Status: under development, prototype in testing
7+
The design responds deployment needs in an accelerator environment: reliability, ability to be remotely programmed, safety watchdog, self monitoring, etc. It is intended to be the base digital design for instrumentation electronics, with the capability of connecting to different I/O or analog front ends through the FMC connectors, and is optimized for cost effectiveness for deployments of hundreds of units. It is based on a Network Attached Device (NAD) approach, where high-speed serial links serve as the communication backbone with other systems in the accelerator.
88

99
## Basic Idea
1010

1111
![block diagram](docs/block_k3.png)
1212

1313
## Tools
1414

15+
The Marble design is fully Open Source (licensed under the CERN Open Hardware License v1.2) and designed using Open Source tools (KiCAD).
16+
1517
The schematic/layout tool used is [KiCad EDA](http://www.kicad-pcb.org/)
1618
version 5.1.8; you can feel comfortable using KiCad version 5.1.x, where x ≥ 5.
1719
Other versions will very likely either not read the files
@@ -32,10 +34,6 @@ See more comments about KiCad versions in [design/scripts/README.md](design/scri
3234
* U35: Maxlinear [XRP7724](https://www.maxlinear.com/product/power-management/universal-pmics/universal-pmics/xrp7724) Quad PWM Power Controller
3335
* Y1: Taitien [TXEAADSANF-25.000000](https://www.taitien.com/wp-content/uploads/2015/12/XO-0076_TX.pdf) 25 MHz VCTCXO
3436

35-
## (Almost) Reality:
36-
37-
![layout](docs/marble_top.png)
38-
3937
## Auxiliary documentation
4038

4139
25-page schematics like this are a modern reality, but that doesn't mean they
@@ -73,3 +71,9 @@ That's a *different board*: 4xSFP instead of 2xQSFP, and no SO-DIMM socket
7371
are the most obvious indicators.
7472
You can go [directly](https://github.com/BerkeleyLab/Marble-Mini/releases/tag/v1.0rc3)
7573
to the documentation related to that manufacturing run.
74+
75+
## Credits
76+
77+
The initial design is supported by the Berkeley Accelerator Controls and Instrumentation (BACI), a DOE High Energy Physics (HEP) General Accelerator R&D (GARD) program and carried out by the Accelerator Technology Group (ATG) at LBNL, in collaboration with the Warsaw University of Technology (WUT) and Creotech Instruments in Poland.
78+
79+
The board was designed by Michal Gaska (WUT) and Larry Doolittle (LBNL) is the mastermind behind the design. Michael Betz, Vamsi Vytla, Sergio Paiagua and Eric Norum (LBNL) have also contributed to the design and supporting software and firmware throughout the development.

docs/marble.jpg

2.1 MB
Loading

docs/marble_test_guide/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
all: Marble_Test_Guide.pdf
2+
3+
%.pdf: %.tex
4+
pdflatex -interaction nonstopmode -halt-on-error -file-line-error $<
5+
6+
clean:
7+
rm *.pdf
-10.3 KB
Binary file not shown.

docs/marble_test_guide/Marble_Test_Guide.tex

Lines changed: 58 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
\usepackage{enumitem}
88
\usepackage{listings}
99
\usepackage[svgnames]{xcolor}
10-
\usepackage{subfig}
10+
11+
1112

1213
\setlist{leftmargin=*}
1314
\usepackage{listings}
@@ -28,11 +29,7 @@
2829
\graphicspath{{figures/}} %Setting the graphicspath
2930
\renewcommand\abstractname{Introduction}
3031

31-
32-
33-
3432
\title{Marble -- Factory Acceptance Tests\\ \small{v1.0 2020}}
35-
\author{Michał Gąska, michalgaska2@gmail.com}
3633

3734
\begin{document}
3835

@@ -50,10 +47,10 @@
5047

5148
\clearpage
5249

53-
\section{Overview to Marble module}
50+
\section{Overview}
5451

5552
\begin{leftbar}
56-
Design files are open source and can be downolad from Gilhub:
53+
Design files are open source and can be downloaded from GitHub:
5754

5855
https://github.com/BerkeleyLab/Marble
5956
\end{leftbar}
@@ -66,26 +63,26 @@ \section{Overview to Marble module}
6663
\end{leftbar}
6764

6865
\subsection{Hardware requirements}
69-
To perform all of the tests following hardware are required:
66+
To perform all tests the following hardware is required:
7067
\begin{enumerate}
71-
\item Lab bench power supply.
72-
\item Micro USB calbe.
73-
\item QSFP loopback module.
74-
\item FMC Tester module.
75-
\item Multimeter.
68+
\item Lab bench-top power supply.
69+
\item Micro USB cable.
70+
\item QSFP loopback module.
71+
\item FMC Tester module.
72+
\item Multimeter.
7673
\item MMC JTAG (example: SEGGER J-LINK mini).
77-
\item FPGA JTAG (example: Digilent JTAG HS3).
74+
\item FPGA JTAG (example: Digilent JTAG HS3).
7875
\end{enumerate}
7976

8077
\subsection{Software requirements}
81-
To perform all of the tests following software are required:
78+
To perform all tests the following software is required:
8279
\begin{enumerate}
8380
\item Vivado 19.1.
84-
\item Serial port terminal.
81+
\item Serial port terminal.
8582
\end{enumerate}
8683

8784
\section{Power connection}
88-
Before connecting the power supply for the first time, check that the main bus is not shorted. Using a multimeter set in resistance measurement mode, measure the resistance between metal pads of the J19 connector (Figure \ref{01}).
85+
Before connecting the power supply for the first time, check that the main bus is not shorted. Using a multimeter set in resistance measurement mode, measure the resistance between metal pads of the J19 connector (Figure \ref{01}).
8986
\begin{figure}[H]
9087
\begin{center}
9188
\includegraphics[width=0.9\linewidth]{J19.png}
@@ -96,8 +93,8 @@ \section{Power connection}
9693
Measured resistance should be around \textbf{{\color{red}200 kOhm}}
9794
\end{leftbar}
9895

99-
If the resistance is correct, connect the main power. For this purpose, the current limitation on the power supply should be set to 100mA and the voltage to 12V. \textbf{Make sure that the current limit of the laboratory power supply is on.} Now the power cable can be connected to the board and the used laboratory power supply channel can be switched on.
100-
This should result in the \textit{12V} LED lighting up as shown on Figure \ref{02}. Now it is recommended to go to section \nameref{microcontroller}.
96+
If the resistance is correct, connect the main power. For this purpose, the current limitation on the power supply should be set to 100mA and the voltage to 12V. \textbf{Make sure that the current limit of the laboratory power supply is on.} Now the power cable can be connected to the board and the used laboratory power supply channel can be switched on.
97+
This should result in the \textit{12V} LED lighting up as shown on Figure \ref{02}. Now it is recommended to go to section \nameref{microcontroller}.
10198
\begin{figure}[H]
10299
\begin{center}
103100
\includegraphics[width=0.8\linewidth, angle = 180]{xrpoff.png}
@@ -108,25 +105,25 @@ \section{Power connection}
108105
\section{Microcontroller programing}
109106
\label{microcontroller}
110107

111-
Download the latest version of the microcontroller testing code from github:
108+
Download the latest version of the microcontroller testing code from GitHub:
112109
\begin{leftbar}
113-
https://https://gitlab.lbl.gov/spaiagua/marble\_mmc/-/tree/i2c\_rework
110+
https://gitlab.lbl.gov/spaiagua/marble\_mmc/-/tree/unified\_marble
114111
\end{leftbar}
115112

116-
A recent version of OpenOCD (v0.10.0 or later) is required.
113+
A recent version of OpenOCD (v0.10.0 or later) is required.
117114
\begin{enumerate}
118-
\item Connect JTAG module to \textbf{J14} like it is shown on Figure \ref{23}.
119-
\item Connect the micro USB cable and using the serial terminal, connect to the last serial port for the new listed in the operating system. Use 115200 boudrate.
115+
\item Connect JTAG module to \textbf{J14} as shown on Figure \ref{23}.
116+
\item Connect the micro USB cable and using the serial terminal, connect to the last serial port for the new listed device in the operating system. Use 115200 baudrate.
120117
\item Power up the board.
121118
\item Program the microcontroller using the following commands:
122119
\begin{enumerate}
123120
\item Go to the main folder of the downloaded repository.
124-
\item Open command terminal and run command:
121+
\item From the command line, run the following:
125122
\begin{lstlisting}[backgroundcolor = \color{Gainsboro}, language=bash, frame=none]]
126123
$ make download
127124
\end{lstlisting}
128125
\end{enumerate}
129-
\item After the successful programming, a menu in the serial terminal should appeared and LEDs (LD15, LD11, LD12) should blink in the "snake" pattern.
126+
\item After successful programming, a menu in the serial terminal should appear and LEDs (LD15, LD11, LD12) should blink.
130127
\end{enumerate}
131128

132129
\begin{figure}[H]
@@ -139,7 +136,7 @@ \section{Microcontroller programing}
139136

140137

141138
\section{Power Supply programing}
142-
Before doing the steps below, it is highly recommended to measure if there are no shorts on power rails. Measure resistance between the test points:
139+
Before doing the steps below it is highly recommended to verify that there are no shorts on the power rails. This can be done by measuring the resistance between the test points:
143140

144141
\begin{enumerate}
145142
\item \textbf{TP12 (GND)} and \textbf{TP7 (+2V0)}.
@@ -161,15 +158,15 @@ \section{Power Supply programing}
161158
\end{center}
162159
\end{figure}
163160

164-
Perform the following steps only and exclusively when there are no shorts on the power rails!
161+
\textbf{Warning:} Only perform the following steps if there are no shorts on the power rails.
165162
\begin{enumerate}
166-
\item Connect the micro USB cable and using the serial terminal, connect to the last serial port for the new listed in the operating system. Use 115200 boudrate.
167-
\item Set up votage to 12V and the current limit to 1A on lab power supply.
163+
\item Connect the micro USB cable and, using the serial terminal, connect to the last serial port for the new device listed in the operating system. Use 115200 baudrate.
164+
\item Set up voltage to 12V and the current limit to 1A on a lab power supply.
168165
\item Power up the board.
169166
\item From the menu displayed in the serial terminal, select the option \menu{g) XRP7724 go}.
170-
\item Make a power cycle by turning off and on the lab power supply.
171-
\item All power LED indicators should be on (Figure \ref{leds}).
172-
\item Using multimeter measure voltage between points:
167+
\item Power cycle by turning the lab power supply Off and then On.
168+
\item All power LED indicators should be On (Figure \ref{leds}).
169+
\item Using multimeter measure the voltage between the test points:
173170
\begin{enumerate}
174171
\item \textbf{TP12 (GND)} and \textbf{TP7 (+2V0)} - expected voltage: +2.0V.
175172
\item \textbf{TP12 (GND)} and \textbf{TP9 (+1V0)} - expected voltage: +1.0V.
@@ -192,36 +189,36 @@ \section{Power Supply programing}
192189
\end{figure}
193190

194191
\section{FPGA programing}
195-
Download the latest version of the FPGA testing code from github:
192+
Download the latest version of the FPGA testing code from GitHub:
196193
\begin{leftbar}
197-
https://github.com/BerkeleyLab/Bedrock/tree/marblev2
194+
https://github.com/BerkeleyLab/Bedrock/
198195
\end{leftbar}
199196

200197
\begin{leftbar}
201-
Before testing the FPGA it is recommended to set up the current limit to 2A on the lab power supply.
198+
Before testing the FPGA it is recommended to set up the current limit to 2A on the lab power supply.
202199
\end{leftbar}
203200
\subsection{FMC test}
204201
\begin{leftbar}
205202
Board power should be turned off when inserting and removing the FMC module.
206203
\end{leftbar}
207204
\begin{enumerate}
208-
\item Plug FMC Tester module to one of the FMC connector as it is shown on Figure \ref{fig:example}.
209-
\item Connect the micro USB cable and using the serial terminal, connect to the last serial port for the new listed in the operating system. Use 115200 boudrate.
210-
\item Change the network adapter settings to connect with static \textbf{192.168.9.10} IP address.
211-
\item Connect Marble to the computer using an ethernet cable.
205+
\item Plug FMC Tester module to one of the FMC connectors as shown on Figure \ref{fig:example}.
206+
\item Connect the micro USB cable and, using the serial terminal, connect to the last serial port for the new device listed in the operating system. Use 115200 baudrate.
207+
\item Change the network adapter settings to connect with static IP address \textbf{192.168.9.10}.
208+
\item Connect Marble to the computer using an Ethernet cable.
212209
\item Power up the board.
213210
\item In the serial terminal menu choose \menu{4) GPIO control
214-
>a) FMC power} to turn on power for FMCs.
211+
>a) FMC power} to turn on power to the FMCs.
215212
\item Program the FPGA using the following steps:
216213
\begin{enumerate}
217214
\item Go to the folder \textbf{Bedrock/projects/test\_marble\_family/}
218-
\item Open command termianal and run command:
215+
\item Open command terminal and run command:
219216
\begin{lstlisting}[backgroundcolor = \color{Gainsboro}, language=bash, frame=none]]
220217
$ mutil usb
221218
\end{lstlisting}
222219
\end{enumerate}
223-
\item To make a test do the following steps:
224-
\begin{enumerate}
220+
\item To run a test do the following steps:
221+
\begin{enumerate}
225222
\item Go to the folder \textbf{Bedrock/projects/test\_marble\_family/}
226223
\item To test P1 FMC connector run the following command:
227224
\begin{lstlisting}[backgroundcolor = \color{Gainsboro}, language=bash, frame=none]]
@@ -236,13 +233,11 @@ \subsection{FMC test}
236233
\end{enumerate}
237234
\end{enumerate}
238235

239-
\begin{figure}[H]%
240-
\centering
241-
\subfloat[\centering FMC 1]{{\includegraphics[width=7cm]{fmc1.png} }}%
242-
\qquad
243-
\subfloat[\centering FMC 2]{{\includegraphics[width=7cm]{fmc2.png} }}%
244-
\caption{FMC connectors with plugged FMC Tester board.}%
245-
\label{fig:example}%
236+
\begin{figure}[H]
237+
\begin{center}
238+
\includegraphics[width=0.9\linewidth]{fmc_tester.png}
239+
\caption{FMC connectors FMC Tester board plugged in.}
240+
\end{center}
246241
\end{figure}
247242

248243
\subsection{QSFP test}
@@ -252,18 +247,18 @@ \subsection{QSFP test}
252247
\end{leftbar}
253248
\begin{enumerate}
254249
\item Plug QSFP loopback module to one of the ports.
255-
\item Plug FPGA JTAG module.
250+
\item Connect FPGA JTAG programmer.
256251
\item Configure FPGA using \texttt{marble\_ibert.bit} bit file.
257252
\begin{enumerate}
258253
\item Run Vivado
259254
\item Go to \menu{Flow>Open Hardware Manager} and then \menu{Tools>Auto Connect}
260-
\item Click \menu{Tools>Program Device>xc7k160t\_0} to open the programming window.
255+
\item Click \menu{Tools>Program Device>xc7k160t\_0} to open the programming window.
261256
\item Choose the \textit{bitstream file} and click \menu{Program}
262257
\end{enumerate}
263-
\item After the successful programming, the Dashboard should start automatically.
258+
\item After successful programming, the Dashboard should start automatically.
264259
\item Detect links by clicking \menu{Serial I/O Links>Auto-detect links}
265-
\item Correct detected and working links should look like in figure \ref{links}.
266-
\item Connect the QSFP loopback module to the other QSFP connector and repeat the above steps.
260+
\item Correctly detected and working links should appear as shown in figure \ref{links}.
261+
\item Connect the QSFP loopback module to the other QSFP connector and repeat the steps above.
267262
\end{enumerate}
268263

269264
\begin{figure}[H]
@@ -279,14 +274,14 @@ \subsection{Ethernet test}
279274
\item Program the FPGA using the following steps:
280275
\begin{enumerate}
281276
\item Go to the folder \textbf{Bedrock/projects/test\_marble\_family/}
282-
\item Open command termianal and run command:
277+
\item Open command terminal and run command:
283278
\begin{lstlisting}[backgroundcolor = \color{Gainsboro}, language=bash, frame=none]]
284279
$ mutil usb
285280
\end{lstlisting}
286281
\end{enumerate}
287-
\item Change the network adapter settings to connect with static \textbf{192.168.9.10} IP address.
288-
\item Connect Marble to the computer using an ethernet cable.
289-
\item In Linux command terminal run:
282+
\item Change the network adapter settings to connect with static IP address \textbf{192.168.9.10}.
283+
\item Connect Marble to the computer using an Ethernet cable.
284+
\item Ping the board:
290285
\begin{lstlisting}[backgroundcolor = \color{Gainsboro}, language=bash, frame=none]]
291286
$ ping 192.168.9.10
292287
\end{lstlisting}
@@ -316,13 +311,9 @@ \subsection{An alternative way to program FPGA}
316311
\begin{enumerate}
317312
\item Run Vivado
318313
\item Go to \menu{Flow>Open Hardware Manager} and then \menu{Tools>Auto Connect}
319-
\item Click \menu{Tools>Program Device>xc7k160t\_0} to open the programming window.
314+
\item Click \menu{Tools>Program Device>xc7k160t\_0} to open the programming window.
320315
\item Choose the \textit{bitstream file} and click \menu{Program}
321316

322-
\item After the successful programming, the Dashboard should start automatically.
317+
\item After successful programming, the Dashboard should start automatically.
323318
\end{enumerate}
324-
\begin{thebibliography}{99}
325-
%\bibitem{web1} \url{http://bit.ly/PhysLab_Link01}
326-
%\bibitem{web2} \url{http://bit.ly/PhysLab_Link02}
327-
\end{thebibliography}
328-
\end{document}
319+
\end{document}
701 KB
Loading
-36.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)