(→Kabel: Details) |
m (Move page script moved page SI2C to Archiv:SI2C without leaving a redirect: Umzug in die Sonnenstr) |
||
(53 intermediate revisions by 5 users not shown) | |||
Line 4: | Line 4: | ||
|location=Hauptraum | |location=Hauptraum | ||
|resource category=Infrastruktur | |resource category=Infrastruktur | ||
|image=SI2C-Timing.png | |||
|ownership=club | |ownership=club | ||
|contactnick=derf | |contactnick=derf | ||
Line 9: | Line 10: | ||
|has label=Yes | |has label=Yes | ||
}} | }} | ||
I²C- | |||
I²C-ähnliche Twowire-Verbindung, allerdings writeonly und ohne ACKs um die Verwendung von Repeatern zu vereinfachen. | |||
== Hardware == | == Hardware == | ||
Ein SI2C-Bus hat vier Leitungen: GND, VCC, SDA und SCL. SDA und SCL müssen sowohl 3.3V als auch 5V als High-Pegel akzeptieren und high impedance sein, sinnvollerweise werden dazu Optokoppler verwendet (spart auch direkt jegliche Probleme mit ungleichen GND-Pegeln). | |||
Für einen Client gibt es zwei Varianten, am Bus zu hängen: | |||
* Ohne eigenes Netzteil: VCC und GND kommen aus dem Bus. Es sollte damit gerechnet werden, dass VCC auf ~11V runtergehen kann, und am besten werden keine signifkanten Lasten betrieben. 7-Segment-Anzeigen und Relais sind aber kein Problem | |||
* Mit eigenem Netzteil: GND aus dem Bus geht nur zum Eingang der Optokoppler, die restliche Schaltung bekommt VCC und GND aus ihrem Netzteil. Der Bus-VCC wird nicht verwendet | |||
Beispiel für die Variante mit eigenem Netzteil: [https://github.com/chaosdorf/dorfmap/blob/master/client/avrshift/avrshift.png avrshift Schaltplan]. Bei Aufbau ohne Netzteil kommt VCC (SUPPLY-1) aus dem Bus | |||
und es ist GND == GPIOGND. | |||
=== Ratings === | |||
{| class="wikitable" | |||
|- | |||
! Parameter !! Min !! Max | |||
|- | |||
| VCC || — || 12 V | |||
|- | |||
| SDA/SCL low || -0.1 V || 0.1 V | |||
|- | |||
| SDA/SCL high || 3 V || 5 V | |||
|- | |||
| VCC current || — || 250 mA | |||
|- | |||
| SDA/SCL current @ 3.3V || — || 1 mA | |||
|- | |||
| SDA/SCL current @5V || — || 5 mA | |||
|} | |||
== Protokoll == | == Protokoll == | ||
Bitbasiert. | Bitbasiert. Im Ruhezustand sind SDA und SCL low, die erste steigende SCL-Flanke ist auch das erste most significant bit der Übertragung (es gibt keine start condition). Bei jeder weiteren steigenden SCL-Flanke werden weitere Bits eingelesen, beendet wird das ganze durch die stop condition: Fallende SCL-Flanke mit SDA high. D.h.: Falls weitere bits folgen, muss SDA vor der fallenden SCL-Flanke auf low gesetzt werden. | ||
Auf höherer Ebene gilt: Es können beliebig viele Bits / Bytes übertragen werden, solange die least significant (d.h. die letzten) 16 Bit die Geräteadresse sind. Nach einer steigenden SCL-Flanke ist das SDA-Signal für 100µs gültig, d.h. es muss in dieser Zeit eingelesen und verarbeitet werden. Die Low- bzw. High-Phase von SCL dauert je 200µs, nach der stop condition darf beliebig lange nicht auf den Bus reagiert werden. For the record: Die Übertragungsrate ist damit ca. 2kbit/s. | |||
=== TLDR === | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 24: | Line 57: | ||
| ↑ || <tt>X</tt> || Bit <tt>X</tt> von rechts (als Least Significant Bit) ins Register schieben | | ↑ || <tt>X</tt> || Bit <tt>X</tt> von rechts (als Least Significant Bit) ins Register schieben | ||
|- | |- | ||
| ↓ || 1 || | | ↓ || 1 || stop condition: Eingabedaten übernehmen | ||
|- | |- | ||
| ↓ || 0 || ''Keine'' | | ↓ || 0 || ''Keine'' | ||
|} | |} | ||
[[Image:SI2C-Timing.png]] | |||
AVR-C-Beispiel: [https://github.com/derf/dorfmap/blob/master/avrshift/main.c#L68 avrshift/main.c Z.68ff] | |||
== Kabel == | == Kabel == | ||
[[File:SI2C-Doku.png|thumb|right|400x200px|Kabelwege]] | |||
{| class="wikitable" | {| class="wikitable" | ||
! Bus !! Kabel | ! Bus !! Kabel | ||
|- | |- | ||
| feedback1 || [[Schleuse]] an {{H|feedback}} --(( violettes RJ45 ))-- Kabelkanal oberhalb [[Printer/ | | feedback1 || [[Schleuse]] an {{H|feedback}} --(( violettes RJ45 ))-- Kabelkanal oberhalb [[Printer/HP2100]] --(( Flachbandkabel entlang Kabelkanal ))-- [[Treppe]] | ||
|- | |- | ||
| donationprint1 || [[Schleuse]] an {{H|donationprint}} --(( Flachbandkabel ))-- [[Laptop | | feedback1 || Repeater [[Nomspace]] --(( Flachbandkabel ))-- [[Maschinenraum]] | ||
|- | |||
| donationprint1 || [[Schleuse]] an {{H|donationprint}} --(( Flachbandkabel ))-- [[Laptop Lounge]] | |||
|- | |- | ||
| donationprint2 || [[Schleuse]] {{H|donationprint}} --(( 2x rot/weiß Doppellitze ))-- [[Laptop Lounge]] an [[Blinkencontrol]] | | donationprint2 || [[Schleuse]] {{H|donationprint}} --(( 2x rot/weiß Doppellitze ))-- [[Laptop Lounge]] an [[Blinkencontrol]] | ||
Line 42: | Line 83: | ||
|} | |} | ||
=== Pinbelegung Flachbandkabel === | === Pinbelegung 4pol-Flachbandkabel === | ||
* 1: SDA | * 1: SDA | ||
* 2: VCC | * 2: VCC (12V) | ||
* 3: GND | * 3: GND | ||
* 4: SCL | * 4: SCL | ||
=== Pinbelegung 8pol-Flachbandkabel === | |||
Geplant, für Kombikabel mit CAN und SI2C. | |||
* 1: CANH | |||
* 2: 12V | |||
* 3: CANL | |||
* 4: GND | |||
* 5: SDA | |||
* 6: GND | |||
* 7: SCL | |||
* 8: 5V | |||
== Devices == | == Devices == | ||
Line 54: | Line 108: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Bus !! ID !! Firmware rev !! Funktion | ! Bus !! ID !! Firmware !! rev !! Ort !! Funktion | ||
|- | |||
| feedback1 || <tt>0002</tt> || avrshift || 0.04-42-g1a373d3 || Hackcenter Kabelkanal || 12V sink | |||
|- | |||
| feedback1 || <tt>0004</tt> || charwrite-legacy || 0.04-106-g544d694 || <s>Hackcenter</s> || <s>4x7segment (links)</s> | |||
|- | |||
| feedback1 || <tt>0005</tt> || charwrite-legacy || 0.04-106-g544d694 || <s>Hackcenter</s> || <s>4x7segment (rechts)</s> | |||
|- | |||
| feedback1 || <tt>0006</tt> || avrmf || 0.05-28-g5f8445e || <s>Schaufenster</s> || <s>5V source (5 digital, 3 pwm) + Repeater</s> | |||
|- | |||
| feedback1 || <tt>0007</tt> || avrshift || 0.05-38-g7b9a4e3 || Lounge Kabelkanal || 12V sink | |||
|- | |||
| feedback1 || <tt>0008</tt> || blinkencontrol || 0.05-47-g7ce9480 SDASCL_MIXUP || Hackcenter Regal || RGB-LED-Streifen | |||
|- | |||
| feedback1 || <tt>0009</tt> || avrshift || 0.05-69-gcc36007 || Hackcenter Regal || 5V source -> 12V sink -> LED-Streifen im Regal | |||
|- | |||
| feedback1 || <tt>000a</tt> || avrmf || 0.06-44-g7757c9b || Nomspace || 12V out (6 digital, 3 pwm) + Repeater | |||
|- | |||
| feedback1 || <tt>000c</tt> || avrpwm || 0.07-2-g3fff051 || Treppe || 12V out (9 digital, 4 pwm) | |||
|- | |||
| feedback1 || <tt>000d</tt> || avrpwm || 0.08-2-g3a8deec || Maschinenraum || 12V out (9 digital, 4 pwm) | |||
|- | |||
| feedback1 || <tt>000e</tt> || avrpwm || 1.0.2-4-ga5c3047 || Hackcenter || 12V out (9 digital, 4 pwm) | |||
|- | |- | ||
| feedback1 || <tt> | | feedback1 || <tt>000f</tt> || avrmf || 1.0.2-12-gc323689 || Schaufenster || 12V out (7 digital, 4 pwm) + Repeater | ||
|- | |- | ||
| | | feedback1 || <tt>0010</tt> || charwrite || 1.0.2-17-g188905a || Maschinenraum || 6x7segment | ||
|- | |- | ||
| | | feedback1 || <tt>0011</tt> || charwrite || 1.0.2-17-g188905a || Küche || 6x7segment | ||
|- | |- | ||
| donationprint2 || <tt>0003</tt> || 0.04-50-gf6641aa || | | feedback1 || <tt>0012</tt> || avrpwm || 1.0.2-37-gef59205 || Hackcenter Regal || 12V out (9 digital, 4 pwm) | ||
|- | |||
| feedback1 || <tt>0013</tt> || charwrite || 1.0.2-38-gabb5185 || Hackcenter || 6x7segment | |||
|- | |||
| donationprint1 || <tt>0000</tt> || avrshift || 0.04-42-g1a373d3 || Lounge || 12V out | |||
|- | |||
| donationprint2 || <tt>0001</tt> || blinkencontrol || 0.04-110-gfa20b4e || Lounge || RGB-LED-Streifen | |||
|- | |||
| donationprint2 || <tt>0003</tt> || charwrite-legacy || 0.04-50-gf6641aa || Lounge || 4x7segment | |||
|- | |- | ||
|} | |} | ||
Aktuell gibt es die folgenden Arten von Geräten | |||
=== Master === | |||
==== Raspberry Pi ==== | |||
Ein RasPi kann direkt über zwei GPIO-Pins (+ Ground) als Bus Master angeschlossen werden. Der Bus kann dann mittels [https://github.com/chaosdorf/dorfmap/tree/master/si2c-bitwrite si2c-bitwrite], [https://github.com/chaosdorf/dorfmap/tree/master/si2c-bytewrite si2c-bytewrite] oder [https://github.com/chaosdorf/dorfmap/tree/master/si2c-charwrite si2c-charwrite] (abhängig von der Art des Zielgeräts) bespielt werden. | |||
Die Programme erwarten jeweils die Pin-Nummer des SDA-Pins als erstes und die des SCL-Pins als zweites, also z.B. "si2c-bitwrite 8 11" für gpio8 und gpio11. Die Nummern beziehen sich auf das sysfs (<tt>/sys/class/gpio</tt>), die Pins müssen dort schon als Outputs exportiert sein. si2c-charwrite nimmt zusätzlich die Zieladresse (hi und lo) als drittes und viertes Argument. | |||
Die eigentlichen Daten (inklusive Adresse für bitwrite/bytewrite) werden auf STDIN entgegengenommen. Ein Bit/Byte/String (alles in ASCII) pro Zeile, bei "push" oder EOF wird übertragen. Eine Payload von FE ED CA FE an einen Byte-orientierten Client mit Adresse 000a an GPIO-Pins 8 und 11 wäre dann z.B. <tt>echo "254\n237\n202\n254\n0\n10\n" | si2c-bytewrite 8 11</tt> | |||
=== Client === | |||
==== avrshift ATTiny2313A ==== | |||
Addressierbares Schieberegister. Nimmt Bits entgegen und ordnet sie den digitalen Ausgängen (i.A. 5V oder 12V) zu. | |||
==== avrpwm ATTiny2313A ==== | |||
Addressierbares Schieberegister++. Ordnet einen Teil der Eingabe binär (bitweise) den digitalen Ausgängen zu und hat dann noch drei bis vier Bytes für Analog-Ausgänge (8bit-PWM.) | |||
==== avrmf ATTiny2313A ==== | |||
avrshift/avrpwm mit Repeater. Hat allerdings zwei Ausgänge weniger, die stattdessen SDA und SCL galvanisch getrennt weiterreichen. | |||
==== blinkencontrol ATTiny2313A ==== | |||
Wird direkt mit Animationssequenzen gefüttert, Details siehe [[Blinkencontrol]]. | |||
==== 7segment ATTiny2313A ==== | |||
Steuert vier 7-Segment-Displays. Empfängt 32 Byte an Daten und legt diese direkt auf die Segmente, Zeichen müssen also schon vorher auf Bytes umgerechnet werden. Es werden immer nacheinander Bytes 1-4, 5-8, 9-12, … angezeigt (d.h. die Position auf dem Display ist byteposition % 4). | |||
==== avr-rs232 ATTiny2313A ==== | |||
Bus-Test / Debugger. Gibt empfangene Pakete (Bytefolge inkl. Stop Condition) hexadezimal auf der seriellen Schnittstelle aus, kann mit nem USB-TTL-Adapter ausgelesen werden. | |||
==== avr-rs232 Arduino ==== | |||
Bus-Test / Debugger. Gibt empfangene Pakete (Bytefolge inkl. Stop Condition) hexadezimal auf der seriellen Schnittstelle aus, kann mit nem USB-TTL-Adapter ausgelesen werden. | |||
Hat keine galvanische Trennung zum Bus, sollte also nur von einem Laptop ohne angeschlossenes Netzteil benutzt werden. | |||
== Platinen == | |||
Der Großteil der im Dorf verbauten Platinen ist handgeklöppelt auf Lochraster, inzwischen gibt es aber auch fertige PCBs zum Bestücken. | |||
=== avrmf === | |||
[[File:avrmf-smd-top.jpg|thumb|right|400x200px|avrmf (obere Seite)]] | |||
[[File:avrmf-smd-bot.jpg|thumb|right|400x200px|avrmf (untere Seite)]] | |||
Kann für avrshift/avrpwm/avrmf genutzt werden, bei Verwendung als Repeater werden die beiden ULN2803-Beinchen oben Links (bei den als avrmf SDA/SCL gelabelten Kontakten) abgeknipst und durch SI2C-Kabel ersetzt. | |||
Serviervorschlag: | |||
* 100nF 0805 auf C2 | |||
* 10k 0805 auf R3 | |||
* 1k 0805 auf R1, R2, R4, R5 | |||
* 0805 LEDs: grün auf PWR, gelb oder rot auf ACT (Pluspol zeigt zum Label, Minuspol zum ULN2803) | |||
* ICs und Wannenstecker wie angegeben | |||
** Die beiden KB817 können auch durch einen KB827, TLV827 o.ä. ersetzt werden | |||
* 330nF oder 1µF auf C1 |
Latest revision as of 18:54, 1 July 2020
Vereinfachtes I²C | |
---|---|
Einwege-Kommunikation | |
Ort | Hauptraum |
Besitzstatus | Club-Eigentum |
Kontakt | derf |
Benutzung | vorsichtig |
I²C-ähnliche Twowire-Verbindung, allerdings writeonly und ohne ACKs um die Verwendung von Repeatern zu vereinfachen.
Hardware[edit source]
Ein SI2C-Bus hat vier Leitungen: GND, VCC, SDA und SCL. SDA und SCL müssen sowohl 3.3V als auch 5V als High-Pegel akzeptieren und high impedance sein, sinnvollerweise werden dazu Optokoppler verwendet (spart auch direkt jegliche Probleme mit ungleichen GND-Pegeln).
Für einen Client gibt es zwei Varianten, am Bus zu hängen:
- Ohne eigenes Netzteil: VCC und GND kommen aus dem Bus. Es sollte damit gerechnet werden, dass VCC auf ~11V runtergehen kann, und am besten werden keine signifkanten Lasten betrieben. 7-Segment-Anzeigen und Relais sind aber kein Problem
- Mit eigenem Netzteil: GND aus dem Bus geht nur zum Eingang der Optokoppler, die restliche Schaltung bekommt VCC und GND aus ihrem Netzteil. Der Bus-VCC wird nicht verwendet
Beispiel für die Variante mit eigenem Netzteil: avrshift Schaltplan. Bei Aufbau ohne Netzteil kommt VCC (SUPPLY-1) aus dem Bus und es ist GND == GPIOGND.
Ratings[edit source]
Parameter | Min | Max |
---|---|---|
VCC | — | 12 V |
SDA/SCL low | -0.1 V | 0.1 V |
SDA/SCL high | 3 V | 5 V |
VCC current | — | 250 mA |
SDA/SCL current @ 3.3V | — | 1 mA |
SDA/SCL current @5V | — | 5 mA |
Protokoll[edit source]
Bitbasiert. Im Ruhezustand sind SDA und SCL low, die erste steigende SCL-Flanke ist auch das erste most significant bit der Übertragung (es gibt keine start condition). Bei jeder weiteren steigenden SCL-Flanke werden weitere Bits eingelesen, beendet wird das ganze durch die stop condition: Fallende SCL-Flanke mit SDA high. D.h.: Falls weitere bits folgen, muss SDA vor der fallenden SCL-Flanke auf low gesetzt werden.
Auf höherer Ebene gilt: Es können beliebig viele Bits / Bytes übertragen werden, solange die least significant (d.h. die letzten) 16 Bit die Geräteadresse sind. Nach einer steigenden SCL-Flanke ist das SDA-Signal für 100µs gültig, d.h. es muss in dieser Zeit eingelesen und verarbeitet werden. Die Low- bzw. High-Phase von SCL dauert je 200µs, nach der stop condition darf beliebig lange nicht auf den Bus reagiert werden. For the record: Die Übertragungsrate ist damit ca. 2kbit/s.
TLDR[edit source]
SCL | SDA | Aktion |
---|---|---|
↑ | X | Bit X von rechts (als Least Significant Bit) ins Register schieben |
↓ | 1 | stop condition: Eingabedaten übernehmen |
↓ | 0 | Keine |
AVR-C-Beispiel: avrshift/main.c Z.68ff
Kabel[edit source]
Bus | Kabel |
---|---|
feedback1 | Schleuse an feedback --(( violettes RJ45 ))-- Kabelkanal oberhalb Printer/HP2100 --(( Flachbandkabel entlang Kabelkanal ))-- Treppe |
feedback1 | Repeater Nomspace --(( Flachbandkabel ))-- Maschinenraum |
donationprint1 | Schleuse an donationprint --(( Flachbandkabel ))-- Laptop Lounge |
donationprint2 | Schleuse donationprint --(( 2x rot/weiß Doppellitze ))-- Laptop Lounge an Blinkencontrol |
Pinbelegung 4pol-Flachbandkabel[edit source]
- 1: SDA
- 2: VCC (12V)
- 3: GND
- 4: SCL
Pinbelegung 8pol-Flachbandkabel[edit source]
Geplant, für Kombikabel mit CAN und SI2C.
- 1: CANH
- 2: 12V
- 3: CANL
- 4: GND
- 5: SDA
- 6: GND
- 7: SCL
- 8: 5V
Devices[edit source]
Soft- und Firmware liegen aktuell im dorfmap-Repo.
Bus | ID | Firmware | rev | Ort | Funktion |
---|---|---|---|---|---|
feedback1 | 0002 | avrshift | 0.04-42-g1a373d3 | Hackcenter Kabelkanal | 12V sink |
feedback1 | 0004 | charwrite-legacy | 0.04-106-g544d694 | ||
feedback1 | 0005 | charwrite-legacy | 0.04-106-g544d694 | ||
feedback1 | 0006 | avrmf | 0.05-28-g5f8445e | ||
feedback1 | 0007 | avrshift | 0.05-38-g7b9a4e3 | Lounge Kabelkanal | 12V sink |
feedback1 | 0008 | blinkencontrol | 0.05-47-g7ce9480 SDASCL_MIXUP | Hackcenter Regal | RGB-LED-Streifen |
feedback1 | 0009 | avrshift | 0.05-69-gcc36007 | Hackcenter Regal | 5V source -> 12V sink -> LED-Streifen im Regal |
feedback1 | 000a | avrmf | 0.06-44-g7757c9b | Nomspace | 12V out (6 digital, 3 pwm) + Repeater |
feedback1 | 000c | avrpwm | 0.07-2-g3fff051 | Treppe | 12V out (9 digital, 4 pwm) |
feedback1 | 000d | avrpwm | 0.08-2-g3a8deec | Maschinenraum | 12V out (9 digital, 4 pwm) |
feedback1 | 000e | avrpwm | 1.0.2-4-ga5c3047 | Hackcenter | 12V out (9 digital, 4 pwm) |
feedback1 | 000f | avrmf | 1.0.2-12-gc323689 | Schaufenster | 12V out (7 digital, 4 pwm) + Repeater |
feedback1 | 0010 | charwrite | 1.0.2-17-g188905a | Maschinenraum | 6x7segment |
feedback1 | 0011 | charwrite | 1.0.2-17-g188905a | Küche | 6x7segment |
feedback1 | 0012 | avrpwm | 1.0.2-37-gef59205 | Hackcenter Regal | 12V out (9 digital, 4 pwm) |
feedback1 | 0013 | charwrite | 1.0.2-38-gabb5185 | Hackcenter | 6x7segment |
donationprint1 | 0000 | avrshift | 0.04-42-g1a373d3 | Lounge | 12V out |
donationprint2 | 0001 | blinkencontrol | 0.04-110-gfa20b4e | Lounge | RGB-LED-Streifen |
donationprint2 | 0003 | charwrite-legacy | 0.04-50-gf6641aa | Lounge | 4x7segment |
Aktuell gibt es die folgenden Arten von Geräten
Master[edit source]
Raspberry Pi[edit source]
Ein RasPi kann direkt über zwei GPIO-Pins (+ Ground) als Bus Master angeschlossen werden. Der Bus kann dann mittels si2c-bitwrite, si2c-bytewrite oder si2c-charwrite (abhängig von der Art des Zielgeräts) bespielt werden.
Die Programme erwarten jeweils die Pin-Nummer des SDA-Pins als erstes und die des SCL-Pins als zweites, also z.B. "si2c-bitwrite 8 11" für gpio8 und gpio11. Die Nummern beziehen sich auf das sysfs (/sys/class/gpio), die Pins müssen dort schon als Outputs exportiert sein. si2c-charwrite nimmt zusätzlich die Zieladresse (hi und lo) als drittes und viertes Argument.
Die eigentlichen Daten (inklusive Adresse für bitwrite/bytewrite) werden auf STDIN entgegengenommen. Ein Bit/Byte/String (alles in ASCII) pro Zeile, bei "push" oder EOF wird übertragen. Eine Payload von FE ED CA FE an einen Byte-orientierten Client mit Adresse 000a an GPIO-Pins 8 und 11 wäre dann z.B. echo "254\n237\n202\n254\n0\n10\n" | si2c-bytewrite 8 11
Client[edit source]
avrshift ATTiny2313A[edit source]
Addressierbares Schieberegister. Nimmt Bits entgegen und ordnet sie den digitalen Ausgängen (i.A. 5V oder 12V) zu.
avrpwm ATTiny2313A[edit source]
Addressierbares Schieberegister++. Ordnet einen Teil der Eingabe binär (bitweise) den digitalen Ausgängen zu und hat dann noch drei bis vier Bytes für Analog-Ausgänge (8bit-PWM.)
avrmf ATTiny2313A[edit source]
avrshift/avrpwm mit Repeater. Hat allerdings zwei Ausgänge weniger, die stattdessen SDA und SCL galvanisch getrennt weiterreichen.
blinkencontrol ATTiny2313A[edit source]
Wird direkt mit Animationssequenzen gefüttert, Details siehe Blinkencontrol.
7segment ATTiny2313A[edit source]
Steuert vier 7-Segment-Displays. Empfängt 32 Byte an Daten und legt diese direkt auf die Segmente, Zeichen müssen also schon vorher auf Bytes umgerechnet werden. Es werden immer nacheinander Bytes 1-4, 5-8, 9-12, … angezeigt (d.h. die Position auf dem Display ist byteposition % 4).
avr-rs232 ATTiny2313A[edit source]
Bus-Test / Debugger. Gibt empfangene Pakete (Bytefolge inkl. Stop Condition) hexadezimal auf der seriellen Schnittstelle aus, kann mit nem USB-TTL-Adapter ausgelesen werden.
avr-rs232 Arduino[edit source]
Bus-Test / Debugger. Gibt empfangene Pakete (Bytefolge inkl. Stop Condition) hexadezimal auf der seriellen Schnittstelle aus, kann mit nem USB-TTL-Adapter ausgelesen werden.
Hat keine galvanische Trennung zum Bus, sollte also nur von einem Laptop ohne angeschlossenes Netzteil benutzt werden.
Platinen[edit source]
Der Großteil der im Dorf verbauten Platinen ist handgeklöppelt auf Lochraster, inzwischen gibt es aber auch fertige PCBs zum Bestücken.
avrmf[edit source]
Kann für avrshift/avrpwm/avrmf genutzt werden, bei Verwendung als Repeater werden die beiden ULN2803-Beinchen oben Links (bei den als avrmf SDA/SCL gelabelten Kontakten) abgeknipst und durch SI2C-Kabel ersetzt.
Serviervorschlag:
- 100nF 0805 auf C2
- 10k 0805 auf R3
- 1k 0805 auf R1, R2, R4, R5
- 0805 LEDs: grün auf PWR, gelb oder rot auf ACT (Pluspol zeigt zum Label, Minuspol zum ULN2803)
- ICs und Wannenstecker wie angegeben
- Die beiden KB817 können auch durch einen KB827, TLV827 o.ä. ersetzt werden
- 330nF oder 1µF auf C1