USB Koppelfeld für Festplatten
von Torsten Crull
Es entsteht ein modulares System, welches sich zu nahezu beliebig großen Quasi- Koppelfeldern für Festplatten kaskadieren läßt. Ein Koppelfeld-Modul hat Anschlüsse für vierzehn Festplatten; das entspricht einem 19"-Baugruppenträger. Die Stromversorgung der Festplatten läßt sich einzeln schalten. Die Platten werden - gesteuert vom Mikrocontroller - wahlweise über USB-SATA-Bridges, USB-IDE-Bridges oder über einen eSATA Port-Multiplier mit einem Host-Computer verbunden.
Einleitung
Das Projekt umfaßt:
- Koppelfeld-Module in mehreren Varianten, entweder mit SATA-Port-Multiplier oder mit fünf USB-HUBs. Unabhängig von der Variante werden diese Module im folgenden Text als "Koppelfeld" bezeichnet.
- Eine Steuerplatine für bis zu sechzehn Koppelfelder; die Steuerung von außen erfolgt über RS232, USB oder Ethernet. Die Koppelfelder werden über I²C adressiert; die übrigen Signale werden über eine SPI-Schnittstelle übertragen.
- Eine optionale 230V-Relaisbox zum ein- und ausschalten der Stromversorgung, um die Standby-Ströme zu verringern.
- Relaisplatinen um die Stromversorgung (5V und 12V) der Festplatten zu schalten.
Es können handelsübliche USB-Bridges verwendet werden; diese kosten etwa fünf Euro pro Stück:
Architektur und Mechanischer Aufbau
Da in einem 19"-Baugruppenträger bis zu vierzehn handelsübliche 3,5"-Festplatten untergebracht werden können, sind die Koppelfelder auf vierzehn
Festplatten ausgelegt. Pro Baugruppenträger ist also eine Koppelfeld-Platine nötig.
Es sind wahlweise USB- und SATA-Koppelfelder vorgesehen, man kann also beliebig Baugruppenträger mit USB-SATA-Bridges und Baugruppenträger mit
eSATA Port-Multiplyer vermischen. Die Anzahl von maximal sechzehn Baugruppenträgern ergibt sich aus der Adressierung über I²C.
Jedes Koppelfeld hat eine Ansteuerung für eine 230V-Box: Um Strom zu sparen, wenn alle Festplatten im betreffenden Baugruppenträger ausgeschaltet
sind, kann jedes Netzteil auf der Primärseite ausgeschaltet werden. Es können übliche Netzteile aus alten PC-Gehäusen verwendet werden (ATX-PC oder
AT-PC). In der Firmware muß sicher gestellt werden, dass pro Baugruppenträger nicht mehr Festplatten eingschaltet werden, als das Netzteil
versorgen kann und dass ggf. eine minimal benötigte Belastung des Netzteils für den Netzteil-Regler nicht unterschritten wird.
Alternativ zu einem teuren Baugruppenträger kann man sich auch aus gelochten Stahlbändern vom Baumarkt einen Rahmen für die Festplatten bauen; das
sieht dann aus wie aus 'nem Trix-Metallbaukasten (s. Bild rechts).
Ein Aufbau mit Holzleisten wählte Thomas Pfeifer in seinem Aufbau, der technisch der "Spar-
Variante" (s.u.) entspricht.
Da sich bei den Modulen je nach Ansichten und Anforderungen der Anwender untereschiedliche Technologien (µC-Familien, Relais oder MOSFETs als
Schalter, ...) als vorteilhaft erweisen, ist es besonders wichtig, dass die Schnittstellen feststehen. Später kann man dann das System verändern
oder nach seinen Bedürfnissen erweitern und kann dabei bestehende Module behalten.
Schnittstellen
PIN | Bezeichnung | Kommentar |
1 | GND | Masse |
2 | SCLK | SPI Clock |
3 | MISO | SPI Master in serial out |
4 | MOSI | SPI Master oit serial in |
5 | SDA | I²C Data |
6 | SCL | I²C Clock |
7 | Probe | Analogsignal Eingang |
8 | UART TX | UART TX-Ausgabg für 230V-Relaisbox (optional) |
9 | reserved | frei, ggf. für zukünftige Erweiterungen |
10 | reserved | frei, ggf. für zukünftige Erweiterungen |
11 | VCC | 5V vom externen Netzteil |
12 | 3V3 | ca. 3,3V von der Steuerplatine |
PIN | Bezeichnung | Kommentar |
1 | HDD01 | Relais oder MOSFETs für Festplatte 1 (open collector) |
2 | HDD02 | Relais oder MOSFETs für Festplatte 2 (open collector) |
3 | FAN0102 | PWM-Signal für Lüfter 1 (HDD01 und HDD02) |
4 | reserved | frei, ggf. für zukünftige Erweiterungen |
5 | VBUS1 | 5V für USB-Bridge 1, falls aus 5V der Festplatte versorgt (optional), sonst n.c. |
6 | VBUS2 | 5V für USB-Bridge 2, falls aus 5V der Festplatte versorgt (optional), sonst n.c. |
7 | HDD03 | Relais oder MOSFETs für Festplatte 3 (open collector) |
8 | HDD04 | Relais oder MOSFETs für Festplatte 4 (open collector) |
9 | FAN0304 | PWM-Signal für Lüfter 2 (HDD03 und HDD04) |
10 | reserved | frei, ggf. für zukünftige Erweiterungen |
11 | VBUS3 | 5V für USB-Bridge 3, falls aus 5V der Festplatte versorgt (optional), sonst n.c. |
12 | VBUS4 | 5V für USB-Bridge 4, falls aus 5V der Festplatte versorgt (optional), sonst n.c. |
13 | HDD05 | Relais oder MOSFETs für Festplatte 5 (open collector) |
14 | HDD06 | Relais oder MOSFETs für Festplatte 6 (open collector) |
15 | FAN0506 | PWM-Signal für Lüfter 3 (HDD05 und HDD06) |
16 | reserved | frei, ggf. für zukünftige Erweiterungen |
17 | VBUS5 | 5V für USB-Bridge 5, falls aus 5V der Festplatte versorgt (optional), sonst n.c. |
18 | VBUS6 | 5V für USB-Bridge 6, falls aus 5V der Festplatte versorgt (optional), sonst n.c. |
… | … | … |
PIN | Bezeichnung | Kommentar |
1 | MISO | SPI Master in serial out |
2 | MOSI | SPI Master oit serial in |
3 | SCLK | SPI Clock |
4 | SS ADC | Slave select für ADC (optional) |
5 | PRBSEL0 | Auswahl des Probe-Signals, LSBit |
6 | PRBSEL1 | Auswahl des Probe-Signals |
7 | PRBSEL2 | Auswahl des Probe-Signals. MSBit |
8 | Probe | Analogsignal mit Meßwert (3-state) |
9 | Pwr Charge | Relais oder MOSFETs zum aufladen der Blockkondensatoren (optional, open collector) |
10 | Pwr On | Relais oder MOSFETs durchschalten der Stromversorgung auf die Stromschienen (optional, open collector) |
11 | LOAD | Relais oder MOSFETs inaktivieren einer Grundlast für das Netzteil (optional, open collector) |
12 | 5V | 5V-Versorgung vom Netzteil |
13 | 12V | 12V-Versorgung vom Netzteil |
14 | GND | Masse vom Netzteil |
15 | Pwr Ok | Signal "Power OK" vom ATX-Netzteil |
16 | reserved | frei, ggf. für zukünftige Erweiterungen |
PIN | Bezeichnung | Kommentar |
1 | Set1 | Bistabiles Relais 1 einschalten (open collector) |
2 | Reset1 | Bistabiles Relais 1 ausschalten (open collector) |
3 | Set2 | Bistabiles Relais 2 einschalten (open collector) |
4 | Reset2 | Bistabiles Relais 2 ausschalten (open collector) |
5 | Set3 | Bistabiles Relais 3 einschalten (open collector) |
6 | Reset3 | Bistabiles Relais 3 ausschalten (open collector) |
7 | Set4 | Bistabiles Relais 4 einschalten (open collector) |
8 | Reset4 | Bistabiles Relais 4 ausschalten (open collector) |
9 | 12V | gemeinsamer Kontakt für die Relais |
PIN | Bezeichnung | Kommentar |
1 | A | Anode des Optokopplers |
2 | K | Kathode des Optokopplers |
Hardware
Die Hardware besteht aus den oben genannten Modulen, die im Folgenden beschrieben werden:
Steuerplatine
Zentrales Element der Steuerplatine ist ein PIC32MX764F128L-I/PT von Microchip. Er enthält bereits alle verwendeten Schnittstellen: UART (RS232), Ethernet, USB, I²C, SPI und Analogeingang.
Für die CPU-Platine sind folgende Integrationsstufen geplant:
1. Gefädelte Lochrasterplatine mit Adapterplatine für das TQFP-100-Gehäuse und vornehmlich DIL-Gehäusen.
2. Aufbau mit professionell gefertigten Platinen mit Lötstopplack und vornehmlich SMD-Gehäusen.
2. Redesign und kleinserientaugliche Lösung.
Die Gefädelte Lochrasterplatine wird während der Entwicklung Stück für Stück erweitert. In der ersten Ausbaustufe wird der Mikrocontroller über den integrierten UART und eine USB-RS232C-Brigde mit dem Host verbunden, damit die Software noch ohne USB-Stack auskommt. In der ersten Ausbaustufe soll zunächst die praktische Nutzbarkeit des Systems gewährleistet sein, um Erfahrung mit dem System zu sammeln.
In weiteren Ausbaustufen werden dann der Analogeingang, die Ethernet-Schnittstelle und die USB-Schnittstelle in Betrieb genommen.
Über den Analogeingang kann der Mikrocontroller die Spannungen an den Netzteilen der angeschlossenen Baugruppenträger bestimmen und überwachen; Details sind der Beschreibung der Koppelfelder (s.u.) zu entnehmen.
Stromversorgung
Damit die Netzteile nicht ständig Standby-Strom verbrauchen, kann der Mikrocontroller alle Netzteile primärseitig über eine 230V-Relaisbox ausschalten, auch das Netzteil, von dem die Steuerplatine versorgt wird.
Wenn das Gerät über Wakeup-on-LAN eingeschaltet werden soll, wird es bei ausgeschaltetem Netzteil von einem Handy-Akku versorgt. Bei einer Versorgung über Ethernet (POE) wird der Handy-Akku nicht unbedingt benötigt, überbrückt aber ggf. Unterbrechungen in der POE-Versorgung.
Wenn das System über USB vom Host gesteuert wird, verhält sich das Gerät in der Regel wie ein "self-powered USB-device". Im Standby-Betrieb nutzt das System je nach Verfügbarkeit ggf. 100mA oder 500mA vom USB-Uplink zum Host-PC, um den Akku geladen zu halten. Wenn POE nicht verfügbar ist kann das System bei niedrigem Ladestand des Akkus über die 230V-Relaisbox auch eines der Netzteile einschalten, um sich dann aus dem Netzteil mit Strom für eine Akku-Schnelladung zu versorgen.
Die 230V-Relaisbox hat optional einen 230V-Ausgang, damit der Host-Computer primärseitig vom Netz getrennt werden kann, um die Stromkosten in den Standby-Zeiten zu senken.
Das System kann optional mit einem PC-Netzteil, mehreren Mini-Netzteilen, einem Handy-Ladegerät und/oder POE versorgt werden. PC-Netzteil nach ATX-Standard haben eine Standby-Stromversorgung; es können aber auch alte PC-Netzteile (nach AT-PC-Standard ohne Standby) eingesetzt werden:
Wenn eine oder mehrere Festplatten mit Strom versorgt werden müssen, geht das System in einen der hellblauen Zustände. Wenn der Akku voll geladen ist und keine Festplatte mehr aktiv ist, geht das System in den Standby (hellblaue Pfeile.)
Zwischen den Zuständen "POE", "Akku" und "Uplink" wechselt das System je nachdem,
- ob ein Akku verbaut ist,
- ob VBUS am Uplink vorhanden ist oder
- ob eine POE-Versorgung vorhanden ist.
Auf diese Weise ist das System sehr flexibel und läßt sich je nach Bedürfnissen des Nutzers individuell versorgen. Durch Weglassen von optional bestückbaren Bauteilen kann man kosten sparen und die Flexibilität nach nach seinen Bedürfnissen bewußt einschränken.
Display-Platine
Optional ist eine Display-Platine mit einem Dreh-Drück-Geber und Siebensegment LED-Anzeigen vorgesehen. Sie ist auf Steuerplatine montiert und über einen zehnpolige Steckverbindung mit der Steuerplatine verbunden.
Das Bedienkonzept steht noch nicht im Detail fest, nur soviel: Über den Dreh-Drück-Geber läßt sich das System einschalten und der anzuzeigende Wert auswählen. Angezeigt werden die Nummern der aktiven Festplatten und die gemessenen Spannungen an den Netzteilen. Der Aufwand für eine umfangreiche Benutzerschnittstelle über die Display-Platine lohnt sich kaum, da in der Praxis die Steuerung über RS232, Ethernet oder USB erfolgen wird.
USB Koppelfeld
Aus der Diskussion zu diesem Projekt ergab sich, dass die Variante 2 mit gestapelten USB-Hubs umgesetzt wird:
Die ursprüngliche Idee aus einer Matrix mit FSUSB42-ICs wurde verworfen; die Vorteile der Varianten:
Variante 1: FSUSB42-Matrix
- geringere Latenzzeiten, da die USB-Daten einen HUB weniger passieren müssen.
- möglicher Weise bessere Kompatibilität beim Verbinden und Trennen der USB-Verbindung, da die Datenleitungen unterbrochen werden.
Variante 2: USB-Hub-Stapel:
- Keine Begrenzung auf drei gleichzeitig aktive Festplatten
- geringere Kosten
- weniger Bauteile; die FSUSB42-ICs sind sehr winzig und lassen sich nur schwer von Hand bestücken.
- geringere Störanfälligkeit, da der USB-Hub wie ein Repeater die USB-Signale auffrischt.
Hub-Stapel & Vusb-Steuerung
Das Herzstück eines USB Koppelfeldes sind die USB-Hubs und optionale USB-Power-Schalter für die 5V-Spannung "Vusb", jeweils an Pin 1 der USB-Anschlüsse. Über Vusb werden die USB-SATA-Bridges aktiviert und deaktiviert:
Um Kosten zu sparen, kann man die USB-Power-Schalter auch weglassen, dann werden die USB-SATA-Bridges zusammen mit den 5V der Festplatten geschaltet. Diese "Spar-Variante" ist natürlich nicht konform zur USB-Spezifikation.
Da die 5V der Festplatten auf separaten Relais-Platinen geschaltet werden, sind zwei Varianten der Verkabelung mit den Relais-Platinen vorgesehen. In der Variante 2 (s. Bild, "Spar-Variante") werden jeweils vier Adern pro Relais-Platine angeschlossen; bei der Verwendung von USB-Power-Schalten dürfen jeweils nur zwei Adern angeschlossen sein.
(ToDo: Anschluss für Lüftersteuerung ergänzen)
Legende:
1 Micromatch-Steckverbinder
2 Zwölfadriges Flachbandkabel, in Variante 1 ("Spar-Variante") komplett
3 Sechzehnadriges Flachbandkabel, in Variante 1 ("Spar-Variante") komplett
4 Vierpoliger Micromatch-Steckverbinder, einer pro Relaisplatine
5 Flachbandkabel, in Variante 2 (spezifikationskonform) fehlen jede dritte und vierte Ader.
Von den vier Adern pro Relais-Platine werden zwei Adern zum getrennten Einschalten der Stromversorgung von zwei Festplatten verwedet; über die anderen zwei Adern werden optional die geschalteten 5V für die Versorgung der USB-Bridges zurückgeführt. Falls USB-Power-Schalter verbaut sind, müssen diese Adern abgekniffen werden.
Schieberegister für Steuerungsbits
Die Steuerungsbits werden mit dem SPI-Protokoll von einem Microcontroller in die kaskadierten Schieberegister (daisy chain) geschrieben. Die Slave-Select-Signale für die SPI-Schnittstelle werden von einem I²C-Expander (IC1, PCF8574) (s.u.) gesteuert.
Um das Clock-Signal bei /SS = high (inaktivem Slave-Select) zu unterdrücken, ist noch ein Oder-Gatter vor den Clock-Eingang vorgesehen. (ToDo: Im Forum ansprechen)
- Bild folgt
Slave-Select per I²C
Von einem I²C-Expander (IC1, PCF8574) und einem 3:8 Decoder (IC37, 74HC138) werden pro Baugruppenträger die konkreten Slave-Select-Signale für das SPI (s.o.) erzeugt. Dadurch ist es möglich, bis zu sechzen Koppelfelder per I²C-Protokoll zu adrerssieren.
Der 74HC138 enthält kein Latch. Um unerlaubte Zustände beim Umschalten der Adresse am 3:8 Decoder zu vermeiden, muß der Mikrocontroller beim Umschalten das globale Slave-Select-Signal "/SS" auf "high" halten. (ToDo: Schaltbild aktualisieren)
Die I²C-Adresse des Baugruppenträgers wird über S1 und eine Bestückungsvariante für IC1 eingestellt.
Analogsignal "Probe"
Von allen Baugruppenträgern wird eine gemeinsame "Probe"-Leitung verwendet, um eine zu messende Spannung an den Analogeingang des Mikrocontrollers zu geben. Über Analogschalter (IC32, s. Bild) wird die zu messende Spannung mit der "Probe"-Leitung verbunden. Die Firmware muß sicher stellen, dass immer nur ein Analogschalter auf allen Baugruppen leitend ist.
Ansteuerung der Relais-Platinen
Um die Festplatten-Stromversorgung über Relais oder MOSFTEs zu steuern, führen vom Koppelfeld insgesamt 56 Flachbandadern zu den Relaisplatinen. Die Belegung der Adern ist im Kapitel "Vusb-Steuerung" (s.o.) beschrieben.
Sowohl Relais als auch die MOSFET-Transistoren werden über Open-Collector-Ausgänge eines ULN2003A angesteuert. Gegenüber einzelnen Transistoren hat ein ULN2003 keinen finanziellen Nachteil, es sind jedoch weniger Teile zu bestücken und das Platinenlayout vereinfacht sich.
Datei:USB-Koppelfeld-ULN2003a.png
USB-Versorgung der USB-SATA/PATA-Bridges
Wie oben beschrieben, gibt es eine "Spar-Variante" Nr. 1 und eine spezifikationskonforme Variante Nr. 2. Bei der "Spar-Variante" werden die USB-Power-Schalter nicht bestückt und die 5V Vusb kommen über die Pins 3,4,7,8, ... von X1 und X2 von der geschalteten 5V-Stromversorgung der Festplatten.
Datei:USB-Koppelfeld-HighSide.png
Steuerung der 230V-Relaisbox
Die Relais in der 230V-Relaisbox (s.u.) werden über die Open-Collector-Ausgänge eines ULN2003A geschaltet. Durch die Open-Collector-Ausgänge können entweder Relais erregt werden, MOSFETs geschaltet oder Optokoppler angesteuert werden.
6-Pin-DIN-Stecker dienen der Verbindung zwischen der dem Koppelfeld und der Relaisbox.
Datei:USB-Koppelfeld-ULN2003b.png
eSATA Koppelfeld
- Details folgen
Relaisplatine
Die Relaismodule schalten in Zweiergruppen die Stromversorgung der Festplatten und sind mit vier Stromschienen aus Kupferdraht miteinander verbunden:
Legende:
1 Relaisplatine mit Anschlussklemmen für das Netzteil, davon wird nur eine Platine pro Baugruppenträger benötigt.
2 Anschlussklemmen (4 x 4mm²) für das Netzteil (ToDo: Alternativen klären)
3 Anschlussklemmen (optional) für Kupferdraht (Nr. 4); der Kuperdraht kann auch flächig auf freistehendem Kupfer der Platine verlötet werden, um Kosten zu sparen.
4 Vier "Stromschienen", z.B. "PCB busbars" oder 2,5mm² Kupferdraht (z.B. NYM-J 3x2,5 vom Baumarkt)
5 Bohrungen zur Befestigung an der Rückseite an einem 19"-Baugruppenträger
6 Relaisplatine mit Anschlussklemmen für das Netzteil
7 Ritzung in der Platine, um Anschlussklemmen-Teil abbrechen zu können.
8 4-Pin Micromatch-Verbinder (2 x Schalteingang, 2 x 5V-Ausgang)
9 Durchkontaktierungen zum Anschluß eines Kabelschwanzes zur Stromversorgung einer Festplatte. Wahlweise können für aktuelle Platten SATA-Stecker oder für ältere Platten Molex-Stecker an den Kabelschwänzen sein.
10 Zwei Relais (á zwei Wechser) oder vier MOSFETs
11 Optionale Block-Kondensatoren, um Stromspitzen beim Einschalten der Festplatte abzublocken.
Darüber hinaus hat jedes Relaismodul einen Anschluss für einen Lüfter. (ToDo: Bild aktualisieren.)
Das Relaismodul gibt es in zwei Varianten: Mit elektromagnetischen Schaltern und mit Halbleiter-Schaltern (MOSFETs):
230V-Relaisbox
Die Relaisbox kann optional über einen 6-poligen DIN-Stecker an eines der Koppelfelder angeschlossen werden, um die Netzteile für die Festplatten und für den Host-PC primärseitig vom Stromnetz zu trennen.
Die Relaisbox muß nach VDE-Richtlinien aufgebaut sein. Damit beim Betrieb nicht ständig ein Relais angezogen (erregt) sein muß, kommen bistabile 230V-Relais zum Einsatz, die über Optokoppler (Halbleiterrelais) ein- und ausgeschaltet werden können.
Am 230V-Anschluss hinter der Sicherung ist ein Gasableiter für einen zusätzlichen Blitzschutz vorgesehen.
Bei Verwendung moderner Netzteile mit geringen Standby-Leistungen kann man natürlich auf die 230V-Relaisbox verzichten.
- Details folgen
Zustandsautomaten
Software / Firmware
Die Firmware wird komplet im internen EEPROM des PIC32MX764F128L-I/PT gespeichert und per In-Curcit-Debugger in den Mikrocontroller geladen.
Die detaillierte Beschreibung der Firmware folgt, hier nur eine naheliegende Reihenfolge der Softwarestände der Integrationsstufen (s. o.):
1.1. Unidirektionale Steuerung über UART (RS232) zur Ansteuerung der Relaisplatinen in der "Spar-Variante".
1.2. Rücksendung von Status- und Messwerten über RS232
1.3. Ansteuerung der 230V-Box, Stromversorgung über USB bei ausgeschaltetem Netzteil
1.4. Implementierung der spezifikationskonformen Variante Nr. 2. der USB-Koppelfelder
1.5. Ansteuerung der Display-Platine zur Ausgabe der gemessenen Spannungspegel
1.6. Implementierung des Batteriebetriebes
1.7. Ansteuerung von eSATA-Koppelfeldern
1.8. Implementierung des Ethernet-Anschlusses zur Steuerung über HTTP/Get-Kommandos
2.1. Implementierung von Wakup-on-LAN
2.2. Implementierung der USB-Schnittstelle des Mikrocontrollers als USB-HID als Alternative zur Steuerung über die RS232-USB-Bridge
2.3. Unterstützung des "SetPortFeature(PORT_POWER) request" um die Festplatten ohne Kommunikation mit dem Mikrocontroller schalten zu können.
Zustandsautomaten
Bevor die Implementierung der Software beginnt, sollten die Anforderungen klar sein. Viele Anforderungen lassen sich wie in den folgenden Kapiteln in Zustandsautomaten beschreiben:
Betriebszustände
(ToDo: Kapitel vervollständigen)
Zustand off
Dieser Zustand wird
- bei leerer oder nicht verbauter Batterie erreicht, wenn die aktive Stromversorgung ausfällt,
- wenn bei leerer Batterie keine aktive Stromversorgung angeschlossen ist oder
- wenn der Benutzer z.B. vor einem Urlaub über eine der Benutzerschnittstellem das System komplett ausschaltet, damit der Akku nicht entladen wird.
Ereignis "5V plugged 1":
- Wenn eine Mini-USB-Buchse verbaut ist und dort ein externes USB-Steckernetzteil angeschlossen ist, wechselt das System in den Zustand "5V powered".
Ereignis "POE plugged 1":
- Wenn die Ethernet-Schnittstelle verbaut ist und dort eine Versorgungsspannung anliegt, wechselt das System in den Zustand "POE powered".
Ereignis "USB plugged 1":
- Wenn der Stecker zum Host-PC angeschlossen ist und dort Vusb anliegt, wechselt das System in den Zustand "USB-powered-100".
Ereignis "on":
- Falls eine Batterie verbaut ist und der Dreh-Drück-Geber gedrückt wird, wechselt das System in den Zustand "USB-powered-100".
Ereignis "230V-Set":
- Wenn eine 230V-Relaibox verbaut ist und an der Box der On-Taster gedrückt wird oder
- wenn der 230V-Stecker gesteckt wird bzw. nach einem Stromausfall bei nicht verbautem oder leerem Akku
wechselt das System in den Zustand "Battery" und prüft den Ladezustand der Batterie; wenn der obere Wert der Batteriespannungshysterese unterschritten ist, wird im Zustand "Battery" sofort versucht, den Akku zu laden.
Zustand 5V powered
Falls eine Mini-USB-Buchse verbaut und dort ein externes USB-Ladegerät angeschlossen ist, kann das Sytem in diesen Zustand wechseln. Wenn eine Batterie verbaut und nicht voll geladen ist, wird sie automatisch mit bis zu maximal zulässigem Ladestrom geladen; dabei wird die Versorgungsspannung über einen Analogeingang beobachtet, um Überlastungen des Netzteils zu verhindern. Wenn der Webserver aktiv ist, ist er über Ethernet erreichbar. Am USB-Anschluss verhält sich das System als "self powered USB Device".
Ereignis "blackout 1":
- …
Ereignis "POE plugged 2":
- …
Ereignis "USB plugged 2":
- …
Ereignis "battery full 1":
- …
Ereignis "HDD on 1":
- …
Zustand POE powered
Falls die Ethernet-Schnittstelle verbaut ist und dort eine Versorgungsspannung anliegt, kann das Sytem in diesen Zustand wechseln und verhält sich wie im Zustand "5V powered". Der Akku wird ggf. mit maximal 10 Watt über die 48V geladen; dabei wird die 48V über einen Analogeingang beobachtet, um Überlastungen der POE-Versorgung zu verhindern.
Ereignis "blackout 2":
- …
Ereignis "blackout 5":
- …
Ereignis "HDD on 2":
- …
Zustand USB-powered-100
Falls das System über USB an ein einem Host-PC angeschlossen ist und und dort Vusb größer als 4,5V ist, kann das Sytem in diesen Zustand wechseln und wartet,
- bis es in einen der Zustände "USB-powered-500", "5V powered" oder "POE powered" wechseln kann oder
- bis es in den Zustand "Power on" wechseln soll, um eine Festplatte einzuschalten, oder
- bis es in den Zustand "Power on" wechseln muss, um den Akku zu laden.
(ToDo: Wert von 4,5V prüfen)
Ereignis "blackout 3":
- …
Ereignis "5V plugged 2":
- …
Ereignis "POE plugged 3":
- …
Ereignis "500mA available":
- …
Ereignis "USB unplugged":
- …
Ereignis "HDD on 3":
- …
Zustand USB-powered-500
Falls das System über USB an ein einem Host-PC angeschlossen ist und und dort 500mA zur Verfügung stehen, kann das Sytem in diesen Zustand wechseln und verhält sich wie im Zustand "5V powered", der Akku wird ggf. mit maximal 400mA über Vusb geladen.
Ereignis "overcurrent":
- …
Ereignis "battery full 2":
- …
Ereignis "HDD on 4":
- …
Zustand Battery
Ereignis "bat low 1":
- …
Ereignis "off":
- …
Ereignis "bat low 2":
- …
Ereignis "5V plugged 3":
- …
Ereignis "POE plugged 4":
- …
Ereignis "USB plugged 2":
- …
Ereignis "bat low 3":
- …
Ereignis "HDD on 5":
- …
Zustand Power on
Ereignis "blackout 4":
- …
Ereignis "all HDD off 1":
- …
Ereignis "all HDD off 2":
- …
Ereignis "all HDD off 3":
- …
Ereignis "all HDD off 4":
- …
Sonstiges
Bezeichnung | Protokolle | Dateisysteme | max. HDD | WLAN | Preis ca. |
Iomega® iConnect | SMB, … | ? | unbegrenzt? | Ja | 49€ |
Cirago NUS1000 | exFAT, NTFS, FAT32 | 128PB | nein | >45€ | |
Cirago NUS2000 | EXT, NTFS, FAT32 | 128PB | nein | >70€ | |
Addonics NAS30U2 | exFAT, NTFS, … | 4 x 2TB | nein | 93€ |
Downloads
- Downloads (*.SCH, *.BRD, *.C) folgen
Siehe auch
- Diskussion zu diesem Projekt: http://www.mikrocontroller.net/topic/262844