Forum: Mikrocontroller und Digitale Elektronik Z80 Projekt für Hauptwerk Orgel


von Andreas S. (schweiky)


Lesenswert?

Hallo liebes Forum,
dies ist mein erster Artikel auf dieser Plattform und ich möchte mich 
erstmal vorstellen: ich heiße Andreas, lebe in Langenfeld (Rheinland) 
und bin 50 Jahre alt. Beruflich habe ich mit Einbruch- und 
Brandmeldezentralen zu tun. Das Hobby Elektronik pflege ich seit ich 
denken kann...das andere Steckenpferd ist Orgelspiel - und da beginnt 
dieser Beitrag:
Ich habe aktuell eine 4-manualige Hauptwerk Samplingorgel im Bau. Zum 
Verarbeiten der Registerschalter und Anzeigen und zum Speichern von 
Registrierungen (Setzerspeicher) soll ein kleiner Z80 Rechenknecht mit 
nichtflüchtigem NVRAM dienen. Jetzt kommt das Problem: im Orgelgehäuse 
sind zum Anschluss roundabout 120 Eingabeschalter (Digitast mit LED) 
räumlich verteilt, deren Zustände über viele I/O Bausteine (in: 74244/ 
out:74373) am Datenbus des Z80 angeschlossen sind. Es werden also 
mehrere einzelne Platinen mit I/O Bausteinen, Entprellschaltungen, 
Flipflops und LED-Treibern
am Datenbus und paar Steuerleitungen I/O-Adressdekodierung kaskadiert. 
Der Datenbus kann auf diese Weise vom Prozessor bis zum letzten I/O 
Baustein bis einen Meter lang werden...
Kann das bei einer 4MHz CPU zum Problem werden?
Geschwindigkeit ist bei diesem Projekt Nebensache...

Es wäre schön, wenn ich vom Forum einen Tipp zum Thema bekäme

Gruß Andreas

von Moby (Gast)


Lesenswert?

Andreas S. schrieb:
> bis einen Meter lang werden...
> Kann das bei einer 4MHz CPU zum Problem werden?

Die erste Frage die sich mir stellt ist:
Warum muß es dafür unbedingt ein Z80 sein?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Andreas S. schrieb:
> Kann das bei einer 4MHz CPU zum Problem werden?

Ja, natuerlich. Solche Prozessorbusse sind nicht fuer grosse raeumliche 
Ausdehnungen gedacht. Beim ZX81 hats gereicht, an 2 Datenleitungen 30cm 
Flachbandkabel zu loeten, und schon ging nix mehr...OK, der hatte auch 
die el-cheapo-Busuebersteuerung mit Serienwiderstaenden eingebaut. 
Trotzdem: bei vielen IO Signalen sollte man auf jeden Fall die 
Schnittstellenbausteine nah' am Prozessor gruppieren und die Leitungen 
zu den Schaltern/Verbrauchern laenger machen. Und auch dann hab' ich 
meine Zweifel, ob so ein Haufen 74xx an einem Bus gut funktioniert.

Gruss
WK

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Da es ja elektronische Orgeln gibt, die sowas können, sollte es Wege 
geben, um so einen Bus aufzubauen.
Aber mehrere grosse Probleme treten da schon auf. Für das alte Z80 Dings 
wirst du kräftige Bustreiber brauchen, eine saubere Verharfung mit 
dazwischengelegter Masse und viele, viele Vorkehrungen gegen EMI, die 
dein Apparat sonst ausstrahlt.
Buslängen von einem Meter sollte man ohne besondere Buffer und Filter 
nicht mit 4MHz fahren, vor allem, wenn man so etwas noch nie gemacht 
hat.

von schweiky (Gast)


Lesenswert?

Moin WK,
weil der Schaltungsaufwand minimal ist und ich glaube, dass ich den Code 
dafür verstehe und die Schaltung ans Laufen bringe...

Gruß vom schweiky

von Moby (Gast)


Lesenswert?

