Nachdem in der letzten Folge unserer Serie vom Multifunktions-Baustein TMS 9901 die Rede war, soll in der heutigen Ausgabe der TMS 9902 vorgestellt werden. Er ist zur seriellen Kommunikation eines TMS-9900-Rechners mit der Außenwelt bestimmt. Im Gegensatz zum TMS 9901, der mit seinem 40poligen Gehäuse zu den Riesen unter den ICs zählt, gibt sich der TMS 9902 wesentlich bescheidener mit 18 Anschlußbeinchen zufrieden. Dennoch enthält dieser Baustein eine vollständige Schnittstelle nach dem RS-232-Standard, die durch ihr ausgeklügeltes Innenleben den Prozessor weitestgehend entlastet und fast den gesamten Datentransfer selbständig abwickelt.
Damit der TMS 9902 für alle RS-232-Schnittstellen-Varianten benutzt werden kann, lassen sich sämtliche übertragungsparameter programmieren. Die Wortlänge reicht von 5 bis zu 8 Bit. Zur Datensicherung kann ein Paritätsbit generiert werden, das wahlweise gerade oder ungerade Parität signalisiert. Auch ist sehr wichtig, daß sich die übertragungsrate von 110 bis 19200 Baud einstellen läßt.
Der TMS 9902 kommuniziert über die CRU-Schnittstelle mit dem Prozessor. Er belegt 32 aufeinanderfolgende Adressen im CRU-Adreßbereich der CPU. Zur Auswahl der einzelnen CRU-Bits untereinander müssen die Adreßleitungen A10 bis A14 am TMS 9902 angeschlossen werden. -Um die Anfangsadressen des Ein- und Ausgabebausteins im gesamten CRU-Bereich genau festzulegen, sind die Adreßleitungen A0 bis A9 zu dekodieren. Die Decoder-Schaltung muß bei einer gültigen Adresse ein Signal ausgeben, das an den Chip-EnableEingang des TMS 9902 angelegt wird.
Da der TMS 9902 nur mit einer Betriebsspannung von 5 V arbeitet, müssen alle Signale, die die RS-232Schnittstellen bilden, über sogenannte Pegelumsetzer auf die der RS-232-Norm entsprechenden Spannungen von +12 V bzw. -12 V umgesetzt werden.
Das Herz des TMS 9902 bilden ein Sende- und Empfangsregister. Letzteres wird, seriell mit den über den Eingangspin eintreffenden Datenbits geladen. Ist ein Wort vollständig, dann muß der Prozessor das Register lesen, bevor das nächste Wort empfangen werden kann. Um dem Sender (z. B. einem Modem) zu signalisieren, ob der TMS 9902 empfangsbereit ist oder nicht, dienen Steuerleitungen, die dieser Baustein automatisch bedient. In umgekehrter Weise funktioniert das Senderegister. Der Prozessor schreibt ein Datenwort hinein, das dann seriell ausgegeben wird. Der TMS 9902 kann gleichzeitig senden und empfangen.
Die Bedienung des TMS 9902 von. der CPU ist relativ einfach. In seinem Innern befinden sich mehrere Steuerregister, in die zunächst die Parameter für Baud-Rate, Wortlänge und Parität geschrieben werden. Danach erfolgt durch Setzen eines Steuerbits die Festlegung, ob er im Interruptmode oder im Polling betrieben werden soll.
Interrupt-Betrieb bedeutet, daß der Prozessor beim Senden das erste zu übertragende Datenwort an den TMS 9902 übergibt und sich danach anderen Aufgaben widmet. Wenn das Datenwort vollständig übertragen ist, löst der TMS 9902 einen Interrupt aus, um dem Prozessor anzuzeigen, daß das nächste Datenwort gesendet werden kann. Beim Empfang läuft dies in analoger Weise ab: Ist ein Datenwort vom TMS 9902 vollständig empfangen worden, wird ein Interrupt ausgelöst, um den Prozessor anzuweisen, das Empfangsregister zu leeren, damit sich weitere Daten annehmen lassen. Im TI 99/4A kommt diese Betriebsart allerdings nicht zum Einsatz. Hier wird im Polling-Betrieb gearbeitet, d.h., der Prozessor kontrolliert während der gesamten Datenübertragung die Register des TMS 9902 und verbringt somit die meiste Zeit in einer Warteschleife.
Abbildung 1 zeigt ein Anschlußbild des TMS 9902.
Vcc +5V-Versorgungs spannung Vss Masse
SO-S4 über diese Anschlüsse werden die 32 CRU-Bits des TMS 9902 adressiert, wenn das Signal CE aktiv ist. Anderenfalls finden die Eingänge S0 bis S4 keine Beachtung.
CE über diesen Eingang wird der Baustein aktiviert. O Eingang für CPU Takt INT , Dieses Signal wird aktiviert, wenn ein Interrupt an den Ein gängen INT1 bis INT15 anliegt und. der betreffende Ein gang nicht maskiert ist. Der Prozessor liest die Code-Ein gänge IC0 bis IC3 und führt die zugehörige Interrupt-Routine aus, wenn Interrupts der entsprechenden Priorität freigegeben wurden.
CRUOUT über diesen Anschluß werden I/O-Bits gelesen.
CRUIN über diesen Anschluß werden I/O-Bits ausgegeben.
CRUCLK Wenn dieses Signal aktiv wird, sind die Daten am CRUOUT-Eingang gültig.
XOUT über diesen Pin werden die Daten seriell, ausgegeben.
RIN - über diesen Pin wer den die Daten seriell eingelesen. RTS Handshake-Signal, das anzeigt, daß der TMS 9902 betriebs bereit ist. CTS Handshake-Signal, das anzeigt, daß das angeschlossene Gerät betriebsbereit ist. DSR Handshake-Signal, das anzeigt, daß das angeschlossene Gerät betriebsbereit ist (optional zu CTS).