aboutsummaryrefslogtreecommitdiff
path: root/electrical-specifications.typ
diff options
context:
space:
mode:
authorDenis Chevalier <perso@denischevalier.fr>2026-08-08 15:07:16 +0200
committerDenis Chevalier <perso@denischevalier.fr>2026-08-08 15:07:16 +0200
commit34351baa98ffbdaa85b77c444f740e0abad511ef (patch)
treec2efc7ad50956f95f91c54c1ef1c7b57f91586fd /electrical-specifications.typ
parent14960f43d8e556a2124f5172cd72acb6e0ab0852 (diff)
downloadsame-34351baa98ffbdaa85b77c444f740e0abad511ef.tar.gz
same-34351baa98ffbdaa85b77c444f740e0abad511ef.tar.bz2
same-34351baa98ffbdaa85b77c444f740e0abad511ef.zip
Improve global project (typos, enforce 80 columns whenever possible, diagrams) and finish 3.1
Diffstat (limited to 'electrical-specifications.typ')
-rw-r--r--electrical-specifications.typ87
1 files changed, 52 insertions, 35 deletions
diff --git a/electrical-specifications.typ b/electrical-specifications.typ
index 6d73b5e..8384518 100644
--- a/electrical-specifications.typ
+++ b/electrical-specifications.typ
@@ -62,7 +62,7 @@ must include an out-of-domain handling strategy, and document it:
#figure(
table(
columns: (auto, auto, auto),
- table.header([*Strategy*], [*Description*], [*Example use cases*]),
+ table.header([Strategy], [Description], [Example use cases]),
[Clamp], [Output held at boundary], [Logarithm],
[Hold], [Freeze last valid output], [Integrator],
[Fold], [Reflect at boundary], [Chaotic attractor],
@@ -98,7 +98,7 @@ jacks, the parallel input impedance must be considered:
#figure(
table(
columns: (auto, auto, auto),
- table.header([*Inputs stacked*], [*Parallel $Z_"in"$*], [*Loading error*]),
+ table.header([Inputs stacked], [Parallel $Z_"in"$], [Loading error]),
[1], [$qty(1, "mega ohm")$], [$qty(10, "ppm")$],
[4], [$qty(250, "kilo ohm")$], [$qty(40, "ppm")$],
[10], [$qty(100, "kilo ohm")$], [$qty(100, "ppm")$],
@@ -109,7 +109,9 @@ jacks, the parallel input impedance must be considered:
Module designers should document expected fan-out in module specifications. For
typical patches ($lt.eq 10$ connections per output), loading error remains a
-small fraction of the Industrial tier budget.
+small fraction of the Industrial tier budget. For Metrologic patches with a
+fan-out $gt 10$, the use of a dedicated buffer module should solve the loading
+error issue.
===== Error gates <error-gates>
@@ -126,7 +128,7 @@ internal errors must never be aggregated.
#figure(
table(
columns: (auto, auto),
- table.header([*Source*], [*Category*]),
+ table.header([Source], [Category]),
[Clipping], [Internal],
[PWAM Soft Saturation], [Internal],
[Domain Violation], [Out-of-Domain],
@@ -186,8 +188,8 @@ achievable with a standard HVAC.
===== Humidity <humidity>
Measurements are made within a relative humidity range of
-$qtyrange(30, 70, "percent", delimiter: "\"to\"") "RH"$, with an hourly variation of
-maximum $plus.minus qty(5, "percent") "RH"$.
+$qtyrange(30, 70, "percent", delimiter: "\"to\"") "RH"$, with an hourly
+variation of maximum $plus.minus qty(5, "percent") "RH"$.
High humidity can cause parasitic leakage paths (nanoamps matter at high-Z
nodes), dielectric changes affecting precision capacitors, and long-term
@@ -294,7 +296,7 @@ are met.
#figure(
table(
columns: (auto, auto, auto),
- table.header([*Parameter*], [*Range*], [*Variation*]),
+ table.header([Parameter], [Range], [Variation]),
[Temperature], [$plus qty(15, "dC") "to" plus qty(30, "dC")$], [$plus.minus qty(2, "celsius per hour")$],
[Relative humidity],
@@ -306,11 +308,17 @@ are met.
[RF immunity], [$qty(3, "volt per meter"), qtyrange(80, 1000, "MHz")$], [N/A],
[Magnetic field (DC)], [$lt qty(1, "ampere per meter")$], [N/A],
+
[Magnetic field (AC)], [$lt qty(0.3, "ampere per meter")$], [N/A],
+
[Vibration], [$lt qty(0.5, "g"), qtyrange(5, 500, "Hz")$], [N/A],
+
[Shock], [$lt qty(5, "g"), qty(11, "ms")$], [N/A],
+
[Air quality], [Indoor, filtered], [N/A],
+
[Lighting], [No direct sunlight], [N/A],
+
[Background radiation], [$lt qty(1, "micro sievert per hour")$], [N/A],
),
caption: [Summary of the precision measurements conditions],
@@ -321,10 +329,10 @@ Note that electrical supply requirements will be discussed in
=== Educational tier <educational-tier>
-This tier aims for a precision of $qty(0.1, "percent")$ ($qty(1000, "ppm")$), and a SNR of
-$qty(70, "dB")$. This tier is intended for lowering the barrier of entry by
-reducing the components costs and soldering difficulty. It is suitable for
-teaching on circuit topologies and general analog computer patching. At this
+This tier aims for a precision of $qty(0.1, "percent")$ ($qty(1000, "ppm")$),
+and a SNR of $qty(70, "dB")$. This tier is intended for lowering the barrier of
+entry by reducing the components costs and soldering difficulty. It is suitable
+for teaching on circuit topologies and general analog computer patching. At this
level of precision, results are valid within $plus.minus qty(10, "mV")$.
The maximum drift rate should be inferior or equal to $qty(60, "ppm per hour")$.
@@ -332,22 +340,24 @@ We recommend calibration verification before each session.
=== Industrial tier <industrial-tier>
-This tier aims for a precision of $qty(0.01, "percent")$ ($qty(100, "ppm")$), and a SNR of
-$qty(80, "dB")$. This tier is intended for research, serious experimentation,
-and applications requiring repeatable results. It is suitable for control
-systems modeling, audio-rate computation, and scientific data acquisition. At
-this level of precision, results are valid within $plus.minus qty(1, "mV")$.
+This tier aims for a precision of $qty(0.01, "percent")$ ($qty(100, "ppm")$),
+and a SNR of $qty(80, "dB")$. This tier is intended for research, serious
+experimentation, and applications requiring repeatable results. It is suitable
+for control systems modeling, audio-rate computation, and scientific data
+acquisition. At this level of precision, results are valid within
+$plus.minus qty(1, "mV")$.
The maximum drift rate should be inferior or equal to
$qty(0.6, "ppm per hour")$. We recommend daily calibration verification.
=== Metrologic tier <metrologic-tier>
-This tier aims for a precision of $qty(0.001, "percent")$ ($qty(10, "ppm")$), and a SNR of
-$qty(90, "dB")$. This tier is intended for precision measurement, long-duration
-computation, and applications requiring traceable accuracy. It is suitable for
-metrology, reference instrumentation, and extended continuous operation. At this
-level of precision, results are valid within $plus.minus qty(0.1, "mV")$.
+This tier aims for a precision of $qty(0.001, "percent")$ ($qty(10, "ppm")$),
+and a SNR of $qty(90, "dB")$. This tier is intended for precision measurement,
+long-duration computation, and applications requiring traceable accuracy. It is
+suitable for metrology, reference instrumentation, and extended continuous
+operation. At this level of precision, results are valid within
+$plus.minus qty(0.1, "mV")$.
The maximum drift rate should be inferior or equal to
$qty(0.014, "ppm per hour")$. We recommend daily calibration verification.
@@ -357,20 +367,21 @@ $qty(0.014, "ppm per hour")$. We recommend daily calibration verification.
#figure(
table(
columns: (auto, auto, auto, auto),
- table.header([*Parameter*], [*Educational*], [*Industrial*], [*Metrologic*]),
- [*Precision*],
+ table.header([Parameter], [Educational], [Industrial], [Metrologic]),
+ [Precision],
[$qty(0.1, "percent") (qty(1000, "ppm"))$],
[$qty(0.01, "percent") (qty(100, "ppm"))$],
[$qty(0.00, "percent")% (qty(10, "ppm"))$],
- [*SNR*], [$qty(70, "dB")$], [$qty(80, "dB")$], [$qty(90, "dB")$],
- [*Result validity*], [$plus.minus qty(0.1, "V")$], [$plus.minus qty(10, "mV")$], [$plus.minus qty(1, "mV")$],
+ [SNR], [$qty(70, "dB")$], [$qty(80, "dB")$], [$qty(90, "dB")$],
+
+ [Result validity], [$plus.minus qty(0.1, "V")$], [$plus.minus qty(10, "mV")$], [$plus.minus qty(1, "mV")$],
- [*Maximum drift rate*], [$qty(60, "ppm per hour")$], [$qty(0.6, "ppm per hour")$], [$qty(0.014, "ppm per hour")$],
+ [Maximum drift rate], [$qty(60, "ppm per hour")$], [$qty(0.6, "ppm per hour")$], [$qty(0.014, "ppm per hour")$],
- [*Drift-free computation*], [$approx qty(16, "h")$], [$approx qty(7, "day")$], [$approx qty(30, "day")$],
+ [Drift-free computation], [$approx qty(16, "h")$], [$approx qty(7, "day")$], [$approx qty(30, "day")$],
- [*Calibration verification*], [Before each session], [Daily], [Daily],
+ [Calibration verification], [Before each session], [Daily], [Daily],
),
caption: [Precision tiers summary],
) <table-precision-tiers-summary>
@@ -378,13 +389,13 @@ $qty(0.014, "ppm per hour")$. We recommend daily calibration verification.
==== Drift rate derivation <drift-rate-derivation>
The drift rates are calculated such that total accumulated drift over the
-drift-free computation period consumes approximately $qty(100, "percent")$ of the precision
-budget.
+drift-free computation period consumes approximately $qty(100, "percent")$ of
+the precision budget.
#figure(
table(
columns: (auto, auto, auto, auto),
- table.header([*Tier*], [*Precision*], [*Drift rate*], [*Time to drift $qty(100, "percent")$ of budget*]),
+ table.header([Tier], [Precision], [Drift rate], [Time to drift $qty(100, "percent")$ of budget]),
[*Educational*], [$qty(1000, "ppm")$], [$qty(60, "ppm per hour")$], [$approx qty(16, "h")$],
[*Industrial*], [$qty(100, "ppm")$], [$qty(0.6, "ppm per hour")$], [$approx qty(7, "day")$],
@@ -464,9 +475,10 @@ the system utilizes a global timebase.
<analog-supply-requirements>
At the module connector, the $plus.minus qty(15.00, "V")$ rails shall maintain
-an initial accuracy within $plus.minus qty(7.5, "mV")$ ($plus.minus qty(0.05, "percent")$) at
-$qty(25, "dC")$. Line regulation shall be better than $plus.minus qty(1.5, "mV")$
-($qty(0.01, "percent")$) for a $plus.minus qty(10, "percent")$ input voltage variation. Load regulation shall
+an initial accuracy within $plus.minus qty(7.5, "mV")$
+($plus.minus qty(0.05, "percent")$) at $qty(25, "dC")$. Line regulation shall be
+better than $plus.minus qty(1.5, "mV")$ ($qty(0.01, "percent")$) for a
+$plus.minus qty(10, "percent")$ input voltage variation. Load regulation shall
be better than $plus.minus qty(3.0, "mV")$ ($qty(0.02, "percent")$) over the
full load range ($qtyrange(10, 100, "percent", delimiter: "\"to\"")$). Output
voltage ripple and noise shall not exceed $qty(500, "uVpp")$ over a
@@ -563,9 +575,14 @@ the cassette to the power distribution board. D-sub connectors are ubiquitous,
sturdy and shielded.
#figure(
+ image("pictures/db-25-backplane-connector.svg"),
+ caption: [DB-25 backplane connector],
+) <figure-backplane-connector>
+
+#figure(
table(
columns: (auto, auto, auto, auto),
- table.header([*Pin*], [*Signal*], [*Pin*], [*Signal*]),
+ table.header([Pin], [Signal], [Pin], [Signal]),
[1], [$plus qty(15.00, "V")$], [14], [AGND],
[2], [$plus qty(15.00, "V")$], [15], [AGND],
[3], [$qty(-15.00, "V")$], [16], [AGND],