Hallo zusammen, es geht um die beiden IC AL1401 und AL1402. Diese bieten die Möglichkeit über den ADAT Datenstrom auch MIDI Daten zu versenden. Jetzt habe ich die Datenblätter schon studiert, aber leider steht da nur, dass der USER1 Port für die MIDI Daten gedacht ist. Leider konnte ich noch keine genaueren Informationen dazu finden. Bin für jede weiterführende Info dazu dankbar. Gruß Gunter
Gunter R. schrieb: > Bin für jede weiterführende Info dazu dankbar. Aus dem Datenblatt ist zu entnehmen:
1 | Use of this product requires a license |
2 | agreement between manufacturer and |
3 | Alesis Studio Electronics. Details and |
4 | agreement information are available upon |
5 | request from Alesis Semiconductor or |
6 | Alesis Studio Electronics. |
Da im Datenblatt sonst keine weiteren Informationen enthalten sind: was könnte man daraus folgern?
Aus diesem Grund frage ich ja hier ob einer mehr Infos als im Datenblatt beisteuern kann.
Du solltest dir klarmachen was hinter dem Ausdruck "license agreement" steckt, was das für den Einzelnen bedeuten mag.
aus dem Datenblatt: "USER0 is used to transmit the ADAT format 32-bit timecode. USER1 is used to transmit MIDI data. USER2 and USER3 are reserved and should be tied low. User bits are sampled at the WDCLK edge that indicates the end of right channel data" das bedeutet du kannst pro Sample 1 Bit durchschieben L/R Clk ´= Samplerate 48k. Das ist doch ziemlich eindeutig im DB beschrieben. https://pdf.datasheetcatalog.com/datasheets2/15/156040_1.pdf Diese ALxxx Dinger sind im Prinzip Audio DSPs mit Festprogramm. Ich habe damit mal vor 20 Jahren etwas gespielt Es gab von Alesis auch einen Assembler bzw Simulator. Da die Dinger maskenprogrammiert waren macht es aber keinen Sinn sich damit näher zu beschäftigen. Ich erinnere mich jedenfalls nicht an OTPs.
:
Bearbeitet durch User
Ich habe ein Gerät was mit dem AL1402 das ADAT Signal über das LAN Kabel versendet. Das gab es auch mit der MIDI Erweiterung. Jetzt wollte ich mir die MIDI Erweiterung selbst dazu bauen. Mir ist nur unklar ob man die MIDI Daten einfach so in den AL1401/2 schicken kann und er sich kümmert, oder ob man die Daten synchronisieren muss. In Schaltplänen von Alesis Geräten, in denen der IC verwendet wird, habe ich bis jetzt noch nichts mit dem MIDI gefunden.
senden: Immer wenn du eine fallende Flanke an LR hast stellst du ein Bit aus deinem MidiStream bereit. Das Bit wird dann mit der steigenden Flanke rausgetaktet. Wenn es nichts neues gibt sendest du eine 0. Das funktioniert weil Midi < 48k ist, es gibt also keine Überläufe. Ich würde nach jedem Midi Byte 2..3 mal 0 senden. Da MidiCmds immer mit gesetztem CMD Bit anfangen synct sich das von alleine. Natürlich muss den MidiSender Buch über die Bits und Bytes führen, das ist aber trivial. etwa Midi -> Ringbuffer -> bitserializer -> AL1401 receive: AL1402 -> Buffer -> Bitdeserializer -> Midi. Der eigentliche Trick sind so Sachen wie Running Status, Sysex, Realtime Events wie Active Sense. Du brauchst also auf beiden Seiten einen Microcontroller. Einen Sender und einen Empfänger. Das Prinzip ist so ähnlich wie bei den Spdif Transmittern, dort kann man auch pro Sample ein User Bit rausschieben. Z.B für Ascii Meldungen. Edit: Ich hoffe mal dass du die Mid Spec, auch im Detail, kennst. Sonst kannst du das Ganze sowieso vergessen.
:
Bearbeitet durch User
Das alte und leidige Thema mit ADAT. Ich habe schon vor 15 Jahren probiert, eine Schnittstellenbeschreibung zu bekommen, was mir bis heute nicht (offiziell) gelungen ist. Die Firma Alesis schafft es irgendwie nicht, Ingenieuren ein NDA zukommen zu lassen, das sie unterzeichnen können und auch andere haben das gleiche Problem. Das Thema ist in Musikforen breit diskutiert. Die Trägheit des Herstellers hat dazu geführt, dass a) einer meiner damaligen Kunden kein ADAT in seinem Gerät drin hat b) ich (offiziell) kein ADAT in meinen Geräten drin habe ... und das obwohl ADAT im Prinzip die gleichen Daten verschickt wie S/PDIF und die meisten wissen, dass ich MIDI mit S/PDIF verpacke. b) viele andere Herstelller auch kein ADAT mehr benutzen Zu der Implementierung: Ich würde überlegen, ob es zielführend ist, den Sub-Kanal wie angedeutet zu benutzen, weil der nur 1 Bit / Sample übertragen kann und damit kaum schneller ist, als MIDI mit 31k selber. Auch wenn man da theoretisch 8 Kanäle hat, ist das weit weg von schnell.
Thomas Z. schrieb: > wie kommst du auf 8 Kanäle? ADAT hat im Bezug auf die ursprüngliche Grundlage, S/PDIF@48kHz insgesamt 8 virtuelle Kanäle und kann folglich 4 Stereopaare übertragen. Alternativ 2 auf 96kHz und einen auf 192kHz. Ab dann braucht es den nächsten LWL. Das ist genau so wie beim TDIF1-Interface, die munter hin und her konvertiert werden können. Ich habe den an meinem Mischpult dran und schiebe es über die RME in den Rechner. Das ist ja das bequeme, dass man mit einem optischen Kanal an der TOSLINK-Buchse gleich 4 Stereobusse in den Rechner bekam. Jahrelang DER Hit. Inzwischen total überholt.
Thomas Z. schrieb: > Ich würde nach jedem Midi Byte 2..3 mal 0 senden. Da MidiCmds immer mit > gesetztem CMD Bit anfangen synct sich das von alleine. Aber nur die. Die ggf. folgenden Datenbytes fangen alle mit 0 an und können auch komplett 0 sein. Wie werden die von den 2..3 mal 0 unterschieden, die du vorschlägst zu senden?
>Ich habe schon vor 15 Jahren probiert, eine Schnittstellenbeschreibung zu bekommen Das habe ich jetzt auch versucht und warte noch auf eine Antwort. Da die ADAT Daten in meinem Fall über ein LAN Kabel übertragen werden, dienen die MIDI Daten nur der Fernsteuerung der Gain von den Eingangskanälen. Somit wäre ich jetzt auch nicht unbedingt an das MIDI Protokoll gezwungen. Dem Arduino ist es ja Wurst was er ausgibt und empfängt. Hatte nur den Gedanken, dass ich das MIDI Protokoll zur Übertragung nutze. Diese Geräte habe ich 2x: https://appsys.ch/downloads/adat-multicore/ADX32A-64A_de.pdf Davon gibt es auch diese mit MIDI was ich eben nicht habe: https://appsys.ch/en/products/extenders/adx-32b-adx-64b-pro So funktioniert das super mit 24 Kanälen hin und 8 Kanälen zurück. In diesem Beitrag haben sie beschrieben was ich so in etwa nachempfinden will: https://www.musiccraft24.de/index.php?eID=dumpFile&t=f&f=2759&token=439001a68d1dc2297d2c939b7ce58861fd5a41c9 Den MIDI Controller mit den 24 Potis für den Gain baue ich mir selber.
Nun die beiden Alxxx sind wie gesagt Audio DSPs mit festem Programm. Vielleicht bilden die ja sogar einen UART nach. Dann würde es reichen einfach mal ein Midi Signal z. B vom Keyboard am AL1401 anzulegen und mit dem Oszi zu schauen was am AL1402 rauskommt. Falls du ein Gerät hast was Active Sense sendet kannst du das auch damit mal versuchen. Schau mal hier: Beitrag "Usb Midi Firmare für die WCH CH55x Controller" Die Firmware unterstützt active sensing, bei Bedarf könntest von mir so einen Stick haben.
Gunter R. schrieb: > aber leider steht da nur, dass der > USER1 Port für die MIDI Daten gedacht ist. Leider konnte ich noch keine > genaueren Informationen dazu finden. > Bin für jede weiterführende Info dazu dankbar. Ich glaube, die besten Karten hast du, wenn man bei Unternehmen nachfragt, die den ADAT supporteten, bzw. Schnittstellen und Tools dazu verkauften. Ob jetzt Yamaha, Steinberg Doepfer, Behringer usw. besonderen ADAT-Support hatten bzw. weiß ich nicht, aber auch da könnte man zur Not nach Hilfe fragen. Die Userports selber stelle ich mir so vor: UserP heißt ja, dass es Presets gibt, bzw. standardisierte Voreinstellungen. Beispiel Drumcomputer: Man hat normalerweise die Fabriksounds und einen Spursequenzer. Per Midi kann man bei Synths alles mögliches steuern, sofern die das anbieten. Bei Drumcomputern hat man u.a. 1-x Userplätze für eigene Instrumente, die von einem midigesteuerten Sampler mit eigenen Sounds kommen können. Der Sequenzer integriert die Klänge dann über Midi auf Kanal xy. Üblicherweise hatte man 16 Kanäle. Dieserlei Zusammenhänge sollte man aber dem Handbuch entnehmen können. Außerdem brauchte man VHS-Kassetten (https://www.verschwundene-dinge.de/zu-den-themen/musikwiedergabe/alesis-adat-mehrspuraufnahmesystem.html)
Mit der Firma Appsys in der Schweiz habe ich schon Kontakt und die waren so freundlich von dem Gerät, was ich habe, den Schaltplan zu senden. Das ist sehr hilfreich. Leider haben sie nicht den Plan von der Pro gegeben. Bei der A sind nur die AL1402 enthalten. Zum Senden schicken sie das ADAT gleich auf den Leitungstreiber. Jetzt habe ich zwei Möglichkeiten, auf einen ADAT Kanal zu verzichten (das wollte ich vermeiden) und dafür ein Aderpaar im LAN Kabel verwenden, oder bei einem Kanal einen AL1401 einzuschleusen und dort die MIDI Daten zu senden. Beim MIDI Format bin ich ganz offen, da ja nur der eine Empfänger es verstehen muss. Dafür wollte ich einfach nur SysEx Daten senden.
Hier ist die Fa. Appsys ;-) Also, das MIDI Userbit kann man in den AL1401 einschleusen und im AL1402 wieder rausziehen. Das Userbit wird mit 48kHz übertragen (es ist völlig egal was man da sendet, es wird einfach mit 48kHz abgetastet und kommt auf der anderen Seite mit 48kHz Updatefrequenz wieder raus). Beim Übertragen von MIDI muss man beachten, dass man deshalb nicht einfach den MIDI-Port ans Userbit anklemmen kann - durch das 48k Sampling wird die Waveform vom MIDI-Datenstrom so verzerrt, dann nicht mehr stimmt. Man muss also mittels uC erstmal MIDI auf eine Baudrate von 48kHz bringen (= Wordclock, dafür gibt es auch praktischerweise einen Ausgang am AL1401/AL1402). Dann mit 48kHz übertragen, auf der anderen Seite dann wieder zurück auf 31.25KHz.
Hallo Rolf, das sind ja richtig gute Nachrichten. Da muss ich mich in meinem Fall nicht an den MIDI Standard halten und den Arduino gleich mit 48khz senden lassen. Kann ich mir das Umrechnen sparen. Wenn ich richtig verstanden habe muss ich das nur synchronisieren mit Wordclock.
Rolf E. schrieb: > Also, das MIDI Userbit kann man in den AL1401 einschleusen und im AL1402 > wieder rausziehen. Das Userbit wird mit 48kHz übertragen (es ist völlig > egal was man da sendet, es wird einfach mit 48kHz abgetastet und kommt > auf der anderen Seite mit 48kHz Updatefrequenz wieder raus). Ist das auf jedem Kanal oder nur auf einem? Was ist, wenn ich ADAT mit 192kHz fahre?
Verändert sich das WordClock Signal bei 192kHz? Es wird doch nur die Anzahl der Kanäle reduziert um die Datenmenge bei gleicher Taktung zu übertragen.
Dazu muss ich sagen, der Mixer kann nicht mehr als 48kHz und mir ist es wichtig viele Kanäle über ein LAN Kabel zu senden. Der Bau ist ja für die spezielle Anwendung gedacht. Die einfachste Sache wäre ein zusätzliches Kabel für die MIDI (Steuer) Daten zu verwenden. Aber genau das wollte ich vermeiden.
ESI hatte doch da eine Lösung. Mir war das aber nie was mit MIDI übers Ethernet. Daher: http://www.96khz.org/htm/midiviaspdif.htm Das ist das Schnellste und Beste! Ich verwende aber das gesamte Stereowort und nicht nur den einen USER-Kanal. Dir wird also nichts anderes überbleiben, als dir das USER-Bit zu schnappen und das MIDI einzucodieren. ... und zu hoffen, dass sonst niemand das Signal benutzt. Viele Lautsprecherhersteller benutzen das user-bit im S/PDIF und optical ADATA nämlich, um ihre System zu synchen.
Danke für die weiteren Hinweise. Übrigens hatte ich eine Anfrage bei Alesis gestellt. Zu Geräten die sie herstellen können sie Auskunft erteilen, aber nicht zu Bauteilen. Jetzt muss ich mir erst mal einen AL1401 besorgen und dann kann ich das mal testen.
Gunter R. schrieb: > brigens hatte ich eine Anfrage bei > Alesis gestellt. Zu Geräten die sie herstellen können sie Auskunft > erteilen, aber nicht zu Bauteilen. Ja so in etwa fallen die Antworten aus. Dabei wäre es zweckmäßig, den Standard weitergetrieben zu haben, weil es zumindest damals vor 20 Jahren die technisch nichts Vergleichbares gab, das so billig war.
So, der AL1401 ist eingetroffen. Jetzt meine Frage: Soll das zu übertragende Bit bei steigender oder fallender Flanke des Word clock bereit stehen? Gibt es schon eine fertige Lösung für synchrone Datenübertragung mit dem Arduino?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.