schweiky schrieb:
> weil der Schaltungsaufwand minimal ist und ich glaube, dass ich die
> Schaltung ans Laufen bringe...

Ich fürchte dann hättest Du hier auch keine Frage gestellt...
Ob 1 Meter Datenbus zu Problemen führt dürfte hier und heute ohne Kenntn 
is der Umstände nicht so einfach zu beantworten sein. Aber Gnade Dir 
Gott wenn es zu Problemen kommt- da möchte ich nicht der sein der der 
auf Fehlersuche gehen muß. Statt dessen würde ich von vornherein auf 
eine überschaubare modernere Lösung setzen die HF-Problemstellungen von 
vornherein aus dem Wege geht.

von Michael U. (amiga)


Lesenswert?

Hallo,

der gute alte Z80...

Bustreiber auf CPU-Seite und am anderen Ende. 74244 und 74373 könnten 
das schon stabil schaffen. Die aktuellen Versionen (HC/HCT) machen da 
eher Probleme, die sind zu schnell mit den Flanken.
In den alten Bussystemen war man von 1m auf Backplane und Leiterkarten 
nicht soweit entfernt.

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

schweiky schrieb:

> weil der Schaltungsaufwand minimal ist

Nun, wo der Z80 mindestens drei grosse Zusatz-ICs und
jede Menge Hühnerfutter braucht, um zu laufen, hat ein
moderner Mikroprozessor alles in einem Gehäuse.

> und ich glaube, dass ich den Code dafür verstehe

Nun, soviel schwieriger ist die Assemblersprache moderner µCs
auch nicht. Schau Dir doch mal das Tutorial auf den µC.net-
Seiten an. Falls Du beruflich mit C arbeitest, kannst Du das
auch mit µCs verwenden.Bei Deinen Einbruch- und Brandmelde-
zentralen musst Du doch auch jede Menge Schalter auswerten.
Wenn Du da die möglicherweise dort verwendete Schaltungs-
technik kennst, kannst Du die ja vielleuicht auch für Deine
Orgel verwenden.

> und die Schaltung ans Laufen bringe...

74er-ICs sind von vornherein problematischer, weil sie wesentlich
störempfindlicher als CMOS-ICs sind. Natürlich brauchst Du Zusatz-
ICs zur Auswertung Deiner vielen Schalter. Aber auch da gibt es
modernere Lösungen, z.B. I2C-Bus

: Bearbeitet durch User
von oszi40 (Gast)


Lesenswert?

Michael U. schrieb:
> In den alten Bussystemen war man von 1m auf Backplane und Leiterkarten
> nicht soweit entfernt.

Wenn man nur EINEN Bus hat, reicht auch ein Fehler um ihn lahmzulegen. 
Warum hat sonst die Tastatur eine eigene CPU und liefert nur ein Teil 
davon zur zentralen Verarbeitung? Wahrscheinlich wäre es für Andreas 
sinnvoller einzelne Aufgaben dezental zu erledigen und nur Ergebnisse 
über Peripheriebausteine wie PIOs CPU-nah zu verarbeiten. Damit verkürzt 
sich die echte CPU-Buslänge auf einige cm. Jedenfalls haben mir 
Verlängerungsadapter mit langem Kabel meist nur Ärger eingebracht obwohl 
sie aus Ohmscher Sicht total in Ordnung waren. Signallaufzeit, 
Masseprobleme und Busterminierung sollte man nicht unterbewerten.

von Carl D. (jcw2)


Lesenswert?

Was davon existiert schon? Bzw., was davon ist nur Plan?

Um 120 verteilte Taster abzufragen, die ja sicher in Gruppen angebracht 
sind, würde ich diese an Schieberegister Parallel->Seriell hängen und 
diese von einem 3€ China-Arduino-nano-Clone Auslesen lassen.
Die Entprellung macht der aus Langeweile gleich mit, in seinem EEProm 
kann der sich die Zustände der Orgelregister leicht merken und der hat 
grob die Größe eines Z80, etwa DIL34.
Die "Rückmelde"-LEDs bekommen auch Scieberegister, nur eben 
Seriell->Parallel.
AVR-Tutorial: Schieberegister
Per SPI kann man damit die 120 Taster in unter 20μs einlesen und 
gleichzeitig die LED ausgeben. Für die Dannegger Entprellung braucht man 
alle 5..20ms neue Daten, es bleibt also noch viel Luft.

