SIO-Interface

1, 2

SIO-Interface

von wwl » Do 28. Nov 2013, 13:37
Hallo,

ich suche detailiertere Infos zum SIO-Interface:

Also z.B.

- wie benutzt man Pin 8 um einen Kasettenrecordermotor zu steuern?
- wozu ist Pin 13 gut? Die SIO2PC Software nutzt das nicht.
- In welcher Form kann man Sound auf Pin 11 ausgeben?
- Welcher Teil des OS nutzt Pin1 und Pin2?
- Wozu ist Pin9 'Proceed' da?
- Wie belastbar ist die 5V Spannungsversorgung?

Wer kann mir eine gute Informationsquelle nennen?

Gruß, Wolfgang

Re: SIO-Interface

von Sleepy » Do 28. Nov 2013, 14:27
Hi,

die genauen Details habe ich nicht im Kopf, aber soviel kann ich Dir schon mal sagen:

- wie benutzt man Pin 8 um einen Kasettenrecordermotor zu steuern?
Die Leitung kann über einen POKE-Befehl ein- & ausgeschaltet werden.

- In welcher Form kann man Sound auf Pin 11 ausgeben?
Darüber wird ein Audiosignal von der Datasette eingespeist welches dann über den Monitor/TV ausgegeben wird. Die ATARI-Datasette nutzt eine Stereo-Spur der Compakt-Kassette für Daten und die andere für (optionalen) Sound. So kann, mithilfe des oben erwähnten POKES, relativ gezielt Audioinhalte von Kassette abgespielt werden.

Sleepy

Re: SIO-Interface

von wwl » Sa 30. Nov 2013, 19:03
Vielen Dank Sleeπ!

Sleepy hat geschrieben:die genauen Details habe ich nicht im Kopf, ...


Das ist auch nicht nötig. Was mir schon weiterhelfen würde, wäre eine Quelle im Internet.

Sleepy hat geschrieben:- wie benutzt man Pin 8 um einen Kasettenrecordermotor zu steuern?
Die Leitung kann über einen POKE-Befehl ein- & ausgeschaltet werden.


Das ist also ein digitales Signal?

Sleepy hat geschrieben:- In welcher Form kann man Sound auf Pin 11 ausgeben?
Darüber wird ein Audiosignal von der Datasette eingespeist welches dann über den Monitor/TV ausgegeben wird. Die ATARI-Datasette nutzt eine Stereo-Spur der Compakt-Kassette für Daten und die andere für (optionalen) Sound. So kann, mithilfe des oben erwähnten POKES, relativ gezielt Audioinhalte von Kassette abgespielt werden.

Wie sieht so ein Audiosignal aus?

Was ist mit den anderen Leitungen?

Gruß, Wolfgang

Re: SIO-Interface

von wwl » Mo 2. Dez 2013, 13:55
Was ich mir immer wünsche, wenn auf eine Frage keine Antwort kommt, ist so eine Art Barometer, das einen Wert zwischen den beiden Extremen
  • Frage ist zu blöd und keiner Antwort würdig
  • Frage ist zu schwer, habe keine Antwort
anzeigt. Läßt sich sowas in die Forensoftware einbauen?

Wolfgang

Re: SIO-Interface

von tfhh » Mo 2. Dez 2013, 14:38
Moin Wolfgang,

wwl hat geschrieben:Was ich mir immer wünsche, wenn auf eine Frage keine Antwort kommt, ist so eine Art Barometer, das einen Wert zwischen den beiden Extremen
  • Frage ist zu blöd und keiner Antwort würdig
  • Frage ist zu schwer, habe keine Antwort
anzeigt. Läßt sich sowas in die Forensoftware einbauen?

Hmm, das ist etwas übers Ziel hinaus, würde ich mal sagen. Es gibt keine "hauptberuflichen" ABBUC Mitglieder, die von morgens bis abends nur dafür abgestellt sind, Deine (und andere) Fragen zu beantworten. Ein bißchen Eigeninitiative ist schon erforderlich.

