Categories
PIAMon Projekte

Projekt PIAMon

Für ein Flipper-Custom-Projekt benötig ich den aktuellen Status der Lampen und Flasher eines System-11-Gerätes. Im Prinzip gibt es hierzu bereits Open Source Projekte wie AfterGlow und Pinduino. Da diese aber keinen Zugriff auf die Daten von “aussen” ermöglichen müsste das ganze nochmals angepasst werden. Weiterhin ist das ganze recht umständlich, da man hier keine 3.3V oder 5V-Signale hat, sondern 6.3V und 28V. Insgesamt hat man also recht viel Hardware-Aufwand für eine recht einfach Aufgabe.
Daher will ich hier einen anderen Ansatz umsetzen. Die Daten werden direkt von der CPU abgegriffen. Die System11/Data East MPU macht das ganze recht einfach: Sämtliche I/Os werden über PIOs realisiert (Ausnahme ist der onboard-Sound, der einen eigenen 6802-Prozessor nutzt). Die Adressen der PIAs sind im Schaltplan einfach zu finden.

Daher sieht das Konzept im Moment so aus: Die Daten werden direkt vom Adress- und Datenbus der CPU abgegriffen. Zugriffe aus die IO-Chips werden überwacht und der Status der I/Os lokal gespeichert. Für die Kommunikation nach aussen dient RS485. Der Nachteil dieser Lösung ist ein Adapterboard zwischen Mainboard und CPU. Im finalen Design sollte das aber in SMD ausgeführt werden und dann sehr klein ausfallen. Der Prototyp wird noch in klassischer DIP-Technik gebaut, da dann kleine Anpassungen einfacher möglich sind und die Boards auch noch schnell von Hand gelötet werden können.

Als Prozessor wird ein RP2040 genutzt. Dieser Microcontroller hat nicht nur mehr als genug Leistung, sondern bietet mit dem programmierbaren IO die Möglichkeit, die Überwachung der Datenbusse komplett unabhängig vom Hauptprozessor zu erledigen. Das ist für eine CPU, die nur mit 1MHz läuft eigentlich etwas übertrieben, aber ab und an ist es ja auch ganz gut, mal etwas neues zu lernen.

Das ganze bietet dann Zugriff auf folgende Daten:

  • Vollständiger Zustand aller Lampen, Flasher, Spulen und Schalter
  • DMD-Daten und alphanumerische Displays
  • Sound-Ereignisse

Damit lassen sich prinzipiell diverse Anwendungen realisieren:

  • Interaktive Beleuchtungen
  • Shaker-Ansteuerung
  • Sound-Boards
  • Video-Player
  • und vieles andere mehr

Wer das Projekt begleiten will: Die Daten sind auf Github zu finden.