jakub matyas - m-labs

80
Institute of of Electronic Systems in the field of study Electronics and specialisation Electronics and Computer Engineering Precise PID controller for quantum applications Jakub Matyas student record book number 277464 thesis supervisor Krzysztof Po´ zniak, Ph.D., D.Sc. WARSAW 2020

Upload: others

Post on 13-Nov-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jakub Matyas - M-Labs

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

Page 2: Jakub Matyas - M-Labs
Page 3: Jakub Matyas - M-Labs

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

Page 4: Jakub Matyas - M-Labs

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

Page 5: Jakub Matyas - M-Labs

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

Page 6: Jakub Matyas - M-Labs

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

Page 7: Jakub Matyas - M-Labs

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

Page 8: Jakub Matyas - M-Labs

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

Page 9: Jakub Matyas - M-Labs

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

Page 10: Jakub Matyas - M-Labs

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

Page 11: Jakub Matyas - M-Labs

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

Page 12: Jakub Matyas - M-Labs

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

Page 13: Jakub Matyas - M-Labs

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

Page 14: Jakub Matyas - M-Labs

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

Page 15: Jakub Matyas - M-Labs

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

Page 16: Jakub Matyas - M-Labs

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

Page 17: Jakub Matyas - M-Labs

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

Page 18: Jakub Matyas - M-Labs

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

Page 19: Jakub Matyas - M-Labs

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

Page 20: Jakub Matyas - M-Labs

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

Page 21: Jakub Matyas - M-Labs

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

Page 22: Jakub Matyas - M-Labs

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

Page 23: Jakub Matyas - M-Labs

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

Page 24: Jakub Matyas - M-Labs

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

Page 25: Jakub Matyas - M-Labs

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

Page 26: Jakub Matyas - M-Labs

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

Page 27: Jakub Matyas - M-Labs

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

Page 28: Jakub Matyas - M-Labs

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

Page 29: Jakub Matyas - M-Labs

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

Page 30: Jakub Matyas - M-Labs

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

Page 31: Jakub Matyas - M-Labs

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

Page 32: Jakub Matyas - M-Labs

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

Page 33: Jakub Matyas - M-Labs

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

Page 34: Jakub Matyas - M-Labs

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

Page 35: Jakub Matyas - M-Labs

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

Page 36: Jakub Matyas - M-Labs

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

Page 37: Jakub Matyas - M-Labs

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

Page 38: Jakub Matyas - M-Labs

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

Page 39: Jakub Matyas - M-Labs

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

Page 40: Jakub Matyas - M-Labs

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

Page 41: Jakub Matyas - M-Labs

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

Page 42: Jakub Matyas - M-Labs

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

Page 43: Jakub Matyas - M-Labs

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

Page 44: Jakub Matyas - M-Labs

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

Page 45: Jakub Matyas - M-Labs

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

Page 46: Jakub Matyas - M-Labs

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

Page 47: Jakub Matyas - M-Labs

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

Page 48: Jakub Matyas - M-Labs

5. Tests and measurements

Figure 5.12: The controller step response

Figure 5.13: The controller average latency

48

Page 49: Jakub Matyas - M-Labs

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

Page 50: Jakub Matyas - M-Labs

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

Page 51: Jakub Matyas - M-Labs

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

Page 52: Jakub Matyas - M-Labs

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

Page 53: Jakub Matyas - M-Labs

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

Page 54: Jakub Matyas - M-Labs

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

Page 55: Jakub Matyas - M-Labs

6. Conclusion and thesis summary

Figure 6.2: Photograph of the hardware setup at HUB

55

Page 56: Jakub Matyas - M-Labs
Page 57: Jakub Matyas - M-Labs

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

Page 58: Jakub Matyas - M-Labs

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

Page 59: Jakub Matyas - M-Labs

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

Page 60: Jakub Matyas - M-Labs

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

Page 61: Jakub Matyas - M-Labs

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

Page 62: Jakub Matyas - M-Labs

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

Page 63: Jakub Matyas - M-Labs

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

Page 64: Jakub Matyas - M-Labs

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

Page 65: Jakub Matyas - M-Labs

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

Page 66: Jakub Matyas - M-Labs

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

Page 67: Jakub Matyas - M-Labs

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

Page 68: Jakub Matyas - M-Labs

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

Page 69: Jakub Matyas - M-Labs

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

Page 70: Jakub Matyas - M-Labs

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\

Page 71: Jakub Matyas - M-Labs

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

Page 72: Jakub Matyas - M-Labs

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

Page 73: Jakub Matyas - M-Labs

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

Page 74: Jakub Matyas - M-Labs

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

Page 75: Jakub Matyas - M-Labs

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

Page 76: Jakub Matyas - M-Labs

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

Page 77: Jakub Matyas - M-Labs

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

Page 78: Jakub Matyas - M-Labs

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

Page 79: Jakub Matyas - M-Labs

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

Page 80: Jakub Matyas - M-Labs

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