Zu Deinen Fragen... Die benötigten Informationen sind nun wirklich nicht schwer zu finden, das Pinout der SIO Schnittstelle mit der Beschreibung dazu findest Du u.A. im Profibuch erklärt. Das Profibuch liegt das digitale Version für jedermann zum Download bereit (siehe ABBUC Hauptseite, Mitgliedschaft, Downloads, Public Downloads). Im Profibuch sind im Stichwortverzeichnis auf Seite 315 die ganzen Hinweise zur SIO zu finden.

Dann hat Sleepy ja bereits zum Motor-Signal eine Definition geliefert. Wenn man etwas mit einem POKE Befehl aus-/einschalten kann, kann es sich nur um eine binäre Ausgabe handeln. Diese wird bei Standard 5 Volt Pegel als High (digital "1", 4...5 Volt) und als Low (Digital "0", <0.5 Volt) signalisiert.

Ebenso wurde die Frage zu Pin 11 bereits ebenfalls beantwortet. Die Clock-Leitungen werden vom OS nicht ausgewertet, mir ist ad hoc kein Gerät bekannt, was diese Leitungen nutzt. Gilt auch für Proceed.

Dann hilft Dir Google auch, alle Schaltpläne für die Atari Familie zu finden, wo sich dann der Rest ergibt.

Gruß, Jürgen

Re: SIO-Interface

von HiassofT » Mo 2. Dez 2013, 15:41
Google mal nach siospecs.pdf, das sollte viele Deiner Fragen beantworten.

so long,

Hias

Re: SIO-Interface

von wwl » Mo 2. Dez 2013, 19:05
tfhh hat geschrieben:Hmm, das ist etwas übers Ziel hinaus, würde ich mal sagen. Es gibt keine "hauptberuflichen" ABBUC Mitglieder, die von morgens bis abends nur dafür abgestellt sind, Deine (und andere) Fragen zu beantworten. Ein bißchen Eigeninitiative ist schon erforderlich.

Woher weißt Du, wieviel Eigeninitiative meiner Frage vorausging?
tfhh hat geschrieben:Zu Deinen Fragen... Die benötigten Informationen sind nun wirklich nicht schwer zu finden, ...

Also doch von der Sorte: 'Zu blöd und eigentlich keiner Antwort würdig'!

Danke für Deine Bemühungen, leider bin ich nicht wirklich weitergekommen.

Gruß, Wolfgang

Re: SIO-Interface

von wwl » Mo 2. Dez 2013, 19:47
HiassofT hat geschrieben:Google mal nach siospecs.pdf, das sollte viele Deiner Fragen beantworten.

Ja, danke! Das tut es.

Gruß, Wolfgang

Re: SIO-Interface

von Sven » Mo 2. Dez 2013, 22:05
tfhh hat geschrieben:Die Clock-Leitungen werden vom OS nicht ausgewertet, mir ist ad hoc kein Gerät bekannt, was diese Leitungen nutzt.


Meine bisherigen "Recherchen" haben ergeben, das gerade das Clock-Signal kurz vor dem Command-Signal angelegt wird und mit dem Takt der SIO-Kommunikation übereinstimmt (bzw. ist das auch bei SIO2USB dokumentiert). Dort wird auch das Clock-Signal genutzt um die Baudrate für die SIO-Kommunikation einzustellen.

Eine grafische Darstellung hierzu gab es im ABBUC-Magazin #108 von Erhard.

Bezüglich der Forensoftware und einem "Thread-Barometer": etwas ähnliches gibt es, aber die Geschmäcker sind verschieden... Ich bekomme auch nicht auf jeden Beitrag eine Rückmeldung :(

Persönlich habe ich nicht auf die Fragen geantwortet, da wie schon erwähnt viele Informationen im Profibuch zu finden sind oder eigentlich selbsterklärend sind (zumindest die genannten Punkte). Auch sind die Fragen etwas "platt" formuliert... Und eine allumfassende SIO-Port-Dokumentation habe ich auch noch nicht gefunden.

Die Belastbarkeit der +5V sind nicht so einfach zu beantworten. Für mein bisheriges Verständnis hängt dies mitunter an der Leistungsfähigkeit der eigentlichen Stromversorgung am ATARI.

Das bescheidene Feedback ist vielleicht auch einfach dem vorweihnachtlichen Stress geschuldet... wir werden es nie erfahren ;)

Aber nicht den Kopf hängen lassen - immer schön weiter fragen :)