von Georg (Gast)


Lesenswert?

Michael U. schrieb:
> In den alten Bussystemen war man von 1m auf Backplane und Leiterkarten
> nicht soweit entfernt.

Ich habe jahrzehntelang Z80-Systeme im 19-Zoll-Einschub verkauft, etwa 
50 cm davon für Einsteckkarten mit Z80 Bus, da gab es nie Probleme. 
Allerdings: da gab es Treiber (LS245 usw., 4 ICs) und der Bus wurde nur 
für I/O verwendet, kein Memory, DMA und so Zeugs, aber 
I/O-Messwertkarten, Schrittmotortreiber usw. ist ja auch das was man 
braucht.

Alternativ gab es Rückwände mit Siemens-SMP-Bus, und ein Kunde hat sich 
für meine CPU-Karten welche mit ECB-Bus konstruiert, hat auch alles 
problemlos funktioniert, auch gemischt. Das Bus-Knowhow scheint heute 
völlig verlorengegangen zu sein, sieht man auch an manchen Kommentaren 
hier.

Georg

von Michael U. (amiga)


Lesenswert?

Hallo,

ich stimme Dir ja zu, die eigentlich Frage hat  Carl Drexler (jcw2) ja 
nach mit gestellt:

>Was davon existiert schon? Bzw., was davon ist nur Plan?

Wenn es bisher nur Plan ist, hat er auch recht. Billige Arduino-Nano. 
Falls ein Zwischenweg günstiger wäre: ein Nano und ein paar MCP23S17 
schaffen zusätzliche Ein- und Ausgänge.

Zur Geschwindigkeit: der Mensch kann verdammt sensible Ohren haben, wenn 
ein Ton zu spät einsetzt und "zu spät" ist weniger als man oft meint.

Gruß aus Berlin
Michael

von Frank K. (fchk)


Lesenswert?

Harald W. schrieb:
> schweiky schrieb:
>
>> weil der Schaltungsaufwand minimal ist
>
> Nun, wo der Z80 mindestens drei grosse Zusatz-ICs und
> jede Menge Hühnerfutter braucht, um zu laufen, hat ein
> moderner Mikroprozessor alles in einem Gehäuse.
>
>> und ich glaube, dass ich den Code dafür verstehe

Es gibt ja auch moderne Z80-CPUs.

http://www.zilog.com/index.php?option=com_product&Itemid=26&task=parts&BL=1&familyId=119&productId=EZ80L92

Da ist die Peripherie auch gleich mit drin, JTAG/ZDI zum debuggen auch, 
und Du musst nur noch Speicher anschließen. Läuft bis 50 MHz und kann 
linear 16GB adressieren.

von Georg (Gast)


Lesenswert?

Frank K. schrieb:
> Es gibt ja auch moderne Z80-CPUs.

eZ80 habe ich auch als Next Generation verwendet, der hat den Vorteil, 
einen weitgehend Z80-kompatiblen Bus zu haben und auch einen kompatiblen 
Software-Modus. Fürs Basteln ist bloss schlecht, dass er im TQFP-Gehäuse 
ist. Aber ein Chip mit vollständigem Bus UND jeder Menge I/O braucht 
halt seine 100 Pins, und die gibt es nicht als DIP. Wenn man das so 
lieber hat, kann man den eZ80 als einzigen SMD-Chip einsetzen und alles 
andere konventionell, ev. auch den eZ80 auf Adapter und sonst 
Lochraster.

