PC-Technik

SITRAIN-Mikrocomputerentwicklungssystem

Hinweis: SITRAIN ist ein Experimentier- Mikrocomputer der Siemens AG.

Einführung

Beim SITRAIN handelt es sich um ein eigenständig arbeitendes Minimalsystem eines Mikrocomputers. Es besteht aus einer CPU-Baugruppe und mehreren Peripheriebaugruppen, welche über den SMP-Bus verbunden sind. Als Betriebssystem ist ein Monitorprogramm vorhanden, welches mittels EPROM auf der CPU-Baugruppe lokalisiert ist. Anwenderprogramme werden auf einem PC erstellt und mit Hilfe des Monitorprogramms im INTEL-HEX-Format zum SITRAIN übertragen. Dabei werden vom PC und vom SITRAIN die serielle Schnittstelle genutzt.

CPU-Baugruppe

  • Prozessor: 8088
  • Taktfrequenz: 5 MHz
  • Monitor-EPROM Adreßbereich: FC000h - FFFFFh
  • RAM: KB sRAM Adreßbereich: 0h - 01FFFh
  • RAM - Einteilung Adreßbereich: 0h - 004FFh Zwischenspeicher für Monitorprogramm Adreßbereich 00500h - 01FFFh freier RAM für Anwenderprogramm
  • Interrupt INT0 - INT7h belegt durch Monitorprogramm
  • Monitor-Stack Adresse 02E0h

Peripheriebaugruppen

Parallele Ein/Ausgabe PPI

Schaltkreis:SAB 8255
Adressdecodierung:A2 - A7 des SMP-Bus bilden /CS
eingestellte Basisadresse10h

Port A, B und C werden nach außen auf den Steckverbinder geführt, der die Peripheriebaugruppen Siebensegmentanzeige, Ampel, Digital/Analog- und Analog/Digital-Umsetzer aufnehmen kann.

int entry() {
outb( PPI_CTRL, 0x80 ); /* init */
outb( PPI_A, 0x00 ); /* Fußgänger aus */
outb( PPI_B, 0x00 ); /* Fahrzeug 1 aus */
outb( PPI_C, 0x00 ); /* Fahrzeug 2 aus */
}
 

Interruptcontroller PIC

Schaltkreis:SAB 8259A
Adressdecodierung:A1 - A7 des SMP-Bus bilden /CS
eingestellte Basisadresse20h

Eine Auslösung von Interrupt ist durch Betätigung der Tasten der auf die Interruptbaugruppe aufgesteckten Tastenbaugruppe möglich.

void isr0() {
outb( PPI_A, 0xf0 );
iret();
}

int entry() {
/* nach der Initialisierung des PPI und PIC ...*/
installisr( isr0, 0x20 );
}

DMA

Schaltkreis:SAB 8237
Basisadresse:80h

Alle vier DMA-Anforderungseingänge stehen am nach außen geführten Steckverbinder zur Verfügung.

Timer PIT

Schaltkreis:8253
Basisadresse:40h
void sound( height, time )
int height;
int time;
{
outb( CLK_0, height & 0xff );
outb( CLK_0, ( height >> 8 ) & 0xff );
sleep( time );
outb( CLK_CTRL, 0x36 ); /* Ton aus */
}

int entry() {

outb( CLK_CTRL, 0x36 );
sound( 1, 1 );
sound( TON_G, VIERTEL_NOTE );
...
}
keyboard_arrow_up