Re: SIO-Interface

von wwl » Mo 2. Dez 2013, 23:18
Sven hat geschrieben:
tfhh hat geschrieben:Die Clock-Leitungen werden vom OS nicht ausgewertet, mir ist ad hoc kein Gerät bekannt, was diese Leitungen nutzt.


Meine bisherigen "Recherchen" haben ergeben, das gerade das Clock-Signal kurz vor dem Command-Signal angelegt wird und mit dem Takt der SIO-Kommunikation übereinstimmt (bzw. ist das auch bei SIO2USB dokumentiert). Dort wird auch das Clock-Signal genutzt um die Baudrate für die SIO-Kommunikation einzustellen.

Eine grafische Darstellung hierzu gab es im ABBUC-Magazin #108 von Erhard.

Vielen Dank für die Richtigstellung und den Link!
Sven hat geschrieben:Bezüglich der Forensoftware und einem "Thread-Barometer": etwas ähnliches gibt es, aber die Geschmäcker sind verschieden... Ich bekomme auch nicht auf jeden Beitrag eine Rückmeldung :(

Persönlich habe ich nicht auf die Fragen geantwortet, da wie schon erwähnt viele Informationen im Profibuch zu finden sind oder eigentlich selbsterklärend sind (zumindest die genannten Punkte). Auch sind die Fragen etwas "platt" formuliert... Und eine allumfassende SIO-Port-Dokumentation habe ich auch noch nicht gefunden.

Mir ist zwar nicht so ganz klar, was Du mit 'platt' meinst. Ich vermute, Du meinst 'zu allgemein'? Ich werde versuchen zukünftig präzieser zu fragen.

Ich habe hier noch einen Thread gefunden, der ganz interessant ist.

Gruß, Wolfgang

Re: SIO-Interface

von Sven » Di 3. Dez 2013, 07:52
Jupp, denke einigen fehlt etwas die Idee in welche Richtung deine Fragen gehen.
Über die SIO kann man sicherlich ein kleines (Taschen-)Buch schreiben ;)

Re: SIO-Interface

von dl7ukk » Di 3. Dez 2013, 09:26
aber Hallo!

Was hat der Thread auf AA mit Deiner Fragestellung zu tun.
wwl hat geschrieben:Ich habe hier noch einen Thread gefunden, der ganz interessant ist.
Gruß, Wolfgang


Kannst Du mir das bitte erläutern?

Re: SIO-Interface

von wwl » Di 3. Dez 2013, 18:38
dl7ukk hat geschrieben:aber Hallo!

Was hat der Thread auf AA mit Deiner Fragestellung zu tun.
wwl hat geschrieben:Ich habe hier noch einen Thread gefunden, der ganz interessant ist.
Gruß, Wolfgang


Kannst Du mir das bitte erläutern?

Dort geht es um eine Alternative zum SIO-Bus. Dabei wurde auch der Sinn der einzelnen Signale diskutiert, mit dem Hintergedanken, eventuell mit weniger Leitungen auszukommen.

Gruß, Wolfgang

Re: SIO-Interface

von Sven » Di 3. Dez 2013, 21:17
Korrigiert mich, aber aus dem Kopf heraus braucht es für die SIO-Kommunikation nur:

- Ground
- Command
- RX
- TX

Sind also noch 9 Pins, die je nach Anwendungsfall ggf. relevant werden.

Re: SIO-Interface

von HiassofT » Mi 4. Dez 2013, 01:54
Hi Sven!

Sven hat geschrieben:Korrigiert mich, aber aus dem Kopf heraus braucht es für die SIO-Kommunikation nur:

- Ground
- Command
- RX
- TX

Ich korrigier Dich gerne :-)

Das sind die allerwichtigsten Signale, aber eine weitere wichtige Leitung fehlt noch in der Liste: +5V/READY.

Die +5V Leitung dient in erster Linie dazu den Peripherigeräten zu signalisieren ob der Atari läuft und ob sie überhaupt die Datenleitungen (Command, TxD) auswerten sollen. Ist die Leitung auf Low (oder auch garnicht verbunden aka HIGH-Z) ignoriert die 1050er zB alles was am Bus passiert.