Die Unterstützung durch die IDE ist auch i.O., für ein altes Z80-System 
gibt es nichts Vergleichbares, da geht das noch mit Makefiles zu Fuss 
assemblieren - compilieren - linken und dann Eproms/Flashs 
programmieren. Aber wir sind so früher ja auch ans Ziel gekommen.

Georg

von Carl D. (jcw2)


Lesenswert?

> Zur Geschwindigkeit: der Mensch kann verdammt sensible Ohren haben,
> wenn ein Ton zu spät einsetzt und "zu spät" ist weniger als man oft
> meint.

Es soll sich um die Orgel-Register handeln und nicht um die Manuale.
BTW, bei einer echten Kircheorgel muß man "im Voraus" spielen, denn es 
dauert gefühlte Ewigkeiten, bis ein "angeschlagener" Ton erklingt. Aber 
wie geschrieben: Register, das sind die Holzknubbel rund um den 
Spieltisch, die die "Klangfarben" festlegen.

von Thomas E. (picalic)


Lesenswert?

Servus,

den minimalsten Schaltungsaufwand und günstigsten Bauteilepreis erhält 
man sicher mit einer dezentralen Lösung, bei der mehrere bis viele, 
kleine Mikrocontroller die Ansteuerung der LEDs und Abfrage der Tasten 
(z.B. in Gruppen zu je 16 oder ähnliches) übernehmen. Außer den 
Controllern, ein paar Widerständen und evtl. noch Entkopplungsdioden 
braucht man keine weiteren ICs. Alle kommunizieren über einen Bus (z.B. 
I2C) mit der zentralen Steuer-CPU und auf allem µC läuft das gleiche 
Programm, nur erhält jeder Controller eine eigene ID. Oder die ID wird 
durch eine serielle Verschaltung der Module durch die Hardware 
automatisch festgelegt.

Die EMV-Probleme, die man sich einfängt, wenn man direkt den CPU-Bus auf 
das gesamte Bedienpanel verteilt, mag ich mir gar nicht vorstellen...

: Bearbeitet durch User
von schweiky (Gast)


Lesenswert?

Hallo liebes Forum,

danke für die rege Beteiligung - da kommt ja schon einiges an "Futter" 
zusammen. Es kristallisiert sich heraus, dass eine vernünftige Lösung 
mit einem der aktuellen Minis (Raspberry/Arduino & Co.) gegeben ist. 
Daran ein 2-Draht Datenbus (I2C,CAN,RS485) mit Interface-Bausteinen, 
welche parallele Ein- und Ausgaben ermöglichen. Idealerweise ein IC, an 
welches man nur den Bus und Spannungsversorgung anschließt, mit 
Mäuseklavier für die Busadresse und das mindestens 8 Bit parallel ein- 
oder ausgeben kann. Diese Sorte Käfer könnte man dann schön gemütlich 
hintereinander- bzw. parallelschalten.
Damit keine Mißverständnisse entstehen: die Abfrage der Klaviaturen und 
des Pedals erfolgt mit speziellen Interfacebaugruppen, die an einer MIDI 
Schnittstelle gruppiert sind. Es geht bei meiner Anfrage wirklich nur um 
die 0V oder 5V Potenziale der "Knöppe und Lampen".

Gruß vom schweiky

von Wolfgang (Gast)


Lesenswert?

schweiky schrieb:
> aktuellen Minis (Raspberry/Arduino & Co.)

Das was du da so locker mit einem "/" trennst, sind grundlegend 
verschiedene Dinge, alleine schon vom Betriebssystem.

von W.S. (Gast)


Lesenswert?

Andreas S. schrieb:
> Ich habe aktuell eine 4-manualige Hauptwerk Samplingorgel im Bau.

Ähem... Hauptwerk? DAS Projekt (www.hauptwerk.com), wo schon vor 
Jahren begonnen wurde, Orgeln aufzunehmen und deren Klang als Samples zu 
speichern? Wow!

