jakub matyas - m-labs
TRANSCRIPT
Institute of of Electronic Systems
in the field of study Electronics
and specialisation Electronics and Computer Engineering
Precise PID controller for quantum applications
Jakub Matyasstudent record book number 277464
thesis supervisor
Krzysztof Pozniak, Ph.D., D.Sc.
WARSAW 2020
Precise PID controller for quantum applications
Abstract. Realization of the world’s first Bose–Einstein Condensate in 1995 has opened
a door for conducting research in the field of quantum physics on the atomic or even
sub–atomic scales. Since then, a number of scientific laboratories around the world
have started performing quantum physics experiments. Running this kind of experi-
ment, however, requires advanced hardware and software to control its various aspects
such as driving laser sources used to trap atoms or ions. In this thesis, a design of a
PID (proportional–integral–derivative) controller for such applications is described. It
aims to be compatible with the ARTIQ (Advanced Real–Time Infrastructure for Quantum
physics) control system and Sinara hardware, both of which are open–source projects.
The developed PID controller provides an input and output voltage range of ±10 V. Its
measured bandwidth and latency are no worse than 1 kHz and 1 ms, respectively.
Keywords: PID controller, ARTIQ, Sinara, frequency lock loop, real–time control system
3
Precyzyjny kontroler PID do zastosowan kwantowych
Streszczenie. Zaobserwowanie w 1995 r. po raz pierwszy kondensatu Bosego–Einsteina
umozliwiło przeprowadzanie badan z dziedziny fizyki kwantowej w skali subatomowej.
Od tego momentu, wiele laboratoriów naukowych na całym swiecie rozpoczeło realizacje
eksperymentów kwantowych. Jednakze przeprowadzanie tego typu badan wymaga uzycia
zaawansowanego sprzetu i oprogramowania, które umozliwiałyby sprawowanie kon-
troli nad roznymi aspektami eksperymentów. Za przykład moze posłuzyc kontrolowanie
laserów, które sa uzywane do oswietlania chmury atomów i jonów w celu złapania ich w
pułapki magnetyczno–optyczne. W niniejszej pracy opisany został proces realizacji regula-
tora PID (proporcjonalno–całkujaco–rózniczkujacego, ang. proportional–integral–derivative)
stworzonego miedzy innymi do wspomnianych wyzej zastosowan. Został zaprojektowany
z załozeniem kompatybilnosci z systemem ARTIQ (Advanced Real-Time Infrastructure
for Quantum physics, pol. Zaawansowana Infrastruktura Czasu Rzeczywistego dla Fizyki
Kwantowej) i sprzetem z rodziny Sinara. Zrealizowany regulator PID zapewnia poprawna
prace i regulacje przy zakresie napiec wejsciowych i wyjsciowych ±10 V. Zmierzone pasmo
i latencja sa nie gorsze niz, odpowiednio, 1 kHz i 1 ms. Petla synchronizacji czestotliwos-
ciowej
Słowa kluczowe: regulator PID, ARTIQ, Sinara, petla synchronizacji czestotliwosciowej,
system sterujacy czasu rzeczywistego
4
załącznik nr 10 do zarządzenia
nr 46 /2016 Rektora PW
Politechnika Warszawska
Warsaw University of Technology
1 / 2
………........................ miejscowość i data
place and date
…………………………….. imię i nazwisko studenta name and surname of the student
…………………………….. numer albumu student record book number
…………………….………. kierunek studiów field of study
OŚWIADCZENIE
DECLARATION
Świadomy/-a odpowiedzialności karnej za składanie fałszywych zeznań oświadczam,
że niniejsza praca dyplomowa została napisana przeze mnie samodzielnie, pod opieką
kierującego pracą dyplomową. Under the penalty of perjury, I hereby certify that I wrote my diploma thesis on my own, under the
guidance of the thesis supervisor.
Jednocześnie oświadczam, że: I also declare that:
niniejsza praca dyplomowa nie narusza praw autorskich w rozumieniu ustawy z dnia
4 lutego 1994 roku o prawie autorskim i prawach pokrewnych (Dz.U. z 2006 r. Nr 90,
poz. 631 z późn. zm.) oraz dóbr osobistych chronionych prawem cywilnym,
this diploma thesis does not constitute infringement of copyright following the act of 4
February 1994 on copyright and related rights (Journal of Acts of 2006 no. 90, item 631 with
further amendments) or personal rights protected under the civil law,
niniejsza praca dyplomowa nie zawiera danych i informacji, które uzyskałem/-am
w sposób niedozwolony,
the diploma thesis does not contain data or information acquired in an illegal way,
niniejsza praca dyplomowa nie była wcześniej podstawą żadnej innej urzędowej
procedury związanej z nadawaniem dyplomów lub tytułów zawodowych,
the diploma thesis has never been the basis of any other official proceedings leading to the
award of diplomas or professional degrees,
wszystkie informacje umieszczone w niniejszej pracy, uzyskane ze źródeł pisanych
i elektronicznych, zostały udokumentowane w wykazie literatury odpowiednimi
odnośnikami,
all information included in the diploma thesis, derived from printed and electronic sources,
has been documented with relevant references in the literature section,
znam regulacje prawne Politechniki Warszawskiej w sprawie zarządzania prawami
autorskimi i prawami pokrewnymi, prawami własności przemysłowej oraz zasadami
komercjalizacji.
I am aware of the regulations at Warsaw University of Technology on management of
copyright and related rights, industrial property rights and commercialisation.
5
załącznik nr 10 do zarządzenia
Politechnika Warszawska nr /2016 Rektora PW
Warsaw University of Technology
Oświadczam, że treść pracy dyplomowej w wersji drukowanej, treść pracy dyplomowej
zawartej na nośniku elektronicznym (płycie kompaktowej) oraz treść pracy dyplomowej
w module APD systemu USOS są identyczne. I certify that the content of the printed version of the diploma thesis, the content of the electronic
version of the diploma thesis (on a CD) and the content of the diploma thesis in the Archive of
Diploma Theses (APD module) of the USOS system are identical.
............................................... czytelny podpis studenta
legible signature of the student
6
Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1. Magneto-optical trap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2. Frequency locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1. Servo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3. Existing control systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.1. PXI Systems and LabVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.2. NQontrol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.3. Quantum Computing Control System . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.4. ARTIQ and Sinara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2. Thesis genesis, goal and technical assumptions . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1. Genesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2. Goal and assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3. Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1. Hardware setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2. Stages of the implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3. Two approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.1. ARTIQ implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.2. Bare–metal implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4. Controller development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1. ARTIQ implemetation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.1. Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.2. Communication with Zotino . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.3. Communication with Sampler . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.4. Integration and control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2. Bare–metal implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.1. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.2. Setting PGIAs’ gains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2.3. Infinite Impulse Response filter . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.4. Control over digital to analog converter . . . . . . . . . . . . . . . . . . . . . . 32
4.2.5. Pin assignment and signals conversion . . . . . . . . . . . . . . . . . . . . . . 35
4.2.6. Servo module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5. Tests and measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.1. Testing procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2. Tests of the ARTIQ–based implementations . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.1. Implementation with immediate conversion to volts . . . . . . . . . . . . . . 42
5.2.2. Implementation without conversion to volts . . . . . . . . . . . . . . . . . . . 46
5.3. Tests of the bare–metal implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.4. Tests and measurements summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7
0. Contents
6. Conclusion and thesis summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.1. Further work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
List of Symbols and Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
List of Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8
1. Introduction
The introduction of the quantum theory in the early 20th century and its extensive
confirmation within the next few decades have been a major step towards understanding
the principles of the quantum world and, what is probably even more exciting, the Uni-
verse itself. When a gaseous Bose–Einstein Condensate (BEC) was realized in 1995 for the
first time [1], a door to study particle’s world not only theoretically, but also experimentally,
was opened as wide as never before. After over 70 years of research, Einstein’s prediction
regarding condensation of atoms has been finally confirmed. The team led by Eric Cornell
and Carl Wiemann at the JILA laboratory in Boulder, Colorado, having achieved world first
gaseous condensate in a gas of rubidium-87, laid the foundation for the field of cold atoms
and a new branch of atomic physics. Since then, over 50 research groups across the globe
have made BECs [2] and until 2009 a BEC has been achieved for 12 atomic species [3].
Bose–Einstein Condensate may be in principle described as a state of matter in which a
large number of identical particles occupy a single [3]. This means that when a BEC occurs,
multiple atoms behave as a single entity which allows scientists to study the complicated
world of quantum physics by observing and conducting research on a ‘superatom’, instead
of extremely small single atoms [4]. Being able to explore the behaviour of systems
at atomic and subatomic length scales is essential to make significant discoveries and
advancements in modern science and technology. Even though the filed of cold atom
research is still in its early years of development, studies conducted on BEC have already
made an impact on today’s industry and science. In particular, Bose–Einstein Condensates
are used in quantum experiments aiming to achieve the next generation of improved
atomic clocks with better accuracy, based on optical transitions instead of microwaves
ones [5]. Furthermore, due to BEC being a coherent wave, an atomic laser may be produced
soon and used, e.g. in the process of nanolithography or applied to any application that
requires well–controlled beams of atoms [6]. Atomic interferometry based on BEC has
also proved itself a versatile tool for measuring inertial forces or physical constants [5].
Even though these applications are already extremely useful, Bose–Einstein Condensate
may be applied in the field that has gained the exceptional popularity throughout the last
few years, and which is believed to be a breakthrough in the field of computational power:
quantum information. On one hand, following Richard Feynman’s suggestion that neither
the world nor quantum mechanical effect should be simulated by a classical computer
because they are not classical [7], a quantum simulation is developed [8]. On the other
hand, BEC is used as a platform for processing qubits with the aim to build a quantum
computer [5].
It is clear that even though the first Bose–Einstein Condensate was realized 25 years
ago, there is a lot yet to be discovered in the field of quantum mechanics Thanks to
achievements of previous generations of scientists, the world is on the verge of the ’Second
Quantum Revolution’. The timing is perfect, as science is facing the challenge of the end
9
1. Introduction
of Moore’s law, while the world is in desperate need for constant advancement in terms of
processing power [9].
1.1. Magneto-optical trap
At the foundation of achieving Bose–Einstein Condensate lays ion or neutral atom
cooling and trapping. Although trapping may be performed using for example Ioffe-
-Pritchard trap or Paul trap (the latter of which works for charged particles [10]), usually
the magneto–optical trap ( MOT) is used, because of its simplicity of construction and its
depth [11]. The concept seems to be straightforward, as William D. Phillips and Harold J.
Metcalf once stated [12]:
’Atoms are slowed and cooled by radiation pressure from laser light and then
trapped in a bottle whose "walls" are magnetic fields. Cooled atoms are ideal for
exploring basic questions of physics’
However, the idea of temperature in the sentence above might be misleading and should
be taken into careful consideration. Thermodynamics connects temperature to a state’s
parameter of a closed system in thermal equilibrium and its potential to exchange heat,
which is not applicable to laser cooling, because atoms constantly absorb and scatter light.
Additionally, light cannot be treated as heat. In this case, temperature is recognized as an
atom sample’s average kinetic energy, which is reduced by laser light [13]. Therefore, in
principle, the first step to achieve cold atoms is to slow down atomic beams. It can be done
with the use of momentum transfer that happens when an atom absorbs a photon. Each
act of absorption reduces atom’s velocity by ħkm (single photon’s velocity) [14]. Due to the
Doppler effect, the photon’s frequency is up-shifted when atoms are propagating towards
the laser source. Therefore, to ensure that photons are absorbed only by those atoms, the
laser frequency is tuned slightly below the atomic resonant frequency. In order to achieve
cooling across all dimensions, it is necessary to illuminate gas of atoms with three pairs
of circularly polarized orthogonal laser beams of the proper frequency. Furthermore, to
successfully trap atoms, application of a magnetic field is necessary. Laser beams are
responsible not only for slowing down atoms, but also, thanks to radiation pressure that
converges on the centre of the gas chamber, for creating a force that traps atoms inside.
Applying a magnetic field of quadruple distribution acts as a control on this force [11].
Having achieved enough densities after cooling and trapping, certain atoms undergo a
transition — one sought after by physicists for decades Bose–Einstein Condensation.
Cooling down and trapping atoms is a process that needs applying a particular fre-
quency of laser beams that is slightly detuned from the atomic resonant frequency. If
a laser beam of longer or shorter wavelength was used, fewer atoms would be trapped
and achieving BEC would become even more problematic. Therefore, a precise reference
laser source is used, with which other lasers are synchronised. To ensure that each laser
10
1. Introduction
beam that illuminates a gas of atoms is of the desired wavelength, a frequency locking
mechanism is needed.
1.2. Frequency locking
When clouds of atoms are to be cooled down and trapped, a need for a control
system that adjusts laser source frequency to the set value arises. Fortunately, even
though cooling lasers need to be set to precise values, for many applications phase coher-
ence is not required [15], and simple frequency offset lock is sufficient. Since frequency
offset locking is based on a feedback loop, commonly used control systems are based
on proportional—integral–derivative (PID) controller. One of the common controlling
schemes is to modulate laser light directly with electric current. On the upside, it is simple
and robust. On the downside, its non–linearity and heating limits the practical band-
width [16], while laser output wavelength drifts with modulating current. However, when
higher bandwidth and stability is needed, acousto-optic modulation (AOM) is commonly
used. A simplified frequency offset locking scheme, used for example in [17], is shown in
figure 1.1.
Figure 1.1: Simplified frequency offset locking scheme
Since optical frequencies are usually too high to measure them directly, scaling down
is required. It can be done by combining beams from a reference laser source and the
controlled one. Achieved optical beat note is then mixed with stable frequency from
radio frequency (RF) local oscillator (LO), and their difference is fed into phase-frequency
detector (PFD). Based on PFD output, servo, which is a workhorse of the control system,
drives the controlled laser appropriately.
11
1. Introduction
1.2.1. Servo
Thanks to its flexibility, ease of implementation and robustness, the PID controller
is among the most popular regulators used in electronics. A generic PID controller’s
application, with its particular parts specified, is shown in figure 1.2.
The PID regulator’s mathematical model is well–developed and described in numerous
papers. Despite its many advantages, one has to bear in mind that a feedback loop control-
ling scheme has drawbacks as well. Probably the most noticeable one is its susceptibility
to becoming unstable when not designed properly [18]. This property requires a designer
to carefully study plant’s impulse response and adjust the controller gains (proportional,
integral and derivative) in order to avoid positive feedback, which may result in uncon-
trolled behaviour or even the system being damaged. The controller’s output signal can
be described with the following equation [19]:
u(t ) = Kp e(t )+Ki
t∫0
e(τ)dτ+Kdde(t )
d t, (1.1)
where u is a control variable (CV), e is the error signal and equals to r − y , with r being the
setpoint (SP) — value to which y is desired to converge — and y being the process variable
(PV) measured from the plant’s response to the control signal.
Figure 1.2: A generic closed feedback control loop
The control signal consists of three terms: proportional, integral and derivative. As Hes-
heng Wang shows in [20], each of them is responsible for a different closed–feedback–loop–system
behaviour:
• proportional gain (Kp ) makes controller’s output proportionally big to error signal,
however, does not eliminate steady–state error and easily makes the controller prone
to becoming unstable;
• integral action (Ki ) allows to eliminate steady–state error, but is likely to cause
12
1. Introduction
overshooting — it accumulates past values of error signal and based on them acts
proportionally to Ki ;
• derivative action (Kd ) counteracts overshooting and improves the system’s stability.
According to Murray and Aström [19], most PID controllers’ implementation lacks a
derivative part. Therefore, they point out, term PI controller is more appropriate in that
case. Murray and Aström, however, argue that term PID controller may be used as well, as
a more general one for this class of regulators. The same convention is followed in this
thesis.
1.2.1.1. Implementation of PID controller in FPGA
With coming of the digital era, cheap integrated circuits and high–speed controllers
have become available on an unprecedented scale. It was only a matter of time when the
industry started using digital control systems (for example field–programmable gate array
(FPGA) based). What makes digital control so appealing is mostly its efficiency and ease of
implementation.
System analysis and design may be a daunting task when done in the continuous–time
domain only, especially when it includes some sort of digital control. To ease that task,
system’s behaviour is often represented in various domains — each of them aims to
provide information about the system’s nature or characteristics and is used for different
applications and purposes.
While every system exists in the time domain, it is often convenient to consider its
response in the complex frequency domain (S–plane) [21]. The mathematical tool that
allows to transit a signal from continuous–time to continuous–frequency domain is the
Laplace transform, which is defined as
L { f (t )} = F (s) =∫ ∞
0f (t )e−st d t , (1.2)
where s is a complex frequency variable.
When it comes to discrete–time signals, the ones used in digital systems, the Z–transform
is of great importance — it is a counterpart of the Laplace transform for continuous–time
signal that transits a signal to Z–plane, instead of S–plane. The Z–transform of sequence
x[n] is defined as
Z {x[n]} = X (z) =∞∑
n=0x[n]z−n , (1.3)
where z is a complex continuous variable [22].
Both transforms are presented in unilateral versions, which means that they become
non–zero at either t = 0 or n = 0, and this convention is commonly used in digital signal
processing literature — since the system does not recognize values of a signal before the
time t = 0.
13
1. Introduction
Every control system action is based on the modification of the signal’s wave shape,
and therefore, can be considered and described as a digital filter. A system response can
be either infinite, which happens when the filter’s output is computed by using current
and previous input samples and previous output sample, or finite, when its response is
dependent only on input samples. This means that the finite impulse response (FIR) filter
is a special case of the infinite impulse response (IIR) filter [23]. Filters, in general, are
often described with the following difference equation:
y[n] =N∑
i=0bi x[n − i ]−
N∑i=1
ai y[n − i ]. (1.4)
As a result of performing the Z–transform on equation 1.4, the filter’s transfer function in
the discrete zero–pole domain, which is defined as a ratio of the Z–transform of the output
signal to the Z–transform of the input signal, is obtained:
H(z) = Y (z)
X (z)= b0 +b1z−1 +b2z−2 + ...+bN z−N
a0 +a1z−1 +a2z−2 + ...+aN z−N. (1.5)
As mentioned in the previous section, the PID controller is a closed feedback loop
system; therefore its output depends linearly on both input and output values. This
property allows one to treat a PID controller as an infinite impulse response filter and its
transfer function may be described in continuous–frequency domain as [19]:
H(s) = Kp +Ki1
s+Kd s. (1.6)
To improve timing and processing performance, many FPGA manufacturers in their
design include modules, that are dedicated specifically to performing calculations on
binary vectors in digital signal processing (DSP). As an example of a such DSP block, Xilinx
DSP48E2 may be used [24]. Implementation of a digital filter in FPGA is a task DSP modules
have been designed for, and are included in FPGA integrated circuits. Thus a common
way of implementing digital PID regulators in FPGAs involves usage of those DSP blocks.
However, PID controller coefficients used in continuous–time domain equations have to
be converted to the domain in which the digital control circuit exists for the control system
to do its job. A general way to calculate the digital biquad filter coefficients is transforming
the controller’s transfer function from S–plane to Z–plane representation, which can be
achieved using e.g. bilinear transformation, and comparing the result with equation 1.5.
In order to perform the bilinear transformation, one has to substitute s in equation 1.6
with 2T · 1−z−1
1+z−1 [21], where T is a sampling period. Having transformed equation 1.6 after
the substitution, the PID controller’s transfer function in a canonical form is obtained:
H(z) = (Kp + Ki T2 + 2Kd
T )+ (Ki T −Kd T )z−1 + (−Kp + Ki T2 + 2Kd
T )z−2
1− z−2. (1.7)
14
1. Introduction
To find PI controller’s transfer function, all coefficients from derivative term have to be
removed:
H(z) = (Kp + Ki T2 )+ (−Kp + Ki T
2 )z−1
1− z−1. (1.8)
Comparing equations 1.7 and 1.8 with IIR filter transfer function (equation 1.5) allows
the extraction of coefficients that make the IIR filter play the role of either a PID or PI
controller. Calculated filter coefficients are presented in table 1.
Table 1: Dependency of IIR filter’s coefficients on PID conroller’s coefficients
IIR coefficient PID PI
b0 Kp + Ki T2 + 2Kd
T Kp + Ki T2
b1 Ki T −Kd T −Kp + Ki T2
b2 −Kp + Ki T2 + 2Kd
T 0
a0 1 1
a1 0 −1
a2 −1 0
1.3. Existing control systems
The vast variety of tasks and the increasing number of applications in which Bose–Einstein
Condensate is used requires enormous sets of often incompatible hardware (often from
different electronic eras). Since almost no quantum information experiment is the same,
connecting, controlling and integrating various equipment becomes challenging. More-
over, quantum gas experiments usually consist of not only creating BEC but also con-
trolling other external equipment and basing the system’s feedback on the outcome of
certain algorithms. The new wave of quantum experiments in microgravity or even in
space [25]–[27], poses a challenging demand for miniaturization of control systems.
Issues mentioned above are not the only ones that a modern control system for quan-
tum information experiments has to overcome. In order to obtain good control of the
experiment’s flow, the system should be as close to real–time as possible.
A few full-stack solutions exist and are under development, like IBM Q, Google or
D–Wave. However, their main concern is to build a quantum computer and run quantum
algorithms aiming to solve real–world problems, and are not to run custom physical
quantum experiments.
15
1. Introduction
There are few off the shelf solutions for controlling quantum experiments. As stated in
[28], systems available until recently suffered either from poor timing control in exchange
for ease of use, or from difficulties in programming in favour of tight timing thanks to
implementation on programmable chips. Vlad Negnevitsky in [29] states that the majority
of research groups performing atom or ion trapping construct their own custom–built
control system out of a combination of commercially available components.
There are, however, a few solutions used in quantum information experiments, i.e.
National Instruments PXI Systems and LabVIEW [30], NQontrol based on ADwin digital
control platform [31], Zurich Instruments Quantum Computing Control System [32] or
ARTIQ software with Sinara hardware [33]. Each is described briefly below.
1.3.1. PXI Systems and LabVIEW
National Instruments offer a system for high performance measurement and pro-
cessing applications with a wide range of modular input and output (I/O) instruments
(more than 600) [34]. It provides two different synchronization schemes: time–based and
signal–based, and the NI–TClk delivers modular synchronization of up to a few hundred
ps [35]. In the platform that incorporates the Peripheral Component Interconnect Express
(PCIe) bus into the PXI system, the achievable latency is of hundreds nanoseconds order
of magnitude [36]. The system is not flawless, though. The fastest modules are meant to
be used only sequentially and performing concurrent tasks is not allowed. Surprisingly,
the main disadvantage of the system is probably the software. Although LabVIEW is a
well–known programming environment, being proprietary software makes it impossible
to review even old source codes without purchasing a paid license.
1.3.2. NQontrol
The problem with proprietary software does not occur when NQontrol is used. It
is a control system developed specifically to provide loop control of hardware, that is
obtainable with the use of a software package written in Python. It is capable of handling
up to 8 control loops running simultaneously at the sample rate of 200 kHz. The achievable
control bandwidth, however, is limited to several kHz due to phase delay [31]. NQontrol
is limited only to control loops and cannot be used as an off the shelf solution to control
various quantum information experiments because of its inability to perform tasks other
than just the control loop itself.
1.3.3. Quantum Computing Control System
Zurich Instruments offers precise, ready to use equipment for performing quantum
physics experiments. The Quantum Computing Control System (QCCS) consists of four
components, three of which are shown in figure 1.3 and listed below:
• HDAWG Arbitrary Waveform Generator, with bandwidth up to the 750 MHz [37];
• UHFQA Quantum Analyzer;
16
1. Introduction
• PQSC Programmable Quantum System Controller — allows to synchronize the whole
setup [38].
Figure 1.3: QCCS modules; image taken from [32]
QCCS’s fourth component is the LabOne control software. One of its key features is that it
is fully compatible with the other three devices. Furthermore, it supports many of popular
programming languages used by physicists, including i.a. Python, C or MATLAB [39]. On
the downside, QCCS is a fully proprietary system. Therefore scalability and modifying
possibilities that could provide better system’s adjustment to laboratory equipment and
specific quantum experiment are limited.
1.3.4. ARTIQ and Sinara
ARTIQ
ARTIQ (Advanced Real–Time Infrastructure for Quantum physics) is a software created
with the aim to provide real–time control over the quantum physics experiments. Although
it was firstly developed in collaboration with National Institute of Standards and Technol-
ogy (NIST), it is supported by a growing number of researchers and scientific institutions
across the globe [33] thanks to being an open–source project. ARTIQ is based on Python
and tries to join the expressivity of an interpreted language with timing performance of
custom FPGA design. Thanks to its time–critical part being compiled (called kernel) and
executed on FPGA (called core device), it is able to achieve nanosecond resolution and
sub-microsecond latency [40]. A non–time–critical task may be easily interfaced with
Python remote procedure call (RPC) from a host computer. ARTIQ uses hybrid architecture
with a central processing unit (CPU) implemented in FPGA logic [29]. Due to its goal of
fulfilling modern physics laboratories’ demands for a versatile quantum information con-
trol system, ARTIQ provides a graphical user interface (GUI) and supports i.a. controlling
digital inputs and outputs (DIO), RF generation hardware, digital–to–analog (DAC) and
analog–to–digital (ADC) converters [41].
In order to control hardware for quantum physics experiments with a high–level pro-
gramming language, low–level drivers are needed. In ARTIQ, these are created using Migen
— a Python–based tool that aims to ease very large-scale integration (VLSI) system design
and introduces synchronous and combinatorial orientated programming. It allows to
17
1. Introduction
design gateware with Python and takes advantage of various notions available in high-level
programming languages, such as object–orientated programming etc. [42].
Sinara
Sinara is a product family that has been designed for ARTIQ–based quantum exper-
iments. Thanks to being constructed under the CERN Open Hardware License (CERN
OHL), scalabilty can be achieved and laboratories may adapt the hardware to their needs,
as long as they publicly announce their changes and designs.
Figure 1.4: Example of Sinara family devices’ setup in a crate; image taken from [43]
The family consists of a core device (at first it was KC705 board, but now usually either
Kasli board with Xilinx Artix-7 FPGA [44] or Metlino board with Xilinx Kintex UltraScale
KU040 FPGA is used), that controls slave devices using ARTIQ’s distributed real-time
input/output (DRTIO) protocol, and a number of extension modules of choice [43]. A
large amount of hardware design was done at the Warsaw University of Technology at the
Institute of Electronic Systems. A list of available extension modules (i.a. DAC board, ADC
board or direct digital synthesizer (DDS) board) can be found on the Sinara’s main wiki
page: [43]. The motivation behind the Sinara project was to produce open–source devices
that would allow physics research groups from across the globe to reproduce and reuse
hardware needed to perform quantum information experiments. Furthermore, it is meant
to reduce the amount of duplicated designs and work in different physics labs, because, as
mentioned in [29], many research groups conducting quantum information experiments
develop their own control system optimized for their specific use case.
18
1. Introduction
1.3.5. Summary
A brief summary of existing control systems presented above is shown in table 2.
Even though NI control system provides a great number of modules with wide range
of application and one of the best timing resolution and latency in its class, the ARTIQ
software and the Sinara hardware family are chosen by the group that supports this thesis
project. The necessity to use the LabVIEW software and the PXI being the proprietary
hardware were too big disadvantages to choose this system. Latency and resolution offered
by the ARTIQ and the Sinara are of the similar order of magnitude as those in NI system,
therefore the timing cost of using an open–source system in this case is almost negligible.
Table 2: Summary of existing control systems features
NI PXI andLabVIEW
NQontrol QCCSARTIQ and
Sinara
Open–source no yes no yes
Multi–purpose yes no yes yes
Modular yes N/A yes yes
Amount ofmodules
over 600 13 + LabOne
software18 and
increasing
Resolution10–100
picoseconds forsome modules
N/A N/A nanosecond
Latencyhundreds of
nanosecondsN/A
< 100nanoseconds
sub--microsecond
19
2. Thesis genesis, goal and technical assumptions
2.1. Genesis
This thesis project has been developed in collaboration with Optical Metrology Group
(QOM) of Humboldt University of Berlin (HUB), where several pieces of research regarding
quantum physics (i.a. creating rubidium Bose–Einstein Condensate) and atoms’ behaviour
in the state of microgravity are currently being conducted (for example: [45], [46]). Their
needs to reduce weight, dimensions and to be able to control quantum experiments with
one simple interface were met by ARTIQ and Sinara hardware. Even though modular
nature of the Sinara project allowed to design and run quantum physics experiments of
various kind with a wide range of laboratory equipment, there was no easily interfaced,
ready–to–use servo to modulate connected laser sources directly (with electric current),
which was imposed by laboratory equipment.
A simplified diagram of the process the QOM needed to control and connections
between its particular components is shown in figure 2.1.
Figure 2.1: Block schematics of the controlled process
Optical frequency signal emitted by controlled laser source was mixed with optical
frequency signal from a stabilized on an atomic rubidium transition reference laser source
in order to obtain the difference of the two (both of them were of the hundreds of THz
order of magnitude). The frequency difference (GHz order of magnitude) — a beat note
— was then detected by a fast photodiode and immediately converted to a voltage signal.
The resulting frequency was scaled down and mixed with the radio frequency (RF) from
a local oscillator — a process setpoint. During this project the Urukul module (which is
guaranteed to be able to output frequency correctly up to 400 MHz [47]) played this role.
As a result, further frequency scaling down and an error signal were achieved, and after
20
2. Thesis genesis, goal and technical assumptions
the filtration with low–pass filter signal reached phase–frequency detector. PFD’s output
voltage was dependent on the lock type the system operated in — when the frequency
lock was in use, the signal oscillated between −1 and 1 volt, whereas when the loop was
phase–coherent it took the form of a ramp signal. From the controller’s point of view, the
PFD’s output signal can be treated as an error signal.
2.2. Goal and assumptions
The need described above defined the goal of this thesis project, which was to design
a PID controller that would be useful in QOM’s quantum experiments and would be
accessible through a PC connected to the Sinara hardware. The phase coherence had not
been required from the control loop, therefore designed regulator was needed only to be
able to lock to the desired reference frequency.
The fundamental rule that had to be abided by was for the controller to be run on
the Sinara core and be built with the ARTIQ software and its auxiliary tools (for example
Migen). What is more, implementation of an anti–windup protection in the integral part
of the controller in order to allow it to react instantly on the change of the input signal,
even when the controller output signal remained at the rail for a longer period of time,
was compulsory. Implementation of the derivative part was not required. The laser source
should be modulated directly (this can be achieved by applying varying voltage to the laser
driver module) and the controller output should be able to set the control variable voltage
within a range of at least ±1 V. The input voltages to the controller should be supported in
a range of at least ±1 V as well. Furthermore, the regulator’s bandwidth, often defined as a
cut–off frequency where the closed–loop gain reaches the point of 3 dB difference from
the reference value [48], was required to be of at least hundreds of Hz order of magnitude.
Last but not least, the controller average latency should be not worse than 1 ms (with
accuracy of the half its sampling period).
21
3. Conception
3.1. Hardware setup
Hardware used in this thesis project to attain goals presented in section 2.2 consisted
of:
• the Kasli board, which is the FPGA–based controller;
• the Sampler board, which includes 8–channel, 16–bit ADC1;
• the Zotino board, that includes 32–channel, 16–bit DAC2;
• PC that provides user with the controlling interface to the whole Sinara hardware
via Kasli’s Ethernet or USB–JTAG (Universal Serial Bus – Joint Test Access Group)
connection.
The Kasli board was the only controller from the Sinara family that was available in
the laboratory at the time. Therefore, its usage was necessary to meet the requirement of
using the Sinara hardware and ARTIQ with its auxiliary tools. Although the whole ARTIQ
environment allows to port programs and solutions to new boards, doing so was outside
of this thesis scope.
Sampler is equipped with 8 integrated circuits that perform analog–to–digital conver-
sion with 16–bit resolution [49]. Moreover, thanks to the programmable–gain instrumen-
tation amplifiers that are mounted on the board, its input voltage ranges from ±10 mV up
to ±10 V [49]. As the Sinara project page states [49], the board’s sample rate reaches up to
1.5 MHz when the device is in a fast mode.
To meet the requirement set for the laser source to be modulated directly, the Zotino
board was chosen. It is a digital–to–analog converting module that allows setting its output
to the voltages in range of ±10 V [50] and provides a designer with the analogue bandwidth
of 75 kHz and the update rate of 1 MSPS (Mega–Samples Per Second).
To access and communicate with the designed control system and the Kasli board, a
PC was connected to the Kasli controller via either Ethernet (to interface the hardware
with ARTIQ software) or USB–JTAG cable (to access the FPGA directly.)
The Sinara modules’ connections to themselves and to the controlled process are
shown in figure 3.1. The PFD’s output voltage (the error signal) was sampled by the
Sampler board and forwarded to the Kasli controller. That is where the PID algorithm
was implemented and all the control over both connected modules was done. Based on
the error signal’s values and coefficients implemented by the user, the Kasli controller
performed calculations and sent their results to the DAC on the Zotino board. As a result,
the control variable that drove the laser source was set to the appropriate voltage value.
1See Appendix 1.1 for details on the Sampler board and its schematics.2See Appendix 1.2 for details on the Zotino board and its schematics.
22
3. Conception
Figure 3.1: Block schematic of the system used in the thesis project and their connections
3.2. Stages of the implementation
In the controller’s construction four main parts may be distinguished:
• initialization of both Sampler and Zotino;
• communicating with the Zotino board and setting desired values on its output;
• communicating with Sampler and accessing sampled values;
• actual control and integration of the other three parts.
3.3. Two approaches
Two different approaches of servo implementation were tested during the work on this
thesis project: implementing PID controller with ARTIQ (software implementation with
the time–critical part being compiled and run on the FPGA) and with Migen (bare–metal
implementation, which means that the whole program had to be compiled and then
flashed into the FPGA’s memory).
3.3.1. ARTIQ implementation
Sinara hardware is created with the goal to be compatible with ARTIQ control system;
therefore drivers that allow controlling the number of boards, including Zotino and Sam-
pler, had been already well–developed and incorporated into ARTIQ at the time of the
implementation. Thanks to the above and to the fact that ARTIQ is a subset of a high–level
programming language — Python — employment of each stage and designing the whole
script was easy to obtain, took little time and required almost no prior knowledge of the
protocols used by integrated circuits mounted on module boards. There are, however,
23
3. Conception
drawbacks to this solution — ARTIQ does not support concurrency, only parallelism (this
means, that two different events can occur at the same time, e.g. two independent DIO can
be set to take place at the same time, but nothing else can be processed until the parallel
block’s longest action has already ended). Therefore, implementing a closed feedback
loop controller with ARTIQ, prevents a user from further usage of the control system,
and thus from using all the Sinara family boards, alongside the regulator. What is more,
implementation in the software does not allow to fully exploit hardware’s possibilities
and significantly limits the controller’s available bandwidth, especially when it comes to
driving more DAC channels than one at the time.
3.3.2. Bare–metal implementation
The standard approach to bare–metal implementation in an FPGA would be to choose
either Verilog or VHDL as a hardware description language. Although it is possible to
incorporate Verilog code into the ARTIQ control system or to implement it directly in Kasli
FPGA’s logic, Migen was chosen for this task to meet the requirements described in section
2 and to keep better compatibility with the whole control environment. It is supposed
to be easier and more powerful than both of hardware description languages mentioned
above.
Due to the fact, that this approach lacks direct access from the ARTIQ level and is
implemented in FPGA logic, it overcomes the available bandwidth limit imposed by the
software controlling Sinara modules, but in result, no control over the regulator’s behaviour
is possible with ARTIQ. Having introduced synchronous and combinatorial blocks in
Migen, it’s creators made it support both sequential and parallel programming, following
the scheme present in modern FPGA programming paradigms. Available bandwidth,
therefore, is mainly dependent on the hardware constraints and on the implementation
itself. However, the bare–metal approach’s biggest flaw is that it has to be flashed into the
FPGA memory (either volatile or non–volatile), which means that it cannot be used in
parallel to the ARTIQ software. As a result the user cannot exploit full potential of ARTIQ
and Sinara to conduct experiments.
Moreover, contrary to the ARTIQ implementation, the bare–metal approach requires
the designer to carefully scrutinize data sheets of integrated circuits mounted on boards,
in order to get familiar with protocols they use to communicate with the master device —
the software drivers are accessible only from the ARTIQ level.
24
4. Controller development
4.1. ARTIQ implemetation
ARTIQ implementation was performed in two ways: one with the immediate conver-
sion of sampled values from machine units to volts, and one with only adjustment of
sampled values to the binary representation required by DAC integrated circuit instead.
The structure of both implementations is almost identical and the differences are limited
only to use of different functions to obtain or to produce value either in volts or machine
units.
Time–critical parts of the code are marked with a @kernel flag. In order for the compiled
function to return a value that may be used outside the compiled part of the code, some
kind of container (i.e. list or variable) for it has to be provided as a function’s argument. In
other case, the value may be returned with the Python return statement.
4.1.1. Initialization
Initialization of both Zotino and Sampler boards is done by invoking a function initial-
ize_devs. It clears all real–time input/output first–in, first–out queues (FIFOs) and moves
the time cursor to the current value of hardware clock with a margin. Moreover, it sets
each channel’s gain of programmable–gain instrumentation amplifier (PGIA) to the given
value — input signal’s maximum amplitude that the module is able to sample correctly
depends on that — and initializes the Zotino board. Each operation has to be followed by
a delay by the appropriate amount of time — it sets the core device’s time cursor after the
operation is already done.
4.1.2. Communication with Zotino
Communication with the Zotino board is done by calling a function named write_-
output, which takes as arguments channel ‘number’ and ‘value’: ‘number’ parameter sets
the number of DAC channel the data is written into, and the ‘value’ is the DAC’s output
value in volts. What is more, this function drives the ldac (load data) line low, in order for
the DAC to know that the data sent is valid, and prevents the output value from being out
of Zotino’s operating range.
4.1.3. Communication with Sampler
In order to acquire sampled values of the error signal, a function sample has to be
invoked. Since sampling is a time–critical operation, a Python list object — values — is
passed to the function as an argument. Values is a list of variables in which sampled data
from ADC channels is stored. In case of the implementation with conversion to volts,
variables inside the list are floating–point numbers, whereas in the other case, integers.
The length of the argument passed to sample is imposed by the functions controlling ADC
implementation — to deliver high transmission speeds of sampled data, Quad SPI mode
25
4. Controller development
to communicate with ADC is used. Therefore, only an even number of samples may be
acquired each time sampling takes place. The channel values are read sequentially.
4.1.4. Integration and control
According to the ARTIQ style of designing experiments, each part of the program is
implemented as a method of the class that inherits from the EnvExperiment module. In
case of this thesis project, the experiment controlling class is named PID_controller.
In order to run an ARTIQ experiment, two essential methods should be implemented
by the user: run, which may interact with the hardware and is the heart of the control flow
of the experiment, and build, which should be used to request for devices. What is more,
there is a prepare method overloaded, which is executed before the start of run function
and which asks the user to enter coefficients for the PID controller.
In addition, there are three independent methods implemented, that are responsible
for proportional multiplication, integral and derivative action, and are named propor-
tional_multiply, integral_part and derivative_part respectively.
4.1.4.1. Proportional part
Method responsible for the proportional part, takes K_p coefficient and sampled value
of signal — error — as arguments, performs multiplication of them and returns the result.
4.1.4.2. Integral part
The integral part requires three arguments: error, the same value as in the proportional
part, integral_in, which is the integrator output from the previous iteration, and coefficient
K_i. What is more, the anti–windup protection is implemented, which prevents the
integrator from adding next values, in case the sum of previous samples has exceeded
the operating values of DAC. Therefore, PID controller is able to react immediately when
the error signal changes and does not have to wait until the sum falls again into the range
of the DAC operating voltages. The method returns two variables: the updated value of
integral_in as the sum of all samples of error and integrated_out, which is the integrator’s
reaction on the current error value.
4.1.4.3. Derivative part
The method responsible for the PID controller’s derivative action requires, similarly
to the integral part, three arguments: error, which is the same value — corresponding to
the error signal — as in the both parts described above, last_error, which equals to the
previous value of error, and the coefficient — K_d. This method returns two variables:
last_error and derivative_out, which is the method’s reaction on the incoming signal.
4.1.4.4. Run method
The actual integration of all PID controller’s components and control of the loop takes
place inside this method. In an infinite loop, ADC channels are sampled using the method
26
4. Controller development
sample, each controller part’s contribution to the output value is calculated either in
parallel. Eventually, all contributing values are summed up and written to the DAC with
the write_output method. Listing 4.1 shows the example of the infinite loop where the
sampling, calculating and writing to Zotino is done.
Listing 4.1: ARTIQ main loop
while True:
self .sample(values)
delay(400*us)
with parallel:
prop_out = self.proportional_multiply (values[6], self.Kp)
integral_in, integrated_out = self.integral_part (values[6], integral_in, self .Ki)
last_error, derivative_out = self.derivative_part (values[6], last_error, self .Kd)
result = prop_out + integrated_out + derivative_out
self .write_output(self.DAC_channel, result)
4.2. Bare–metal implementation
PID controller (actually the PI controller, but, as mentioned in section 1, term PID in
this paper is used, as a more general one to describe this class of controllers) had already
been implemented with Migen, but its usage was limited to only acousto–optic modulation
with the Urukul board used to control external devices. Since it made use of the ADC driver,
it performed control with the module that had been implemented in FPGA’s dedicated
circuit for digital signal processing and was proven to be working correctly, a decision to
base implementation described in this thesis on already existing solution has been made.
Therefore what was needed to be done was the implementation of the DAC driver, careful
and thorough examination of the existing controller’s implementation and adjustment of
the module that is managing, controlling and integrating all parts.
4.2.1. Architecture
Overview of the controller’s architecture implemented with Migen is presented in
figure 4.1. Each of the modules inherits from the Migen’s Module class, which defines
special attributes that are used to describe classes’ logic, in particular, synchronous and
combinatorial statements. The top class is Servo, which integrates all components neces-
sary for the implementation of a control loop, and is in charge of the control over each
device.
Migen, similarly to VHDL or Verilog, interprets signals as single–ended ones, whereas
the Sinara boards require from the Kasli controller usage of the low–voltage differential
signalling (LVDS) standard; therefore conversion of signals that were to be used outside of
the FPGA was needed. Due to the fact, that Migen creators had already developed classes
for that purpose, the conversion could be obtained with little coding, and thus placed in
the same file a component had been described in. However, in order to keep the code
27
4. Controller development
as transparent as possible, a decision to separate the module’s description and signals’
conversion into independent files was made. Hence, separate ’Pads’ classes for modules
that need to communicate with components outside the Kasli board were created. Also,
they serve the purpose of assigning data lines used by modules to the Eurocard Extension
Module (EEM) connectors’ pins.
Figure 4.1: Block diagram of Servo and its submodules
The bare–metal implementation of PID controller follows the construction scheme
presented in section 3.2. In this solution, contrary to the ARTIQ implementation, particular
functionalities were divided into separate modules, instead of functions. This way, each
module is responsible for one functionality or operation of one class of integrated circuits
only:
• PGIA allows to set each of the Sampler’s programmable–gain instrumentation ampli-
fiers’ gains to the desired value;
28
4. Controller development
• ADC implements control over sampling process;
• DAC with SPI are used to manage data framing and communication with the Zotino
board;
• in IIR module the infinite impulse response filter, that plays the role of the PI con-
troller, is implemented;
• in each of Pads modules, assignment of data lines and signals’ conversion is done;
• Servo module’s internal logic controls other four modules.
4.2.2. Setting PGIAs’ gains
Application of PGIA for each ADC channel, allows the Sampler to operate on a wide
range of input voltages (from ±10 mV up to ±10 V) without loss to the measurement’s
accuracy. Their initialization is performed by setting amplifiers’ pins corresponding to
the desired gain in accordance with table 5. in [51]. On the Sinara’s Sampler board PGIAs
are controlled by shift registers, whose output pins are set by the controller over Serial
Peripheral (SPI) lines. PGIA module’s block diagram is presented in figure 4.2.
Figure 4.2: PGIA module’s block diagram with input and output ports
Although shift register’s timing requirements would be satisfied, if Kasli’s internal clock
had been used to feed data into the register, a decision was made to slow output clock by
the factor of two, to ensure that data is recognized by the receiver correctly.
PGIA module communicates with the controller module inside the FPGA using three
pins: start, ready and initialized. Lines labelled as pads are connected to the lines used by
serial peripheral protocol and serve the communication with integrated circuits mounted
on Sampler board. Control over data transmission is done using the finite state machine
(FSM) that has five states: IDLE, SETUP, HOLD, RCLK and END. When the module is in
the IDLE state, it lets the master controller know that it is ready to transmit data by driving
the ready pin high. To begin a data transmission, the start pin has to be driven high by the
master device — a sequence that sets gains is latched and the state is changed to SETUP.
After beginning its operation, FSM alternates its state between SETUP and HOLD, as long
as there are still bits left to be sent; during the HOLD state both pads.srclk (shift register
clock) and pads.rclk (storage register clock) are driven high. If all 16 bits have been already
29
4. Controller development
transmitted, FSM switches to the RCLK state, which only purpose is to provide one storage
register clock cycle more, in order for the data in the shift register to propagate to their
desired positions. The FSM’s last state is END, during which initialized pin is driven high.
Listing 4.2 shows how the control over the module’s bit shifting with Migen is per-
formed. When the FSM is in the IDLE state, none of the 16 bits has been transmitted and
the bits_left signal keeps that value. Each time the FSM leaves the HOLD state, number of
bits left is decreased and the content of the sr_data signal is shifted by one position.
Listing 4.2: Example of control over the bit shifting
If (fsm.ongoing("IDLE"),
bits_left .eq(params.data_width)
) ,
If (fsm.before_leaving("HOLD"),
bits_left .eq(bits_left − 1),
sr_data.eq(Cat(sr_data[1:], 0))
) ,
Gain setting sequence is passed to the PGIA module as a constructor’s argument and
equals to the concatenation of eight 2–bits–wide vectors — each value sets the gain of one
of the PGIAs. Those vectors can be of the following values:
• "00" — results in PGIA’s gain of 1;
• "01" — results in PGIA’s gain of 10;
• "10" — results in PGIA’s gain of 100;
• "11" — results in PGIA’s gain of 1000.
One has to bear in mind that with the increasing of the PGIA’s gain, Sampler’s input voltage
range decreases proportionally.
4.2.3. Infinite Impulse Response filter
IIR module is the heart of the control system — it describes, as stated in its name, the
infinite impulse response filter. The majority of work regarding the implementation of
this module has been already done at the time of doing this thesis project. However, a few
modifications were needed for the filter to perform its task, when applied to this project.
The module implementation’s thorough examination has shown that IIR uses two
random–access memory (RAM) blocks. One is used for storing filter’s coefficients and
the second one, for current and previous input and output values. However, the existing
solution lacked the tool, that would allow to write into the module’s memory IIR filter’s
coefficients directly from the controller module in Migen. Values that are kept inside the
coefficient memory are the following:
• FTW0 and FTW1 — two parts of the frequency tuning word;
• POW — phase offset word;
• OFFSET — value added to the sampled word in order to reduce Sampler’s offset
error;
30
4. Controller development
• CFG — information about target ADC channel that is connected to the particular
DAC channel;
• B1, B0 and A1 — IIR filter’s coefficients.
The coefficient’s memory layout for one Servo’s channel is shown in figure 4.3 — the
pattern is repeated for every DAC channel used by the PI controller. Since two different
Figure 4.3: Module’s coefficient memory layout
values occupy the same memory address, it was essential for the access to one value not
to overwrite the second one. Therefore, masks, addresses and information, whether the
accessed coefficient is located in the higher or lower half of the address field, are calculated
inside the Servo module, and then passed as arguments to the IIR’s constructor. Coeffi-
cient’s writing process begins with accessing memory’s particular address and checking
the value that is already stored there. Then, the word’s half width is substituted with the
coefficient’s value and written back to the corresponding address’s memory field. The
scheme is repeated until there are not any coefficients left to be written into the memory.
Each coefficient needs at least the duration of the three clock cycles to complete the
task. When all the words are already inside the memory, IIR module signalizes it to the
Servo, by driving pin done_writing high. The whole operation is performed in parallel to
initialization of the PGIAs and the Zotino board, and is necessary to be completed before
servo begins controlling operation.
The module was created with the purpose of driving Urukul integrated circuit (IC) that
accepts amplitude scale factor (ASF) which is 14 bits wide. Since the DAC IC mounted
on the Zotino board is a 16–bit one, what was needed to be done here, was to ensure that
output data delivered to the DAC module was 2 bits wider than ASF. The filter’s output
value changes accordingly to the output vector’s widening, since its construction allows
the data to be even 25 bits wide. Widening of the vector was achieved by enabling the
filter to output signed values and by changing the number of bits, by which data was
shifted on its way out. The structure of the IIR filter, after changes described above being
applied, is presented in figure 4.4. Clipping, to either maximum or minimum value the
31
4. Controller development
two’s complement representation, plays the role of anti–windup protection and, what is
more, prevents the output signal from overflowing.
Figure 4.4: Structure of the IIR filter described inside the IIR module
The filter’s output signal for each channel (profile) is 64 bits wide and consists of ASF,
POW, FTW1 and FTW0 values— from the most significant to the least significant bits.
4.2.4. Control over digital to analog converter
The control over the digital to analog conversion takes place on two levels of abstrac-
tion. To the higher layer belongs the DAC module, which extracts information about the
target voltage, frames it with additional data and sends it to the lower–level controller —
SPI module. It, on the other hand, provides the PID regulator with transmission over data
lines adjusted to the Zotino’s IC requirements.
4.2.4.1. SPI module
SPI module is responsible for low–level communication with an integrated circuit that
performs digital to analog conversion (IC used on Zotino board is AD5372BCPZ [52] from
Analog Devices). Although the protocol used by the IC is described as a Serial Peripheral
Interface (hence the module’s name SPI) protocol, there are a few additional signal lines
used. However, it is the controller of the higher level — DAC module — that makes use of
those extra lines and from the SPI module’s perspective, it may be considered as a standard
SPI protocol. SPI module block schematic is shown in figure 4.5.
The module’s input ports consist of spi_start and dataSPI bus; width of the latter is
parameterized and equal to the data_width field of params tuple, that is passed as an
argument to the module’s constructor.
The module’s output ports fall into two categories: the ones that are used to com-
municate with other components inside the FPGA, and the ones used to drive data lines
connected to external devices. To the former category belongs spi_ready, which indicates
that the module is ready to accept new data and send them to the IC, whereas to the latter
belong ports labelled as pads. During ongoing data transmission, serial clock signal —
which is required to be slower than 50 MHz [52] — is sent to slave device over pads.sclk
line. When data transmission is over, pads.sclk line is kept low. Data received over dataSPI
32
4. Controller development
Figure 4.5: SPI component’s block diagram with input and output ports
line is latched and stored as a vector, and when start event is issued, vector’s content is
serialized and sent over pads.sdi line, most significant bit first. Pads.syncr line is used to
frame the data sequence — when driven low, pads.sdi and values are valid and should be
checked by the DAC on pads.sclk’s every falling edge. After every 24th bit sent, pads.syncr
has to be driven high for at least 20 ns, for the transmission to be accepted. Otherwise,
data would be recognized as corrupted and transmission would not be accomplished.
The SPI’s control over the transmission is implemented using a finite state machine
that has three states: IDLE, SETUP and HOLD.
When in the IDLE state, the SPI module drives both pads.syncr and spi_ready pins
constantly high. Whenever spi_start pin is issued, data from dataSPI is latched into the
shift register and the FSM’s state is changed to SETUP. Moreover, the counter responsible
for the clock_enable signal is launched. Its highest value is parameterized and equal to the
params.clk_width field. Each FSM state is entered on the rising edge of the FPGA’s clock,
but only if clock_enable condition is satisfied. It allows manipulating state’s duration and
the frequency of the clock sent to the IC. In addition, during the IDLE state, bits signal,
which is another counter that provides with information of how many bits are still to be
sent, keeps the value of data_width-1. During the SETUP state, pads.syncr is driven low
and the module enables the output clock. When the clock_enable signal is active, FSM
changes state to HOLD. Each time FSM enters the HOLD state, the number of bits inside
the shift register is checked, and if there are no bits left to be transmitted, the module
switches back to the IDLE state. Otherwise, the SPI module shifts data inside the shift
register by one position, decreases the bits counter by one and then, having launched
clock_enable counter, it switches back to SETUP state. Disabling the pads.sclk output takes
place in that state as well. This means that data on pads.sdi line is currently valid, because
IC collects data on each falling edge of the clock line. Because the DAC requires at least 10
ns of a delay between the 24th bit’s falling edge and the pads.syncr rising edge for data not
to be corrupted, going back to IDLE state is possible only when clock_enable is asserted.
When using the SPI module, one has to bear in mind that pads.syncr line has to be
33
4. Controller development
driven high for at least 20 ns. Therefore, the spi_start cannot be constantly tied high,
because the FSM would leave the IDLE state too soon and the IC would not recognize
data correctly. The control over that timing is not done inside this module — it is the DAC
module that takes care of it.
Listing 4.3 shows how to define the FSM in Migen and how the signals in the SPI
module’s IDLE state are driven. Each finite state machine has to be assigned as one of the
object’s submodules. In the first combinatorial statement the clock_enable signal is added
to the FSM, so this condition is checked in each state automatically.
Listing 4.3: Example of definition and one state of FSM
self .submodules.fsm = fsm = CEInserter()(FSM("IDLE"))
self .comb += fsm.ce.eq(clk_cnt_done)
self .comb += pads.sdi.eq(sr_data[−1])
fsm.act("IDLE",
self .spi_ready.eq(1),
pads.syncr.eq(1),
If ( self .spi_start,
NextState("SETUP"),
data_load.eq(1),
cnt_load.eq(1)
)
)
4.2.4.2. DAC module
DAC module performs three, equally significant, tasks: it derives information about
the voltage to be set from profile signal, wraps it in additional information regarding target
channels, and controls the SPI component. What is more, it coverts derived information
about the output voltage from the two’s complementary to the binary representation. If
it was not for this action, voltages on the Zotino’s output pins would not be set correctly.
DAC’s block diagram with input and output ports is shown in the figure 4.6.
Figure 4.6: Block diagram of DAC module
34
4. Controller development
Dac_start and dac_init ports are used by the master controller — in this case Servo
module — either to begin the DAC’s operation and data transmission to the Zotino board
or to perform initialization of the DAC’s IC. As soon as the controller drives the dac_init
signal high and the device has not yet been initialized, the SPI module sends a data
sequence that calibrates the DAC’s OFS0 register and sets dac_initialized high to let the
controller know that initialization is not needed any more. DAC begins its operation when
dac_start pin is driven high, and after transmission to all used channels has ended, it
drives dac_ready pin high. DAC component adds to the SPI output ports pads.ldac signal
— it has to be driven high only during initialization and is permanently tied low afterwards.
Similarly to the SPI module, DAC driver is implemented using FSM. What is more,
it only has three states as well: IDLE, INIT and DATA. When in IDLE state, dac_ready
pin is constantly asserted and module’s next state depends on dac_start and dac_init
pins. To ensure that SPI module’s pads.syncr pin is driven high long enough for the DAC
to recognize framing, timing control is implemented using a counter. It counts down
the clock cycles needed for a valid transmission — the number of bits to send times
params.clk_width times 2, plus 4 clock cycles. The additional four cycles are required for
the SPI to remain in IDLE state and drive pads.syncr line. When the dac_start is set, the
counter is launched and the FSM’s sate is changed to DATA. During ongoing IDLE state,
data from the profile bus is latched in a shift register, information about target channels is
added to it, and the word counter, that indicates how many words remain inside the shift
register, is set to the number of used channels. When in DATA, every time the number of
the clock cycles needed for one SPI transmission has elapsed, the number of words in the
shift register is checked. If there are still words to be sent, the counter is launched and the
words inside the shift register are shifted by the width of a single word. If all the data has
been sent and the shift register is empty, FSM switches back to the IDLE state. Every time
cycle counter is launched, the DAC module sets spi_start pin on the next clock’s rising
edge for the duration of one clock cycle.
Shifting data received from the IIR module, however, is needed. The ADC IC delivers
data in two’s complement 16–bit–wide representation. Even though the DSP block used by
FPGA handles two’s complementary operations smoothly, DAC IC requires data to be in
the binary representation. Thus, adding half of the range achievable on signal’s width was
done — thanks to overflow occurring when adding to the signed values, a shifted values
are obtained.
4.2.5. Pin assignment and signals conversion
Each pads module’s constructor takes two values as arguments: eem and platform.
The former one indicates the name of the board used by the module and the number of
EEM connector the board is connected to; the latter one marks the target platform on
which the program is to be executed. Passing them as arguments allows for the design to
be portable across different hardware setups and controller boards. Each of the platforms
35
4. Controller development
supported by Migen has a request method, that takes the name of the requested I/O tuple
as an argument and allows to gain access to its peripheral signals and pins used by the
FPGA. To illustrate how the board’s connectors and pins assignment are structured in
Migen, Zotino’s connector tuple is shown in listing 4.4
Listing 4.4: Example of Zotino’s I/O tuple structure
("zotino{}_spi_p".format(eem), 0,
Subsignal("clk", Pins(_eem_pin(eem, 0, "p"))),
Subsignal("mosi", Pins(_eem_pin(eem, 1, "p"))),
Subsignal("miso", Pins(_eem_pin(eem, 2, "p"))),
Subsignal("cs_n", Pins(_eem_pin(eem, 3, "p"))),
IOStandard(iostandard),
) ,
("zotino{}_spi_n".format(eem), 0,
Subsignal("clk", Pins(_eem_pin(eem, 0, "n"))),
Subsignal("mosi", Pins(_eem_pin(eem, 1, "n"))),
Subsignal("miso", Pins(_eem_pin(eem, 2, "n"))),
Subsignal("cs_n", Pins(_eem_pin(eem, 3, "n"))),
IOStandard(iostandard),
) ,
I/O tuple consists of the peripheral’s name, identity number, set of Subsignals and IOStan-
dard. Identity number allows to distinguish different instances of the same peripheral
— for example, different light–emitting diodes (LEDs). Thanks to the Subsignal helper
class, resources that use FPGA’s pins may be arranged in an easy to read way. What is
more Subsignal’s constructor structure is identical to I/O tuple, with the identity number
omitted. It allows to gain access to the FPGA’s specific pin to by using signals name. Finally,
IOStandard indicates the logic standard used by FPGA to drive those pins. A method of
requesting access to peripheral’s pins is presented in listing 4.5.
Listing 4.5: Example of the request method usage
spip = platform.request("{}_spi_p".format(eem))
spin = platform.request("{}_spi_n".format(eem))
ldacn = platform.request("{}_ldac_n".format(eem))
busy = platform.request("{}_busy".format(eem))
clrn = platform.request("{}_clr_n".format(eem))
As shown in listing 4.5, there are two I/O tuple instances of the close resemblance. This
is because each of the tuples corresponds to the polarity of the FPGA pins they drive. Thus,
there are four SPI lines connected to negative–polarity pins and four lines connected to
positive–polarity pins.
After pins are requested and accessed, a conversion from single–ended signals to
differential signalling is done. As mentioned in section 4.2.1, Migen creators developed
classes that aim to perform that task easily: DifferentialInput, DifferentialOutput and
DDROutput. Each of their constructor’s argument list consists of single–ended signal and
36
4. Controller development
two pins that are to be driven by the signal. Access to these pins by their name has to be
gained prior to the conversion with the request method.
Exemplary usage of conversion classes is shown in listing 4.6.
Listing 4.6: Conversion of single–ended signals to differential signalling
self .specials += [
DifferentialOutput(self.ldac, ldacn.p, ldacn.n),
DifferentialOutput(self.sdi, spip.mosi, spin.mosi),
DifferentialOutput(self.sclk, spip.clk, spin.clk),
DifferentialOutput(self.syncr, spip.cs_n, spin.cs_n),
DifferentialOutput(self.clr, clrn.p, clrn.n),
DifferentialInput(busy.p, busy.n, self.busy),
]
4.2.6. Servo module
The module that integrates all of the parts described above and is in charge of launch-
ing its every submodule is the Servo module. It has two pins to communicate with a
potential controller of higher level: start, which, when driven high, begins Servo single
iteration — reading the ADC channels’ values, processing them and then setting DAC
outputs accordingly, and done, which signals that Servo’s iteration has been completed.
The overall control of the data flow and four submodules, that communicate with
external Sinara boards, and connection of ADC, IIR and DAC channels to each other is
done by Servo’s logic. What was needed to be taken into consideration when having
planned assignments, was the fact, that the order of the channels had been reversed on
the Sampler board. To restrain latency introduced by the Servo’s components, sampling
of the ADC channels begins a precise amount of time before the processing and sending
data to DAC finishes. It allows the ADC to convey samples just in time the IIR and DAC
modules are ready for the next transmission.
The data flow and behaviour of components are defined inside Servo’s synchronous
and combinatorial statements: events that trigger components are combinatorial, whereas
asserting components’ readiness and the current state is done synchronously. Therefore,
components’ states are checked every time a rising edge of the Kasli’s internal clock
happens and action that results from those states occurs on the next rising slope. To
illustrate the difference between combinatorial and synchronous assignments, a simple
assignment of two variables was done — their timing dependencies are presented in figure
4.7 (both signals’ values are assigned when the condition signal is asserted).
The components’ states are stored inside the three–bits–wide Signal named active —
each bit corresponds to the current status of each device: third bit to DAC module, second
to the IIR module and the first bit to the ADC module. Whenever a component finishes
its task, Servo changes active bit in accordance with the action performed, provided the
37
4. Controller development
Figure 4.7: Example of synchronous and combinatorial assignments
Servo iteration has been issued. Each device is dependent on particular conditions that
have to be satisfied in order for it to operate:
• ADC begins sampling and data transfer to the Kasli, only if both Sampler’s PGIAs and
DAC are already initialized, the Servo iteration has been issued, filter coefficients
have been already written to the IIR’s memory and the amount of time for the IIR
and DAC modules to finish their current operation is sufficient;
• IIR module begins operation only if ADC is ready (it either has already sampled
signals or it did not start any action at all) and when the ADC start event has been
issued;
• DAC module starts transmission to the Zotino board only if IIR start event has been
issued and the IIR module either is currently in shifting phase or has already finished
operation.
Because initialization of DAC and PGIAs as well as writing the filter coefficients into
the IIR module’s memory is mandatory before the control loop starts, it is the first thing
the Servo module does when launched.
In addition to the logic described above, a function coeff_to_mu, that allow to convert
PID coefficients from the form used in equation 1.1 to the digital IIR filter coefficients
from equation 1.5, was implemented. The number of channels used by the PID controller
determines how many times the coeff_to_mu function is invoked. After invoking the
function, its results are passed as arguments to the IIR module’s constructor, where it is
written into the coefficient memory.
To ensure that all values and signals are settled after the FPGA’s initialization, the
beginning of the Servo’s operation has to be delayed. Therefore, a counter that counts
down the clock cycles from the specified in the Servo module amount. When it reaches
zero, the start_done line is asserted which is necessary for any other action, such as
initializing PGIAs or writing coefficients to the IIR module’s memory.
38
5. Tests and measurements
After the design process was finished, tests and measurements were conducted to
find out whether the implemented PID controller works properly. To ensure that each
of the controller’s terms — proportional, integral (and in case of ARTIQ implementation,
derivative as well) — functions as planned, they were tested separately, at first. If their
assessment result was positive, they were combined to form the whole PI controller, which
was then examined.
Since PID controller tuning is outside of this thesis scope, each of the coefficients, that
were used during tests of individual controller’s terms, was chosen arbitrarily — just to
illustrate that the regulator works as designed and demonstrate its features. However,
to conduct tests of the controller as a whole, a method proposed by Karl Johan Åström
in [53] to calculate the controller’s coefficients was followed. It is a modified version
of an open–loop Ziegler-–Nichols tuning method [54] with a few adjustments for use
with digital implementations, in which delay introduced by sampling period has to be
taken into account. Even though the Ziegler–Nichols method provides only moderately
good tuning [53], it allows to calculate regulator’s coefficients easily by taking only a few
measurements. The PID coefficients used during the controller’s testing can be found in
table 3.
Table 3: PID controller’s coefficients used during device testing
ARTIQBare–metal Test type
With conversion Without conversion
KP 2 2 2
P–T
ER
M
K I 0 0 0
KD 0 0 —
KP 0 0 0
I–T
ER
M
K I 2 2 2000
KD 0 0 —
KP 0 0 0
D–T
ER
M
K I 0 0 0
KD 5 5 —
KP 0.0048 0.0072 0.1007
PIK I 1.8415 4.3617 839.19
KD — — —
39
5. Tests and measurements
5.1. Testing procedure
In order to conduct each term’s unit test, the devices used during this thesis project
— the Kasli controller, the Zotino and the Sampler boards — and measuring equipment
were set up as shown in figures 5.1 and 5.2. It is essential to emphasize that each test and
measurement was performed with the control loop being open and the oscilloscope being
connected as a plant. The stimulus signal from the function generator played the role of
the process setpoint. However, since the loop was open and the error could not decrease
due to the controller’s action, the error signal was equal to the setpoint. Therefore, these
two terms are used interchangeably from now on.
Figure 5.1: Block schematic of the test setup
To ensure that the setpoint was within the regulator’s bandwidth and to prevent the
controller from saturating, sample rate for each controller’s implementation was estimated.
As a result, the signal fed to the Sampler board was set to the frequency of 100 Hz and
the amplitude (peak–to–peak) of 2 volts. The function generator, connected to the tested
hardware with a BNC cable, was set to produce sinusoidal wave (tests of the proportional
term), square wave (tests of the integral and the derivative actions) and a step change
(to calculate controller’s coefficients using the method suggested by Karl Johan Åström).
40
5. Tests and measurements
The oscilloscope and the test probe were used to observe the regulator’s response to the
stimulus signal and to take measurements.
Figure 5.2: Photograph of the test setup
Having established that all the terms worked as designed, the examination proceeded
to the phase of testing the PI controller as a whole. The test setup was identical to the one
presented in figures 5.1 and 5.2. However, during this phase, the regulator responses to
setpoint’s rapid changes were studied, instead of its waveform’s shape.
To examine the controller’s response to a sudden change of the setpoint, a voltage step
change was applied to the Sampler’s input. In the similar way the controller’s response to
the voltage spike on its input was studied. Because controller tuning has a great impact on
the system’s response, to avoid its influence the latency measurements were performed
with the integral term set to 0. Moreover, control system’s bandwidth heavily depends on
the controller coefficients as well. Thus measuring the implemented regulator’s frequency
response with precise instruments such as a vector network analyzer would not be a
sensible thing to do. Instead, the controller’s bandwidth was estimated from its multiple
responses to the step change.
In each of the figures presented below, the first trace shows the setpoint waveform,
whereas the second trace presents the control variable at the output of the Zotino board.
41
5. Tests and measurements
5.2. Tests of the ARTIQ–based implementations
ARTIQ–based implementations sample rates were estimated using the ARTIQ core’s
real–time input/output (RTIO) counter which counts the FPGA’s clock cycles. It allowed
retrieving absolute timestamps of the events associated with the beginning and the end
of the control cycle and computing their difference, which was the sample rate. Having
applied the sampling theorem [55], the system’s bandwidth was obtained and estimated.
5.2.1. Implementation with immediate conversion to volts
Proportional term
As shown in figure 5.3, the control variable’s amplitude is almost twice as big as the error
signal’s. This indicates that the proportional term works properly, as the ratio of output
and input signals stays in accordance with the gain coefficient specified in table 3. What
is worth noticing, is the fact that even though the wave’s frequency is relatively low —
only 100 Hz — the phase shift introduced by the controller to the controlled signal is not
negligible and visible with the bare eye..
Figure 5.3: Setpoint and control variable — test of the proportional term
Integral term
Since integral part of the PID regulator eliminates steady–state error by adding error
signal’s values from the past to the current sample, it may cause the CV to drift with
time due to the additional offset introduced by either the Sampler or the Kasli controller.
Therefore, to see the full CV’s waveform on the oscilloscope screen, the coupling was set
to AC (alternating current) when the regulator’s integral term was term was undergoing
testing.
42
5. Tests and measurements
In figure 5.4 the CV waveform is shown. It takes the form of a ramp signal, which is
the expected result of adding previous sampled values to each other. The flat parts of the
output waveform are the effect of anti–windup protection. If it had not been implemented,
the controller would not stop integrating and would try to set its output voltage to the
value that is beyond the hardware limits. Only two examples of this effect are indicated
with arrows in figure 5.4 to keep the its clarity.
Figure 5.4: Setpoint and control variable — test of the integral term
Derivative term
The controller’s derivative action is shown in figure 5.5. Similarly to its mathematical
model, it is a measure of how fast the function values change in a response to the function’s
arguments. Thus it forms a spike every time the setpoint is rapidly changed and stays at
the steady–state position in case no SP’s change occurred within the last sampling period.
Similarly to figure 5.3, the influence of the sampling period can be observed — the voltage
spikes lag a certain amount of time behind the setpoint’s change. However, it does not
prevent the controller’s derivative term from setting control variable properly.
43
5. Tests and measurements
Figure 5.5: Setpoint and control variable — test of the derivative term
PI controller
Figures 5.6, 5.7 and 5.8 present the PI controller responses to the impulse (100 µs
duration) and the step stimulation and measurements of the average latency, respectively.
What the testing revealed was that the regulator did not recognized the impulse and did
not respond to it at all. It is most likely the result of the controller’s bandwidth being too
small.
Figure 5.6: The controller impulse response
44
5. Tests and measurements
Figure 5.7: The controller step response
However, as shown in figure 5.7, a step change caused the PI controller’s reaction. Hav-
ing detected the voltage step, the regulator started integration. After it reached the point
of maximum voltage output, further integration was stopped thanks to the anti–windup
protection.
Figure 5.8: The controller average latency
The controller overall latency consists of not only the delay introduced by sampling,
processing data and communication with the DAC, but also of the delay caused by the
different moments of sampling the error signal. To include the latter’s influence, the
latency was measured from the moment when the setpoint changed to the average point
of time when the regulator responded. What is more, the deviation of the signal from
45
5. Tests and measurements
this point of time is equal to the controller’s sampling period. Having obtained this
parameter allowed calculating the regulator’s bandwidth. As a result, the average latency of
approximately 600 µs was measured and the bandwidth of around 1.2 kHz was calculated.
5.2.2. Implementation without conversion to volts
Giving up the conversion from machine units to volts allowed to spare some time
when it comes to the controllers sampling period. However, the results of each term’s
measurements are similar to those obtained during testing the implementation with the
immediate conversion to volts, and therefore are not extensively discussed. As presented
in figures 5.9–5.11 every part of the controller performs its tasks properly. What is worth
mentioning is that thanks to the improved bandwidth, the controller’s dead time — the
amount of time that has to elapse before the controller responds to the setpoint’s change
— decreased. Moreover, phase shift decreased as well. It is easily seen in figure 5.9, though.
The measurements of the controller’s step response resulted in calculating the con-
troller’s bandwidth: approximately 2.4 kHz, and its average latency: around 340 µs. In-
creased bandwidth and decreased latency can be observed in figure 5.11 as well — the
spikes caused by the derivative term are thinner and closer to the setpoint changes.
Figure 5.9: Setpoint and control variable — test of the proportional term
Although the regulator’s bandwidth increased, the change that was not big enough
for the PI controller to respond to the generated impulse signal and its impulse respone
matches the one presented in figure 5.6. The PI controller, similarly to the one from the
previous subsection, reacted on the step change of the input signal. Here as well, the
anti–windup protection worked and the regulator reacted almost instantly in spite of being
at rail for some time. It is illustrated by the waveform in figure 5.12.
46
5. Tests and measurements
Figure 5.10: Setpoint and control variable — test of the integral term
Figure 5.11: Setpoint and control variable — test of the derivative term
47
5. Tests and measurements
Figure 5.12: The controller step response
Figure 5.13: The controller average latency
48
5. Tests and measurements
5.3. Tests of the bare–metal implementation
Estimating the bare–metal implementation’s bandwidth required other approach than
the previous two. Control over the PI regulator from the ARTIQ level was not possible and
integration with the ARTIQ core’s RTIO had not been implemented either. Therefore, a
time of one servo cycle, which was calculated during the Servo module implementation
(see section 4.2.6) was used.
To compile and run the implementation, main and eem2 files were created. These
files served the purpose of the Servo module declaration and gaining access to the EEM
connectors associated with Zotino and Sampler. Listing 5.1 shows how the FPGA’s clock
buffer was accessed and assigned to the module’s clock signal. It presents how to build
the design as well. The code used for the bare–metal implementation testing is placed in
Appendix 2.1 and Appendix 2.2.
Listing 5.1: Example of clock signal assignment and build command
clk125 = plat.request("clk125_gtp")
m.specials += [
Instance("IBUFDS_GTE2", i_I = clk125.p, i_IB = clk125.n, o_O = clk_signal),
Instance("BUFG", i_I = clk_signal, o_O = servo.cd_sys.clk)
]
plat.build(servo, run=True, build_dir = "building/pid/{}ch/pgia{:0>4x}/Kp_{}_Ki_{}".format(
channels_no, pgia_init_val, Kps[0], Kis[0]), build_name = "top")
Proportional term
The improvement of controller’s action can be realized immediately — the waveform
generated by the proportional term is shown in figure 5.14. In this case, the controller
did not introduced any significant phase shift, while being fed with the error signal of the
frequency of 100 Hz. What is more, the amplification of the input signal by the factor of 2
was preserved.
Integral term
The integral action’s test result was positive, as well. As shown in figure 5.15, its response
to the square–shaped error signal was, however, much smoother than the responses of
the previous two implementations. It was achieved thanks to the controller’s much higher
sample rate.
49
5. Tests and measurements
Figure 5.14: Setpoint and control variable — test of the proportional term
Figure 5.15: Setpoint and control variable — test of the integral term
PI controller
Contrary to the both ARTIQ–based implementations, the bare–metal one successfully
detects the short impulse and generates a response based on that input. This, however,
may be of ambivalent significance. On one hand, it demonstrates that the bare–metal
implementation has the higher bandwidth than the ARTIQ–based ones. On the other hand
it may be sensitive to undesirable external disturbances. Application of filters on the input
50
5. Tests and measurements
of the PID controller should solve this problem when it occurs. The controller’s response
to the impulse is presented in figure 5.16, while its response to the step change in figure
5.17. What is of the extreme importance is the fact, that the controller reacts to the error
signal’s change almost immediately.
Figure 5.16: The controller impulse response
Figure 5.17: The controller step response
As a result of the measurements shown in figure 5.18, the controller’s bandwidth of
approximately 15.6 kHz and its average latency of around 31 µs were calculated. It is more
than tenfold improvement in terms of the latency in comparison with the best of two
ARTIQ implementations, and about fivefold in terms of the available bandwidth.
51
5. Tests and measurements
Figure 5.18: The controller average latency
5.4. Tests and measurements summary
Tests conducted on different PID controller implementations have shown that they
are able to provide at least the proportional–intergral type of control. The most important
parameters of each regulator, such as its bandwidth or latency, were measured and are
presented in table 4. What was realized is that the best control should be provided by
the PI regulator implemented as a bare–metal controller — its measured results were
significantly better than the other two’s. Since all the implementations are using the same
hardware and the same connections, this difference is a result of the ARTIQ software
working above the Kasli controller — it does not allow to fully exploit advantages of ADC
and DAC integrated circuits at the moment.
Table 4: Comparison of implementations’ parameters
ARTIQBare–metal
With conversion Without conversion
Bandwidth ≈1.2 kHz ≈2.4 kHz ≈15.6 kHz
Sampling period ≈400 µ s ≈200 µ s ≈32 µ s
Latency ≈600 µs ≈340 µs ≈31 µs
52
6. Conclusion and thesis summary
During this thesis project a new PID controller was developed. The first two stages
involved a pure software implementation of the regulator. This way of implementing
the proportional–integral–derivative controller’s functionality, in both cases resulted in
regulator’s small bandwidth. The second approach involved developing a PID controller,
as well, but rather directly in FPGA’s logic than in software. Its outcome should be seen
as a successful end of a project, since the controller’s bandwidth is of 15 kHz order of
magnitude. This implementation, however, could have been even more promising, if
some other DAC integrated circuit had been installed on the Zotino board. As stated in
IC data sheet [52], it needs more than 30 µs to settle its output before new data may be
processed, which makes it the main limiting factor to the regulator’s bandwidth.
What has to be taken into account is, however, the fact that the achieved bandwidth
does not guarantee the closed–loop control to operate at such high sample rates. The phase
shift, which was clearly visible with the bare eye in both ARTIQ–based implementations,
would probalby limit the system’s bandwidth.
From the three implementations, the last one — the bare–metal implementation
— has been shown to offer the best performance for a control loop. What is more, its
only disadvantage in comparison to the previous to, is the lack of the derivative part,
which, however, had not been required by the technical assumptions and is an acceptable
trade–off for the higher bandwidth and much smaller average latency.
All of the requirements set in section 2 has been fulfilled: the PID controller is run on
the Sinara hardware and has been developed using either ARTIQ or Migen; anti–windup
protection has been implemented and proved to perform its task properly in every im-
plementation. The process is driven directly with voltage using the Zotino board, which
allows setting the control variable in the range of ±10 V. The error signal is sampled by
the Sampler board, which is capable of accepting data in the voltage range of ±10 V as
well. Achieved bandwidth and latency are better than required — even in the worst case
scenario.
The devices used during this thesis projet can be put inside the rack for user’s conve-
nience, as shown in figure 6.1.
6.1. Further work
Although the controller is proved to be working and can be used to control laser sources
already, the most effective implementation’s application can cause some troubles for many
inexperienced users because its usage requires the knowledge on how to flash binaries
into the FPGA’s memory. What is more, the usage of the implemented PID controller
prevents the user from performing anything else on Sinara core. Therefore, the next step
of development should be to incorporate the bare–metal implementation into the ARTIQ.
53
6. Conclusion and thesis summary
Figure 6.1: Photograph of the hardware setup used in thesis project
It would allow using all of the hardware available, with the PID control loop running in
background. The development could go even further and the bare–metal implementation
could be adjusted to perform control loop on eight channels independently with little
effort.
In figure 6.2 the hardware setup used at Humboldt University of Berlin for performing
quantum physics experiments is presented. The connections are made with a laser source
to drive it with the control loop and with the PFD to sample the error signal. With the
dashed line the Sinara hardware family is marked.
54
6. Conclusion and thesis summary
Figure 6.2: Photograph of the hardware setup at HUB
55
References
[1] M. H. Anderson, J. R. Ensher, M. R. Matthews, C. E. Wieman, and E. A. Cornell,
“Observation of Bose-Einstein Condensation in a Dilute Atomic Vapor”, Science,
vol. 269, no. 5221, pp. 198–201, 1995.
[2] E. Hinds, K. Burnett, C. Foot, and E. Riis, “Bose–Einstein condensates”, (visited on
01.01.2020): https://www.iop.org/publications/iop/archive/file_52185.pdf, 2005.
[3] I. Yukalov V., “Cold Bosons in Optical Lattices”, Laser Physics, vol. 19, no. 2, pp. 1–100,
2009.
[4] NIST, “Bose-Einstein Condensate: A New Form of Matter”, (visited on 01.01.2020):
https://www.nist.gov/news- events/news/2001/10/bose- einstein-condensate-new-form-matter, 2001.
[5] L. Fallani and A. Kastberg, “Cold atoms: A field enabled by light”, Europhysics Letters,
vol. 110, no. 5, 2015.
[6] S. N. Staff, “First Atomic Laser”, (visited on 01.01.2020): https://www.sciencemag.org/news/1997/01/first-atomic-laser, 1997.
[7] M. Demmer, R. Fonseca, and F. Koushanfar, “Richard Feynman: Simulating Physics
with Computer”, (visited on 01.01.2020): http://bit.do/fisica_feynman.
[8] T. Bravo, C. Sabín, and I. Fuentes, “Analog quantum simulation of gravitational
waves in a Bose-Einstein condensate”, EPJ Quantum Technology, vol. 2, no. 1, 2015.
[9] T. N. Theis and H. S. Philip Wong, “The End of Moore’s Law: A New Beginning
for Information Technology”, Computing in Science & Engineering, vol. 19, no. 2,
pp. 41–50, 2017.
[10] B. M. Mihalcea, Dynamic stability for a system of ions in a paul trap, 2019. arXiv:
1904.13393 [physics.atom-ph].
[11] C. E. Wieman, D. E. Pritchard, and D. J. Wineland, “Atom cooling, trapping, and
quantum manipulation”, Reviews of Modern Physics, vol. 71, no. 2, S253–S262, 1999.
[12] W. D. Phillips and H. J. Metcalf, “Cooling and trapping atoms”, Scientific American,
vol. 256, pp. 50–56, 1987.
[13] H. J. Metcalf and P. Van der Straten, “Laser cooling and trapping of neutral atoms”,
The Optics Encyclopedia: Basic Foundations and Practical Applications, 2007.
[14] W. D. Phillips, “Nobel lecture: Laser cooling and trapping of neutral atoms”, Reviews
of Modern Physics, vol. 70, no. 3, pp. 721–741, 1998.
[15] M. Lipka, M. Parniak, and W. Wasilewski, “Optical frequency locked loop for long-term
stabilization of broad-line dfb laser frequency difference”, Applied Physics B, vol. 123,
no. 9, 2017.
[16] M. C. Wu, C. Chang-Hasnain, E. K. Lau, and Xiaoxue Zhao, “High speed modulation
of semiconductor lasers”, in 2008 International Nano-Optoelectronics Workshop,
IEE, 2008, pp. 9–10. DOI: 10.1109/INOW.2008.4634411.
57
6. References
[17] G. Puentes, “Laser frequency offset locking scheme for high-field imaging of cold
atoms”, Applied Physics B, vol. 107, no. 1, pp. 11–16, 2012. DOI: 10.1007/s00340-012-4898-8.
[18] K. J. Aström and R. M. Murray, “Introduction”, in Feedback Systems: An Introduction
for Scientists and Engineers, Princeton University Press, 2008, pp. 1–25.
[19] ——, “PID Control”, in Feedback Systems: An Introduction for Scientists and Engi-
neers, Princeton University Press, 2008, pp. 293–313.
[20] H. Wang, Digital PID control algorithm, (visited on 3.01.2020): http://robotics.sjtu.edu.cn/upload/course/1/files/Chapter51.pdf, 2016.
[21] Gorinevsky, Sampled Time Control, (visited on 13.01.2020): https://web.stanford.edu/class/archive/ee/ee392m/ee392m.1056/Lecture5_Digital.pdf.
[22] A. V. Oppenheim, J. R. Buck, and R. W. Schafer, “The Z transform”, in Discrete-Time
Signal Processing; 2nd ed. Princeton University Press, 1998, pp. 94–140.
[23] S. Raghunath, Digital Loop Exemplified, 2011.
[24] Xilinx, UltraScale Architecture DSP Slice — User Guide, (visited on 13.01.2020):
https://www.xilinx.com/support/documentation/user_guides/ug579-ultrascale-dsp.pdf.
[25] C. Vogt, M. Woltmann, H. Albers, D. Schlippert, S. Herrmann, E. M. Rasel, et al.,
Evaporative cooling from an optical dipole trap in microgravity, 2019. arXiv: 1909.03800 [physics.atom-ph].
[26] K. Frye, S. Abend, W. Bartosch, A. Bawamia, D. Becker, H. Blume, et al., The bose-einstein
condensate and cold atom laboratory, 2019. arXiv: 1912.04849 [physics.atom-ph].
[27] L. Liu, D. Lü, W. Chen, T. Li, Q. Qu, B. Wang, et al., Tests of cold atom clock in orbit,
2017. arXiv: 1709.03256 [physics.atom-ph].
[28] NIST, Open-Source Software for Quantum Information, (visited on 2.01.2020): https://www.nist.gov/news- events/news/2015/01/open- source- software-quantum-information, 2015.
[29] V. Negnevitsky, “Feedback-stabilised quantum states in a mixed-species ion sys-
tem”, PhD thesis, ETH Zurich, 2018. DOI: https://doi.org/10.3929/ethz-b-000295923.
[30] R. Losito and A. Masi, CERN Uses NI LabVIEW Software and PXI Hardware to Control
World’s Largest Particle Accelerator, (visited on 2.01.2020): http://www.ni.com/pl-pl/innovations/case-studies/19/cern-uses-ni-labview-software-and-pxi-hardware.html.
[31] C. Darsow-Fromm, L. Dekant, S. Grebien, M. Schröder, R. Schnabel, and S. Steinlech-
ner, Nqontrol: An open-source platform for digital control-loops in quantum-optical
experiments, (visited on 2.01.2020): https://arxiv.org/abs/1911.08824, 2019.
[32] Z. Instruments, First Commercial Quantum Computing Control System for Europe’s
Quantum Computer, (visited on 2.01.2020): https://www.zhinst.com/news/first-commercial-quantum-computing-control-system.
58
6. References
[33] M-Labs, ARTIQ, (visited on 2.01.2020): https://m-labs.hk/experiment-control/artiq/.
[34] National Instruments, NI PXI Modular Instrument Design Advantages, (visited on
2.01.2020): http://www.ni.com/pl-pl/innovations/white-papers/11/ni-pxi-modular-instrument-design-advantages.html.
[35] ——, NI PXI Timing and Synchronization Design Advantages, (visited on 2.01.2020):
http://www.ni.com/pl-pl/innovations/white-papers/11/ni-pxi-timing-and-synchronization-design-advantages.html.
[36] ——, PXI Express FAQ, (visited on 29.01.2020): https://www.ni.com/pl-pl/innovations/white-papers/06/pxi-express-faq.html.
[37] Z. Instruments, HDAWG Arbitrary Waveform Generator, (visited on 3.01.2020): https://www.zhinst.com/products/hdawg#overview.
[38] ——, PQSC Programmable Quantum System Controller, (visited on 2.01.2020): https://www.zhinst.com/products/pqsc#overview.
[39] ——, LabOne. All in One, (visited on 2.01.2020): https://www.zhinst.com/products/quantum#overview.
[40] S. Bourdeauducq, Timing control in ARTIQ, (visited on 3.01.2020): https://m-labs.hk/docs/artiq/slides_timing.pdf.
[41] M-Labs and contributors, ARTIQ Documentation, (visited on 3.01.2020): https://m-labs.hk/artiq/manual.pdf.
[42] M-Labs, Migen, (visited on 3.01.2020): https://m-labs.hk/gateware/migen/.
[43] G. Kasprowicz, R. Jördens, J. Britton, D. Allcock, and S. Bourdeauducq, Sinara Wiki
Page, (visited on 3.01.2020): https://github.com/sinara-hw/meta/wiki.
[44] P. Kulik, G. Kasprowicz, and M. Gaska, “Driver module for quantum computer exper-
iments: Kasli”, in Photonics Applications in Astronomy, Communications, Industry,
and High-Energy Physics Experiments 2018, R. S. Romaniuk and M. Linczuk, Eds.,
International Society for Optics and Photonics, vol. 10808, SPIE, 2018, pp. 1255–1258.
DOI: 10.1117/12.2501709. [Online]. Available: https://doi.org/10.1117/12.2501709.
[45] C. Grzeschik, M. Krutzik, and A. Peters, BECCAL - Bose-Einstein Condensate and
Cold Atom Lab, (visited on 3.01.2020): https://www.physics.hu-berlin.de/en/qom/research/BECCAL/standardseite.
[46] A. Dinkelaker, C. Grzeschik, J. Pahl, M. Schiemangk, M. Krutzik, and A. Peters,
QUANTUS - Bose Einstein condensates in microgravity, (visited on 3.01.2020): https://www.physics.hu-berlin.de/en/qom/research/droptower.
[47] G. Kasprowicz, J. Britton, D. Allcock, and S. Bourdeauducq, Urukul Wiki Page, (vis-
ited on 20.01.2020): https://github.com/sinara-hw/Urukul/wiki.
[48] K. J. Aström and R. M. Murray, “Frequency Domain Design”, in Feedback Systems: An
Introduction for Scientists and Engineers, Princeton University Press, 2008, pp. 315–
344.
59
6. References
[49] G. Kasprowicz, J. Britton, R. Jördens, D. Allcock, S. Bourdeauducq, and P. Kulik,
Sampler Wiki Page, (visited on 20.01.2020): https://github.com/sinara-hw/Sampler/wiki.
[50] G. Kasprowicz, R. Jördens, D. Allcock, and S. Bourdeauducq, Zotino Wiki Page,
(visited on 27.01.2020): https://github.com/sinara-hw/Zotino/wiki.
[51] 10 MHz, 20 V/s, G = 1, 10, 100, 1000 iCMOS Programmable Gain Instrumentation
Amplifier, 2012.
[52] 32-Channel, 16-/14-Bit, Serial Input, Voltage Output DAC, 2011.
[53] K. J. Åström, Control System Design Lecture Notes: PID Control, (visited on 25.01.2020):
https://www.cds.caltech.edu/~murray/courses/cds101/fa02/caltech/astrom-ch6.pdf, 2002.
[54] J. G. Ziegler, N. B. Nichols, et al., “Optimum settings for automatic controllers”,
trans. ASME, vol. 64, no. 11, 1942.
[55] C. E. Shannon, “Communication in the presence of noise”, Proceedings of the IEEE,
vol. 72, no. 9, pp. 1192–1201, Sep. 1984, ISSN: 1558-2256. DOI: 10.1109/PROC.1984.12998.
60
List of Symbols and Abbreviations
ADC – Analog–to–Digital Converter
AOM – Acousto–Optic Modulation
ARTIQ – Advanced Real–Time Infrastructure for Quantum physics
ASF – Amplitude Scale Factor
BS – Beam Splitter
BEC – Bose–Einstein Condensate
CERN OHL – CERN Open Hardware License
CFG – Configuration register
CPU – Central Processing Unit
CV – Control Variable
DAC – Digital–to–Analog Converter
DDS – Direct Digital Synthesizer
DIO – Digital Input/Output
DRTIO – Distributed Real Time Input/Output
DSP – Digital Signal Processing
EEM – Eurocard Extension Module
FIFO – First In, First Out
FIR – Finite Impulse Response
FPGA – Field–Programmable Gate Array
FSM – Finite State Machine
FTW – Frequency Tuning Word
GUI – Graphical User Interface
HUB – Humboldt University of Berlin
IC – Integrated Circuit
IIR – Infinite Impulse Response
I/O – Input/Output
JILA – Joint Institute for Laboratory Astrophysics
JTAG – Joint Test Access Group
LED – Light–Emitting Diode
LO – Local Oscillator
LP filter – Low–Pass filter
LVDS – Low-Voltage Differential Signalling
MOT – Magneto–Optical Trap
NIST – National Institute of Standards and Technology
PFD – Phase–Frequency Detector
PGIA – Programmable–Gaine Instrumentation Amplifier
PI – Propotional–Integral
PID – Propotional–Integral–Derivative
61
POW – Phase Offset Word
PV – Process Variable
QCCS – Quantum Computing Control System
QOM – Optical Metrology Group
QSPI – Quad SPI
RAM – Random–Access Memory
RF – Radio Frequency
RPC – Remote Procedure Call
SPI – Serial Peripheral Interface
USB – Universal Serial Bus
VHDL – Very High Speed Integrated Circuit Hardware Description Language
VLSI – Very Large–Scale Integration
List of Figures
1.1. Simplified frequency offset locking scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2. A generic closed feedback control loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3. QCCS modules; image taken from [32] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4. Example of Sinara family devices’ setup in a crate; image taken from [43] . . . . . . . . . 18
2.1. Block schematics of the controlled process . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1. Block schematic of the system used in the thesis project and their connections . . . . . . 23
4.1. Block diagram of Servo and its submodules . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2. PGIA module’s block diagram with input and output ports . . . . . . . . . . . . . . . . . . 29
4.3. Module’s coefficient memory layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4. Structure of the IIR filter described inside the IIR module . . . . . . . . . . . . . . . . . . . 32
4.5. SPI component’s block diagram with input and output ports . . . . . . . . . . . . . . . . . 33
4.6. Block diagram of DAC module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.7. Example of synchronous and combinatorial assignments . . . . . . . . . . . . . . . . . . . 38
5.1. Block schematic of the test setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2. Photograph of the test setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3. Setpoint and control variable — test of the proportional term . . . . . . . . . . . . . . . . 42
5.4. Setpoint and control variable — test of the integral term . . . . . . . . . . . . . . . . . . . 43
5.5. Setpoint and control variable — test of the derivative term . . . . . . . . . . . . . . . . . . 44
5.6. The controller impulse response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.7. The controller step response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.8. The controller average latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.9. Setpoint and control variable — test of the proportional term . . . . . . . . . . . . . . . . 46
5.10. Setpoint and control variable — test of the integral term . . . . . . . . . . . . . . . . . . . 47
5.11. Setpoint and control variable — test of the derivative term . . . . . . . . . . . . . . . . . 47
5.12. The controller step response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.13. The controller average latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.14. Setpoint and control variable — test of the proportional term . . . . . . . . . . . . . . . 50
62
5.15. Setpoint and control variable — test of the integral term . . . . . . . . . . . . . . . . . . . 50
5.16. The controller impulse response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.17. The controller step response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.18. The controller average latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.1. Photograph of the hardware setup used in thesis project . . . . . . . . . . . . . . . . . . . 54
6.2. Photograph of the hardware setup at HUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
List of Tables
1. Dependency of IIR filter’s coefficients on PID conroller’s coefficients . . . . . . . . . . . . . 15
2. Summary of existing control systems features . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3. PID controller’s coefficients used during device testing . . . . . . . . . . . . . . . . . . . . . 39
4. Comparison of implementations’ parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
List of Appendices
1. Details on the used boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2. Code used for tests and measurements . . . . . . . . . . . . . . . . . . . . . . . . . 77
63
Appendix 1. Details on the used boards
Appendix 1.1. Details on Sampler
According to the Sampler project page [49], the board itself ‘is an 8-channel, 16-bit
ADC EEM with an update rate of up to 1.5MSPS (all channels simultaneously). It has
low-noise differential front end with a digitally programmable gain, providing full-scale
input ranges between +-10mV (G=1000) and +-10V (G=1).’
What is more, the Sampler’s key features are [49]:
• ‘Current hardware revision: v2.2
• Width: 8HP
• Channel count: 8
• Resolution: 16-bit
• Sample rate: up to 1.5 MHz
• Sustained aggregate data rate in single-EEM mode (8 channel readout): 700 kHz
• Sustained per-channel data rate in dual-EEM mode (SU-Servo): 1 MHz
• Note that the bandwidth specifications on this page are for the hardware only; ARTIQ
kernel and RTIO overhead often make the effective sample rate lower.
• Bandwidth: 200kHz -6dB bandwidth for G=1, 10, 100, 90kHz for G=1000
• Input ranges: +-10V (G=1), +-1V (G=10), +-100mV (G=100), +-10mV (G=1000)
• DC input impedance:
— Termination off: 100k from input signal and ground connections to PCB ground
— Termination on: signal 50Ohm terminated to PCB ground, input ground shorted
to PCB ground
• ADC: LTC2320-16
• PGIA: AD8253
• EEM connectors: power and digital communication supplied by one or two EEM
connectors.’
Furthermore, the Sampler can operate in one of the two modes: as a standard SPI
device, or in a fast mode via a source–synchronous LVDS interface [49]. According
to the Sampler wiki page, the Sampler’s channels can be read out at 1.5 MHz via the
source–synchronous interface.
64
11
22
33
44
55
EE
DD
CC
BB
AA
1W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
5
Sam
pler
- to
p
-28
.01.
2020
03:3
4:21
Sam
pler
.schd
oc
Size
File
Rev
Shee
tof A3
Sam
pler
Proj
ect/E
quip
men
t
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
8 ch
anne
l AD
C v2
.2IS
E
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
27.0
7.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
FTG
17
FTG
20
FTG
18
FTG
19C
opyr
ight
WU
T 20
17
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
IN_1
_P
IN_2
_P
IN_0
_P
IN_3
_P
IN_4
_P
IN_5
_P
IN_6
_P
IN_7
_P
IN_0
_N
IN_1
_N
IN_2
_N
IN_3
_N
IN_6
_N
IN_7
_N
IN_4
_N
IN_5
_N
AD
C_S
DO
A_P
AD
C_S
DO
A_N
AD
C_S
CK
_PA
DC
_SC
K_N
AD
C_C
NV
AD
C_S
DO
B_N
AD
C_S
DO
B_P
AD
C_S
DO
C_P
AD
C_S
DO
C_N
AD
C_S
DO
D_N
AD
C_S
DO
D_P
AD
C_C
LKO
UT_
PA
DC
_CLK
OU
T_N
SDR
_MO
DE
REF
_SH
DN
U_A
DC
_8C
HA
DC
_8C
H.S
chD
oc
TER
M_S
TAT[
7..0
]PG
IA-C
SPG
IA-S
CK
PGIA
-MO
SIPG
IA-M
ISO
AD
C_S
DO
A_N
AD
C_S
DO
A_P
AD
C_S
CK
_NA
DC
_SC
K_P
AD
C_C
NV
SDR
_MO
DE
U_L
VD
S_EE
M0
LVD
S_IF
CA
.Sch
Doc
REF
_SH
DN
SR_O
E
U_S
uppl
ySu
pply
.Sch
Doc
OE
13R
CLK
12
SER
14
SRC
LR10
SRC
LK11
QA
15Q
B1
QC
2Q
D3
QE
4Q
F5
QG
6
QH
7
QH
'9
VC
C16
GN
D8
IC10
SN74
LV59
5APW
TG
ND
PGIA
-MO
SI
PGIA
-SC
K
OE
13
RC
LK12
SER
14
SRC
LR10
SRC
LK11
QA
15
QB
1
QC
2
QD
3Q
E4
QF
5Q
G6
QH
7Q
H'
9
VC
C16
GN
D8
IC11
SN74
LV59
5APW
T
P3V
3
GN
D
PGIA
-SC
K
PGIA
-CS
PGIA
-CS
P3V
3
P3V
3C
H1_
A0
CH
1_A
1
CH
0_A
0C
H0_
A1
CH
2_A
0C
H2_
A1
CH
3_A
0C
H3_
A1
CH
4_A
0C
H4_
A1
CH
5_A
0C
H5_
A1
CH
6_A
0C
H6_
A1
CH
7_A
0C
H7_
A1
TER
M_S
TAT[
7..0
]
C94
100nF
GN
D
P3V
3
C57
100nF
GN
D
P3V
3
1C
LIP1
GN
D1
CLI
P2
GN
D
1
CLI
P3
GN
D
1
CLI
P4
GN
D
1
CLI
P5
GN
D
1
CLI
P6
GN
D
1C
LIP7
GN
D
1
CLI
P9
GN
D
1
CLI
P10
GN
D
1
CLI
P11
GN
D
1
CLI
P12
GN
D
1
CLI
P13
GN
D
1C
LIP1
4
GN
D1
CLI
P15
GN
D
1
CLI
P16
GN
D
1
CLI
P17
GN
D
1
CLI
P18
GN
D
1
CLI
P19
GN
D
1C
LIP2
0
GN
D
1
CLI
P8
GN
D
1
CLI
P21
GN
D
1
CLI
P22
GN
D
1
CLI
P23
GN
D
1
CLI
P24
GN
D
1
CLI
P25
GN
D
1
CLI
P26
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
J1
P13V
0N
13V
0
R3U
ndefined
R6
Undefined
shie
ld c
lips
PGIA
-MIS
O
TER
M_S
TAT0
TER
M_S
TAT1
TER
M_S
TAT2
TER
M_S
TAT3
TER
M_S
TAT4
TER
M_S
TAT5
TER
M_S
TAT6
TER
M_S
TAT7
AD
C_I
N_P
1
AD
C_I
N_P
2
AD
C_I
N_P
3
AD
C_I
N_P
4
AD
C_I
N_P
5
AD
C_I
N_P
6
AD
C_I
N_P
7
AD
C_I
N_N
1
AD
C_I
N_N
2
AD
C_I
N_N
3
AD
C_I
N_N
4
AD
C_I
N_N
5
AD
C_I
N_N
6
AD
C_I
N_N
7
AD
C_I
N_P
0A
DC
_IN
_N0
41
BO
T
J3A
BN
C 23
TOP
J3B
BN
C 41
BO
T
J4A
BN
C 23
TOP
J4B
BN
C 41
BO
T
J5A
BN
C 23
TOP
J5B
BN
C 41
BO
T
J6A
BN
C 23
TOP
J6B
BN
C
CH
0_A
0C
H0_
A1
CH
1_A
0C
H1_
A1
CH
2_A
0C
H2_
A1
CH
3_A
0C
H3_
A1
CH
4_A
0C
H4_
A1
CH
5_A
0C
H5_
A1
CH
6_A
0C
H6_
A1
CH
7_A
0C
H7_
A1
AD
C_S
DO
B_P
AD
C_S
DO
B_N
AD
C_S
DO
C_P
AD
C_S
DO
C_N
AD
C_S
DO
D_P
AD
C_S
DO
D_N
AD
C_C
LKO
UT_
PA
DC
_CLK
OU
T_N
AD
C_S
DO
A_N
AD
C_S
DO
A_P
U_L
VD
S_EE
M1
LVD
S_IF
CB
.Sch
Doc
PGIA
-MIS
OPG
IA-M
OSI
PGIA
-SC
KPG
IA-C
S
REF
_P2V
048
REF
_P1V
7066
P3V
3
P3V
31%R58 220 1%R59 220
P3V
3
P3V
31%R60 220
1%R61 220
P3V
3
P3V
31%R62 220
1%R63 220
P3V
3
P3V
31%R64 220
1%R65 220
TER
M_S
TAT0
TER
M_S
TAT1
TER
M_S
TAT2
TER
M_S
TAT3
TER
M_S
TAT4
TER
M_S
TAT5
TER
M_S
TAT6
TER
M_S
TAT7
D
S
G
T1B
SS138LT1G
GN
D
D
S
G
T2B
SS138LT1G
GN
D
D
S
G
T3B
SS138LT1G
GN
D
D
S
G
T4B
SS138LT1G
GN
D
D
S
G
T5B
SS138LT1G
GN
D
D
S
G
T6B
SS138LT1G
GN
D
D
S
G
T7B
SS138LT1G
GN
D
D
S
G
T8B
SS138LT1G
GN
D
Gre
en
BO
TLD
1A
Gre
en
TOP
LD1B G
reen
BO
TLD
2A
Gre
en
TOP
LD2B G
reen
BO
TLD
3A
Gre
en
TOP
LD3B G
reen
BO
TLD
4A
Gre
en
TOP
LD4B
IN_N
A0
A1
IN_P
TER
M_I
ND
AD
C_I
N_N
AD
C_I
N_P
REF
_P2V
048
REF
_P1V
7066
U_I
nput
_cha
nnel
Inpu
t_ch
anne
l.Sch
Doc
IN_N
A0
A1
IN_P
TER
M_I
ND
AD
C_I
N_N
AD
C_I
N_P
REF
_P2V
048
REF
_P1V
7066
U_I
nput
_cha
nnel
Inpu
t_ch
anne
l.Sch
Doc
IN_N
A0
A1
IN_P
TER
M_I
ND
AD
C_I
N_N
AD
C_I
N_P
REF
_P2V
048
REF
_P1V
7066
U_I
nput
_cha
nnel
Inpu
t_ch
anne
l.Sch
Doc
IN_N
A0
A1
IN_P
TER
M_I
ND
AD
C_I
N_N
AD
C_I
N_P
REF
_P2V
048
REF
_P1V
7066
U_I
nput
_cha
nnel
Inpu
t_ch
anne
l.Sch
Doc
IN_N
A0
A1
IN_P
TER
M_I
ND
AD
C_I
N_N
AD
C_I
N_P
REF
_P2V
048
REF
_P1V
7066
U_I
nput
_cha
nnel
Inpu
t_ch
anne
l.Sch
Doc
IN_N
A0
A1
IN_P
TER
M_I
ND
AD
C_I
N_N
AD
C_I
N_P
REF
_P2V
048
REF
_P1V
7066
U_I
nput
_cha
nnel
Inpu
t_ch
anne
l.Sch
Doc
IN_N
A0
A1
IN_P
TER
M_I
ND
AD
C_I
N_N
AD
C_I
N_P
REF
_P2V
048
REF
_P1V
7066
U_I
nput
_cha
nnel
Inpu
t_ch
anne
l.Sch
Doc
IN_N
A0
A1
IN_P
TER
M_I
ND
AD
C_I
N_N
AD
C_I
N_P
REF
_P2V
048
REF
_P1V
7066
U_I
nput
_cha
nnel
Inpu
t_ch
anne
l.Sch
Doc
AD
C_I
N_P
1
AD
C_I
N_P
2
AD
C_I
N_P
3
AD
C_I
N_P
4
AD
C_I
N_P
5
AD
C_I
N_P
6
AD
C_I
N_P
7
AD
C_I
N_N
1
AD
C_I
N_N
2
AD
C_I
N_N
3
AD
C_I
N_N
4
AD
C_I
N_N
5
AD
C_I
N_N
6
AD
C_I
N_N
7
AD
C_I
N_P
0A
DC
_IN
_N0
P3V
3_M
P11%R66 220
Gre
en
TOPLD
5B
GN
D
1%R67 220
Gre
en
BO
TLD
5AP3
V3
GN
D
P3V
3
1%
R5
10k
P3V
3
1%
R12
10k
P3V
3
1%
R13
10k
P3V
3
1%
R49
10k
P3V
3
1%
R68
10k
P3V
3
1%
R69
10k
P3V
3
1%
R70
10k
P3V
3
1%
R71
10k
P3V
3
R74U
ndefined
P12V
0
B1
R75U
ndefined
R76
Undefined
GN
D
GN
DB
2
Fron
t pan
el g
roun
ding
Test
conn
ecto
r com
patib
le
with
3U
DA
C o
ne. C
an a
lso
be u
sed
for i
nput
ada
pter
s
Dua
l EEM
mod
e
AD
C c
hann
el n
con
nect
s to
BN
C 7
-n
Pow
er O
n
+-5V
(0.5
W) m
axim
um w
ith
term
inat
ion
PIB101 COB
1 PIB201
COB2
PIC5701 PIC5702 COC5
7 PIC9401 PIC9402
COC94
PICLIP101 COCLIP1
PICLIP201 COCLIP2
PICLIP301 COCLIP3
PICLIP401 COCLIP4
PICLIP501 COCLIP5
PICLIP601 COCLIP6
PICLIP701 COCLIP7
PICLIP801 COCLIP8
PICLIP901 COCLIP9
PICLIP1001 CO
CLIP
10
PICLIP1101 CO
CLIP
11
PICLIP1201 CO
CLIP
12
PICLIP1301 CO
CLIP
13
PICLIP1401 CO
CLIP
14
PICLIP1501 CO
CLIP
15
PICLIP1601 CO
CLIP
16
PICLIP1701 CO
CLIP
17
PICLIP1801 CO
CLIP
18
PICLIP1901 CO
CLIP
19
PICLIP2001 CO
CLIP
20
PICLIP2101 CO
CLIP
21
PICLIP2201 CO
CLIP
22
PICLIP2301 CO
CLIP
23
PICLIP2401 CO
CLIP
24
PICLIP2501 CO
CLIP
25
PICLIP2601 CO
CLIP
26
COFT
G17
COFT
G18
COFT
G19
COFT
G20
PIIC
1001
PI
IC10
02
PIIC
1003
PIIC
1004
PIIC
1005
PIIC1006
PIIC
1007
PIIC
1008
PIIC
1009
PIIC10010
PIIC10011
PIIC10012
PIIC10013
PIIC10014
PIIC10015
PIIC10016
COIC
10
PIIC
1101
PIIC
1102
PIIC
1103
PIIC
1104
PIIC
1105
PIIC
1106
PIIC
1107
PIIC
1108
PIIC
1109
PIIC11010
PIIC11011
PIIC11012
PIIC11013
PIIC11014
PIIC11015
PIIC11016
COIC11
PIJ101
PIJ102
PIJ103
PIJ104
PIJ105
PIJ106
PIJ107
PIJ108
PIJ109
PIJ1010
PIJ1011
PIJ1012
PIJ1013
PIJ1014
PIJ1015
PIJ1016
PIJ1017
PIJ1018
PIJ1019
PIJ1020
PIJ1021
PIJ1022
PIJ1023
PIJ1024
PIJ1025
PIJ1026
COJ1
PIJ301
PIJ304
COJ3
A
PIJ302
PIJ303
COJ3
B
PIJ401
PIJ404
COJ4
A
PIJ402
PIJ403
COJ4
B
PIJ501
PIJ504
COJ5
A
PIJ5
02
PIJ503
COJ5
B
PIJ601
PIJ6
04
COJ6
A
PIJ602
PIJ603
COJ6
B
PILD
101
PILD
102
COLD1A
PILD
103
PILD
104
COLD1B
PILD
201
PILD
202
COLD
2A
PILD
203
PILD
204
COLD
2B
PILD
301
PILD
302
COLD
3A
PILD
303
PILD
304
COLD
3B
PILD
401
PILD
402
COLD
4A
PILD
403
PILD
404
COLD
4B
PILD
501
PILD
502
COLD
5A
PILD
503
PILD
504
COLD
5B
PIR301
PIR302
COR3
PIR501
PIR502 COR
5
PIR601
PIR602
COR6
PIR120
1 PIR
1202 COR1
2
PIR130
1 PIR
1302 COR1
3
PIR490
1 PIR
4902 COR4
9
PIR580
1 PIR
5802
COR5
8
PIR590
1 PIR
5902
COR5
9
PIR600
1 PIR
6002
COR6
0
PIR610
1 PIR
6102
COR6
1
PIR620
1 PIR
6202
COR6
2
PIR630
1 PIR
6302
COR6
3
PIR640
1 PIR
6402
COR6
4
PIR650
1 PIR
6502
COR6
5
PIR660
1 PIR
6602
COR6
6
PIR670
1 PIR
6702
COR6
7
PIR680
1 PIR
6802 COR6
8
PIR690
1 PIR
6902 COR6
9
PIR700
1 PIR
7002 COR7
0 PIR710
1 PIR
7102 COR7
1
PIR740
1 PIR
7402
COR7
4
PIR750
1 PIR
7502 CO
R75 PI
R7601
PIR7602 CO
R76
PIT101 PIT102
PIT1
03
COT1
PIT201 PIT202
PIT203
COT2
PIT301 PIT302
PIT303
COT3
PIT401 PIT402
PIT403
COT4
PIT501 PIT502
PIT503
COT5
PIT601 PIT602
PIT603
COT6
PIT701 PIT702
PIT703
COT7
PIT801 PIT802
PIT803
COT8
PIJ1023
PIJ301
NLADC0IN0N0
PIJ1020
PIJ303
NLAD
C0IN
0N1
PIJ1017
PIJ401
NLADC0IN0N2
PIJ1014
PIJ403
NLADC0IN0N3
PIJ1011
PIJ501
NLADC0IN0N4
PIJ108
PIJ503
NLADC0IN0N5
PIJ105
PIJ601
NLADC0IN0N6
PIJ102
PIJ603
NLADC0IN0N7
PIJ1022
PIJ304
NLAD
C0IN
0P0
PIJ1019
PIJ302
NLAD
C0IN
0P1
PIJ1016
PIJ404
NLAD
C0IN
0P2
PIJ1013
PIJ402
NLAD
C0IN
0P3
PIJ1010
PIJ504
NLAD
C0IN
0P4
PIJ107
PIJ5
02
NLAD
C0IN
0P5
PIJ104
PIJ6
04
NLAD
C0IN
0P6
PIJ101
PIJ602
NLAD
C0IN
0P7
PIIC10015
NLCH
00A0
PIIC
1001
NLCH
00A1
PIIC
1002
NLCH
10A0
PIIC
1003
NLCH
10A1
PIIC
1004
NLCH
20A0
PIIC
1005
NLCH
20A1
PIIC1006
NLCH
30A0
PIIC
1007
NLCH
30A1
PIIC11015
NLCH
40A0
PIIC
1101
NLCH
40A1
PIIC
1102
NLCH
50A0
PIIC
1103
NLCH
50A1
PIIC
1104
NLCH
60A0
PIIC
1105
NLCH
60A1
PIIC
1106
NLCH
70A0
PIIC
1107
NLCH
70A1
PIC5701 PIC9401
PICLIP101 PICLIP201
PICLIP301 PICLIP401
PICLIP501
PICLIP601 PICLIP701
PICLIP801 PICLIP901
PICLIP1001
PICLIP1101 PICLIP1201
PICLIP1301 PICLIP1401
PICLIP1501
PICLIP1601 PICLIP1701
PICLIP1801 PICLIP1901
PICLIP2001
PICLIP2101 PICLIP2201
PICLIP2301 PICLIP2401
PICLIP2501 PICLIP2601
PIIC
1008
PIIC
1108
PIJ103
PIJ106
PIJ109
PIJ1012
PIJ1015
PIJ1018
PIJ1021
PIJ1024
PIR660
2
PIR670
2
PIR750
1
PIR7601
PIT102
PIT202
PIT302
PIT402
PIT502
PIT602
PIT702
PIT802
PIR602
PIB101 PIR
7502
PIB201
PIR7602
PIIC
1009
PIIC11014
PIIC10013
PIIC11013
PIJ1025
PIR301
PIR740
1
PIJ1026
PIR601
PILD
101 PIR
5801
PILD
103 PIR590
1
PILD
201 PIR600
1
PILD
203 PIR610
1
PILD
301 PIR620
1
PILD
303 PIR630
1
PILD
401 PIR640
1
PILD
403 PIR650
1
PILD
501 PIR670
1
PILD
503 PIR660
1
PIR580
2 PI
T103
PIR590
2 PIT203
PIR600
2 PIT303
PIR610
2 PIT403
PIR620
2 PIT503
PIR630
2 PIT603
PIR640
2 PIT703
PIR650
2 PIT803
PIC5702 PIC9402
PIIC10010
PIIC10016
PIIC11010
PIIC11016
PILD
102
PILD
104
PILD
202
PILD
204
PILD
302
PILD
304
PILD
402
PILD
404
PILD
502
PIR501
PIR120
1
PIR130
1
PIR490
1
PIR680
1
PIR690
1
PIR700
1
PIR710
1
PILD
504
PIR740
2
PIR302
PIIC10012
PIIC11012
NLPG
IA0C
S
PIIC
1109
NLPGIA0MISO
PIIC10014
NLPG
IA0M
OSI
PIIC10011
PIIC11011
NLPG
IA0S
CK
PIR502
PIT101
NLTERM0STAT070000
NLTERM0STAT0
PIR120
2 PIT201
NLTERM0STAT070000
NLTERM0STAT1
PIR130
2 PIT301
NLTERM0STAT070000
NLTERM0STAT2
PIR490
2 PIT401
NLTERM0STAT070000
NLTERM0STAT3
PIR680
2 PIT501
NLTERM0STAT070000
NLTERM0STAT4
PIR690
2 PIT601
NLTERM0STAT070000
NLTERM0STAT5
PIR700
2 PIT701
NLTERM0STAT070000
NLTERM0STAT6
PIR710
2 PIT801
NLTERM0STAT070000
NLTERM0STAT7
11
22
33
44
55
EE
DD
CC
BB
AA
2W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
5
ADC
+ re
fere
nce
-28
.01.
2020
03:3
4:21
AD
C_8
CH
.Sch
Doc
Size
File
Rev
Shee
tof A3
Sam
pler
Proj
ect/E
quip
men
t
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
v2.2
ISE
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
27.0
7.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
P5V
0A
C5
100nF
GN
D
C2
2.2uF
GN
DG
ND
C1
1uF
GN
D
R1 0
REF
_VC
CR
15 0
C54
100nF
GN
D
Cop
yrig
ht W
UT
2017
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
GN
D
AD
C_S
DO
A_P
AD
C_S
DO
A_N
AD
C_S
DO
B_N
AD
C_S
DO
B_P
AD
C_S
DO
C_P
AD
C_S
DO
C_N
AD
C_S
DO
D_N
AD
C_S
DO
D_P
AD
C_C
LKO
UT_
PA
DC
_CLK
OU
T_N
AD
C_S
CK
_PA
DC
_SC
K_N
AD
C_C
NV
C16
10uF
GN
D
C15
10uF
GN
D
C14
10uF
GN
D
C13
10uF
GN
D
C1210uF
C3
100nFGN
D
C4
100nFGN
D
R100
C8
100nF
C7
100nF
GN
DG
ND
P2V
5A
C610uF
GN
D
C910uF
GN
D
1%
R21k
D
S
GT9
BSS138LT1G
GN
D
SDR
_MO
DE
1%R9
100
REF
_P2V
048
2 31
V+ V-8 4
IC5A
OPA
2197
IDG
KR
567
V+ V-8 4
IC5B
OPA
2197
IDG
KR
N12
V0A
N12
V0A
P12V
0A
P12V
0A
27
0.1% 5k R
N4B
18 0.1%
10k
RN4A 45 0.1%
10k
RN4D
REF
_P4V
096
REF
_P4V
096
GN
D
C22
100nF
C20
100nF
GN
DG
ND
P12V
0AN
12V
0A
REF
_SH
DN
AD
C_S
DO
A_P
AD
C_S
DO
A_N
AD
C_S
DO
B_P
AD
C_S
DO
B_N
AD
C_S
DO
C_P
AD
C_S
DO
C_N
AD
C_S
DO
D_P
AD
C_S
DO
D_N
AD
C_C
LKO
UT_
PA
DC
_CLK
OU
T_N
AD
C_S
CK
_PA
DC
_SC
K_N
OVDD31
OGND 32
AIN
1-19
AIN
1+20
VDD21
~SDR/DDR23
OVDD37
REF
OU
T122
VDD44
~CMOS/LVDS25
SDO
1/SD
OA
+27
SDO
2/SD
OA
-28
SCK
+/SC
K41
REF
8
OGND 38
VDD52
REFBUFEN43
REF
OU
T29
GND 3
GND 7
CLK
OU
T+/C
LKO
UT
33
~CN
V24
REF
OU
T36
VDD15
AIN
2+17
AIN
2-16
AIN
3+14
AIN
3-13
AIN
4+11
AIN
4-10
AIN
5+5
AIN
5-4
AIN
6+2
AIN
6-1
AIN
7+51
AIN
7-50
AIN
8+48
AIN
8-47
SDO
3/SD
OB
+29
SDO
4/SD
OB
-30
SDO
5/SD
OC
+35
SDO
6/SD
OC
-36
SDO
7/SD
OD
+39
SDO
8/SD
OD
-40
REF
OU
T445
GND 12GND 18
GND 46
CLK
OU
T-/D
IS34
SCK
-/NC
42
GND 26
GND 49
GND 53
IC2
LTC
2320
HU
KG
-16#
PBF
IN_0
_P
IN_1
_P
IN_2
_P
IN_3
_P
IN_4
_P
IN_5
_P
IN_6
_P
IN_7
_P
IN_0
_N
IN_1
_N
IN_2
_N
IN_3
_N
IN_4
_N
IN_5
_N
IN_6
_N
IN_7
_N
IN_0
_NIN
_0_P
IN_1
_PIN
_1_N
IN_2
_PIN
_2_N
IN_3
_PIN
_3_N
IN_4
_PIN
_4_N
IN_5
_PIN
_5_N
IN_6
_PIN
_6_N
IN_7
_PIN
_7_N
REF
_P1V
7066
REF
_P2V
048
GN
D18 0.1%
10k
RN3A45 0.1%
10k
RN3D36 0.1%
5k
RN3C
C75
47nF
GN
D
C76
47nF
GN
D
2 70.1%
5k
RN3B
36
0.1%
5k
RN
4C
P2V
5A
1%R
1182k
P2V
5A
1%R72 24k
VIN
2
SHD
N1
VO
UTS
6V
OU
TF7
GN
D3
GN
D8
GN
D4
GN
D5
IC1
LTC
6655
BH
MS8
-4.0
96#P
BF
SWA
PPED
AD
C C
HA
NN
ELS!
!
PIC101 PIC102 CO
C1
PIC201 PIC202 COC
2
PIC301 PIC302 COC
3 PIC401 PIC402
COC4
PIC501 PIC502 COC
5 PIC601 PIC602
COC6
PIC701 PIC702 COC
7 PIC801 PIC802
COC8
PIC901 PIC902
COC9
PIC1201 PIC1202 CO
C12
PIC1
301
PIC1
302
COC1
3
PIC1
401
PIC1
402
COC1
4
PIC1
501
PIC1
502
COC15
PIC1
601
PIC1
602
COC1
6
PIC2001 PIC2002 COC2
0 PIC2201 PIC2202
COC22
PIC5401 PIC5402 COC5
4
PIC7501 PIC7502 COC7
5 PIC7601 PIC7602 COC7
6
PIIC101
PIIC102
PIIC103
PIIC104
PIIC105
PIIC106
PIIC107
PIIC108
COIC
1
PIIC
201
PIIC
202
PIIC203
PIIC
204
PIIC
205
PIIC
206
PIIC207
PIIC
208
PIIC
209
PIIC
2010
PIIC
2011
PIIC2012
PIIC
2013
PIIC
2014
PIIC2015
PIIC
2016
PIIC
2017
PIIC2018
PIIC
2019
PIIC
2020
PIIC2021
PIIC
2022
PIIC2023
PIIC
2024
PIIC2025
PIIC2026
PIIC
2027
PIIC
2028
PIIC
2029
PIIC
2030
PIIC2031
PIIC2032
PIIC
2033
PIIC
2034
PIIC
2035
PIIC
2036
PIIC2037
PIIC2038
PIIC
2039
PIIC
2040
PIIC
2041
PIIC
2042
PIIC2043 PIIC2044
PIIC
2045
PIIC2046
PIIC
2047
PIIC
2048
PIIC2049
PIIC
2050
PIIC
2051
PIIC2052
PIIC2053
COIC
2
PIIC501
PIIC502
PIIC503
PIIC504 PIIC508 COIC5A
PIIC504 PIIC505
PIIC506
PIIC507
PIIC508
COIC5B
PIR101
PIR102
COR1
PIR201
PIR202 COR
2
PIR901
PIR902
COR9
PIR1001
PIR1002
COR10
PIR1
101
PIR1
102 COR
11
PIR150
1 PIR
1502
COR1
5
PIR720
1 PIR
7202
COR7
2
PIRN301 PIRN308
CORN3A
PIRN302 PIRN307
CORN3B
PIRN303 PIRN306
CORN3C
PIRN304 PIRN305
CORN3D
PIRN401 PIRN408 CORN4A
PIRN40
2 PIR
N407
CORN4B
PIRN40
3 PI
RN40
6
CORN4C PIRN404 PIRN405 CORN4D
PIT901 PIT902
PIT903
COT9
PIIC
2034
NL
ADC0
CLKO
UT0N
POADC0CLKOUT0N
PIIC
2033
NL
ADC0
CLKO
UT0P
POADC0CLKOUT0P
PIIC
2042
PIR901
NLADC0SCK0N
POADC0SCK0N
PIIC
2041
PIR902
NLADC0SCK0P
POADC0SCK0P
PIIC
2028
NL
ADC0
SDOA
0N
POADC0SDOA0N
PIIC
2027
NLADC0SDOA0P
POADC0SDOA0P
PIIC
2030
NLADC0SDOB0N
POADC0SDOB0N
PIIC
2029
NLADC0SDOB0P
POADC0SDOB0P
PIIC
2036
NLADC0SDOC0N
POADC0SDOC0N
PIIC
2035
NLADC0SDOC0P
POADC0SDOC0P
PIIC
2040
NL
ADC0
SDOD
0N
POADC0SDOD0N
PIIC
2039
NLADC0SDOD0P
POADC0SDOD0P
PIC101 PIC201
PIC301 PIC401
PIC501 PIC601
PIC701 PIC801
PIC901
PIC1201
PIC1
301
PIC1
401
PIC1
501
PIC1
601
PIC2001 PIC2201
PIC5401
PIC7501 PIC7601
PIIC103
PIIC104
PIIC105
PIIC108
PIIC203 PIIC207
PIIC2012 PIIC2018
PIIC2026 PIIC2032
PIIC2038 PIIC2046
PIIC2049 PIIC2053
PIRN307
PIRN404
PIT902
PIIC
2047
NL
IN00
0N
POIN000N
PIIC
2048
NL
IN00
0P
POIN000P
PIIC
2050
NL
IN01
0N
POIN010N
PIIC
2051
NL
IN01
0P
POIN010P
PIIC
201
NLIN
020N
POIN020N
PIIC
202
NLIN
020P
POIN020P
PIIC
204
NLIN
030N
POIN030N
PIIC
205
NLIN
030P
POIN030P
PIIC
2010
NL
IN04
0N
POIN040N
PIIC
2011
NL
IN04
0P
POIN040P
PIIC
2013
NL
IN05
0N
POIN050N
PIIC
2014
NL
IN05
0P
POIN050P
PIIC
2016
NL
IN06
0N
POIN060N
PIIC
2017
NL
IN06
0P
POIN060P
PIIC
2019
NL
IN07
0N
POIN070N
PIIC
2020
NL
IN07
0P
POIN070P
PIC2202
PIIC504
PIC102 PIIC102
PIR150
2
PIC1202 PI
IC20
8 PIR102
PIC1
302 PIIC
2022
PIC1
402 PIIC
209
PIC1
502 PIIC
206
PIC1
602 PIIC
2045
PIC7502 PIIC503
PIRN401 PIRN405
PIC7602 PIIC505
PIRN303 PIRN305
PIIC101
POREF0S\H\D\N\
PIIC2023
PIR202
PIT903
PIIC
2024
POADC0CNV
PIIC2025 PIR1
102
PIIC2043 PIR1001
PIIC502
PIRN
406
PIIC506
PIR720
1
PIRN40
2
PIRN301 PIRN302 PIRN304 PIRN308
PIT901
POSDR0MODE
PIC702 PIC802
PIC902
PIIC2031 PIIC2037
PIR201
PIR1
101
PIC302 PIC402
PIC502 PIC602
PIC5402
PIIC2015 PIIC2021
PIIC2044 PIIC2052
PIR1002
PIC2002
PIIC508
PIIC507
PIR720
2
PIRN40
7
PIIC501
PIRN306
PIRN40
3
PIC202 PIIC106
PIIC107
PIR101
PIRN408
PIR150
1
POADC0CLKOUT0N
POADC0CLKOUT0P
POADC0CNV
POADC0SCK0N
POADC0SCK0P
POADC0SDOA0N
POADC0SDOA0P
POADC0SDOB0N
POADC0SDOB0P
POADC0SDOC0N
POADC0SDOC0P
POADC0SDOD0N
POADC0SDOD0P
POIN000N
POIN000P
POIN010N
POIN010P
POIN020N
POIN020P
POIN030N
POIN030P
POIN040N
POIN040P
POIN050N
POIN050P
POIN060N
POIN060P
POIN070N
POIN070P
POREF0S\H\D\N\
POSDR0MODE
11
22
33
44
55
EE
DD
CC
BB
AA
3W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
5
Inpu
t chn
anne
l
-28
.01.
2020
03:3
4:22
Inpu
t_ch
anne
l.Sch
Doc
Size
File
Rev
Shee
tof A3
Sam
pler
Proj
ect/E
quip
men
t
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
DPG
A v2
.2 ISE
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
27.0
7.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
IN_N
1
2
3
456
7
8
9
10
A1WR
-Vs +Vs
REFA0
DGND
IC6
AD
8253
AR
MZ
32D1B
BAV199
13D1A
BAV199
32D3B
BAV199
13D3A
BAV199
GN
DG
ND
GN
DG
ND
P12V
0A
N12
V0A
GN
D
A0
A1
C35
100nF
C41
100nF
GN
DG
ND
GN
DG
ND
RFI F
ilter
IN_P
1%
R4
49R9
1 24 3
SW1
GN
DTE
RM
_IN
DP1
2V0A
N12
V0A
P12V
0A
N12
V0A
P12V
0AN
12V
0A
+C11
10uF
+C10
10uF
13
24
L2
2x6.
5mH
R33
0 R41
0
1% R35100k
1% R43100k
C85
18pF
C88
18pF
1%
R42
1k8
1%
R34
1k8
R86
Und
efin
ed
R37
Und
efin
ed
Cop
yrig
ht W
UT
2017
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
2 31
V+ V-8 4
IC12
A
OPA
2197
IDG
KR
567
V+ V-8 4
IC12
B
OPA
2197
IDG
KR
C17
2.2nF
GN
D
N12
V0A
N12
V0A
P12V
0A
P12V
0A
18
0.1%
10kR
N1A
36
0.1%
5k
RN
1C
27 0.1%
5k
RN2B
36
0.1% 5kR
N2C
1%R50 2k4
45
0.1% 10
kRN
1D
27
0.1% 5k
RN
1B
GN
D
1%R14 51 1%R16 51
C23
2.2nF
C25
2.2nF
AD
C_I
N_P
AD
C_I
N_N
C70
100nF
C71
100nF
GN
DG
ND
P12V
0AN
12V
0A
C72
82pF
18
0.1%
10k
RN
2A4
5
0.1%
10k
RN
2D
REF
_P2V
048
0V1.
7066
V2.
048V
C73
47nF
GN
D
C74
47nF
GN
D
REF
_P1V
7066
1%R73 24k
GA
IN=5
Fc=1
.1M
Hz
BW
diff
=1M
Hz
BW
com
m =
465
kH
zLe
akag
e in
duct
ance
: 28
0nH
+-5V
(0.5
W) m
axim
um w
ith
term
inat
ion
PIC1001 PIC1002 COC1
0 PIC1101 PIC1102
COC11
PIC1701 PIC1702 COC1
7 PIC2301 PIC2302
COC23 PIC2501 PIC2502
COC25
PIC3501 PIC3502 COC35
PIC4101 PIC4102
COC41
PIC7001 PIC7002 COC7
0 PIC7101 PIC7102
COC71
PIC7201 PIC7202
COC72
PIC7301 PIC7302 COC7
3 PIC7401 PIC7402 COC7
4
PIC8501 PIC8502 COC8
5 PIC8801 PIC8802 COC8
8
PID101
PID103
COD1A PID102
PID103
COD1B PID301
PID303
COD3A PID302
PID303
COD3B
PIIC601
PIIC602 PIIC603
PIIC604 PIIC605 PIIC606
PIIC607
PIIC608
PIIC609 PI
IC60
10
COIC
6
PIIC1201
PIIC
1202
PIIC1203
PIIC1204 PIIC1208 CO
IC12
A
PIIC1204 PI
IC12
05
PIIC
1206
PIIC
1207
PIIC1208
COIC
12B
PIL2
01
PIL2
02
PIL2
03
PIL2
04
COL2
PIR401
PIR402 COR
4
PIR1401
PIR1
402
COR1
4
PIR160
1 PI
R160
2 CO
R16
PIR330
1 PIR
3302
COR3
3 PIR
3401
PIR340
2
COR3
4
PIR3501
PIR3502
COR35
PIR370
1 PIR
3702
COR3
7 PIR
4101
PIR410
2
COR4
1 PIR
4201
PIR420
2
COR4
2
PIR4301
PIR4302
COR43
PIR500
1 PIR
5002
COR5
0
PIR7301
PIR7302
COR7
3
PIR860
1 PIR
8602
COR8
6
PIRN
101
PIRN
108
CORN
1A
PIRN10
2 PIR
N107
CORN
1B
PIRN10
3 PIR
N106
CORN
1C
PIRN10
4 PIR
N105
CORN
1D
PIRN20
1 PIR
N208 CORN2A
PIRN202
PIRN207
CORN2B
PIRN20
3 PIR
N206
CORN2C
PIRN20
4 PIR
N205 CORN2D
PISW101
PISW102
PISW103
PISW104
COSW
1
PIC1002 PIC1101
PIC2301 PIC2502
PIC3501 PIC4101
PIC7001 PIC7101
PIC7301 PIC7401
PIC8501 PIC8801
PIIC602 PIIC609
PIR3501
PIR4301
PISW103
PIC1102 PIC4102
PIC7102
PID101
PID301
PIIC603
PIIC606 PIIC1204
PIC1701
PIC2501
PIR1
602 POADC0IN0P
PIC1702
PIC2302
PIR1
402 POADC0IN0N
PIC7201
PIC8802 PID303
PIIC601
PIR420
2
PIC7202
PIC8502 PID103
PIIC
6010
PIR340
2
PIC7302 PIIC1203
PIR7302
PIRN20
1
PIRN20
4
PIC7402 PI
IC12
05
PIR500
2
PIIC604
POA0
PIIC605
POA1
PIIC607
PIRN
101
PIIC1201
PIR1401
PIRN10
7
PIRN207
PIIC
1202
PIRN10
2
PIRN10
3
PIIC
1206
PIRN202
PIRN20
3
PIIC
1207
PIR
1601
PIRN20
6
PIL2
01
PIR402
PIR860
1 POIN0P
PIL2
02 PIR370
1
PISW101
POIN0N
PIL2
03 PIR
3702
PIR410
1
PIL2
04
PIR330
1 PIR
8602
PIR401 PISW104
PIR330
2 PIR
3401
PIR3502
PIR410
2 PIR
4201
PIR4302
PIR500
1 POREF0P2V048 PI
R7301
PIRN20
5
PIRN20
8
POREF0P1V7066
PIRN10
4 PI
RN10
8 PIR
N105
PIRN10
6
PISW102
POTERM0IND
PIC1001 PIC3502
PIC7002
PID102
PID302
PIIC608
PIIC1208
POA0
POA1
POADC0IN0N
POADC0IN0P
POIN0N
POIN0P
POREF0P1V7066
POREF0P2V048
POTERM0IND
11
22
33
44
55
EE
DD
CC
BB
AA
4W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
5
LVD
S In
terf
ace
-28
.01.
2020
03:3
4:22
LVD
S_IF
CB
.Sch
Doc
Size
File
Rev
Shee
tof A3
Sam
pler
Proj
ect/E
quip
men
t
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
I2C
logi
c v2
.2IS
E
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
27.0
7.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
I2C
1_SD
AI2
C1_
SCL
GN
D1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
J2
P12V
0
EEM
1_1_
PEE
M1_
1_N
EEM
1_3_
PEE
M1_
3_N
EEM
1_4_
NEE
M1_
4_P
I2C
1_SD
AI2
C1_
SCL
1%R17 100
C38
100nF
C37
100nF
C33
100nF
C31
100nF
C24
100nF
C21
100nF
GN
D
P3V
3
GN
D
SCL
1
VSS
2
SDA
3
VC
C4
NC
5IC
9
24A
A02
E48T
-I/O
T
P3V
3_M
P1
P3V
3_M
P1
C43
100nF
GN
D
EEM
con
nect
or: I
O a
re L
VD
S, I2
C is
3V
3 LV
CM
OS,
P3V
3_M
P up
to
20m
A, P
12V
up
to 1
A
Cop
yrig
ht W
UT
2017
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
AD
C_S
DO
B_P
AD
C_S
DO
B_N
AD
C_S
DO
C_P
AD
C_S
DO
C_N
AD
C_S
DO
D_P
AD
C_S
DO
D_N
AD
C_C
LKO
UT_
PA
DC
_CLK
OU
T_N
AD
C_S
DO
A_N
AD
C_S
DO
A_P
EEM
1_0_
NEE
M1_
0_P
EEM
1_1_
PEE
M1_
1_N
EEM
1_2_
NEE
M1_
2_P
EEM
1_3_
PEE
M1_
3_N
EEM
1_4_
NEE
M1_
4_P
EEM
1_5_
PEE
M1_
5_N
EEM
1_6_
NEE
M1_
6_P
EEM
1_7_
PEE
M1_
7_N
GN
DP3
V3
GN
D
1%R45 100
GN
DP3
V3
GN
D
1%R44 100
GN
DP3
V3
EEM
1_0_
PEE
M1_
0_N
GN
D
1%R46 100
GN
DP3
V3
GN
D
1%R47 100
GN
DP3
V3
GN
D
TP3
TP4
TP6
P3V
3_M
P1
TP5
EEM
1_2_
NEE
M1_
2_P
EEM
1
1
GN
D2
EN3
GN
D456
VC
C78
IC25
FIN
1101
K8X
1
GN
D2
EN3
GN
D456
VC
C78
IC27
FIN
1101
K8X
1
GN
D2
EN3
GN
D456
VC
C78
IC28
FIN
1101
K8X
1
GN
D2
EN3
GN
D456
VC
C78
IC29
FIN
1101
K8X
1
GN
D2
EN3
GN
D456
VC
C78
IC30
FIN
1101
K8X
PIC2101 PIC2102 COC2
1 PIC2401 PIC2402
COC24
PIC3101 PIC3102 COC3
1 PIC3301 PIC3302
COC33
PIC3701 PIC3702 COC3
7 PIC3801 PIC3802
COC38
PIC4301 PIC4302 COC4
3 PIIC901
PIIC902
PIIC903
PIIC904
PIIC905
COIC
9
PIIC
2501
PIIC2502
PIIC
2503
PIIC2504
PIIC2505
PIIC2506
PIIC
2507
PIIC
2508
COIC
25
PIIC
2701
PIIC2702
PIIC
2703
PIIC2704
PIIC2705
PIIC2706
PIIC
2707
PIIC
2708
COIC
27
PIIC
2801
PIIC2802
PIIC
2803
PIIC2804
PIIC2805
PIIC2806
PIIC
2807
PIIC
2808
COIC
28
PIIC
2901
PIIC2902
PIIC
2903
PIIC2904
PIIC
2905
PI
IC29
06
PIIC2907
PIIC
2908
COIC
29
PIIC
3001
PIIC3002
PIIC
3003
PIIC3004
PIIC3005
PIIC3006
PIIC
3007
PIIC
3008
COIC
30
PIJ201
PIJ202
PIJ203
PIJ204
PIJ205
PIJ206
PIJ207
PIJ208
PIJ209
PIJ2010
PIJ2011
PIJ2012
PIJ2013
PIJ2014
PIJ2015
PIJ2016
PIJ2017
PIJ2018
PIJ2019
PIJ2020
PIJ2021
PIJ2022
PIJ2023
PIJ2024
PIJ2025
PIJ2026
PIJ2027
PIJ2028
PIJ2029
PIJ2030
COJ2
PIR170
1 PIR
1702
COR1
7
PIR440
1 PIR
4402
COR4
4
PIR450
1 PIR
4502
COR4
5
PIR460
1 PIR
4602
COR4
6
PIR470
1 PIR
4702
COR4
7
PITP301
COTP
3 PITP40
1 CO
TP4
PITP501 COT
P5
PITP601
COTP
6
PIIC2505
PIJ203
NLEE
M100
0N
PIIC2506
PIJ202
NLEE
M100
0P
PIIC2705
PIJ206
NLEE
M101
0N
PIIC2706
PIJ205
NLEE
M101
0P
PIIC2805
PIJ209
NLEE
M102
0N
PIIC2806
PIJ208
NLEE
M102
0P
PIIC
2905
PIJ2012
NLEE
M103
0N
PIIC
2906
PIJ2011
NLEE
M103
0P
PIIC3005
PIJ2015
NLEE
M104
0N
PIIC3006
PIJ2014
NLEE
M104
0P
PIJ2018
NLEE
M105
0N
PIJ2017
NLEE
M105
0P
PIJ2021
NLEE
M106
0N
PIJ2020
NLEE
M106
0P
PIJ2024
NLEE
M107
0N
PIJ2023
NLEE
M107
0P
PIC2101 PIC2401
PIC3101 PIC3301
PIC3701 PIC3801
PIC4301
PIIC902
PIIC2502
PIIC2504
PIIC2702
PIIC2704
PIIC2802
PIIC2804
PIIC2902
PIIC2904
PIIC3002
PIIC3004
PIJ201
PIJ204
PIJ207
PIJ2010
PIJ2013
PIJ2016
PIJ2019
PIJ2022
PIJ2025
PITP601
PIIC901
PIJ2027
PITP401
NLI2
C10S
CL
PIIC903
PIJ2026
PITP301
NLI2
C10S
DA
PIIC905
PIIC
2501
PIR
4401
POADC0CLKOUT0P
PIIC
2508
PIR
4402
POADC0CLKOUT0N
PIIC
2701
PIR
1701
POADC0SDOA0N
PIIC
2708
PIR
1702
POADC0SDOA0P
PIIC
2801
PIR
4501
POADC0SDOB0P
PIIC
2808
PIR
4502
POADC0SDOB0N
PIIC
2901
PIR
4601
POADC0SDOC0P
PIIC
2908
PIR
4602
POADC0SDOC0N
PIIC
3001
PIR
4701
POADC0SDOD0P
PIIC
3008
PIR
4702
POADC0SDOD0N
PIC2102 PIC2402
PIC3102 PIC3302
PIC3702 PIC3802
PIIC
2503
PIIC
2507
PIIC
2703
PIIC
2707
PIIC
2803
PIIC
2807
PIIC
2903
PIIC2907
PIIC
3003
PIIC
3007
PIC4302 PIIC904
PIJ2030
PITP501
PIJ2028
PIJ2029
POADC0CLKOUT0N
POADC0CLKOUT0P
POADC0SDOA0N
POADC0SDOA0P
POADC0SDOB0N
POADC0SDOB0P
POADC0SDOC0N
POADC0SDOC0P
POADC0SDOD0N
POADC0SDOD0P
11
22
33
44
55
EE
DD
CC
BB
AA
4W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
5
LVD
S In
terf
ace
-28
.01.
2020
03:3
4:22
LVD
S_IF
CA
.Sch
Doc
Size
File
Rev
Shee
tof A3
Sam
pler
Proj
ect/E
quip
men
t
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
I2C
logi
c v2
.2IS
E
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
27.0
7.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
I2C
0_SD
AI2
C0_
SCL
GN
D1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
J13
P12V
0
I2C
0_SD
AI2
C0_
SCL
C161
100nF
C160
100nF
C159
100nF
C158
100nF
C157
100nF
C156
100nF
C154
100nF
GN
D
P3V
3
GN
D
SCL
1
VSS
2
SDA
3
VC
C4
NC
5IC
40
24A
A02
E48T
-I/O
T
P3V
3_M
P0
P3V
3_M
P0
C162100nF
GN
D
I2C
0_SD
AI2
C0_
SCL
C153
100nF
GN
D
A0
1
A1
2
A2
3
P04
P15
P26
P37
GN
D8
P49
P510
P611
P712
INT
13
SCL
14SD
A15
VC
C16
IC38
PCF8
574A
DW
P3V
3_M
P0G
ND
GN
DP3
V3_
MP0
P3V
3_M
P0
EEM
con
nect
or: I
O a
re L
VD
S, I2
C is
3V
3 LV
CM
OS,
P3V
3_M
P up
to
20m
A, P
12V
up
to 1
ATE
RM
_STA
T0TE
RM
_STA
T1TE
RM
_STA
T2TE
RM
_STA
T3TE
RM
_STA
T4TE
RM
_STA
T5TE
RM
_STA
T6TE
RM
_STA
T7
TER
M_S
TAT[
7..0
]TE
RM
_STA
T[7.
.0]
Cop
yrig
ht W
UT
2017
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
EEM
0_0_
NEE
M0_
0_P
EEM
0_1_
PEE
M0_
1_N
EEM
0_2_
NEE
M0_
2_P
EEM
0_3_
PEE
M0_
3_N
EEM
0_4_
NEE
M0_
4_P
EEM
0_5_
PEE
M0_
5_N
EEM
0_6_
NEE
M0_
6_P
EEM
0_7_
PEE
M0_
7_N
PGIA
-CS
PGIA
-SC
K
PGIA
-MO
SI
PGIA
-MIS
O
AD
C_S
DO
A_N
AD
C_S
DO
A_P
AD
C_S
CK
_NA
DC
_SC
K_P
AD
C_C
NV
VC
C15
34
GN
D2
IC19
SN65
LVD
S1D
BV
T
1%R30 100
GN
DP3
V3
GN
D
EEM
0_0_
PEE
M0_
0_N
GN
DP3
V3
GN
D
GN
D
1%R31 100
EEM
0_3_
PEE
M0_
3_N
VC
C1
53 4
GN
D2
IC17
SN65
LVD
S2D
BV
R
GN
DP3
V31%R
36 100
VC
C1
53 4
GN
D2
IC18
SN65
LVD
S2D
BV
RG
ND
P3V
31%R39 10
0
EEM
0_4_
NEE
M0_
4_P
EEM
0_5_
PEE
M0_
5_N
GN
DP3
V3
GN
DP3
V3
VC
C1
53 4
GN
D2
IC20
SN65
LVD
S2D
BV
R
1%R40 100
EEM
0_6_
NEE
M0_
6_P
EEM
0_7_
PEE
M0_
7_N
TP1
TP2
EEM
0_1_
PEE
M0_
1_N
EEM
0
VC
C1
53 4
GN
D2
IC24
SN65
LVD
S2D
BV
R
1%R55 100
P3V
3G
ND
EEM
0_2_
PEE
M0_
2_N
SDR
_MO
DE
1
GN
D2
EN3
GN
D456
VC
C78
IC21
FIN
1101
K8X
1
GN
D2
EN3
GN
D456
VC
C78
IC22
FIN
1101
K8X VC
C1
53 4
GN
D2
IC23
SN65
LVD
S2D
BV
RP2
V5A
C67
100nF
P2V
5A
GN
DPIC6701 PIC6702 COC6
7
PIC15301 PIC15302 COC153
PIC15401 PIC15402 COC154
PIC15601 PIC15602 COC156
PIC15701 PIC15702 COC157
PIC15801 PIC15802 COC158
PIC15901 PIC15902
COC159 PIC16001 PIC16002
COC160 PIC16101 PIC16102
COC161
PIC16201 PIC16202
COC162
PIIC
1701
PI
IC17
02
PIIC
1703
PIIC
1704
PI
IC17
05
COIC
17
PIIC
1801
PI
IC18
02
PIIC
1803
PIIC
1804
PI
IC18
05
COIC
18
PIIC1901
PIIC1902
PIIC
1903
PIIC
1904
PI
IC19
05
COIC
19
PIIC
2001
PI
IC20
02
PIIC
2003
PIIC
2004
PI
IC20
05
COIC
20
PIIC
2101
PIIC
2102
PIIC
2103
PIIC
2104
PIIC
2105
PIIC
2106
PIIC
2107
PIIC
2108
COIC21
PIIC
2201
PIIC
2202
PI
IC22
03
PIIC
2204
PIIC
2205
PIIC
2206
PIIC
2207
PIIC
2208
COIC
22
PIIC
2301
PI
IC23
02
PIIC
2303
PIIC
2304
PI
IC23
05
COIC
23
PIIC
2401
PI
IC24
02
PIIC
2403
PIIC
2404
PI
IC24
05
COIC
24
PIIC
3801
PIIC
3802
PIIC
3803
PIIC
3804
PIIC
3805
PIIC
3806
PIIC
3807
PIIC
3808
PIIC
3809
PIIC38010
PIIC38011
PIIC38012
PIIC38013
PIIC38014
PIIC38015
PIIC38016
COIC
38 PI
IC40
01
PIIC
4002
PIIC
4003
PIIC
4004
PIIC
4005
COIC
40
PIJ1301
PIJ1302
PIJ1303
PIJ1304
PIJ1305
PIJ1306
PIJ1307
PIJ1308
PIJ1309
PIJ1
3010
PIJ1
3011
PIJ1
3012
PIJ1
3013
PIJ1
3014
PIJ1
3015
PIJ1
3016
PIJ1
3017
PIJ1
3018
PIJ1
3019
PIJ1
3020
PIJ1
3021
PIJ1
3022
PIJ1
3023
PIJ1
3024
PIJ1
3025
PIJ1
3026
PIJ1
3027
PIJ1
3028
PIJ1
3029
PIJ1
3030
COJ13
PIR300
1 PIR
3002
COR3
0
PIR310
1 PIR
3102
COR3
1
PIR360
1 PIR
3602
COR3
6
PIR390
1 PIR
3902
COR3
9
PIR400
1 PIR
4002
COR4
0
PIR550
1 PIR
5502
COR55
PITP101
COTP
1 PITP201
COTP
2
PIIC
2101
PIJ1303
PIR300
1
NLEE
M000
0N
PIIC
2108
PIJ1302
PIR300
2
NLEE
M000
0P
PIIC
2205
PIJ1306
NLEE
M001
0N
PIIC
2206
PIJ1305
NLEE
M001
0P
PIIC
2404
PIJ1309
PIR550
1
NLEE
M002
0N
PIIC
2403
PIJ1308
PIR550
2
NLEE
M002
0P
PIIC
2304
PIJ1
3012
PIR310
1
NLEE
M003
0N
PIIC
2303
PIJ1
3011
PIR310
2
NLEE
M003
0P
PIIC
1704
PIJ1
3015
PIR360
1
NLEE
M004
0N
PIIC
1703
PIJ1
3014
PIR360
2
NLEE
M004
0P
PIIC
1804
PIJ1
3018
PIR390
1
NLEE
M005
0N
PIIC
1803
PIJ1
3017
PIR390
2
NLEE
M005
0P
PIIC
1903
PIJ1
3021
NL
EEM0
060N
PIIC
1904
PIJ1
3020
NL
EEM0
060P
PIIC
2004
PIJ1
3024
PIR400
1
NLEE
M007
0N
PIIC
2003
PIJ1
3023
PIR400
2
NLEE
M007
0P
PIC6701
PIC15301
PIC15401 PIC15601
PIC15701 PIC15801
PIC15901 PIC16001
PIC16101
PIC16201
PIIC
1702
PIIC
1802
PIIC1902
PIIC
2002
PIIC
2102
PIIC
2104
PIIC
2202
PIIC
2204
PIIC
2302
PIIC
2402
PIIC
3801
PIIC
3808
PIIC
4002
PIJ1301
PIJ1304
PIJ1307
PIJ1
3010
PIJ1
3013
PIJ1
3016
PIJ1
3019
PIJ1
3022
PIJ1
3025
PIIC38014
PIIC
4001
PIJ1
3027
PITP201
NLI2
C00S
CL
PIIC38015
PIIC
4003
PIJ1
3026
PITP101
NLI2
C00S
DA
PIIC
1705
POPGIA0SCK
PIIC
1805
POPGIA0MOSI
PIIC
1905
POPGIA0MISO
PIIC
2005
POPGIA0CS
PIIC
2105
POADC0SCK0N
PIIC
2106
POADC0SCK0P
PIIC
2201
POADC0SDOA0N
PIIC
2208
POADC0SDOA0P
PIIC
2305
POADC0CNV
PIIC
2405
POSDR0MODE
PIIC38013
PIIC
4005
PIC6702
PIIC
2301
PIC15402 PIC15602
PIC15702 PIC15802
PIC15902 PIC16002
PIC16102
PIIC
1701
PIIC
1801
PIIC1901
PIIC
2001
PIIC
2103
PIIC
2107
PIIC
2203
PIIC
2207
PIIC
2401
PIC15302
PIC16202
PIIC
3802
PIIC
3803
PIIC38016
PIIC
4004
PIJ1
3030
PIJ1
3028
PIJ1
3029
PIIC
3804
NLTERM0STAT070000
NLTERM0STAT0
POTE
RM0S
TAT0
7000
0
PIIC
3805
NLTERM0STAT070000
NLTE
RM0S
TAT1
POTE
RM0S
TAT0
7000
0
PIIC
3806
NLTERM0STAT070000
NLTERM0STAT2
POTE
RM0S
TAT0
7000
0
PIIC
3807
NLTERM0STAT070000
NLTERM0STAT3
POTE
RM0S
TAT0
7000
0
PIIC
3809
NLTERM0STAT070000
NLTERM0STAT4
POTE
RM0S
TAT0
7000
0
PIIC38010
NLTERM0STAT070000
NLTERM0STAT5
POTE
RM0S
TAT0
7000
0
PIIC38011
NLTERM0STAT070000
NLTERM0STAT6
POTE
RM0S
TAT0
7000
0
PIIC38012
NLTERM0STAT070000
NLTERM0STAT7
POTE
RM0S
TAT0
7000
0
POADC0CNV
POADC0SCK0N
POADC0SCK0P
POADC0SDOA0N
POADC0SDOA0P
POPGIA0CS
POPGIA0MISO
POPGIA0MOSI
POPGIA0SCK
POSDR0MODE
POTERM0STAT0
POTERM0STAT1
POTERM0STAT2
POTERM0STAT3
POTERM0STAT4
POTERM0STAT5
POTERM0STAT6
POTERM0STAT7
POTE
RM0S
TAT0
7000
0
11
22
33
44
55
EE
DD
CC
BB
AA
5W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
5
Pow
er S
uppl
y
-28
.01.
2020
03:3
4:23
Supp
ly.S
chD
oc
Size
File
Rev
Shee
tof A3
Sam
pler
Proj
ect/E
quip
men
t
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
conv
erte
rs +
LD
Os v
2.2
ISE
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
27.0
7.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
P3V
3
GN
D
C122
100nF
C120
100nF
PGN
D1
VIN
2
EN3
NC
4
FB5
AG
ND
6
PG7
SLEE
P8
SW9
VO
S10
EP11
IC26
TPS6
2175
DQ
C
L5 10uH
C121
22uF
C123
22uF
N12
V0A
L13
10uH
REF
_VC
C
GN
D
C44
1uF
GN
D
C42
22uFG
ND
GN
D
L12
10uH
C36
22uF
GN
D
C39
22uF
GN
D
C34
22uF
GN
D
C32
22uF
GN
DC40
22uF
GN
D
L11
10uH
C27
22uF
GN
D
+
C28
10uF GN
D
L10
10uH
C26
22uF
GN
D
IN2
SHD
N3
AD
J4
OU
T5
GN
D1
IC14
LT19
64ES
5-SD
#TR
MPB
F
GN
D
GN
D
-1.2
2V
1% R3224k
1% R382k7
GN
D
C29
1uF
GN
D
C117
1uF
GN
D
GN
DG
ND
GN
D
+
C118
10uF GN
D
GN
D
+7V
IN1
BY
P3
AD
J4
OU
T5
GN
D2
IC4
LT17
61ES
5-B
YP#
TRM
PBF
C11
6
10nF
GN
D
1% R2624k
1% R275k1
C114
10nF+C115
10uF GN
D
GN
D
P12V
0+C49
10uF GN
D
D9SMBJ12A
+
C52
10uF
C112
1uF
GN
D
P12V
0A
+C51
10uF GN
D
GN
D
+12V
GN
D
1% R14224k
1% R1432k7
D8
SMBJ12A
P13V
0
N13
V0
GN
D
GN
D
+Vin
1
-Vin
3
+Vou
t7
-Vou
t4
RC
2C
OM
5TR
M6
IC3
CC
6-12
12D
F-E
R8 0
R7
Undefined
Cop
yrig
ht W
UT
2017
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
+C19
10uF
+C18
10uF
P5V
0A
0.8V
L1 10uH
+
C50
10uF
C53
22uFG
ND
GN
D
C63
100nF
C58
100nF
PGN
D1
VIN
2
EN3
NC
4
FB5
AG
ND
6PG
7SL
EEP
8
SW9
VO
S10
EP11
IC8
TPS6
2175
DQ
C
L3 10uH
C59
22uF
C64
22uF
P6V
0A
0.8V
L4 10uH
+C60
10uF
C61
22uF
GN
D
1% R2433k
1% R285k1
1.22
V
1% R2562k
1% R2920k
C30
100nF
C45
100nF
GN
D
C46
100nF
C62
100nF
GN
D
1% R1936k
Ra
1.22
V GN
D
IN1
BY
P3
AD
J4
OU
T5
GN
D2
IC7
LT17
61ES
5-B
YP#
TRM
PBF
C47
10nF
GN
D
1.22
V
C55
100nF
GN
D
+
C56
10uF GN
D
IN8
SHD
N5
BY
P4
OU
T1
GN
D3
AD
J2
GN
D6
GN
D7
IC13
LT17
63C
S8#P
BF
C65
10nF
P2V
5A
1% R5351k
1% R5447k
IN8
SHD
N5
BY
P4
OU
T1
GN
D3
AD
J2
GN
D6
GN
D7
IC16
LT17
63C
S8#P
BF
2 31
V+ V-8 4
IC15
A
LM39
3AD
P12V
0
GN
D
P3V
3A
P6V
0
P3V
3A1% R20
270k1% R21
82kC
4822
uF
GN
D
L6 10uH
P6V
0A
GN
D
1%
R52
24k
P6V
0A
REF
_SH
DN
1%R57
5k1
P6V
0
GN
D
C66
1uF
SR_O
E
1%
R51
5k1
P3V
3
567
V+ V-8 4
IC15
B
LM39
3AD
GN
D
P12V
0P3
V3
1% R182k7
3.69
V
1%R23
2k4
1%R2210k
1% R4862k
P3V
3A
GN
D
C68
1uF
D2 1N
4148WS
D51N4148WS
GN
DC
69
1uF
D4
1N4148W
S
1%
R56
24k
TP7
P12V
0A
REF
_VC
C
N12
V0A
P2V
5AP3
V3A
P5V
0AP6
V0A
TP8
TP9
TP10
TP11
TP12
TP13
D6 1N
4148WS
P13V
0S
N13
V0S
+C
7710
uF
GN
D
REF
_P4V
096
Ra
= 53
.55
/ (Vo
ut -
12.0
2) -
18W
e w
ant +
/- 13
V so
Ra
= 36
R
Pow
er b
udge
t (m
ax ra
tings
):
P2V
5LT
C23
2038
RA
IL P
OW
ER38
mA
*2.5
=0.0
95W
P3V
3:SN
65LV
DS2
0DR
FT7*
13.5
=94.
5SN
65LV
DS2
DB
VR
5*8=
40SN
65LV
DS1
DB
VT
8LE
Ds
8*5=
40R
AIL
PO
WER
183m
A*3
.3=0
.603
W
P5V
0LT
C23
2060
RA
IL P
OW
ER60
*5=0
.3W
P12V
0A
D82
53A
RM
Z 8*
4mA
=32m
AO
PA21
97
8*2m
A=1
6mA
AD
8253
load
(10V
/20k
)8*
0.5m
A=4
mA
OPA
2197
load
(500
k:0.
3V/5
0R)
8*4m
A=3
2mA
RA
IL P
OW
ER
84*
12 =
1W
N12
V0
AD
8253
AR
MZ
8*4m
A=3
2mA
OPA
2197
8*
2mA
=16m
AO
PA21
97 lo
ad (5
00k:
0.3V
/50R
)8*
4mA
=32m
AR
AIL
PO
WER
8
4*12
= 1
W
DC
/DC
con
verte
r los
ses
TPS6
2175
:3.3
eff
.95
0,05
*(0.
18+0
.038
)*2,
5+26
e-6*
12=0
.022
WTP
S621
75:6
eff
.95
0,05
*0.0
6*6+
26e-
6*12
=0.0
18W
CC
6-12
12D
F-E:
13V
eff
70%
0.3*
13*0
.084
=0.3
3WC
C6-
1212
DF-
E:-1
3V e
ff 70
%0.
3*13
*0.0
84=0
.33W
LDO
loss
es6V
->5V
0.06
*1V
= 6
0mW
13V-
>12V
84m
W-1
3V->
-12V
84m
W3.
3V ->
2.5
V(3
.3-2
.5)*
38 =
30m
W
Tota
l pow
er fr
om 1
2V ra
il12
V 4
.16W
Tota
l cur
rent
from
12V
rail
0.35
A
SHD
N th
resh
old
is 0.
8V
SHD
N th
resh
old
is 1.
6VPo
wer
sequ
enci
ng:
1. P
5V0,
2.
P2V
5, P
3V3
3. A
DC
_REF
4. P
12V
0, N
12V
05.
out
put e
nabl
e of
seria
l reg
ister
s
The
LM39
3 in
put b
iain
g cu
rrent
is
25nA
-> 5
0uV
on
2k
This
diod
e le
t us m
ake
sure
that
ther
e w
on't
be a
ny tr
ansie
nts o
n +/
- 12V
ra
ils d
urin
g po
wer
on.
PIC1801 PIC1802 COC1
8 PIC1901 PIC1902
COC19
PIC2601 PIC2602 COC26
PIC2701 PIC2702
COC27
PIC2801 PIC2802 COC28
PIC2901 PIC2902
COC29
PIC3001 PIC3002 COC3
0
PIC3201 PIC3202 COC32
PIC3401 PIC3402
COC34
PIC3601 PIC3602 COC36
PIC3901 PIC3902
COC39
PIC4001 PIC4002 COC4
0 PIC4201 PIC4202
COC42
PIC4401 PIC4402 COC4
4
PIC4501 PIC4502 COC45
PIC4601
PIC4602
COC46
PIC4
701
PIC4
702
COC4
7
PIC4801 PIC4802 CO
C48
PIC4901 PIC4902 COC49
PIC5001 PIC5002 COC5
0
PIC5101 PIC5102 COC5
1
PIC5201 PIC5202 COC5
2
PIC5301 PIC5302 COC5
3
PIC5501 PIC5502 COC5
5 PIC5601
PIC5602 COC56
PIC5801 PIC5802 COC5
8 PIC5901 PIC5902
COC59
PIC6001 PIC6002 COC6
0 PIC6101 PIC6102
COC61
PIC6201 PIC6202 COC6
2
PIC6301 PIC6302 COC63
PIC6401 PIC6402
COC64
PIC6501 PIC6502 CO
C65
PIC6601 PIC6602 COC6
6
PIC6801 PIC6802 COC6
8 PI
C690
1 PI
C690
2 COC6
9
PIC7701 PIC7702
COC7
7
PIC11201 PIC11202 COC112
PIC11401 PIC11402 COC114
PIC11501 PIC11502
COC115
PIC1
1601
PI
C116
02
COC1
16
PIC11701 PIC11702 COC117
PIC11801 PIC11802 COC118
PIC12001 PIC12002 COC120
PIC12101 PIC12102 COC121
PIC12201 PIC12202 COC122
PIC12301 PIC12302 COC123
PID2
01
PID2
02
COD2
PID4
01 PID402
COD4
PID501 PID502 COD
5
PID6
01
PID6
02
COD6
PID801 PID802 COD
8
PID901 PID902 COD
9
PIIC301
PIIC302
PIIC303
PIIC304
PIIC305
PIIC306
PIIC307
COIC3
PIIC401
PIIC402
PIIC403
PIIC404
PIIC405
COIC4
PIIC701
PIIC702
PIIC703
PIIC704
PIIC705
COIC7
PIIC801
PIIC802
PIIC803
PIIC804
PIIC805
PIIC806
PIIC807
PIIC808
PIIC809
PIIC8010
PIIC
8011
COIC8
PIIC
1301
PIIC
1302
PIIC
1303
PIIC
1304
PIIC
1305
PIIC
1306
PIIC
1307
PIIC
1308
COIC
13
PIIC
1401
PIIC
1402
PIIC
1403
PIIC
1404
PIIC
1405
COIC
14
PIIC
1501
PIIC
1502
PIIC
1503
PIIC1504 PIIC1508 CO
IC15
A
PIIC1504 PI
IC15
05
PIIC
1506
PIIC
1507
PIIC1508
COIC
15B
PIIC1601
PIIC
1602
PIIC
1603
PIIC
1604
PIIC
1605
PIIC
1606
PIIC
1607
PIIC1608
COIC
16
PIIC
2601
PIIC
2602
PIIC
2603
PIIC
2604
PIIC
2605
PI
IC26
06
PIIC
2607
PI
IC26
08
PIIC
2609
PIIC26010
PIIC26011
COIC
26
PIL1
01
PIL1
02
COL1
PIL3
01
PIL3
02
COL3
PIL4
01
PIL402
COL4
PIL5
01
PIL5
02
COL5
PIL6
01
PIL6
02
COL6
PIL1
001
PIL100
2
COL10
PIL110
1 PI
L110
2
COL1
1
PIL1
201
PIL120
2
COL1
2 PI
L130
1 PIL
1302
COL13
PIR701
PIR702
COR7
PIR801
PIR802
COR8
PIR1801 PIR1802
COR18
PIR1901
PIR1902
COR19
PIR2001
PIR2002
COR20 PIR2101 PIR2102
COR21
PIR2201
PIR2202 COR2
2
PIR2301
PIR2302 CO
R23
PIR2401 PIR2402
COR24
PIR2501
PIR2502
COR25
PIR2601 PIR2602
COR26 PIR2701
PIR2702
COR27
PIR2801
PIR2802
COR28
PIR2901
PIR2902
COR29
PIR3201
PIR3202
COR32 PIR3801
PIR3802
COR38
PIR4801
PIR4802
COR48
PIR5101
PIR5102 CO
R51
PIR520
1 PIR
5202 COR5
2
PIR5301 PIR5302 COR5
3 PIR5401 PIR5402
COR54
PIR560
1 PIR
5602 COR5
6
PIR5701
PIR5702 CO
R57
PIR14201
PIR14202
COR142 PIR14301
PIR14302
COR143
PITP701
COTP
7
PITP801
COTP
8
PITP901
COTP
9
PITP1001
COTP10
PITP1101
COTP11
PITP1201
COTP12
PITP1301
COTP13
PIC1801 PIC1901
PIC2601 PIC2701
PIC2802 PIC2901
PIC3001
PIC3201 PIC3401
PIC3601 PIC3901
PIC4001 PIC4201
PIC4401
PIC4501
PIC4601
PIC4801 PIC4902
PIC5002
PIC5102
PIC5201
PIC5301
PIC5501 PIC5602
PIC5801 PIC5901
PIC6002 PIC6101
PIC6201
PIC6301 PIC6401
PIC6601
PIC6801 PI
C690
1
PIC7702
PIC11201
PIC11502
PIC11701 PIC11802
PIC12001 PIC12101
PIC12201 PIC12301
PID802
PID901
PIIC303
PIIC305
PIIC402
PIIC702
PIIC801
PIIC806
PIIC
8011
PIIC
1303
PIIC
1306
PIIC
1307
PIIC
1401
PIIC1504
PIIC
1603
PIIC
1606
PIIC
1607
PIIC
2601
PIIC
2606
PIIC26011
PIR801
PIR2101
PIR2701
PIR2801
PIR2901
PIR3801
PIR4801
PIR5401
PIR14301
PIC4602
PIC5202 PID902
PIIC
1405
PIR3202
PITP901
PIC1902 PIC4402
PIIC
1402
PIL
1302
PIC4002
PIIC304
PIL1
201
PIR1901
PIC1802 PIC4202
PIL120
2 PI
L130
1
PIC2702 PIC2801
PIL100
2 PIL
1101
PIC3202 PIC3402
PIC3602 PIC3902
PIC4901
PIC6302 PIC6402
PIC12202 PIC12302
PIIC301
PIIC802
PIIC803
PIIC
2602
PIL6
02
PIC4
701
PIIC703
PIC6501 PI
IC13
04
PIC6602 PID502 PI
IC15
06
PIR520
1
PIC6802 PI
D202
PI
IC15
03
PIR2202
PIR4802
PIC6
902
PID402
PIIC807
PIIC
2603
PIR560
1
PIC11401
PIIC
1604
PIC1
1601
PIIC403
PID6
01
PIIC
2607
PIR5701
POREF0S\H\D\N\
PID6
02
PIIC
1305
PIIC
1403
PIIC
1501
PIR1801
PIR520
2
PIIC302
PIR802
PIIC306
PIR701
PIR1902
PIIC404
PIR2601 PIR2702
PIIC704
PIR5301 PIR5402
PIIC804
PIIC805
PIR2401
PIR2802
PIIC809
PIL3
01
PIIC
1302
PIR14201
PIR14302
PIIC
1404
PIR3201
PIR3802
PIIC
1502
PIR2301
PIIC
1507
PIR5102 POSR0O\E\
PIIC
1602
PIR2501
PIR2902
PIIC
2604
PIIC
2605
PIR2001
PIR2102
PIIC
2609
PI
L501
PIC4
702
PIC5502 PIC5601
PIIC705
PIR5302
PITP1001
PIC12002 PIC12102
PID501
PIIC
1505
PIIC
2608
PIIC26010
PIL1
01
PIL5
02 PIR2002
PIR5101
PIC5001 PIC5302
PID2
01
PIIC701
PIL1
02
PIR2302
PITP1101
PIC6202 PIC11402
PIC11501 PIIC1601
PIR2502
PITP1301
PIC5802 PIC5902
PIIC808
PIIC8010
PIL3
02
PIL4
01
PIR2402
PIR5702
PIC6001 PIC6102
PID4
01
PIIC
1605
PIIC1608
PIL402
PIR1802
PIR560
2
PITP1201
PIC4802
PIIC1508
PIL6
01
PIC3002 PIC5101
PIC6502 PID801
PIIC
1301
PIR14202
PITP701
PIC2902
PIC7701
PIC11202
PIC11702 PIIC401
PIIC
1308
PIL1
102
PIC2602
PIIC307
PIL1
001
PIR702
PIR2201
PIC4502
PIC1
1602
PIC11801 PIIC405
PIR2602
PITP801
POREF0S\H\D\N\
POSR0O\E\
Appendix 1. Details on the used boards
Appendix 1.2. Details on Zotino
Following the Zotino project page [50], it ‘is a 32-channel, 16-bit DAC EEM with an
update rate of 1MSPS (divided between the channels). It was designed for low noise and
good stability’.
The Zotino’s key features are:
• ‘Current hardware revision: Rev 1.1
• Width: 4HP
• Channel count: 32
• Resolution: 16-bit
• Update rate: 1MSPS, which may be divided arbitrarily between the channels
• Analogue bandwidth: 3rd-order Butterworth response with 75kHz cut-off; ?V/s
slew-rate
• Output voltage: ±10V
• Output impedance: 470Ohm in parallel with 2.2nF
• DAC: AD5372BCPZ
• EEM connectors: power and digital communication supplied by a single EEM con-
nector.
• Power consumption: 3W without load, 8.7W with max load on all channels’.
71
11
22
33
44
55
EE
DD
CC
BB
AA
1W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
7
Zotin
o v1
.2
-28
.01.
2020
03:3
9:52
Zotin
o.sc
hdoc
Size
File
Rev
Shee
tof A3
Zotin
oPr
ojec
t/Equ
ipm
ent
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
32 c
hann
el 1
6 Bi
t DAC
- TO
PIS
E
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
15.0
8.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
FTG
1
FTG
4
FTG
2
FTG
3
Cop
yrig
ht W
UT
2017
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
U_S
uppl
y_D
AC
Supp
ly_D
AC
.Sch
Doc
CSN
_EX
T
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
6970
J1
GN
D
P13V
0_SC
SI
DA
C_O
UT_
P1D
AC
_OU
T_P2
DA
C_O
UT_
P3D
AC
_OU
T_P4
DA
C_O
UT_
P5D
AC
_OU
T_P6
DA
C_O
UT_
P7D
AC
_OU
T_P8
DA
C_O
UT_
P9D
AC
_OU
T_P1
0D
AC
_OU
T_P1
1D
AC
_OU
T_P1
2D
AC
_OU
T_P1
3D
AC
_OU
T_P1
4D
AC
_OU
T_P1
5D
AC
_OU
T_P1
6
DA
C_O
UT_
P17
DA
C_O
UT_
P18
DA
C_O
UT_
P19
DA
C_O
UT_
P20
DA
C_O
UT_
P21
DA
C_O
UT_
P22
DA
C_O
UT_
P23
DA
C_O
UT_
P24
DA
C_O
UT_
P25
DA
C_O
UT_
P26
DA
C_O
UT_
P27
DA
C_O
UT_
P28
DA
C_O
UT_
P29
DA
C_O
UT_
P30
DA
C_O
UT_
P31
DA
C_O
UT_
N1
DA
C_O
UT_
N2
DA
C_O
UT_
N3
DA
C_O
UT_
N4
DA
C_O
UT_
N5
DA
C_O
UT_
N6
DA
C_O
UT_
N7
DA
C_O
UT_
N8
DA
C_O
UT_
N9
DA
C_O
UT_
N10
DA
C_O
UT_
N11
DA
C_O
UT_
N12
DA
C_O
UT_
N13
DA
C_O
UT_
N14
DA
C_O
UT_
N15
DA
C_O
UT_
N16
DA
C_O
UT_
N17
DA
C_O
UT_
N18
DA
C_O
UT_
N19
DA
C_O
UT_
N20
DA
C_O
UT_
N21
DA
C_O
UT_
N22
DA
C_O
UT_
N23
DA
C_O
UT_
N24
DA
C_O
UT_
N25
DA
C_O
UT_
N26
DA
C_O
UT_
N27
DA
C_O
UT_
N28
DA
C_O
UT_
N29
DA
C_O
UT_
N30
DA
C_O
UT_
N31
N13
V0_
SCSI
GN
DG
ND
Rep
eat(I
N)
Rep
eat(O
UT_
P)R
epea
t(OU
T_N
)
Rep
eat(U
_Out
put_
chan
nel,1
,32)
Out
put_
chan
nel.S
chD
ocC
SnLD
AC
n
BU
SY
SDI
CLR
nSC
KI
SDO
RES
ETn
VO
UT[
32..1
]
U_D
AC
_32C
HD
AC
_32C
H.S
chD
oc
DA
C_O
UT_
PD
AC
_OU
T_N
DA
C_O
UT_
P[32
..1]
DA
C_O
UT_
N[3
1..1
]V
OU
T[32
..1]
VO
UT
LDA
Cn
BU
SY
CSN
SCK
I
SDI
CSN
_EX
T
CLR
n
SDO
I2C
_SD
AI2
C_S
CL
U_L
VD
S_IF
C_D
AC
LVD
S_IF
C_D
AC
.Sch
Doc
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
Gre
en
BO
TLD
4A
Gre
en
MB
OT
LD4B G
reen
MTO
PLD
4C Gre
en
TOP
LD4D
Gre
en
BO
TLD
5A
Gre
en
MB
OT
LD5B G
reen
MTO
PLD
5C Gre
en
TOP
LD5D
OE
13R
CLK
12
SER
14
SRC
LR10
SRC
LK11
QA
15Q
B1
QC
2Q
D3
QE
4Q
F5
QG
6
QH
7
QH
'9
VC
C16
GN
D8
IC23
SN74
LV59
5APW
T
P3V
3
GN
D
SDI
SCK
I
GN
DC
SN_E
XT
P3V
3
SDI
SCK
I
1%R
113
220
1%R
114
220
1%R
115
220
1%R
119
220
1%R
120
220
1%R
121
220
1%R
122
220
1%R
123
220
GN
D
LED
0LE
D1
LED
2LE
D3
LED
4LE
D5
LED
6LE
D7
LED
0
LED
1
LED
2
LED
3
LED
4
LED
5
LED
6
LED
7
GN
DG
ND
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
J31 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
J4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
J51 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
J7
P13V
0_SC
SIN
13V
0_SC
SIP1
3V0_
SCSI
N13
V0_
SCSI
P13V
0_SC
SIN
13V
0_SC
SIP1
3V0_
SCSI
N13
V0_
SCSI
GN
DG
ND
RST
2M
R3
VC
C4
VSS
1
IC19
STM
811S
W16
F
P3V
3
GN
D
DA
C_O
UT_
P32
DA
C_O
UT_
N32
DA
C_O
UT_
P1
DA
C_O
UT_
P2
DA
C_O
UT_
P3
DA
C_O
UT_
P4
DA
C_O
UT_
P5
DA
C_O
UT_
P6
DA
C_O
UT_
P7
DA
C_O
UT_
N1
DA
C_O
UT_
N2
DA
C_O
UT_
N3
DA
C_O
UT_
N4
DA
C_O
UT_
N5
DA
C_O
UT_
N6
DA
C_O
UT_
N7
DA
C_O
UT_
P8D
AC
_OU
T_N
8
DA
C_O
UT_
P9
DA
C_O
UT_
P10
DA
C_O
UT_
P11
DA
C_O
UT_
P12
DA
C_O
UT_
P13
DA
C_O
UT_
P14
DA
C_O
UT_
P15
DA
C_O
UT_
N9
DA
C_O
UT_
N10
DA
C_O
UT_
N11
DA
C_O
UT_
N12
DA
C_O
UT_
N13
DA
C_O
UT_
N14
DA
C_O
UT_
N15
DA
C_O
UT_
P16
DA
C_O
UT_
N16
DA
C_O
UT_
P17
DA
C_O
UT_
P18
DA
C_O
UT_
P19
DA
C_O
UT_
P20
DA
C_O
UT_
P21
DA
C_O
UT_
P22
DA
C_O
UT_
P23
DA
C_O
UT_
N17
DA
C_O
UT_
N18
DA
C_O
UT_
N19
DA
C_O
UT_
N20
DA
C_O
UT_
N21
DA
C_O
UT_
N22
DA
C_O
UT_
N23
DA
C_O
UT_
P24
DA
C_O
UT_
N24
DA
C_O
UT_
P25
DA
C_O
UT_
P26
DA
C_O
UT_
P27
DA
C_O
UT_
P28
DA
C_O
UT_
P29
DA
C_O
UT_
P30
DA
C_O
UT_
P31
DA
C_O
UT_
N25
DA
C_O
UT_
N26
DA
C_O
UT_
N27
DA
C_O
UT_
N28
DA
C_O
UT_
N29
DA
C_O
UT_
N30
DA
C_O
UT_
N31
DA
C_O
UT_
P32
DA
C_O
UT_
N32
1
CLI
P28
GN
D
1
CLI
P29
GN
D
1
CLI
P30
GN
D
1
CLI
P31
GN
D
1
CLI
P32
GN
D
1
CLI
P33
GN
D
1
CLI
P34
GN
D
1
CLI
P36
GN
D
1
CLI
P37
GN
D
1
CLI
P38
GN
D
1
CLI
P39
GN
D
1
CLI
P40
GN
D
1
CLI
P41
GN
D
1
CLI
P42
GN
D
1
CLI
P43
GN
D
1
CLI
P44
GN
D
1
CLI
P45
GN
D
1
CLI
P46
GN
D
1
CLI
P47
GN
D
1
CLI
P35
GN
D
1
CLI
P48
GN
D
1
CLI
P49
GN
D
1
CLI
P50
GN
D
1
CLI
P51
GN
D
1
CLI
P52
GN
D
1
CLI
P27
GN
D
C96
1uF
GN
D
P3V
3
1% R116220
1% R117220
1% R118220
C95
82pF
GN
D
C68
82pFC
7182pF
GN
DG
ND
shie
ld c
lips
Pelti
er c
onta
cts
Temperature regulator
TEC
+
TEC
-
RT1
10k
GN
D
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
J2
P3V
3_M
P
1%R8220 1%R9220 1%R
10220 1%R
12220
TEC positioning components
N12
V0A
N12
V0A
TEC
1
CP2
0147
H
TEC
hea
t sin
k
B2B3B4
TEC
hea
t sin
k m
ount
ing
hole
s
CSn
LDA
Cn
CLR
n
BU
SYSD
O
RES
ETn
B8B9B10
2W m
axP1
2V0
GN
DG
ND
Max
0.3
A@
12V
R15
Undefined
GN
D
TP18
R26
Undefined
R27
Undefined
B1
R280 R290
GN
D
GN
DB
7
Fron
t pan
el g
roun
ding
C15
Und
efin
edG
ND
C11
Und
efin
edG
ND
SCR
EW2
2 -5
6 U
NC
SCR
EW1
2 -5
6 U
NC
HS1
Max
imum
cur
rent
for +
/- 13
V su
pply
ove
r SC
SI
conn
ecto
r is +
/- 10
0mA
8 us
er L
EDs
mak
e su
re th
at th
e th
erm
istor
is
grou
nded
on
the
tem
pera
ture
co
ntro
ller
PIB101 COB
1
PIB201
COB2 PIB
301
COB3 PIB
401
COB4
PIB501 COB
5
PIB601 COB
6
PIB701
COB7
PIB801
COB8 PIB
901
COB9 PIB
1001 COB10
PIC1
101
PIC1
102
COC1
1
PIC1
501
PIC1
502
COC1
5
PIC6801 PIC6802
COC6
8 PIC7101 PIC7102
COC7
1 PIC9501 PIC9502
COC9
5
PIC9601 PIC9602 COC9
6
PICLIP2701 CO
CLIP
27
PICLIP2801 CO
CLIP
28
PICLIP2901 CO
CLIP
29
PICLIP3001 CO
CLIP
30
PICLIP3101 CO
CLIP
31
PICLIP3201 CO
CLIP
32
PICLIP3301 CO
CLIP
33
PICLIP3401 CO
CLIP
34
PICLIP3501 CO
CLIP
35
PICLIP3601 CO
CLIP
36
PICLIP3701 CO
CLIP
37
PICLIP3801 CO
CLIP
38
PICLIP3901 CO
CLIP
39
PICLIP4001 CO
CLIP
40
PICLIP4101 CO
CLIP
41
PICLIP4201 CO
CLIP
42
PICLIP4301 CO
CLIP
43
PICLIP4401 CO
CLIP
44
PICLIP4501 CO
CLIP
45
PICLIP4601 CO
CLIP
46
PICLIP4701 CO
CLIP
47
PICLIP4801 CO
CLIP
48
PICLIP4901 CO
CLIP
49
PICLIP5001 CO
CLIP
50
PICLIP5101 CO
CLIP
51
PICLIP5201 CO
CLIP
52
COFTG1
COFTG2
COFTG3
COFTG4
COHS
1
PIIC
1901
PIIC
1902
PIIC
1903
PIIC
1904
COIC
19
PIIC
2301
PIIC
2302
PIIC
2303
PIIC
2304
PIIC
2305
PIIC
2306
PIIC
2307
PIIC
2308
PIIC
2309
PIIC23010
PIIC23011
PIIC23012
PIIC23013
PIIC23014
PIIC23015
PIIC23016
COIC
23
PIJ101
PIJ102
PIJ103
PIJ104
PIJ105
PIJ106
PIJ107
PIJ108
PIJ109
PIJ1010
PIJ1011
PIJ1012
PIJ1013
PIJ1014
PIJ1015
PIJ1016
PIJ1017
PIJ1018
PIJ1019
PIJ1020
PIJ1021
PIJ1022
PIJ1023
PIJ1024
PIJ1025
PIJ1026
PIJ1027
PIJ1028
PIJ1029
PIJ1030
PIJ1031
PIJ1032
PIJ1033
PIJ1034
PIJ1035
PIJ1036
PIJ1037
PIJ1038
PIJ1039
PIJ1040
PIJ1041
PIJ1042
PIJ1043
PIJ1044
PIJ1045
PIJ1046
PIJ1047
PIJ1048
PIJ1049
PIJ1050
PIJ1051
PIJ1052
PIJ1053
PIJ1054
PIJ1055
PIJ1056
PIJ1057
PIJ1058
PIJ1059
PIJ1060
PIJ1061
PIJ1062
PIJ1063
PIJ1064
PIJ1065
PIJ1066
PIJ1067
PIJ1068
PIJ1069 PIJ1070
COJ1
PIJ201
PIJ202
PIJ203
PIJ204
PIJ205
PIJ206
PIJ207
PIJ208
PIJ209
PIJ2010
PIJ2011
PIJ2012
PIJ2013
PIJ2014
PIJ2015
PIJ2016
COJ2
PIJ301
PIJ302
PIJ303
PIJ304
PIJ305
PIJ306
PIJ307
PIJ308
PIJ309
PIJ3010
PIJ3011
PIJ3012
PIJ3013
PIJ3014
PIJ3015
PIJ3016
PIJ3017
PIJ3018
PIJ3019
PIJ3020
PIJ3021
PIJ3022
PIJ3023
PIJ3024
PIJ3025
PIJ3026
COJ3
PIJ401
PIJ402
PIJ403
PIJ404
PIJ405
PIJ406
PIJ407
PIJ408
PIJ409
PIJ4010
PIJ4011
PIJ4012
PIJ4013
PIJ4014
PIJ4015
PIJ4016
PIJ4017
PIJ4018
PIJ4019
PIJ4020
PIJ4021
PIJ4022
PIJ4023
PIJ4024
PIJ4025
PIJ4026
COJ4
PIJ501
PIJ502
PIJ503
PIJ504
PIJ5
05
PIJ5
06
PIJ507
PIJ508
PIJ509
PIJ5010
PIJ5011
PIJ5012
PIJ5013
PIJ5014
PIJ5015
PIJ5016
PIJ5017
PIJ5018
PIJ5019
PIJ5020
PIJ5021
PIJ5022
PIJ5023
PIJ5024
PIJ5025
PIJ5026
COJ5
PIJ701
PIJ702
PIJ703
PIJ704
PIJ7
05
PIJ7
06
PIJ707
PIJ708
PIJ709
PIJ7010
PIJ7011
PIJ7012
PIJ7013
PIJ7014
PIJ7015
PIJ7016
PIJ7017
PIJ7018
PIJ7019
PIJ7020
PIJ7021
PIJ7022
PIJ7023
PIJ7024
PIJ7025
PIJ7026
COJ7
PILD
401
PILD
402
COLD
4A
PILD
403
PILD
404
COLD
4B
PILD
405
PILD
406
COLD
4C
PILD
407
PILD
408
COLD
4D
PILD
501
PILD
502
COLD
5A
PILD
503
PILD
504
COLD
5B
PILD
505
PILD
506
COLD
5C
PILD50
7 PIL
D508
COLD
5D
PIR801
PIR802 COR
8 PIR901
PIR902 COR
9 PIR100
1 PIR
1002 COR1
0 PIR120
1 PIR
1202 COR1
2
PIR150
1 PIR
1502
COR1
5
PIR260
1 PIR
2602
COR2
6
PIR270
1 PIR
2702
COR2
7
PIR280
1 PIR
2802 CO
R28 PIR
2901
PIR290
2 COR2
9
PIR113
01 PIR
11302
COR113
PIR114
01 PIR
11402
COR114
PIR115
01 PIR
11502
COR115
PIR11601
PIR11602
COR116 PIR11701
PIR11702
COR117 PIR11801
PIR11802
COR118
PIR119
01 PIR
11902
COR119
PIR120
01 PIR
12002
COR120
PIR121
01 PIR
12102
COR121
PIR122
01 PIR
12202
COR122
PIR12301
PIR1
2302
COR123
PIRT10
1 PIR
T102
CORT
1
COSC
REW1
CO
SCRE
W2
COTEC1
PITP1801
COTP18
NLBU
SY
NLCLRn
NLCS
n
PIIC23012
PIR11802
PITP1801 NLCSN0EXT
PIC1
102
PIC1
502
PIC6801 PIC7101
PIC9501
PIC9601
PICLIP2701
PICLIP2801 PICLIP2901
PICLIP3001 PICLIP3101
PICLIP3201
PICLIP3301 PICLIP3401
PICLIP3501 PICLIP3601
PICLIP3701
PICLIP3801 PICLIP3901
PICLIP4001 PICLIP4101
PICLIP4201
PICLIP4301 PICLIP4401
PICLIP4501 PICLIP4601
PICLIP4701
PICLIP4801 PICLIP4901
PICLIP5001 PICLIP5101
PICLIP5201
PIIC
1901
PIIC
2308
PIIC23013
PIJ1017
PIJ1051
PIJ1069 PIJ1070
PIJ203
PIJ2012
PIJ2013
PIJ303
PIJ306
PIJ309
PIJ3012
PIJ3015
PIJ3018
PIJ3021
PIJ3024
PIJ403
PIJ406
PIJ409
PIJ4012
PIJ4015
PIJ4018
PIJ4021
PIJ4024
PIJ503
PIJ5
06
PIJ509
PIJ5012
PIJ5015
PIJ5018
PIJ5021
PIJ5024
PIJ703
PIJ7
06
PIJ709
PIJ7012
PIJ7015
PIJ7018
PIJ7021
PIJ7024
PILD
401
PILD
403
PILD
405
PILD
407
PILD
501
PILD
503
PILD
505
PILD50
7
PIR150
1
PIR280
1
PIR290
1
NLLDACn
PIIC23015
PIR113
01 NLLED0
PIIC
2301
PIR114
01 NLLED1
PIIC
2302
PIR115
01 NLLED2
PIIC
2303
PIR119
01 NLLED3
PIIC
2304
PIR120
01 NLLED4
PIIC
2305
PIR121
01 NLLED5
PIIC
2306
PIR122
01 NLLED6
PIIC
2307
PIR12301
NL
LED7
PIR801
PIR802
PIR901
PIR902
PIR100
1 PIR
1002
PIR120
1 PIR
1202
PIJ1052
PIJ3026
PIJ4026
PIJ5026
PIJ7026
PIB101
PIC1
101
PIR280
2
PIB201
PIB
301
PIB401
PIB701
PIC1
501
PIR290
2
PIB801
PIB
901
PIB100
1
PIC6802 PIR11701
PIC7102 PIR11801
PIC9502 PIR11601
PIIC
2309
PIJ201
PIRT10
1
PIJ202
PIR150
2
PIRT10
2
PIJ2015
PIR260
2
PIJ2016
PIR270
2
PILD
402
PIR113
02
PILD
404
PIR114
02
PILD
406
PIR115
02
PILD
408
PIR119
02
PILD
502
PIR120
02
PILD
504
PIR121
02
PILD
506
PIR122
02
PILD50
8 PIR1
2302
PIR260
1
PIR270
1
PIC9602
PIIC
1903
PIIC
1904
PIIC23010
PIIC23016
PIJ2014
PIJ2010
PIJ2011
PIJ1018
PIJ3025
PIJ4025
PIJ5025
PIJ7025
PIIC
1902
NLRE
SETn
PIIC23011
PIR11702
NLSCKI
PIIC23014
PIR11602
NLSD
I
NLSD
O
PIB501
PIJ204
PIJ206
PIJ208
NLTEC0 PIB601
PIJ205
PIJ207
PIJ209
NLTEC0
PIJ1035
PIJ302
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDAC0OUT0N1
PIJ1036
PIJ305
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDAC0OUT0N2
PIJ1037
PIJ308
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDAC0OUT0N3
PIJ1038
PIJ3011
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDAC0OUT0N4
PIJ1039
PIJ3014
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDAC0OUT0N5
PIJ1040
PIJ3017
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDAC0OUT0N6
PIJ1041
PIJ3020
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDAC0OUT0N7
PIJ1042
PIJ3023
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDAC0OUT0N8
PIJ1043
PIJ402
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDAC0OUT0N9
PIJ1044
PIJ405
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDAC0OUT0N10
PIJ1045
PIJ408
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N1
1
PIJ1046
PIJ4011
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N1
2
PIJ1047
PIJ4014
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N1
3
PIJ1048
PIJ4017
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N1
4
PIJ1049
PIJ4020
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N1
5
PIJ1050
PIJ4023
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N1
6
PIJ1053
PIJ502
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N1
7
PIJ1054
PIJ5
05
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N1
8
PIJ1055
PIJ508
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N1
9
PIJ1056
PIJ5011
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N2
0
PIJ1057
PIJ5014
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N2
1
PIJ1058
PIJ5017
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N2
2
PIJ1059
PIJ5020
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N2
3
PIJ1060
PIJ5023
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N2
4
PIJ1061
PIJ702
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N2
5
PIJ1062
PIJ7
05
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N2
6
PIJ1063
PIJ708
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N2
7
PIJ1064
PIJ7011
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N2
8
PIJ1065
PIJ7014
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N2
9
PIJ1066
PIJ7017
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N3
0
PIJ1067
PIJ7020
NLDA
C0OU
T0N0
3100
10
NLDAC0OUT0N
NLDA
C0OU
T0N3
1
PIJ1068
PIJ7023
NLDAC0OUT0N
NLDA
C0OU
T0N3
2
PIJ101
PIJ301
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P1
PIJ102
PIJ304
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P2
PIJ103
PIJ307
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P3
PIJ104
PIJ3010
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P4
PIJ105
PIJ3013
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P5
PIJ106
PIJ3016
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P6
PIJ107
PIJ3019
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P7
PIJ108
PIJ3022
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P8
PIJ109
PIJ401
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P9
PIJ1010
PIJ404
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P10
PIJ1011
PIJ407
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P11
PIJ1012
PIJ4010
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P12
PIJ1013
PIJ4013
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P13
PIJ1014
PIJ4016
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P14
PIJ1015
PIJ4019
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P15
PIJ1016
PIJ4022
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P16
PIJ1019
PIJ501
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDA
C0OU
T0P1
7
PIJ1020
PIJ504
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDA
C0OU
T0P1
8
PIJ1021
PIJ507
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDA
C0OU
T0P1
9
PIJ1022
PIJ5010
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDA
C0OU
T0P2
0
PIJ1023
PIJ5013
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDA
C0OU
T0P2
1
PIJ1024
PIJ5016
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDA
C0OU
T0P2
2
PIJ1025
PIJ5019
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDA
C0OU
T0P2
3
PIJ1026
PIJ5022
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDA
C0OU
T0P2
4
PIJ1027
PIJ701
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P25
PIJ1028
PIJ704
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P26
PIJ1029
PIJ707
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P27
PIJ1030
PIJ7010
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P28
PIJ1031
PIJ7013
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P29
PIJ1032
PIJ7016
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P30
PIJ1033
PIJ7019
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P31
PIJ1034
PIJ7022
NLDA
C0OU
T0P0
3200
10
NLDAC0OUT0P
NLDAC0OUT0P32
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
NLVO
UT03
2001
0 NL
VOUT
NL
VOUT
0320
010
NLVO
UT
11
22
33
44
55
EE
DD
CC
BB
AA
2W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
7
DAC
-28
.01.
2020
03:3
9:53
DA
C_3
2CH
.Sch
Doc
Size
File
Rev
Shee
tof A3
Zotin
oPr
ojec
t/Equ
ipm
ent
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
& re
fere
nce
v1.2
ISE
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
15.0
8.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
CSn
LDA
Cn
BU
SY
C83
100n
F GN
D
SDI
CLR
n
SCK
I
SDO
GN
DG
ND
GN
D
GN
DG
ND
GN
DG
ND
RES
ETn
VO
UT1
VO
UT2
VO
UT3
VO
UT4
VO
UT5
VO
UT6
VO
UT7
VO
UT8
VO
UT9
VO
UT1
0V
OU
T11
VO
UT1
2V
OU
T13
VO
UT1
4V
OU
T15
VO
UT1
6
VO
UT1
7V
OU
T18
VO
UT1
9V
OU
T20
VO
UT2
1V
OU
T22
VO
UT2
3V
OU
T24
VO
UT2
5V
OU
T26
VO
UT2
7V
OU
T28
VO
UT2
9V
OU
T30
VO
UT3
1
VO
UT[
32..1
]V
OU
T[32
..1]
IN2
NR
3G
ND
4TR
IM5
OU
T6
IC3
MA
X62
50A
CSA
+
C9
100nF
C78
100nF
+
C12
10uF
+
C79
10uF GN
D
GN
DG
ND
GN
DC81
2.2uF
GN
D
C80
2.2uF
GN
D
R3 0
C82
1uFGN
D
GN
D
C13
100n
F
GN
D
+ C14
10uF
GN
DC
31
100n
F
GN
D
C33
100n
F
GN
D
+C
47
10uF
GN
D
C50
100n
F
GN
D
C53
100n
F
GN
DG
ND
RES
ET1
BU
SY2
SYN
C53
SCLK
54SD
I55
SDO
56
LDA
C63
CLR
64
NC
9N
C10
NC
11
NC
12N
C13
NC
14
NC
15
VR
EF1
18
NC
19N
C20
VR
EF0
41V
OU
T821
VO
UT9
22
VO
UT1
023
VO
UT1
124
VO
UT1
226
VO
UT1
327
VO
UT1
428
VO
UT1
529
VO
UT0
42V
OU
T143
VO
UT2
44
VO
UT3
45
VO
UT4
47V
OU
T548
VO
UT6
49V
OU
T750
VO
UT2
73
VO
UT2
85
VO
UT2
96
VO
UT3
07
VO
UT3
18
VO
UT1
630
VO
UT1
731
VO
UT1
832
VO
UT1
933
VO
UT2
037
VO
UT2
138
VO
UT2
239
VO
UT2
340
VO
UT2
460
VO
UT2
561
VO
UT2
662
SIG
GN
D3
4
VSS
17
SIG
GN
D1
25SI
GG
ND
234
VSS
36
SIG
GN
D0
46
DG
ND
51
DG
ND
58A
GN
D59
VD
D16
VD
D35
DV
CC
52
DV
CC
57
EP65
IC18
AD
5372
BC
PZ
VO
UT3
2
1%R58220
C77
82pF
GN
D
1%R82220
C76
82pF
GN
D
Cop
yrig
ht W
UT
2017
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
+C110uF
N12
V0A
P12V
0A
P12V
0ATP
5
REF
TP1
TP2
TP3
TP4
L1 10uH
P3V
3+
C7
10uF
GN
D
C8
22uF
GN
D
TP15
TP16
TP17
RES
ET1
BU
SY2
SYN
C53
SCLK
54SD
I55
SDO
56
LDA
C63
CLR
64
NC
9N
C10
NC
11N
C12
NC
13
NC
14
NC
15
VR
EF1
18
NC
19
NC
20
VR
EF0
41
VO
UT8
21V
OU
T922
VO
UT1
023
VO
UT1
124
VO
UT1
226
VO
UT1
327
VO
UT1
428
VO
UT1
529
VO
UT0
42V
OU
T143
VO
UT2
44V
OU
T345
VO
UT4
47
VO
UT5
48
VO
UT6
49V
OU
T750
VO
UT2
73
VO
UT2
85
VO
UT2
96
VO
UT3
07
VO
UT3
18
VO
UT1
630
VO
UT1
731
VO
UT1
832
VO
UT1
933
VO
UT2
037
VO
UT2
138
VO
UT2
239
VO
UT2
340
VO
UT2
460
VO
UT2
561
VO
UT2
662
SIG
GN
D3
4
VSS
17
SIG
GN
D1
25SI
GG
ND
234
VSS
36
SIG
GN
D0
46
DG
ND
51D
GN
D58
AG
ND
59
VD
D16
VD
D35
DV
CC
52
DV
CC
57
IC5
AD
5373
BST
Z
QFN TQ
FP
GN
DG
ND
GN
D
GN
DG
ND
GN
DG
ND
N12
V0A
DV
CC
DV
CC
DV
CC
P12V
0A
REF
SCK
ISD
ISD
OC
Sn
BU
SYC
LRn
RES
ETn
LDA
Cn
SCK
ISD
ISD
OC
Sn
BU
SYC
LRn
RES
ETn
LDA
Cn
VO
UT1
VO
UT2
VO
UT3
VO
UT4
VO
UT5
VO
UT6
VO
UT7
VO
UT8
VO
UT9
VO
UT1
0V
OU
T11
VO
UT1
2V
OU
T13
VO
UT1
4V
OU
T15
VO
UT1
6
VO
UT1
7V
OU
T18
VO
UT1
9V
OU
T20
VO
UT2
1V
OU
T22
VO
UT2
3V
OU
T24
VO
UT2
5V
OU
T26
VO
UT2
7V
OU
T28
VO
UT2
9V
OU
T30
VO
UT3
1V
OU
T32
PIC101 PIC102
COC1
PIC701 PIC702 COC
7 PIC801 PIC802
COC8
PIC901 PIC902 COC
9 PIC1201 PIC1202
COC12
PIC1301 PIC1302 COC1
3
PIC1401 PIC1402 COC
14
PIC3101 PIC3102 CO
C31
PIC3301 PIC3302 CO
C33
PIC4701 PIC4702 CO
C47
PIC5001 PIC5002 COC5
0 PIC5301 PIC5302 CO
C53
PIC7601 PIC7602
COC7
6 PIC7701 PIC7702
COC77
PIC7801 PIC7802 COC7
8 PIC7901 PIC7902
COC79
PIC8001 PIC8002 COC8
0 PIC8101 PIC8102
COC81
PIC8201 PIC8202 COC8
2
PIC8301 PIC8302 COC8
3
PIIC302
PIIC303
PIIC304
PIIC305
PIIC306
COIC3
PIIC501
PIIC502
PIIC503
PIIC504
PIIC505
PIIC506
PIIC507
PIIC508
PIIC509
PIIC
5010
PIIC
5011
PIIC
5012
PIIC
5013
PIIC
5014
PIIC
5015
PIIC
5016
PIIC
5017
PIIC
5018
PIIC
5019
PIIC
5020
PIIC
5021
PIIC
5022
PIIC
5023
PIIC
5024
PIIC
5025
PIIC
5026
PIIC
5027
PIIC
5028
PIIC
5029
PIIC
5030
PIIC
5031
PIIC
5032
PI
IC50
33
PIIC
5034
PIIC
5035
PIIC5036
PIIC
5037
PIIC5038
PIIC5039
PIIC5040
PIIC
5041
PIIC
5042
PIIC
5043
PIIC
5044
PIIC
5045
PIIC
5046
PIIC
5047
PIIC
5048
PIIC
5049
PIIC
5050
PIIC
5051
PIIC
5052
PIIC
5053
PIIC
5054
PIIC
5055
PIIC
5056
PIIC5057
PIIC
5058
PIIC
5059
PIIC
5060
PI
IC50
61
PIIC
5062
PIIC
5063
PIIC
5064
COIC
5
PIIC
1801
PIIC
1802
PIIC1803
PIIC
1804
PIIC1805
PIIC1806
PIIC
1807
PIIC
1808
PIIC
1809
PIIC18010
PIIC18011
PIIC18012
PIIC18013
PIIC18014
PIIC18015
PIIC18016
PIIC18017
PIIC18018
PIIC18019
PIIC18020
PIIC18021
PIIC18022
PIIC18023
PIIC18024
PIIC18025
PIIC18026
PIIC18027
PIIC18028
PIIC18029
PIIC18030
PIIC18031
PIIC18032
PIIC18033
PIIC18034
PIIC18035
PIIC18036
PIIC18037
PIIC18038
PIIC18039
PIIC18040
PIIC18041
PIIC18042
PIIC18043
PIIC18044
PIIC18045
PIIC18046
PIIC18047
PIIC18048
PIIC18049
PIIC18050
PIIC18051
PIIC18052
PIIC18053
PIIC18054
PIIC18055
PIIC18056
PIIC18057
PIIC18058
PIIC18059
PIIC18060
PIIC18061
PIIC18062
PIIC18063
PIIC18064
PIIC18065
COIC
18
PIL101
PIL
102
COL1
PIR301
PIR302
COR3
PIR5801
PIR5802 COR58
PIR8201
PIR8202 COR82
PITP101
COTP1
PITP201
COTP
2 PITP301
COTP3
PITP401
COTP
4
PITP501 CO
TP5
PITP1501 COTP15 PITP1601
COTP16 PITP1701
COTP17
PIIC502
PIIC
1802
NLBU
SY
POBUSY
PIIC
5064
PIIC18064
PITP1501
NLCLRn
POCLRn
PIIC
5053
PIIC18053
PITP401
NLCS
n
POCSn
PIC701 PIC802
PIC1302 PIC1401
PIC8302
PIIC
5052
PIIC5057
PIIC18052
PIIC18057
PIL102
NLDVCC
PIC101
PIC702 PIC801
PIC901 PIC1202
PIC1301 PIC1402
PIC3101 PIC3301
PIC4702
PIC5001 PIC5301
PIC7601 PIC7701
PIC7801 PIC7902
PIC8001 PIC8101
PIC8201
PIC8301
PIIC304
PIIC504
PIIC
5025
PIIC
5034
PIIC
5046
PIIC
5051
PIIC
5058
PIIC
5059
PIIC
1804
PIIC18025
PIIC18034
PIIC18046
PIIC18051
PIIC18058
PIIC18059
PIIC
5063
PIIC18063
PITP1701
NLLDACn
POLDACn
PIC102 PIC5002
PIC5302
PIIC
5017
PIIC5036
PIIC18017
PIIC18036
PIIC18065
PIC7602 PIR8201
PIC7702 PIR5801
PIC8002 PIIC302
PIR302
PIC8202
PIIC303
PIIC305
PIIC509
PIIC
5010
PIIC
5011
PIIC
5012
PIIC
5013
PIIC
5014
PIIC
5015
PIIC
5019
PIIC
5020
PIIC
1809
PIIC18010
PIIC18011
PIIC18012
PIIC18013
PIIC18014
PIIC18015
PIIC18019
PIIC18020
PIL101
PIC3102 PIC3302
PIC4701
PIIC
5016
PIIC
5035
PIIC18016
PIIC18035
PIR301
PIC902 PIC1201
PIC7802 PIC7901
PIC8102 PIIC306
PIIC
5018
PIIC
5041
PIIC18018
PIIC18041
PITP501
NLRE
F
PIIC501
PIIC
1801
PITP1601
NLRE
SETn
PORESETn
PIIC
5054
PIIC18054
PIR8202
PITP101
NLSCKI
POSCKI
PIIC
5055
PIIC18055
PIR5802
PITP201
NLSD
I
POSDI
PIIC
5056
PIIC18056
PITP301
NLSD
O
POSDO
PIIC
5042
PIIC18042
NLVO
UT03
2001
0
NLVO
UT1
POVO
UT03
2001
0
PIIC
5043
PIIC18043
NLVO
UT03
2001
0
NLVO
UT2
POVO
UT03
2001
0
PIIC
5044
PIIC18044
NLVO
UT03
2001
0
NLVO
UT3
POVO
UT03
2001
0
PIIC
5045
PIIC18045
NLVO
UT03
2001
0
NLVO
UT4
POVO
UT03
2001
0
PIIC
5047
PIIC18047
NLVO
UT03
2001
0
NLVO
UT5
POVO
UT03
2001
0
PIIC
5048
PIIC18048
NLVO
UT03
2001
0
NLVO
UT6
POVO
UT03
2001
0
PIIC
5049
PIIC18049
NLVO
UT03
2001
0
NLVO
UT7
POVO
UT03
2001
0
PIIC
5050
PIIC18050
NLVO
UT03
2001
0
NLVO
UT8
POVO
UT03
2001
0
PIIC
5021
PIIC18021
NLVO
UT03
2001
0
NLVO
UT9
POVO
UT03
2001
0
PIIC
5022
PIIC18022
NLVO
UT03
2001
0
NLVO
UT10
POVO
UT03
2001
0
PIIC
5023
PIIC18023
NLVO
UT03
2001
0
NLVO
UT11
POVO
UT03
2001
0
PIIC
5024
PIIC18024
NLVO
UT03
2001
0
NLVO
UT12
POVO
UT03
2001
0
PIIC
5026
PIIC18026
NLVO
UT03
2001
0
NLVO
UT13
POVO
UT03
2001
0
PIIC
5027
PIIC18027
NLVO
UT03
2001
0
NLVO
UT14
POVO
UT03
2001
0
PIIC
5028
PIIC18028
NLVO
UT03
2001
0
NLVO
UT15
POVO
UT03
2001
0
PIIC
5029
PIIC18029
NLVO
UT03
2001
0
NLVO
UT16
POVO
UT03
2001
0
PIIC
5030
PIIC18030
NLVO
UT03
2001
0
NLVO
UT17
POVO
UT03
2001
0
PIIC
5031
PIIC18031
NLVO
UT03
2001
0
NLVO
UT18
POVO
UT03
2001
0
PIIC
5032
PIIC18032
NLVO
UT03
2001
0
NLVO
UT19
POVO
UT03
2001
0
PIIC
5033
PIIC18033
NLVO
UT03
2001
0
NLVO
UT20
POVO
UT03
2001
0
PIIC
5037
PIIC18037
NLVO
UT03
2001
0
NLVO
UT21
POVO
UT03
2001
0
PIIC5038
PIIC18038
NLVO
UT03
2001
0
NLVO
UT22
POVO
UT03
2001
0
PIIC5039
PIIC18039
NLVO
UT03
2001
0
NLVO
UT23
POVO
UT03
2001
0
PIIC5040
PIIC18040
NLVO
UT03
2001
0
NLVO
UT24
POVO
UT03
2001
0
PIIC
5060
PIIC18060
NLVO
UT03
2001
0
NLVO
UT25
POVO
UT03
2001
0
PIIC
5061
PIIC18061
NLVO
UT03
2001
0
NLVO
UT26
POVO
UT03
2001
0
PIIC
5062
PIIC18062
NLVO
UT03
2001
0
NLVO
UT27
POVO
UT03
2001
0
PIIC503
PIIC1803
NLVO
UT03
2001
0
NLVO
UT28
POVO
UT03
2001
0
PIIC505
PIIC1805
NLVO
UT03
2001
0
NLVO
UT29
POVO
UT03
2001
0
PIIC506
PIIC1806
NLVO
UT03
2001
0
NLVO
UT30
POVO
UT03
2001
0
PIIC507
PIIC
1807
NLVO
UT03
2001
0
NLVO
UT31
POVO
UT03
2001
0
PIIC508
PIIC
1808
NLVO
UT03
2001
0
NLVO
UT32
POVO
UT03
2001
0
POBUSY
POCLRn
POCSn
POLDACn
PORESETn
POSCKI
POSDI
POSDO
POVOUT1
POVOUT2
POVOUT3
POVOUT4
POVOUT5
POVOUT6
POVOUT7
POVOUT8
POVOUT9
POVOUT10
POVOUT11
POVOUT12
POVOUT13
POVOUT14
POVOUT15
POVOUT16
POVOUT17
POVOUT18
POVOUT19
POVOUT20
POVOUT21
POVOUT22
POVOUT23
POVOUT24
POVOUT25
POVOUT26
POVOUT27
POVOUT28
POVOUT29
POVOUT30
POVOUT31
POVOUT32
POVO
UT03
2001
0
11
22
33
44
55
EE
DD
CC
BB
AA
4W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
7
Out
put
-28
.01.
2020
03:3
9:53
Out
put_
chan
nel.S
chD
oc
Size
File
Rev
Shee
tof A3
Zotin
oPr
ojec
t/Equ
ipm
ent
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
filte
r v1.
2 ISE
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
15.0
8.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
C91
100nF
C92
100nF
GN
DG
ND
GN
DG
ND
IN
OU
T_P
P12V
0AN
12V
0A
+
C93
10uF
+C90
10uF
1
32
4L4
2x6.
5mH
OU
T_N
32
D5B
BAV199
13
D5A
BAV199
GN
D
OU
T_P
OU
T_N
P12V
0A
N12
V0A
GN
DG
ND
C56
680p
F
C61
220pF
C62
2.2nF
0.1%
R24
2k32
0.1%
R25
9k09
R68
Undefined
GN
D
1%
R67
11k
P12V
0A
N12
V0A
U_F
ilter
_sim
ulat
ions
Filte
r_sim
ulat
ions
.Sch
Doc
2 36
V+ V-7 4
IC2
OPA
197I
D
Cop
yrig
ht W
UT
2017
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
1%R7 1k1%R5 1k
Out
put r
ange
is +
/- 10
V3d
B B
W is
77k
Hz
plac
e ho
lder
fo
r gai
n se
tting
re
sisto
r
PIC5
601
PIC5
602
COC5
6
PIC6101 PIC6102 COC61
PIC6201 PIC6202
COC62
PIC9001 PIC9002 COC90
PIC9101 PIC9102
COC91
PIC9201 PIC9202 COC92
PIC9301
PIC9302
COC93
PID501 PID503 CO
D5A
PID502 PID503
COD5
B
PIIC202
PIIC203
PIIC204
PIIC206
PIIC207 CO
IC2
PIL4
01
PIL4
02
PIL403
PIL404
COL4
PIR501
PIR
502
COR5
PIR701
PIR702
COR7
PIR240
1 PIR
2402
COR2
4 PIR
2501
PIR250
2
COR2
5
PIR670
1 PIR
6702
COR6
7
PIR6801
PIR6802
COR68
PIC6101 PIC6201
PIC9002 PIC9101
PIC9201 PIC9301
PIL4
02
PIR6801
PIC9202 PIC9302
PID501 PIIC204
PIC5
601
PIR240
2 PIR
2501
PIC5
602
PIIC206
PIR501
PIR701
PIR670
2
PIC6102 PIIC203
PIR250
2 PIC6202
PID503
PIL4
01
PIR502
PIR702
PIIC202
PIR670
1
PIR6802
PIR240
1 POIN
PIL403
NLOUT0
N POOUT0N
PIL404
NLOU
T0P
POOUT0P
PIC9001 PIC9102
PID502 PIIC207
POIN
POOUT0N
POOUT0P
11
22
33
44
55
EE
DD
CC
BB
AA
5W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
7
Zotin
o
-28
.01.
2020
03:3
9:54
Supp
ly_D
AC
.Sch
Doc
Size
File
Rev
Shee
tof A3
Zotin
oPr
ojec
t/Equ
ipm
ent
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
Pow
er su
pply
v1.
2IS
E
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
15.0
8.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
P3V
3
GN
D
C150
100nF
C148
100nF
PGN
D1
VIN
2EN
3
NC
4FB
5A
GN
D6
PG7
SLEE
P8
SW9
VO
S10
EP11
IC35
TPS6
2175
DQ
C
L16
10uH
1% R162270k
1% R16482k
C149
22uF
C151
22uF
N12
V0A
L15
10uH
GN
D
C144
1uF
GN
D
C142
22uF
GN
D
GN
D
GN
D
L9 10uH
C139
22uF
GN
D
C140
22uF
GN
D
C138
22uF
GN
D
C137
22uF
GN
DG
ND
C141
22uF
GN
D
L7 10uH
C131
22uF
GN
D
+C132
10uF GN
D
L6 10uH
C130
22uF
GN
D
GN
D
GN
D
1.22
V
GN
D
+C134
10uF GN
D
C133
1uF
GN
D
L8
10uH
P12V
0
C129
22uF
GN
D
+
C136
10uF GN
D
+
C147
10uF
P12V
0A
+C124
10uF GN
D
IN8
SHD
N5
BY
P4
OU
T1
GN
D3
AD
J2
GN
D6
GN
D7
IC27
LT17
63C
S8#P
BF
C63
1uF
GN
DG
ND
GN
DG
ND
C64
10nF GN
D
P13V
0_SC
SI
N13
V0_
SCSI
1% R15024k
1% R1532k7
1% R6924k
1% R702k7
+Vin
1
-Vin
3
+Vou
t7
-Vou
t4
RC
2C
OM
5TR
M6
IC1
CC
6-12
12D
F-E
R2 0
1% R436k
R1
Undefined
Cop
yrig
ht W
UT
2017
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
+
C3
10uF
+
C2
10uF
C4
100nF
GN
D
C5
100nF
GN
D
TP8
P12V
0A
N12
V0A
P3V
3
TP9
TP10
TP7
TP6
GN
D
GN
D
IN2
BY
P3
AD
J4
OU
T5
GN
D1
IC4
LT19
64ES
5-B
YP#
TRM
PBF
C6
10nF
+ C10
10uF
GN
D
D1
SK26A
D2
SK26A
P12V
0
R31
Und
efin
ed
R32
Und
efin
ed
R30
Und
efin
ed
Pow
er b
udge
t:op
amp
OPA
197:
+13V
rail
-13V
rail
3.3V
32*
1.5m
A=4
8mA
48m
A48
mA
opam
load
32*0
.5m
A16
mA
16m
A
DA
C53
73ID
vcc
2mA
3.3
V2m
AIv
ss -1
8mA
-1
2V18
mA
Ivdd
16m
A 1
2V16
mA
Ref
eren
ce
3mA
SCSI
con
nect
or0m
A0m
ALV
DS
inte
rface
2x
330m
ALV
DS
load
4x2
4mA
96m
A
Tota
l loa
dm
ax18
3mA
182m
A42
8mA
Tota
l loa
d m
in64
mA
63m
A25
0mA
Pow
er m
ax2.
3W2.
3W1.
4WPo
wer
min
0.83
0.83
0.8
DC
/DC
con
verte
r los
ses
max
: 0.9
2W; m
in:0
.32
Tota
l pow
er m
ax (S
CSI
2x
0mA
+ 0
.5m
A p
er o
ut a
mp
+ 4
activ
e LV
DS
outp
uts)
5.
1W =
0.4
2A@
12V
Tota
l pow
er m
in (j
ust s
uppl
y cu
rrent
, 2 a
ctiv
e LV
DS)
3.02
W =
0.2
5A@
12V
Pow
er b
udge
t doe
s not
incl
ude T
EC d
river
Ra
= 53
.55
/ (Vo
ut -
12.0
2) -
18W
e w
ant +
/- 13
V so
Ra
= 36
.6R
For t
he S
MPS
max
imum
allo
wed
ou
tput
cap
acito
r is 1
0uF.
We'r
e cu
rrent
ly u
sing
22uF
. Thi
s is f
ine
beca
use
the
DC
-bia
s will
redu
ce th
e ca
paci
tanc
e by
a fa
ctor
of a
few.
PIC201 PIC202 COC
2 PIC301 PIC302
COC3
PIC401 PIC402 COC
4
PIC501 PIC502 COC
5
PIC6
01
PIC6
02 COC
6
PIC1
001
PIC1
002 COC1
0
PIC6301 PIC6302 COC6
3 PIC6401 PIC6402
COC64
PIC12401
PIC12402 COC124
PIC1
2901
PI
C129
02
COC129
PIC13001 PIC13002 COC130
PIC13101 PIC13102
COC131
PIC13201 PIC13202 COC132
PIC13301 PIC13302
COC133
PIC13401 PIC13402 COC134
PIC13601 PIC13602
COC136
PIC13701 PIC13702 COC137
PIC13801 PIC13802
COC138
PIC13901 PIC13902 COC139
PIC14001 PIC14002
COC140
PIC14101 PIC14102 COC141
PIC14201 PIC14202 COC142
PIC14401 PIC14402 COC144
PIC14701 PIC14702 COC147
PIC14801 PIC14802 COC148
PIC14901 PIC14902 COC149
PIC15001 PIC15002 COC150
PIC15101 PIC15102 COC151
PID101 PID102 COD
1
PID201 PID202 COD
2
PIIC101
PIIC102
PIIC103
PIIC104
PIIC105
PIIC106
PIIC107
COIC
1
PIIC401
PIIC402
PIIC403
PIIC404
PIIC405
COIC
4
PIIC
2701
PIIC
2702
PIIC
2703
PIIC
2704
PIIC
2705
PIIC
2706
PIIC
2707
PIIC
2708
COIC
27
PIIC
3501
PIIC
3502
PIIC
3503
PIIC
3504
PIIC
3505
PI
IC35
06
PIIC
3507
PI
IC35
08
PIIC
3509
PIIC35010
PIIC35011
COIC
35
PIL601
PIL6
02
COL6
PIL701
PIL7
02
COL7
PIL801 PIL802 COL
8
PIL9
01
PIL902
COL9
PIL150
1 PI
L150
2
COL1
5
PIL1
601
PIL160
2
COL1
6
PIR101 PIR102 COR
1
PIR201
PIR
202
COR2
PIR401 PIR402 COR
4
PIR300
1 PIR
3002
COR3
0
PIR310
1 PIR
3102
COR3
1
PIR320
1 PIR
3202
COR3
2
PIR6901
PIR6902
COR69 PIR7001
PIR7002
COR70
PIR15001
PIR15002
COR150 PIR15301
PIR15302
COR153
PIR16201
PIR16202
COR162 PIR16401
PIR16402
COR164 PITP60
1 COTP
6
PITP701 COTP
7
PITP801
COTP
8
PITP901
COTP
9
PITP1001
COTP10
PIC201 PIC301
PIC401
PIC501
PIC1
002
PIC6301 PIC12402
PIC1
2901
PIC13001 PIC13101
PIC13202 PIC13301
PIC13402
PIC13602 PIC13701
PIC13801 PIC13901
PIC14001
PIC14101 PIC14201
PIC14401
PIC14701
PIC14801 PIC14901
PIC15001 PIC15101
PID102
PID201
PIIC103
PIIC105
PIIC401
PIIC
2703
PIIC
2706
PIIC
2707
PIIC
3501
PIIC
3506
PIIC35011
PIR201
PIR7001
PIR15301
PIR16401
PITP601
PITP701
PIC502
PIC6
01
PIC14702 PID202
PIIC405
PIR6902
PITP901
PIR320
2
PIC202 PIC14202
PIL902
PIL150
1
PIR320
1
PIC302 PIC14402
PIIC402
PIL1
502
PIC6
02
PIIC403
PIC6302
PIC13302 PIC13401
PIIC
2705
PIIC
2708
PIL7
02
PIC6401
PIIC
2704
PIC13002
PIIC107
PIL601
PIR102 PIC13102
PIC13201 PI
L602
PIL701
PIR310
1
PIC13601 PIC13702
PIC13802 PIC13902
PIC14002
PIC15002 PIC15102
PIIC101
PIIC
3502
PIIC
3503
PIL801
PIC14102
PIIC104
PIL9
01
PIR401
PIIC102
PIR202
PIIC106
PIR101 PIR402
PIIC404
PIR6901
PIR7002
PIIC
2702
PIR15001
PIR15302
PIIC
3504
PIIC
3505
PIR16201
PIR16402
PIIC
3507
PIIC
3509
PI
L160
1 PIC14802
PIC14902
PIIC
3508
PIIC35010
PIL160
2 PIR16202
PITP1001
PIC1
001 PIC1
2902
PIL802
PIR300
1
PIC402 PIC6402
PIC12401
PID101 PI
IC27
01
PIR15002
PITP801
PIR300
2 PIR310
2
11
22
33
44
55
EE
DD
CC
BB
AA
7W
arsa
w U
nive
risty
of T
echn
olog
yN
owow
iejsk
a 15
/19
7
LVD
S &
I2C
-28
.01.
2020
03:3
9:54
LVD
S_IF
C_D
AC
.Sch
Doc
Size
File
Rev
Shee
tof A3
Zotin
oPr
ojec
t/Equ
ipm
ent
ART
IQ
G.K
.D
esig
ner
G.K
.D
raw
n by
Che
ck.b
yX
X/X
X/X
XX
X-
inte
rfac
es v
1.2
ISE
-La
st M
od.
Doc
umen
t
Prin
t Dat
e
15.0
8.20
18C
anno
t op
en fi
le
D:\D
ropb
ox\
DES
IGN
S\M
TCA
_pr
ojec
ts\SI
NA
RA
\AR
TIQ
_ALT
IU
M\a
rtiq.
png
LVD
S0_P
LVD
S0_N
LVD
S1_N
LVD
S1_P
LVD
S2_P
LVD
S2_N
LVD
S3_N
LVD
S3_P
LVD
S4_P
LVD
S4_N
LVD
S5_N
LVD
S5_P
LVD
S6_P
LVD
S6_N
LVD
S7_N
LVD
S7_P
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
GN
D
I2C
_SD
AI2
C_S
CL
GN
D1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
J37
P12V
0
LVD
S0_P
LVD
S0_N
LVD
S1_N
LVD
S1_P
LVD
S2_P
LVD
S2_N
LVD
S3_N
LVD
S3_P
LVD
S4_P
LVD
S4_N
LVD
S5_N
LVD
S5_P
LVD
S6_P
LVD
S6_N
LVD
S7_N
LVD
S7_P
I2C
_SD
AI2
C_S
CL
1%R14
110
0
1%R
144
100
1%R
147
100
1%R15
110
0
1DE
1
VC
C2
2A3
2B4
2DE
5
GN
D6
GN
D7
3DE
83A
93B
10
VC
C11
4DE
124A
13
4B14
VC
C15
VC
C16
NC
17
GN
D18
3RE
19
3FSE
N20
4RE
214F
SEN
22
GN
D23
VC
C24
4D25
4R26
GN
D27
3D28
3R29
PDN
30
GN
D31
2D32
2R33
GN
D34
1D35
1R36
VC
C37
GN
D38
1FSE
N39
1RE
40
2FSE
N41
2RE
42
GN
D43
NC
44
VC
C45
VC
C46
1A47
1B48
EP49
IC9
SN65
MLV
D04
0RG
ZTG
ND
GN
DG
ND
GN
DG
ND
GN
DG
ND
GN
DG
ND
GN
D
P3V
3
1%R
160
100
1%R
163
100
1%R
166
100
1%R
170
100
1%
R17110k
GN
D
C70
100nF
C69
100nF
C24
100nF
C23
100nF
C22
100nF
C21
100nF
C20
100nF
C19
100nF
GN
D
P3V
3
GN
D
1%R
157
100
SCL
1
VSS
2
SDA
3
VC
C4
NC
5IC
32
24A
A02
E48T
-I/O
T
P3V
3_M
P
P3V
3_M
P
C38
100nF
GN
D
SCK
I
CLR
n
SDOSD
I
1DE
1
VC
C2
2A3
2B4
2DE
5
GN
D6
GN
D7
3DE
83A
9
3B10
VC
C11
4DE
124A
134B
14
VC
C15
VC
C16
NC
17
GN
D18
3RE
193F
SEN
20
4RE
214F
SEN
22
GN
D23
VC
C24
4D25
4R26
GN
D27
3D28
3R29
PDN
30
GN
D31
2D32
2R33
GN
D34
1D35
1R36
VC
C37
GN
D38
1FSE
N39
1RE
40
2FSE
N41
2RE
42
GN
D43
NC
44
VC
C45
VC
C46
1A47
1B48
EP49
IC8
SN65
MLV
D04
0RG
ZT
GN
DG
ND
GN
DG
ND
GN
DG
ND
GN
DG
ND
GN
DG
ND
P3V
3
1%R6
100
CSN C
SN_E
XT
BU
SY
LDA
Cn
P3V
3
GN
D
1%R20 100
1%R21 100
1%R22 100
1%R23 100
1%R19 100
1%R18 100
1%R17 1001%R
16 100
GN
D
GN
D
GN
D
GN
DGN
D
P3V
3
P3V
3
GN
DR99
0
R10
10
R51
0
R88
0
R11
0
R13
0
R14
0
R97
0
Cop
yrig
ht W
UT
2017
This
doc
umen
tatio
n de
scrib
es O
pen
Har
dwar
e an
d is
lice
nsed
un
der t
he C
ERN
OH
L v.
1.1.
You
may
redi
strib
ute
and
mod
ify th
is
docu
men
tatio
n un
der t
he te
rms
of th
e CE
RN
OH
L v.
1.1.
(h
ttp://
ohw
r.org
/CER
NO
HL)
. Thi
s do
cum
enta
tion
is d
istri
bute
d W
ITH
OU
T A
NY
EX
PRES
S O
R IM
PLIE
D W
AR
RA
NTY
, IN
CLU
DIN
G O
F M
ERC
HA
NTA
BILI
TY, S
ATIS
FACT
ORY
Q
UA
LITY
AN
D F
ITN
ESS
FOR
A P
ART
ICU
LAR
PU
RPO
SE.
Plea
se s
ee th
e CE
RN
OH
L v.
1.1
for a
pplic
able
con
ditio
ns.
EEM
con
nect
or: I
O a
re L
VD
S, I2
C is
3V
3 LV
CM
OS,
P3V
3_M
P up
to
20m
A, P
12V
up
to 1
A.
I2C
_SD
AI2
C_S
CL
TP13
TP11
TP12
TP14
EEPR
OM
LVD
S<->
LV
CM
OS
trans
lato
rs
PIC1901 PIC1902 COC1
9 PIC2001 PIC2002
COC20
PIC2101 PIC2102 COC2
1 PIC2201 PIC2202
COC22
PIC2301 PIC2302 COC2
3 PIC2401 PIC2402
COC24
PIC3801 PIC3802 COC3
8
PIC6901 PIC6902 COC6
9 PIC7001 PIC7002
COC70
PIIC801
PIIC802
PIIC803
PIIC804
PIIC805
PIIC806
PIIC807
PIIC808
PIIC809
PIIC8010
PIIC
8011
PIIC
8012
PIIC8013
PIIC8014
PIIC
8015
PIIC
8016
PIIC8017
PIIC8018
PIIC
8019
PIIC
8020
PIIC
8021
PIIC
8022
PIIC8023
PIIC
8024
PIIC
8025
PIIC
8026
PIIC8027
PIIC
8028
PIIC
8029
PIIC
8030
PIIC8031
PIIC
8032
PIIC
8033
PIIC8034
PIIC
8035
PIIC
8036
PIIC
8037
PIIC8038
PIIC
8039
PIIC
8040
PIIC
8041
PIIC
8042
PIIC8043
PIIC8044
PIIC
8045
PIIC
8046
PIIC8047
PIIC8048
PIIC8049
COIC
8
PIIC901
PIIC902
PIIC903
PIIC904
PIIC905
PIIC906
PIIC907
PIIC908
PIIC909
PIIC
9010
PIIC
9011
PIIC9012
PIIC9013
PIIC9014
PIIC
9015
PIIC
9016
PIIC
9017
PIIC
9018
PIIC
9019
PIIC
9020
PIIC
9021
PIIC
9022
PIIC
9023
PIIC
9024
PIIC9025
PIIC
9026
PIIC
9027
PIIC
9028
PIIC
9029
PIIC
9030
PIIC
9031
PIIC
9032
PIIC
9033
PIIC
9034
PIIC
9035
PIIC
9036
PIIC
9037
PI
IC90
38
PIIC
9039
PIIC
9040
PIIC
9041
PIIC9042
PIIC
9043
PIIC
9044
PIIC
9045
PIIC
9046
PIIC
9047
PIIC
9048
PIIC
9049
COIC
9
PIIC
3201
PIIC
3202
PIIC
3203
PIIC
3204
PIIC
3205
COIC
32
PIJ3701
PIJ3702
PIJ3703
PIJ3704
PIJ3705
PIJ3706
PIJ3707
PIJ3708
PIJ3709
PIJ3
7010
PIJ3
7011
PIJ3
7012
PIJ3
7013
PIJ3
7014
PIJ3
7015
PIJ3
7016
PIJ3
7017
PIJ3
7018
PIJ3
7019
PIJ3
7020
PIJ3
7021
PIJ3
7022
PIJ3
7023
PIJ3
7024
PIJ3
7025
PIJ3
7026
PIJ3
7027
PIJ3
7028
PIJ3
7029
PIJ3
7030
COJ37
PIR601
PIR602
COR6
PIR110
1 PIR
1102
COR1
1
PIR130
1 PIR
1302
COR1
3
PIR140
1 PIR
1402
COR1
4
PIR160
1 PIR
1602
COR1
6
PIR170
1 PIR
1702
COR1
7
PIR180
1 PIR
1802
COR1
8
PIR190
1 PIR
1902
COR1
9
PIR200
1 PIR
2002
COR2
0
PIR210
1 PIR
2102
COR2
1
PIR2201
PIR2202
COR2
2
PIR2301
PIR2302
COR2
3
PIR510
1 PIR
5102
COR5
1
PIR880
1 PIR
8802
COR8
8
PIR970
1 PIR
9702
COR9
7
PIR990
1 PIR
9902
COR9
9
PIR101
01 PIR
10102
COR101
PIR141
01 PIR
14102
COR141
PIR144
01 PIR
14402
COR144
PIR147
01 PIR
14702
COR147
PIR151
01 PIR
15102
COR151
PIR157
01 PIR
15702
COR157
PIR160
01 PIR
16002
COR160
PIR163
01 PIR
16302
COR163
PIR1
6601
PI
R166
02
COR166
PIR1
7001
PI
R170
02
COR170
PIR17101
PIR1
7102
COR171
PITP1101
COTP11
PITP1201
COTP12
PITP1301
COTP13
PITP1401 COTP14
PIC1901 PIC2001
PIC2101 PIC2201
PIC2301 PIC2401
PIC3801
PIC6901 PIC7001
PIIC806
PIIC807
PIIC8018
PIIC8023
PIIC8027
PIIC8031
PIIC8034
PIIC8038
PIIC8043
PIIC8049
PIIC906
PIIC907
PIIC
9018
PIIC
9023
PIIC
9027
PIIC
9031
PIIC
9034
PIIC
9038
PIIC
9043
PIIC
9049
PIIC
3202
PIJ3701
PIJ3704
PIJ3707
PIJ3
7010
PIJ3
7013
PIJ3
7016
PIJ3
7019
PIJ3
7022
PIJ3
7025
PIR160
1
PIR170
1
PIR190
1
PIR200
1
PIR210
1
PIR2301
PIR157
02
PIR17102
PIIC
3201
PIJ3
7027
PITP1201
NLI2
C0SC
L POI2C0SCL
PIIC
3203
PIJ3
7026
PITP1101
NLI2
C0SD
A POI2C0SDA
PIIC8048
PIJ3703
PIR141
02
NLLVDS00N
PIIC8047
PIJ3702
PIR141
01
NLLV
DS00
P
PIIC804
PIJ3706
PIR144
02
NLLVDS10N
PIIC803
PIJ3705
PIR144
01
NLLV
DS10
P
PIIC8010
PIJ3709
PIR147
02
NLLVDS20N
PIIC809
PIJ3708
PIR147
01
NLLV
DS20
P
PIIC8014
PIJ3
7012
PIR151
02 NLLVDS30N
PIIC8013
PIJ3
7011
PIR
15101
NLLV
DS30
P
PIIC
9048
PIJ3
7015
PIR160
02
NLLVDS40N
PIIC
9047
PIJ3
7014
PIR160
01
NLLV
DS40
P
PIIC904
PIJ3
7018
PIR163
02
NLLVDS50N
PIIC903
PIJ3
7017
PIR163
01
NLLV
DS50
P
PIIC
9010
PIJ3
7021
PIR1
6602
NLLVDS60N
PIIC909
PIJ3
7020
PIR1
6601
NLLV
DS60
P
PIIC9014
PIJ3
7024
PIR1
7002
NLLVDS70N
PIIC9013
PIJ3
7023
PIR1
7001
NLLV
DS70
P
PIIC801
PIIC
8040
PIR160
2
PIIC805
PIIC
8042
PIR170
2
PIIC808
PIIC
8019
PIR180
2
PIIC
8012
PIIC
8021
PIR190
2
PIIC8017
PIIC
8020
PIIC
8022
PIIC
8039
PIIC
8041
PIR601
PIIC
8025
PIIC
8026
PIR
9702
PIIC
8028
PIR
1402
PIIC
8029
PIIC
8032
PIIC
8033
PIR
1302
PIIC
8035
PIIC
8036
PIR
1102
PIIC8044
PIIC901
PIIC
9040
PIR200
2
PIIC905
PIIC9042
PIR210
2
PIIC908
PIIC
9019
PIR2202
PIIC9012
PIIC
9021
PIR2302
PIIC
9017
PIIC
9020
PIIC
9022
PIIC
9039
PIIC
9041
PIR157
01
PIR17101
PIIC9025
PIIC
9026
PIR
8802
PIIC
9028
PIR
5102
PITP1401
PIIC
9029
PIIC
9032
PIIC
9033
PIR
10102
PIIC
9035
PIIC
9036
PIR
9902
PIIC
9044
PIIC
3205
PIR110
1 POSCKI
PIR130
1 POSDI
PIR140
1 POSDO
PIR510
1 POBUSY
PIR880
1 POCLRn
PIR970
1 POCSN
PIR990
1 POCSN0EXT
PIR101
01 POLDACn
PIC1902 PIC2002
PIC2102 PIC2202
PIC2302 PIC2402
PIC6902 PIC7002
PIIC802
PIIC
8011
PIIC
8015
PIIC
8016
PIIC
8024
PIIC
8030
PIIC
8037
PIIC
8045
PIIC
8046
PIIC902
PIIC
9011
PIIC
9015
PIIC
9016
PIIC
9024
PIIC
9030
PIIC
9037
PIIC
9045
PIIC
9046
PIR602
PIR180
1
PIR2201
PIC3802 PIIC
3204
PIJ3
7030
PITP1301
PIJ3
7028
PIJ3
7029
POBUSY
POCLRn
POCSN
POCSN0EXT
POI2C0SCL
POI2C0SDA
POLDACn
POSCKI
POSDI
POSDO
Appendix 2. Code used for tests and measurements
Listing Appendix 2.1: Code used for declaration of Servo module and all of its parameters
from migen import *from migen.build.platforms.sinara import kasli
from artiq.gateware.szservo import servo
from artiq.gateware.szservo.pads import ZotinoPads, SamplerPads, pgiaPads
from .eem2 import *# number of channels used for control
channels_no = 2
Kps = [0.1007 for i in range(channels_no)]
Kis = [839.19 for i in range(channels_no)]
plat = kasli .Platform(hw_rev="v1.1")
# numbers of EEM extentions to which particular boards are connected
sampler_conn = 3
sampler_aux = 2
zotino_conn = 4
# getting EEM extentions’ and theirs subsignals’ names
adc_io = Sampler.io(sampler_conn, sampler_aux)
dac_io = Zotino.io(zotino_conn)
# mapping EEM extensions’ signals to physical pins
plat.add_extension(adc_io)
plat.add_extension(dac_io)
# extracting name used by other functions
adc_eem = adc_io[sampler_aux][0].split("_")[0]
pgia_eem = adc_io[2][0].split("_")[0]
dac_eem = dac_io[zotino_conn][0].split("_")[0]
# creating pads wrapper
adc_pads = SamplerPads(plat, adc_eem)
pgia_pads = pgiaPads(plat, pgia_eem)
dac_pads = ZotinoPads(plat, dac_eem)
# creating params used by each of the modules used by Servo
adc_p = servo.ADCParams(width=16, channels=channels_no, lanes=int(channels_no/2),
t_cnvh=4, t_conv=57 − 4, t_rtt=4 + 4)
iir_p = servo.IIRWidths(state=25, coeff=18, adc=16, asf=16, word=16,
accu=48, shift=11, channel=3, profile=1)
dac_p = servo.DACParams(data_width = 24, clk_width = 2,
channels=adc_p.channels)
pgia_p = servo.PGIAParams(data_width = 16, clk_width = 2)
# initial values of PGIAs’ gains − for every amplifier there are two bits of information; all of them
# are concatenated into 16−bits−wide vector
pgia_init_val = 0x0000
# creating an instance of a Servo class
m = servo.Servo(adc_pads, pgia_pads, dac_pads, adc_p, pgia_p, iir_p, dac_p,
pgia_init_val, Kps, Kis)
m.submodules += adc_pads, pgia_pads, dac_pads
77
Appendix 2. Code used for tests and measurements
m.comb += m.start.eq(1) # PID controller’s start pin driven constantly high
clk_signal = Signal()
clk125 = plat.request("clk125_gtp")
m.specials += [
Instance("IBUFDS_GTE2", i_I = clk125.p, i_IB = clk125.n, o_O = clk_signal),
Instance("BUFG", i_I = clk_signal, o_O = m.cd_sys.clk)
]
plat.build(m, run=True, build_dir = "building/pid/{}ch/pgia{:0>4x}/Kp_{}_Ki_{}".format(
channels_no, pgia_init_val, Kps[0], Kis[0]), build_name = "top")
Listing Appendix 2.2: Code used for gaining access to corrseponding FPGA’s peripheral
signals and pins
from migen import *from migen.build.generic_platform import *from migen.genlib.io import DifferentialOutput
from artiq.gateware.szservo import pads as servo_pads
from artiq.gateware.szservo import servo
def _eem_signal(i):
n = "d{}".format(i)
if i == 0:
n += "_cc"
return n
def _eem_pin(eem, i, pol):
return "eem{}:{}_{}".format(eem, _eem_signal(i), pol)
class _EEM:
@classmethod
def add_extension (cls, target, eem, *args, **kwargs):
name = cls.__name__
target.platform.add_extension(cls.io(eem, *args, **kwargs))
print("{} (EEM){}) starting at RTIO channel {}"
.fromat(name, eem, len(target.rtio_channels)))
class Sampler(_EEM):
@staticmethod
def io(eem, eem_aux, iostandard = "LVDS_25"):
ios = [
("sampler{}_adc_spi_p".format(eem), 0,
Subsignal("clk", Pins(_eem_pin(eem, 0, "p"))),
Subsignal("miso", Pins(_eem_pin(eem, 1, "p"))),
IOStandard(iostandard),
) ,
("sampler{}_adc_spi_n".format(eem), 0,
Subsignal("clk", Pins(_eem_pin(eem, 0, "n"))),
Subsignal("miso", Pins(_eem_pin(eem, 1, "n"))),
IOStandard(iostandard),
78
Appendix 2. Code used for tests and measurements
) ,
("sampler{}_pgia_spi_p".format(eem), 0,
Subsignal("clk", Pins(_eem_pin(eem, 4, "p"))),
Subsignal("mosi", Pins(_eem_pin(eem, 5, "p"))),
Subsignal("miso", Pins(_eem_pin(eem, 6, "p"))),
Subsignal("cs_n", Pins(_eem_pin(eem, 7, "p"))),
IOStandard(iostandard),
) ,
("sampler{}_pgia_spi_n".format(eem), 0,
Subsignal("clk", Pins(_eem_pin(eem, 4, "n"))),
Subsignal("mosi", Pins(_eem_pin(eem, 5, "n"))),
Subsignal("miso", Pins(_eem_pin(eem, 6, "n"))),
Subsignal("cs_n", Pins(_eem_pin(eem, 7, "n"))),
IOStandard(iostandard),
) ,
] + [
("sampler{}_{}".format(eem, sig), 0,
Subsignal("p", Pins(_eem_pin(j, i, "p"))),
Subsignal("n", Pins(_eem_pin(j, i, "n"))),
IOStandard(iostandard)
) for i , j , sig in [
(2, eem, "sdr"),
(3, eem, "cnv")
]
]
if eem_aux is not None:
ios += [
("sampler{}_adc_data_p".format(eem), 0,
Subsignal("clkout", Pins(_eem_pin(eem_aux, 0, "p"))),
Subsignal("sdoa", Pins(_eem_pin(eem_aux, 1, "p"))),
Subsignal("sdob", Pins(_eem_pin(eem_aux, 2, "p"))),
Subsignal("sdoc", Pins(_eem_pin(eem_aux, 3, "p"))),
Subsignal("sdod", Pins(_eem_pin(eem_aux, 4, "p"))),
Misc("DIFF_TERM=TRUE"),
IOStandard(iostandard),
) ,
("sampler{}_adc_data_n".format(eem), 0,
Subsignal("clkout", Pins(_eem_pin(eem_aux, 0, "n"))),
Subsignal("sdoa", Pins(_eem_pin(eem_aux, 1, "n"))),
Subsignal("sdob", Pins(_eem_pin(eem_aux, 2, "n"))),
Subsignal("sdoc", Pins(_eem_pin(eem_aux, 3, "n"))),
Subsignal("sdod", Pins(_eem_pin(eem_aux, 4, "n"))),
Misc("DIFF_TERM=TRUE"),
IOStandard(iostandard),
) ,
]
return ios
class Zotino(_EEM):
@staticmethod
79
Appendix 2. Code used for tests and measurements
def io(eem, iostandard="LVDS_25"):
return [
("zotino{}_spi_p".format(eem), 0,
Subsignal("clk", Pins(_eem_pin(eem, 0, "p"))),
Subsignal("mosi", Pins(_eem_pin(eem, 1, "p"))),
Subsignal("miso", Pins(_eem_pin(eem, 2, "p"))),
Subsignal("cs_n", Pins(_eem_pin(eem, 3, "p"))),
IOStandard(iostandard),
) ,
("zotino{}_spi_n".format(eem), 0,
Subsignal("clk", Pins(_eem_pin(eem, 0, "n"))),
Subsignal("mosi", Pins(_eem_pin(eem, 1, "n"))),
Subsignal("miso", Pins(_eem_pin(eem, 2, "n"))),
Subsignal("cs_n", Pins(_eem_pin(eem, 3, "n"))),
IOStandard(iostandard),
) ,
] + [
("zotino{}_{}".format(eem, sig), 0,
Subsignal("p", Pins(_eem_pin(j, i, "p"))),
Subsignal("n", Pins(_eem_pin(j, i, "n"))),
IOStandard(iostandard)
) for i , j , sig in [
(5, eem, "ldac_n"),
(6, eem, "busy"),
(7, eem, "clr_n"),
]
]
80