Das betrifft natürlich hauptsächlich Geräte mit externer Stromversorgung, Geräte die ihre Versorgungsspannung vom SIO Bus beziehen sind ja automatisch "tot" wenn da nicht +5V anliegen.

Die Versorgung von Geräten über die +5V/READY Leitung ist aber etwas problematisch, ein paar wenige mA sind OK, im 1200XL hängt da zB ein Serienwiderstand drin. Mehr Strom dürfen die Geräte nur über die Motor Control Leitung ziehen, da liegt auch ein Schalt-Transistor drin - der Pin ist dafür gedacht direkt den Motor mit Strom zu versorgen. Genau spezifiziert ist die maximale Belastbarkeit aber meines Wissens nach nirgends...

Auch hier gilt: korrigiert mich, wenn ich mich irre

so long,

Hias

Re: SIO-Interface

von wwl » Mi 4. Dez 2013, 09:52
Ich finde keine Möglichkeit die Signale 'Proceed' bzw 'Interrupt' vom Atari aus zu setzen. Es scheint, als seien die nur lesbar. Ist das richtig?

Gruß, Wolfgang

Re: SIO-Interface

von Sleepy » Mi 4. Dez 2013, 10:06
* Vermutung: *

Über die Interrupt-Leitung kann ein Interrupt von einem SIO-Endgerät ausgelöst werden um den Rechner auf sich aufmerksam zu machen, d.h. es ist ein Eingang.

Sleepy

Re: SIO-Interface

von Sven » Mi 4. Dez 2013, 10:11
In der weiter oben angegebenen PDF SIOSpec ist zu lesen das:

Not implemented in present serial port protocol. This line may generate an IRQ Interrupt if it goes to Zero.


Als Note noch:
PACTL (Port A control, $D302) is related to PROCEED as follows: Bit 0 is Interrupt enable, 1 = Enable. It is reset at Power-on. Bit 7 is set when PROCEED Interrupt occurs, and is reset when PACTL is read. PBCTL (port B Control, $D303) is related to INTERRUPT in the same manner as PACTL is related to PROCEED.

Re: SIO-Interface

von HiassofT » Mi 4. Dez 2013, 16:16
wwl hat geschrieben:Ich finde keine Möglichkeit die Signale 'Proceed' bzw 'Interrupt' vom Atari aus zu setzen. Es scheint, als seien die nur lesbar. Ist das richtig?

Fast :)

Die beiden Leitungen sind mit dem CA1 bzw CB1 Pin der PIA verbunden und das sind reine Interrupt Eingänge. Wenn man die PIA entsprechend konfiguriert (siehe 6520 Datenblatt), wird bei einer steigenden oder fallenden Flanke (je nach Config) ein Interrupt ausgelöst. Direkt lesbar oder gar schreibbar sind die PINs nicht.

Das Atari OS unterstützt das prinzipiell, es gibt dafür auch 2 Vektoren im OS: VPRCED ($0202) und VINTER ($0204).

Ich glaub ich hab mal was gelesen, daß irgendein Kassetten-Turbo Interrupt oder Proceed zum Einlesen der Daten verwendet hat. Ansonsten sind mir aber keine Geräte bekannt die das verwenden.

Die Idee hinter den beiden Signalen ist ganz gut: Ein SIO Gerät kann dadurch den Atari informieren, daß irgendwas passiert ist (zB neue Daten vorhanden - @Sven, das könnte vielleicht für dein SIO2IP Interface interessant sein). Normalerweise läuft die SIO Kommunikation nur in der Richtung Atari -> Peripheriegerät (der Atari initiiert die Übertragungen).

Einen kleinen Haken gibt's aber, verwenden 2 Geräte am Bus die Leitung (zB Interrupt) kann der Atari nicht direkt unterscheiden von welchem Gerät die Meldung kam. Der Atari muss dann (zB per SIO Kommando) nachfragen welches Gerät den Interrupt ausgelöst hat - ähnlich wie beim IRQ im Atari, da muss das OS ja auch checken ob der IRQ vom POKEY oder von der PIA kam.

so long,

Hias

Re: SIO-Interface

von Sven » Mi 4. Dez 2013, 17:33
Gute Idee! Werde ich mal mit verfolgen :D
1, 2