Also die Idee mit dem Z80 finde ich nicht wirklich gut. Guck dir lieber 
einen Mikro-Controller dafür aus. Heutzutage laufen die mit Taktraten 
jenseits von 20 MHz und stören dennoch nicht, weil alle schnellen 
Aktivitäten auf dem Chip stattfinden und nicht über lange Drähte 
(Antennen) in die Welt gestrahlt werden.

schweiky schrieb:
> Es geht bei meiner Anfrage wirklich nur um
> die 0V oder 5V Potenziale der "Knöppe und Lampen".

Also kann das ein ganzes Stück langsamer laufen und ne größere 
Latenzzeit haben als die eigentlichen Klaviaturen, richtig?

Dann kannst du die Tasten über TTL-Schieberegister (74HC... 
parallel-->seriell) seriell abfragen und die Lampen ebenfalls über 
TTL-schieberegister (diesmal seriell-->parallel) ansteuern. Die Abfragen 
brauchen ja nicht wirklich schnell zu sein, so alle 10 ms dürfte 
ausreichen. Das nette dabei ist, daß du für all die Tasten und  Lampen 
nur ganz wenige Leitungen brauchst und daß die Signale darauf auch mit 
relativ geringer Flankensteilheit daherkommen können.

W.S.

von J. V. (janvi)


Lesenswert?

also ein Z80 reicht zum Abfragen von Schaltern allemal aber der Bus hat 
in dieser Länge nix zu suchen. Entsprechende Anzahl von Eingangstreibern 
und Ausgang Flipflops, vorzugsweise noch galvanisch getrennt oder 
zumindest mit hochhochigen Widerständen am 5 Volt Teil angekoppelt. Da 
machen dann ein paar Meter nix aus. Ansonsten empfiehlt sich bei einer 
höheren Anzahl I/O eine Schaltung mit Reihen und Spalten gemultiplext 
(auch in Software).

Darüber hinaus gibt es heute natürlich auch passendere Controller als 
der Z80 aber das eigentliche Problem bleibt fast gleich und hat damit 
überhaupt nichts zu tun

von MaWin (Gast)


Lesenswert?

120 Schalter kann man über 15 74LS244 und 120 LEDs über 15 74LS373 und 
120 Vorwiderstände anschliessen, oder man macht es geschickt über 1 
74LS244 und 4 Adressleitungen und einen 74LS154 für die Schalter und 1 
CAT4016 und 1 74LS138 und 4 IRF7314 für die LEDs oder noch intelligenter 
alles über EINEN ATmega16, 1 CAT4016 und 4 IRF7314 laufen lassen und per 
SPI steuern.

von Thomas E. (picalic)


Lesenswert?

Aber wer will denn in der Praxis eine riesige, vielleicht 1,50 lange 
Platine designen und herstellen lassen, wo nur 3 Chips drauf sind, aber 
alles in einer riesigen Matrix verschaltet ist?
Auch wenn ich wieder Minus-Punkte kassiere: Dezentral, mehrere gleiche, 
kleine Boards, über wenige (3-4) Leitungen miteinander verbunden, halte 
ich für die bessere Lösung. Zudem könnten Microcontroller dem 
Hauptprozessor die stupide Arbeit des ständigen LED-Multiplexens und 
Taster-Abfragen abnehmen. Jede LED und jeder Taster/Schalter bekommt 
eine ID und der Hauptprozessor schickt "Messages" auf den Bus, um LEDs 
umzuschalten und bekommt Messages vom Bus, wenn sich an den 
Tastern/Schaltern etwas ändert.

von Stefan F. (Gast)


Lesenswert?

> Dezentral, mehrere gleiche, kleine Boards, über wenige (3-4) Leitungen
> miteinander verbunden, halte ich für die bessere Lösung.

Ja, sehe ich auch so.

