Der Kern der Revolution – RevPi Core (Teil I)

Revolution Pi Core Einzelteile

Wie letzte Woche versprochen, erklären wir Dir heute den RevPi Core. Er ist die zentrale Rechnereinheit (CPU) unseres modularen Systems. Das Modul ist weitgehend kompatibel zu einem Raspberry Pi Modell B+. Um dies zu erreichen, steckt das Compute Module von Raspberry Pi in einem Sockel der Grundplatine.

Für alle, die es eilig haben, hier eine tabellarische Aufstellung der Daten zum RevPi Core:

  • Prozessor: BCM2835, 700 MHz
  • RAM: 500 MByte
  • Flash: 4 GByte
  • Betriebssystem: Raspbian / Debian Wheezy mit RT-Patch des Kernels 4.1 (4.1.13-rt15+ #3 PREEMPT RT armv6l)
  • RTC mit 24 h Pufferung über wartungsfreien Kondensator
  • Treiber / API: Treiber schreibt zyklisch Prozessdaten in ein Prozessabbild, Zugriff auf Prozessabbild über Linux-Filesystem als API zu Fremdsoftware.
  • Kommunikationsanschlüsse: 2 x USB 2.0 A (je 500 mA belastbar), 1 x Micro-USB, HDMI, Ethernet (RJ45) 10/100 Mbit/s
  • Stromversorgung: min. 10,7 V, max. 28,8 V, maximal 10 Watt*
  • Zulässige Umgebungstemperatur: -40 bis +55 °C**
  • Gehäuseabmessungen: (HxBxL) 96 mm x 22,5 mm x 110,5 mm (ohne gesteckte Stecker)
  • ESD Schutz: 4 kV / 8 kV gemäß EN61131-2 und IEC 61000-6-2
  • Surge / Burst Prüfungen: gemäß EN61131-2 und IEC 61000-6-2 eingekoppelt auf Versorgungsspannung, Ethernet und IO-Leitungen
  • EMI Prüfungen: gemäß EN61131-2 und IEC 61000-6-2

Raspberry Pi Compute Module

Das Compute Module enthält eigentlich nur den Prozessor BCM2835 mit 500 MByte RAM von Broadcom sowie einen 4 Gbyte eMMC Flash Speicher. Über den Sockel wird das Modul mit 5 V, 3,3 V und 1,8 V Spannung versorgt. Außerdem laufen alle IO-Anschlusssignale über den Sockel.

Netzteil

Ein sehr wichtiges Element unseres RevPi Core ist sein Netzteil. Um minimale Wärmeverluste zu bekommen, haben wir modernste und hocheffiziente DC-DC-Wandler eingesetzt (Gesamteffizienz > 80%), die aus den, in industriellen Schaltschränken üblichen, 24 V, die benötigten Betriebsspannungen erzeugen.

Aber der PiCore läuft nicht nur im genormten Spannungsbereich von 20,4 V bis 28,8 V, sondern auch noch bei nur 10,7 V Versorgungsspannung**. Also können auch Autobatterien oder Solaranlagen als Spannungsquelle verwendet werden. Bei 24 V Versorgung übersteht der PiCore einen Spannungseinbruch von 10 ms ohne Störungen (mit voller Belastung der USB Buchsen) und sogar 25 ms ohne Last an den USB Buchsen. Die Versorgungsspannung und eine Funktionserdung werden über einen sehr robusten Steckverbinder von unten angeschlossen.

Eine aufwendige Schutzbeschaltung garantiert die unbeeinträchtigte Funktion selbst bei massiven Störungen auf der Stromversorgungsleitung, sofern die Funktionserdung angeschlossen ist. Blitzeinschläge oder benachbarte Schweißanlagen wurden in einem zertifizierten Prüflabor simuliert und konnten den RevPi Core nicht beeindrucken.

LEDs

Der RevPi Core verfügt über 3 LEDs, die jeweils rot oder grün leuchten können. Eine der LEDs ist für die Kontrolle des allgemeinen Status reserviert (POWER good = grün, ERROR = rot / rot blinkend). Die anderen beiden LEDs werden über das Prozessabbild (siehe weiter unten) angesteuert. Je nach dort abgelegten Datenwert leuchten sie mit bestimmten Farben und Blinkrhythmen.

USB und LAN Anschlüsse

An der Frontseite stehen zwei USB-A Buchsen zum Anschluss von USB 2.0 Client-Geräten zur Verfügung. Beide Buchsen stellen an den 5 V Anschlüssen die vollen 500 mA Strom bereit. Dadurch können problemlos auch USB Festplatten oder Surfsticks ohne externen aktiven Hub angeschlossen werden.

Die Micro-USB Buchse in der Mitte dient zum Anschluss eines USB Host-Systems (üblicherweise ein PC) und schaltet den RevPi Core in den passiven Speicherkarten-Modus um. So kann ein PC auf den eigebauten eMMC-Flash-Speicher zugreifen und dort zum Beispiel Software ablegen.

An der RJ45-Ethernet-Buchse kann ein LAN angeschlossen werden. Alternativ kann die Verbindung zu einem LAN über einen WLAN-USB-Dongle hergestellt werden.

Wie beim Raspberry Pi Modell B+ werden USB und Ethernetbuchsen über einen Hub/Gateway-Baustein LAN9514 von Microchip mit dem primären USB Anschluss des Broadcom Prozessors verbunden. Also auch hier haben wir weitgehende Kompatibilität zum Raspberry Pi Modell B+ hergestellt.

USB- und Ethernet-Anschlüsse verfügen über eine Schutzbeschaltung. Störeinstrahlungen oder ESD (statische Entladungen) können dem RevPi Core nichts anhaben.

HDMI

Der Broadcom Prozessor stellt hochauflösende Grafikfunktionen zur Verfügung. Deshalb ist der RevPi Core an der Oberseite mit einer Micro-HDMI-Buchse ausgestattet, über die ein Monitor mit Soundausgabe angeschlossen werden kann. Zusammen mit Maus und Tastatur über USB steht so ein vollwertiger PC zur Verfügung.

RTC

Eine Real Time Clock mit 24h Pufferung sorgt dafür, dass der RevPi Core auch bei Netzausfall immer weiß, wie spät es ist. Wir verwenden keine Akkus, die irgendwann ausgetauscht werden müssten, sondern einen wartungsfreien „Gold-Cap“ als Energiespeicher. Sobald der RevPi Core an das Internet angeschlossen ist, holt er sich die aktuelle Zeit von einem Timeserver und aktualisiert seinen RTC-Chip dann mit dieser Serverzeit.

PiBridge

Die PiBridge ist der Datenhighway, der die einzelnen Module von Revolution Pi miteinander verbindet. Über einen Systemsteckverbinder werden jeweils zwei benachbarte Module auf der Oberseite des Gehäuses miteinander verbunden. 3 Signaltypen werden über diesen Stecker zwischen den Modulen ausgetauscht:

4 Pins der PiBridge ermöglichen beim Startvorgang eine automatische Modulerkennung. So weiß der RevPi Core nach dem Startvorgang exakt, welches Modul auf welcher Position in dem Modulverbund eingebaut wurde.

4 Pins der PiBridge dienen der schnellen Kommunikation kleinerer Datenpakete über eine serielle RS485-Schnittstelle. Über diesen Datenkanal werden alle Module beim Start des Systems konfiguriert und danach werden darüber zyklisch Prozessdaten zwischen dem RevPi Core und den IO-Modulen ausgetauscht.

8 Pins der PiBridge ermöglichen den schnellen zyklischen Datenaustausch großer Datenmengen über Ethernetsignale. Diesen Kommunikationskanal nutzen aktuell nur die modularen Gateway Module von KUNBUS, die bis zu 512 Byte von den wichtigsten Feldbussen einsammeln können.

Ausblick

Im Teil 2 des Artikels verraten wir Dir nächste Woche mehr über die Softwarekomponenten, das zentrale Prozessabbild und wie der Datenaustausch auch über das Internet stattfinden kann.


* 2 x 500 mA USB Ausgangsstrom stehen nur bei Eingangsspannungen >11 V zur Verfügung. Die von der En 61131-2 geforderte Überbrückungszeit von Spannungseinbrüchen von mind. 10 ms ist nur bei Versorgung mit 20,4 bis 28,8 V gewährleistet. Bei 12 V Versorgung verkürzt sich diese Zeit deutlich, insbesondere bei Abruf von Leistung aus den USB-Buchsen.

** Bis zu 65° C Umgebungstemperatur waren bei Tests bei 24 V Versorgungsspannung, geringer USB Last und unbehinderter Wärmeabstrahlung vom Gehäuse problemlos erreichbar. Ein Kaltstart des abgekühlten Systems ist nur bis -30° C Umgebungstemperatur und 24V Versorgungsspannung sichergestellt.

8 Gedanken zu „Der Kern der Revolution – RevPi Core (Teil I)“

  1. Hallo,

    ich bin sehr an eurem Pi interessiert, habe ihn privat auch schon öfters eingesetzt.
    Für eine Anwendung im industriellem Umfeld war das mir aber zu unsicher.

    Ich kenne vom “normalen” Rasperry das Problem des shutdowns – bei Spannungsverlust kann es zu Datenverlust und schlimmstenfalls zu einem nicht mehr erkennen der SD-Karte kommen.

    Gibt es diese Problematik auch bei dem computemodul – oder wie habt ihr das Problem gelöst?

    1. Hallo Bernhard,
      willkommen bei Revolution Pi. Das Compute Module arbeitet nicht mit SD cards, sondern hat ein eMMC an Bord. Das es den “nackten” Broadcom + eMMC + wenige Schutzbeschaltung beinhaltet und sonst nichts, ist das netzteil und die Stromversorgung komplet Sache von KUNBUS. Wir haben eine Stromversorgung gemäß EN 61131-2 aufgebaut, die Spanungszyklen durchlaufen können muss. Dafür ist eine “brownout-detection” eingebaut, die die Spannungsversorgung abschaltet, sobald ein kritischer Wert unterschritten wird. Wir konnten bei unseren Tests keine Probleme entdecken.
      Allerdings ist die eMMC card genau das bauteil, welches am empfindlichsten auf Übertemperatur reagiert. Die Raspi Org hat dem CM leider kein “automotive grade” eMMC spendiert, sondern die variante, die zwischen 72 und 75°C “good bye” sagt. Dabei haben wir auch Verluste des Speicherinhalts erlebt. Wir haben daher unseren RevPi core nur bis 55°C ambient temperature spezifiziert.

      1. Hallo Volker,

        danke für die schnelle Antwort.

        Meine Frage war vor allem, wenn während eines Schreibvorgangs die Spannung abgeschaltet wird, kann es dann zu einem Problem im Dateisystem kommen? Ist beim Raspberry mit SD Karte auf jeden Fall öfters der Fall.

        Zum Thema Temperatur – treten diese Verluste des Speicherinhaltes auch bei Lagerung auf oder nur bei hohen Temperaturen während des Betriebs?
        Wir fertigen Aufbauten für LKWs und ich würde euren Pi gerne als IPC einsetzen.

        1. Hallo Bernhard,
          das hört sich spannend an! Unsere Lagertests haben wir ohne Speicherinhalt durchgefürt. Welche Temperaturen erwartet ihr denn bei Eurem Aufbau?
          Das Abschalten beim Schreibvorgang dürfte sicher kritisch sein. Um da eine wirklich sichere Lösung zu finden sehe ich nur eine Chance: Pufferbatterie für wenige Sekunden einbauen (4 Li-Zellen mit 3,7 V in Serie dürften reichen) und mit power-Fail Erkennungsschaltung auf einen Digitaleingang gehen (unsere DIo erkennen zum Beispiel Unterspannungen und melden das). Die Applikation muss diesen Eingangswert pollen und bei Power Fail das System sicher runter fahren. Ich werde das als Ergänzungsmodul mal in unserer Entwicklung auf die Wunschliste setzen. Aber vielleicht wäre das ja auch mal etwas für eine Lösung aus der Community?

          1. Die pure.box von Wiesemann & Theis (WuT — http://www.wut.de/e-50511-12-inde-000.php) besitzt einen Goldcap, mit dessen Hilfe die Box bei Stromausfall automatisch sauber heruntergefahren wird.
            So ein Feature (mit Goldcap anstatt etwaigem Akku) wäre wohl ein Killer-Feature für den RevPi!
            Einer meiner Kunden würde seine Systeme (aktuell 5, da Pilotphase, zukünftig sind min. dreistellige Stückzahlen zu erwarten) ggf. von der pure.box auf den Rev-Pi umstellen, wenn ein solches Feature vorhanden wäre.

          2. Hallo Wolfram,
            wir haben das Problem Stromausfall auf dem Schirm. Trotz eingebautem Goldcap für die RTC können wir aber die Energei für unseren RevPi Core leider nicht mit internen Goldcaps bereitstellen, um einen sauberen Shutdown zu gewährleisten. Wir setzen daher auf eine exteren Lösung. Aktuell musst Du Dich leider noch mit marktüblichen USV-Lösungen behelfen, aber wir haben ein Modul mit PiBridge-Anschluss in der Pipeline, dass dann die Ladetechnik für externe Akkus bzw. interne Akkus bereitstellt und gleichzeitig über die PiBridge dne Shutdown des Systems veranlasst.
            Bitte bedenke, dass wir bei voller USB-Last (USB-Geräte dürfen in der Regel auch nicht so einfach abgestellt werden, wenn sie z.B. Bestandteil einer Kommunikation oder eines wichtigen Speichermediums sind) bis zu 10 Watt Power benötigen. Diese Leistung für eine Shutdown-Zeit sekundenlang abzuliefern (mit einer maximalen Entlade-Absenkung der Kondensatorspannung von wenigen Volt) wäre mit Goldcaps eine sehr teure Lösung, die nur von bestimmten Kunden, die dieses Feature benötigen, bezahlt würde. Hinzu kommt, dass in einer Steuerung eigentlich das einfache Abschalten der Prozesse nicht ausreicht und ggf. die Gesamtanlage in einen geordneten Zustand gebracht werdne muss (z.B. Fräser aus dem material herausheben und dann erst Drehzahl auf 0), was durchaus länger als 3 Sekunden dauern kann.
            Goldcaps sind günstig nur für niedrige Spannungen (deutlich unter 5 V) zu bekommen. Um eine halbwegs hinnehmbare Spannungsabsenkung bei Entladung zu ermöglichen müsste man mindestens 7-8 V Kondensatorspannung erlauben (einfach Reihensschlatung ist ohne ein Matching der Goldcaps oder Loadbalancer nicht sinnvoll). Du siehst, dass ist mit einem Compute-Module und den enthaltenen Features nicht einfach und günstig zu realisieren. Ein externer Blei-Gel-Akku für die Hutschiene (oder auch teurer dann ein LiPo) wären universeller und kostengünstiger. Der Kunde kann sich die für ihn benötigte Stützzeit aussuchen und dann die passende Ladekapazität dazu kaufen. Wenn wir da etwas übersehen haben freuen wir uns über Vorschläge aus der Community, denn das Projekt soll ja gerade von Euren Ideen und Gedanken gespeist werden!

    1. Gute Frage!
      Wir prüfen das gerade. da der 4-Kern-Prozessor maximal 1,5 Watt mehr Leistung zieht, müssen wir erst einmal Labortests mit dem Muster machen und in die Klimakammer. Es könnte sein, dass wir für CM3 mit dem aktuellen Aufbau die Ambient Temperature nicht bis 55°C freigeben können. Aber wie gesagt, wir müssen das prüfen. Bis das Modul am Markt erhältlich ist, werden wir vielleicht schon Ergebnisse haben.

      Mit Sicherheit wird es aber im 1. HJ2017 eine Revision des RevPi Core geben, die für CM3 optimiert wird (externes eMMC mit mehr Speicehr und erweiterten Temperaturbereich ist zum Beispiel angedacht).

Kommentare sind geschlossen.