Wenn es einfach sein soll und Kosten nicht allzu wichtig sind, dann 
würde ich eine Hand voll Crumb644 Boards 
(http://www.chip45.com/products/crumb644-1.1_avr_atmega_module_board_atmega644p_usb_rs485.php) 
über RS485 vernetzen.

Auf einem davon kann dann auch gerne das Hauptprogramm laufen. Bestelle 
Dir welche mit vorinstalliertem Bootloader, dann kannst du die Software 
einfach per USB aufspielen.

Unterm Strich hast du dann warscheinlich trotz verschwenderischem Umgang 
mit Mikrocontrollern sogar weniger IC's, als mit dem Z80.

Der Z80 war ein wirklich toller Mikroprozessor, aber heute würde ich ihn 
nicht mehr verwenden. Da kann jedes kleine 3 Euro Arduino Board in 
vielerlei Hinsicht (nicht in jeder Hinsicht) mehr.

von Thomas E. (picalic)


Lesenswert?

Stefan U. schrieb:
> 
(http://www.chip45.com/products/crumb644-1.1_avr_atmega_module_board_atmega644p_usb_rs485.php)
> über RS485 vernetzen.

Naja, das Geld würde ich dann lieber in etwas Entwicklungs- und 
Programmierhardware stecken. Für die 25 Euro, die nur ein Board davon 
kostet, kriegt man bestimmt schon ein PICKit Clone oder 
AVR-Programmierhardware, und der freundliche Chinese macht einem für 
soviel Geld auch gleich 20 Custom-Boards für die Digitasts und LEDs, wo 
dann jeweils ein Standard-Controller für <1 Euro die Tasten/LEDs bedient 
und über SPI mit dem Host kommuniziert.

: Bearbeitet durch User
von schweiky (Gast)


Lesenswert?

Hallo liebes Forum:

MaWin: der CAT4016 wäre genau meine Lösung - allerdings nur für die LEDs 
und die Parallelschnittstelle zum MIDI-System. Gibt's hiervon auch eine 
16 Eingänge Version??

Others: ich gehe davon aus, dass es folgendermaßen aussehen wird:

Platine 1 mit 48 Schaltern/LED und dazu gehörigen Entprellschaltungen 
und Ausgangstreibern, linke Seite, neben den Klaviaturen --> Register 
für Pedal, Manual 1 und Manual 2

Platine 2 mit 48 Schaltern/LED und dazu gehörigen Entprellschaltungen 
und Ausgangstreibern, rechte Seite, neben den Klaviaturen --> Register 
für Manual 3 und Manual 4 sowie Koppler

Platine 3 mit 24 Schaltern, 16 LED und 2 Siebensegmentanzeigen und dazu 
gehörigen Entprellschaltungen und Ausgangstreibern, Mitte, unter den 
Klaviaturen --> Steuerung des Setzerspeichers, Plenumm, Stumm, etc.

Platine 4 mit Z80 CPU, 2764 EPROM, M48T02 NVRAM und 15 Ausgangstreibern 
ULN2803 für 96 Relaisausgänge (parallele MIDI-Schnittstelle) und die 120 
LEDs in den Digitastern + 7S-Anzeige, 15 74244 Bustreiber für die 120 
Eingänge. Montage im Abschirmgehäuse.

Das Ganze mit Flachbandkabeln sternförmig von den Platinen 1,2,3 nach 
der Platine 4 verkabelt.

Stromversorgung "oldschool" mit Ringkerntrafo und Linearregler und 
ausreichender Verdrosselung.

Ich poste die Schaltungen + mehr Details zum MIDI-Aufbau, wenn sie 
fertig sind...

Danke für Euer Interesse, Andreas

von The D. (thedaz)


Lesenswert?

Respekt, wer sich heutzutage noch so ein TTL Grab antut aber jedem 
Tierchen sein Plaisierchen. Viel Spaß und Glück bei der Umsetzung. Habe 
gerade erst ne Schublade voller zugehöriger I/O Chips wie 8255 und 8251 
den Müll geworfen. Für mich war nach dem 6809 der Z80 ein toller 
Wegbegleiter durch die Schulzeit.

von MaWin (Gast)


Lesenswert?

schweiky schrieb:
> Gibt's hiervon auch eine 16 Eingänge Version??

Nein, der hätte ja ein 40 poliges Gehäuse, so was kauft doch niemand.

von Sascha W. (sascha-w)


Lesenswert?

da könnte er dann auch einen Z80-PIO nehmen, der hat 2 8-Bit Ports.

Sascha

von MaWin (Gast)


Lesenswert?

Sascha W. schrieb:
> da könnte er dann auch einen Z80-PIO nehmen, der hat 2 8-Bit
> Ports.

Er möchte nicht 16 Eingänge, sondern 16 kanalige 100mA 
Konstantstrom-Leistungstreiber statt seriell über SPI lieber parallel 
über 16 (TTL-Kompatible) Eingänge steuern.
Wozu auch immer, vermutlich weil er SPI nicht verstanden hat.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Andreas S. schrieb:
> Jetzt kommt das Problem: im Orgelgehäuse sind zum Anschluss roundabout
> 120 Eingabeschalter (Digitast mit LED) räumlich verteilt, deren Zustände
> über viele I/O Bausteine (in: 74244/ out:74373) am Datenbus des Z80
> angeschlossen sind.
Ich habe dafür und für das Pedal einfach einige Schieberegister 
hintereinander geschaltet. Damit hat mein "Bus" nur 3 unidirektionale 
Leitungen. Und 3 Leitungen kann man leichter verteilen und sogar 
auffrischen.
Aber einen bidirektionalen AD-Bus auf über 1m auszudehnen erscheint mir 
sehr gewagt...

von Michael X. (Firma: vyuxc) (der-michl)


Lesenswert?

Es gibt für solche Sachen das Projekt Midibox. Die Daten bekommst du per 
Midi rein und raus, und du hast recht schnell eine plug&play Lösung.

Homepage: www.ucapps.de

von Falk B. (falk)


Lesenswert?

@  Andreas Schweikard (schweiky)

>Ich habe aktuell eine 4-manualige Hauptwerk Samplingorgel im Bau. Zum
>Verarbeiten der Registerschalter und Anzeigen und zum Speichern von
>Registrierungen (Setzerspeicher) soll ein kleiner Z80 Rechenknecht mit
>nichtflüchtigem NVRAM dienen.

Naja, würde ICH nicht machen, aus mehreren Gründen. Wenn du mit dem Z80 
vertraut bist, OK.

> Jetzt kommt das Problem: im Orgelgehäuse
>sind zum Anschluss roundabout 120 Eingabeschalter (Digitast mit LED)
>räumlich verteilt, deren Zustände über viele I/O Bausteine (in: 74244/
>out:74373) am Datenbus des Z80 angeschlossen sind.

Schon mal ein Fehler. Solche Dinge löst man anders, z.B. über einen 
seriellen Bus mit verteilten IOs.
Selbst mit I2C ist man da deutlich besser dran.

>Es werden also
>mehrere einzelne Platinen mit I/O Bausteinen, Entprellschaltungen,
>Flipflops und LED-Treibern
>am Datenbus und paar Steuerleitungen I/O-Adressdekodierung kaskadiert.

2. Fehler. Man braucht keine Entrpellschaltungen udn FlipFlops für so 
einen Kram, das macht man mühelos in Software.

>Der Datenbus kann auf diese Weise vom Prozessor bis zum letzten I/O
>Baustein bis einen Meter lang werden...

MÖÖÖP!! So nicht, auch nicht bei 4 MHz.

Der Prozessor und seine IOs gehörten kompakt zusammen auf eine Platine, 
BESTENFALLS mehrer Platinen im Stapel.
Alles andere ist Unsinn.
Mit einem modernen uC ala AVR, MSP430, PIC und so Gott will ARM braucht 
man das alles nicht, es reicht EIN kleiner IC + bisschen 
Außenbeschaltung.
Das ist nicht nur detlich kleiner udn komfortabler, sondern auch 
deutlich störresistenter und funktionssicher.

von The D. (thedaz)


Lesenswert?

Leute, der TO hat sich doch bereits entschieden. Der Thread sollte also 
geschlossen werden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.