SEPIA - KOLTER ELECTRONIC PC-Messkarten, … · Beachten Sie dazu alle unsere Sicherheitsregeln,...

13
Seite 1 KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048 e-mail: [email protected] Internet: http://www.kolter.de SEPIA-DOKUMENTATION Komplexe Automation durch leichte Programmierung SEPIA CPU-Karte Stand: 04.2014

Transcript of SEPIA - KOLTER ELECTRONIC PC-Messkarten, … · Beachten Sie dazu alle unsere Sicherheitsregeln,...

Seite 1KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

SEPIACPU-Karte

Stand: 04.2014

Seite 2KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

Persönliche SicherheitIhre Sicherheit ist uns sehr wichtig! Installieren Sie daher Komponenten immer nur bei ausgeschalteten Geräten. Tren-nen Sie zur Sicherheit alle Netzkabel, bevor Sie Geräte öffnen, umbauen oder erweitern möchten. Zum Schutz vor ESDentladen Sie sich bitte erst an Gegenständen mit niederohmigen Erdpotential vor Berührung von Komponenten und/oderGehäusen/Teilen. Sind Sie mit Installationen und Inbetriebnahmen nicht vertraut, dann veranlassen Sie bitte in Ihremeigenen Interesse die Installation durch einen ausgebildeten Techniker bzw. Fachmann durchführen zu lassen. Dies giltebenso für Reparaturarbeiten oder Umbauten.

Copyright / UrheberrechteAlle Rechte vorbehalten. Alle erwähnten Produkt- und Firmennamen sind Marken der jeweiligen Eigentümer und werdenhiermit anerkannt. Irrtum, Druckfehler und Änderungen vorbehalten. Kein Teil dieser Dokumentation darf in irgendeinerForm kopiert werden, oder bedarf im Ausnahmefall unserer schriftlichen Genehmigung.

Bestimmungsgemäße VerwendungDieses Produkt ist Teil eines Rechners, welcher in der industriellen Automatisierung Einsatz findet, oder als SBC(Single-Board-Computer) verwendet wird. Die Karte wird in einem EMV-getesteten Gehäuse eingebaut, programmiertund mit anderen Mess- und Steuerungseinheiten über geschirmte Kabel verbunden. Aus Sicherheits- und Zulassungs-gründen (CE) ist das eigenmächtige Umbauen und/oder Verändern des Produktes nicht erlaubt. Eine andere Verwen-dung, als die im ersten Satz beschriebene, ist nicht erlaubt.

SicherheitshinweiseBei Schäden, die durch Nichtbeachtung dieser Anleitung verursacht werden, erlischt der Garantieanspruch. Für Folge-schäden, sowie bei Sach- und Personenschäden, die durch unsachgemäße Handhabung oder Nichtbeachten derSchicherheitshinweise verursacht werden, übernehmen wir keine Haftung.

ProduktsicherheitBeachten Sie vor Montage und Inbetriebnahme die Bedienungsanleitung der Geräte, die an dieses Produkt angeschlos-sen werden sollen. Bitte kontaktieren Sie uns falls Sie Zweifel haben, damit wir mit Ihnen eine ordnungsgemäße Installa-tion bzw. Inbetriebnahme durchführen können. Beachten Sie dazu alle unsere Sicherheitsregeln, die Sie auf unsererWebseite (Rubrik FAQ) einsehen und ausdrucken können.

Link: http://www.kolter.de/faq.html

Technische AngabenDieses Dokument ist keine endgültige Fassung, da auf Grund neuer Erkenntnisse und Neuentwicklungen, sowie neuerRichtlinien, Gesetze und/oder Vorschriften, Änderungen erfolgen können. Die Firma KOLTER ELECTRONIC behält sichdas Recht vor, Änderungen an ihren Produkten und Dokumenten jederzeit vorzunehmen, die der technischen Weiterent-wicklung und/oder Verbesserung dienen können. Diese Änderungen werden nicht notwendigerweise in jedem Einzelfalldokumentiert. Für etwaige technische Fehler, sowie für die Richtigkeit aller in dieser Dokumentation gemachten Anga-ben, übernehmen wir keine Haftung. Sämtliche Inhalte, Angaben, Daten und Zahlen sind sorgfältig ermittelt und nachbestem Wissen und Gewissen zusammengestellt - bleiben jedoch unverbindlich. Für Druckfehler, Richtigkeit und Ge-nauigkeit wird keine Gewähr oder Garantie übernommen.

Betreffend VDE, EMV und weiterer Schutzmaßnahmen (TAB, UVV) verweisen wir auf unser technisches Handbuch mitdem Titel: „Aufbaurichtlinien und allgemeine Informationen zur EMV-gerechten Inbetriebnahme“

Sollten Sie noch Fragen haben, die in dieser Anleitung nicht beantwortet werden, so wenden Sie sich bitte direkt an uns,oder an den technischen Kundendienst, woher Sie das Produkt erworben haben.

Vielen Dank für Ihre Aufmerksamkeit.

Seite 3KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

Technische Daten zur CPU-Karte

- CPU-Karte für parallelen Bus-Betrieb, oder als SBC einsetzbar

- Zilog® CPU Z84C0006/8/10/20PEG, für 4 / 6 / 8 / 10* / 20* MHz Takt (*nur im Bus-Betrieb mit Waitstate-Generator)

- 32kb UV-EPROM, OTP oder 32 kb FLASH-Speicher + 8/32kb SRAM

- 1x serielle COM, Sub-D 9pol. Buchse, Datentransfer bis 1200 Bd ... 115,2 kBd (16C550 UART)

- 1x parallele LPT, Sub-D 25pol. Buchse (für Centronics®-Drucker)

- nur eine 5 Volt Spannungsversorgung nötig (int. DC/DC-Wandler für RS232 COM)

- sehr geringe Wärmeentwicklung und kleiner Stromverbrauch ca. 2,5 Watt

- keine Zwangsbelüftung notwendig (somit geräuschloser Betrieb)

- Eingebauter Sensor (TMP04) misst die Temperatur im Sockel direkt an der CPU (kalibrierbar über EPROM-Register)

- Ton-Ausgabe für Quitierung (kl. Piezo Lautsprecher)

- großes CPLD 1032E (skalierbar für weitere Bus-Anpassungen)

- 1MB Segmentadresserweiterung für ext. Memory-Karte (BANKEN nach RDK)

- starke Bus-Transceiver für hohe TTL-Lasten, Output Drive -15/+64mA

- externer RESET-Eingang für WatchDog (siehe Erweiterungskarte)

- I/O für synchronen Master-Clock-Eingang bei Bus-Betrieb

- Temperaturbereich Betrieb: 0...70 (Economy-Serie), Heavy-Industrie: -25...+85 Grad Celsius (andere Temperaturbereiche auf Anfrage, ggf. einzelne Erprobung und Burn-in in Klimakammer)

- rel. Luftfeuchtigkeit während Betrieb: < 95%, nicht kondensierend

- BIOS mit integriertem BASIC, HDD-OS und Debugger-/Monitor-Programm

- flache Bauweise, 3HE, 4TE, 100x160mm Europakarte mit 64pol. VG-Leiste

- EMV-gerechtes Schaltungsdesign für echte Industrieanwendungen

- wahlweise Fertigung in bleifrei RoHS-konform, oder mit Pb (Sn63Pb37)

- Kartengröße: 100 x 160 mm (für 19“ System, 3HE 4TE)

- Einbaulage: vertikal oder horizontal (im Bus-Betrieb vertikal)

Seite 4KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

Blockschaltbild

BUS

TON

TREIBER

TREIBER

TREIBER

CLKintern

DC/DC

TREIBER

RAMCOM

LPT

LEDZ80CPU

ROMRS232TREIBER

CP8

2C55

UART16C550 CPLD

ispLSI1032E

ON

1 2 3 4

123123123

121212

123123123

123123123

OOOOOOOO

OOOOOOOO

CLOCK-JUMPER

PGM-PORT

BUS

Der SEPIA-Bus verbindet die CPU-Karte mit weiteren Bus-Komponenten. Je nach Auslastungwerden hohe Leitungskapazitäten erzeugt, welche die CPU bei direkter Beschaltung nicht zutreiben vermag. Daher wurden leitungsstarke Leitungstreiber integriert, welche die erforderlichenBus-Ströme bei hoher Taktung und Last erzeugen können.

Achtung: Bei Nutzung von Bus-Extendern (Service-Verlängerungskarten) darf die maximale CPU-Taktfrequenz nicht mehr als 8 MHz betragen. Bus-Extender sind i.d.R. nur bis 8 MHz einsatzfähig,da kein 6-Lagen-Multilayer verwendet wird. 2-lagige Bus-Extender dürfen nur bis 4 MHz verwendetwerden. Begründung für diese Begrenzung: Keine durchgängige Leiterbahn-Schrimung.

CPLD

Das CLPD koordiniert sämtliche Signale zwischen System-Bus und der internen CPU-Schaltung.Die Programmierung weist feste Memory- und I/O-Adressbereiche zu, bereitet unterschiedlicheClock-Signale auf, erzeugt einen zeitversetzen RESET für die CPU und beinhaltet weitere Logik-schaltungen und Register wie eine Statemachine zur digitalen Erfassung und Berechnung desCPU-Temperatursensors.

ext. CLK

Seite 5KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

CPU - Systemadressen:

BANKEN-byte 0000h schreiben: hohe Adresse in Segment erzeugenerzeugt MEM A16, A17, A18 und A19 - Adressleitungbit 7 markiert den Eintrag (BANK-Enable)

Interrupt-Register 0001h Interrupt-Register auslesen IRQ0...15 (4 bit, nur lesen)ist bit 7 = 1, dann wurde noch kein Interrupt erzeugt

LPT1 0004h - 0007h 1. PIO 8255, Register: PA, PB, PC, Steuerwort-Betriebsart0004h Register: PA0005h Register: PB0006h Register: PC0007h Register: Steuerwort-Betriebsart (für Durcker)

COM1 0010h - 0016h 1. Serielle 16C550, RS232 Konsole Haupt-Schnittstelle0010h Register: RBR / THR (Tx / Rx byte)0011h Register: IER (interrupt enable register)0012h Register: IIR / FCR (interrupt ident und FIFO control)0013h Register: LCR (line control register)0014h Register: MCR (modem control register)0015h Register: LSR (line status register)0016h Register: MSR (modem status register)0017h Register: Scratch (wird durch DIP-Schalter ersetzt)0017h DIP-Schalter 1 + 2 Register für Baudrate (nur lesen)

CPU Temperatursensor 0018h - 001Ah TMP04 (unterhalb der CPU eingebaut)0018h Register: lesen: low-byte0018h Register: schreiben: Steuerwort für internen Pulszähler0019h Register: lesen: high-byte001Ah Register: lesen: Bit 0-2 fuer Counter-Ready, Error, Überlauf

Vorbereitet für CP/M ab Rev. 4.0 Stand 10.2013

LPT1 001Ch - 001Fh 1. PIO 8255, Register: PA, PB, PC, Steuerwort-Betriebsart001Ch Register: PA001Dh Register: PB001Eh Register: PC001Fh Register: Steuerwort-Betriebsart (für Durcker)

Seite 6KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

Adressierung: I/O, INT, ROM und RAM Speicherbelegung

Der Speicher ist in verschiedene Bereiche aufgeteilt, in denen unterschiedliche Arten von Informationen gespeichertsind. Diese Bereiche sind jeweils so bemessen, dass verschieden große Programme geladen und verarbeitet werdenkönnen. Die MEM-Speicheraufteilung ist dazu grundsätzlich in zwei große Blöcke untergliedert. Da die CPU immer nacheinem RESET ab Adresse 0000h startet, befindet sich hier auch der erste Befehl, welcher aus der ROM-Speicherzelleabgearbeitet wird. In der Regel wird zunächst ein Jump-Befehl verwendet, welcher anschließend die Initialisierung desim RAM befindlichen Stapelzeigers mit FFFFh vornimmt (Hardwareabhänig). Danach folgen weitere Initialisierungenbetreffend Hard- und Software. Somit ist die Adresse 0000h ein unmittelbarer Kaltstart-Einsprung, welchen man späternoch aus einem BASIC-Programm, oder aus dem Debugger aufrufen kann, ohne die RESET-Taste zu drücken. DieCPU unterscheidet klar zwischen I/O- und Memory-Zugriffe. Während der Memory-Bereich 64 KB umfasst, ist derI/O-Bereich mit A0...A7 auf ein Byte = 256 Adressen festgelegt. Beide Bereiche beginnen ab Adresse 0000h. DieseUnterscheidung findet ebenso in der Programmierung statt. Während der Memory-Bereich sich nur mit Peek und Poke(BASIC) ansprechen lässt, sind die I/O-Adressen im rechten Block (siehe nächste Seite) nur mit In- und Out- Befehlenadressierbar. Ein integrierter, komfortabler Debugger ermöglicht zusätzlich umfangreiche Zugriffe für I/O und Memoryund kann zur besseren Programmanalyse auch im Einzelschritt betrieben werden.

MEM und I/ODie Adressierung erfolgt hardwareseitig mit dem /MREQ- und /IORQ-CPU-Signal. Ein Schreiben in den ROM-Bereich istnicht möglich, da aus einem EPROM nur gelesen werden kann. Der Stapelzeiger verändert seine Zeigerposition, wäh-rend eine laufende Anwendung programmspezifische Zwischenergebnisse (Variablen) in das RAM temporär ablegenmuss. Der Stapel funktioniert nach dem LILO-Prinzip. Damit wird das letzte, eingeschriebene Ergebnis wieder als Erstesverfügbar sein. (siehe: Push - Pop Z80 Befehlssatz)

Echter Interrupt - anstatt IEI/IEOEine Besonderheit bietet SEPIA bei der Verarbeitung von Interruptsignalen. Wird die CPU-Karte im Bus-Betrieb verwen-det, organisiert ein im Bus-CPLD befindlicher Interrupt-Controller bis zu 15 unterschiedliche Interruptkanäle. Dazu mussdie CPU-Karte als Master den Steckplatz 0 verwenden (erster Bus-Stecker links), da alle anderen Steckplätze mitaufsteigender Interruptnummer zunächst umgeleitet werden. Der Interrupt-Controller ordnet eingehende Interrupts nachPriorität zu (mit steigernder Interruptnummer fällt die Prioität), speichert den jeweiligen Kanal als Zahlenwert in ein IRQ-Zwischenregister und übergibt unmittelbar (in Echtzeit) dazu den Interrupt an die CPU-Karte. Diese verarbeitet anschlie-ßend den Interrupt in der Form, dass zunächst das Zwischenregister auf Adresse 0001h (I/O) ausgelesen wird, umanschließend eine bestimmte (dem Interrupt 038h explizit zugewiesene) Routine abzuarbeiten. Mit dieser Methodekönnen bis zu 15 verschiedene Bus-Komponenten mit je einer anderen Interruptleitung ausgestattet werden, ohne dieSchaltung zu verändern. Die INT-Priorität wird unmittelbar über die Steckplatznummer entschieden. Somit werdenkürzeste CPU-Reaktionszeiten auf verschiedene Ereignisse in Echtzeit individuell verarbeitet. Bei einem CPU-Clock von10 MHz liegt die Periodizität unter 2 µs. Dabei werden alle Interrupts bereits ab einer Pulsbreite von >= 10ns sichererfasst und durch einen Impulsformer an die CPU weitergeleitet. Jede Interruptleitung ist auf dem Bus mit einem Pull-UpWiderstand versehen und somit (wie bei ISA PC-Karten) für Open-Drain-Ausgänge aktiv low schaltend ausgelegt.

SBC-BetriebWird die CPU-Karte als SBC (Single-Board-Computer) betrieben, steht lediglich ein Interruptkanal (INT0) zur Verfügung.Da in dieser Betriebsart kein Waitstate über die Bus-Platine erfolgt, darf der CPU-Takt max. 8 MHz betragen. Dies giltebenso für den Bus-Betrieb mit einer passiven VG64 Backplane, die weder über einen Waitstate-Generator, noch übereinen Interrupt-Controller verfügt.

Abkürzungen:ROM Read-Only-MemoryRAM Random-Access-MemoryLILO Last-In-Last-OutMREQ Memory request (Speicherzugriff)IORQ In/Out request (I/O-Zugriff)INT Interrupt

Seite 7KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

Debugger

0038h - IRQ Vector0066h - NMI Vector

0100h Monitor

0000h - Kaltstart

7FFFh BASIC Ende

BIOS undAdvanced - BASIC

8000h - 8300h Flag-Bereichbsp. RTC Uhr & Datum,Kalt.- / Warmstart - Flag...

FFFFh Stapel

High - RAMfreier Anwenderspeichergesamt ca. 31 KB für eigeneProgramme

32 K

B - R

OM

32 K

B - R

AM

I/O-A

dres

srau

m 2

56 B

yte

CPU: 0000h - 001Fh

RTC: 0020h - 031Fh

RESET

M E M I / O

I/O-B

erei

ch

SEP: 0040h - 004Fh

RTY: 0050h - 005Fh

NET: 0060h - 006Fh

IDE0: 0070h - 007Fh

IDE1: 0080h - 008Fh

ADC: 0090h - 009Fh

EXP: 00F0h - 00FFh

PRO: 00C0h - 00CFh

CNT: 00A0h - 00AFh

I/O: 00B0h - 00B7h

DAC: 00B8h - 00BFh

z.b.V (frei)

Stapelzeiger

Speicherbelegung / Memory-Map:

Low - RAM (16k Page)über MMU Segmentadressein Reg. OUT0 verschiebbarnur mit MEM-Karte bis 1 MB

Seite 8KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

KurzbeschreibungDurch Verlagerung vieler I/O- und Grundfunktionen auf umliegende, intelligente Peripherie und Prozessoren (bsp.ATMEL® Risk-Prozessor, x86 Net-Controller, PARALAX® Propeller, diverse CPLD mit integrierten Statmachines) wirdder SEPIA Hauptprozessor entsprechend stark entlastet, so dass selbst bei einer niedrigen Taktung dennoch eine hoheVerarbeitungsgeschwindigkeit besteht. Die CPU-Baugruppe kann auch ohne Bus-System mit verschiedenen Quarz-oszillatoren bis 8 MHz direkt als SBC betrieben werden. Bei höherer Taktung > 8 MHz werden die Peripherie-schnittstellen über einen zuschaltbaren Waitstate-Generator von der Bus-Platine aus gesteuert und ein schneller Zilog®Prozessor verwendet. Die CPU-Taktrate hat keinen Einfluss auf die Baudrate der ser. Kommunikation von Schnittstellen,da diese unabhänig zum Systemtakt aufbereitet wird. DIP-Schalter geben während des Bootens die erste Grund-initialisierung vor. Da bei SEPIA keine Treiber verwendet werden, kann durch direktes überladen der I/O-Register derentsprechende UART für andere Baudraten oder Handshake-Protokolle einfach umprogrammiert werden.

Die SEPIA-CPU wurde für ein Bus-System entworfen, dass einem reduzierten VMEbus für 3HE Europakarten mit100x160mm Maßen entspricht. Abwärtskompatibel zum legendären ECB-Bus wurden jedoch noch zusätzliche Leitun-gen in die Schaltung eingebracht, um eine höhere Perfomance und I/O-Flexibilität zu bieten. Um die CPU-Karte bus-fähig zu gestalten, werden u.a. vier Leitungstreiber vom Typ. 74245 verwendet. Der interene Taktoszillator wird für denStand-alone-Betrieb verwendet. Im Busbetrieb wird hingegen die CPU-Karte über einen externen Master-Clock am CLK-Pin. als Senke angesteuert. Dazu muss künftig ein Jumper ein- gestellt werden, da der Oszillator für die int. RESET-Aufbereitung und zur Initialisierung von weiteren Bauteilen benötigt wird. Durch diese Maßnahme liegen alle weiterenSteckkarten parallel in Phase mit dem Clock-Signal und können zudem bis in den unteren Hz-Bereich getaktet werden,um beispielsweise CPU-Einzelschritte bei der Programmanalyse zu verfolgen. Die CLK-Karte (letzte Steckeinheit rechtsam Bus) verfügt zusätzlich über eine variable Terminierung ähnlich SCSI, die bei Industrie-Applikationen immer vorhan-den sein sollte, um HF- Reflektionen, Transienten oder Glitches zu verhindern, oder wirksam zu bedämpfen. Ein Über-sprechen der Signalleitungen lässt sich durch Nutzung einer doppelseitigen- oder Multilayer-Bus-Platine, welche überdurchgängige HF-Kupferflächen verfügt, am besten vermeiden. Mit diesen, einfachen, schaltungstechnischen Maßnah-men wird bereits eine sehr hohe EMV-Störsicherheit verwirklicht.

Viel Wert wurde zudem auf eine recht aufwendige RESET-Schaltung im CPLD gelegt, um einen sehr sicheren Kaltstartbei zuschalten der Spannungsversorgung, oder bei Bedienung des RESET-Tasters zu gewährleisten. Über einen Watch-Dog (auf der SER-PAR-RTC-Karte enthalten) kann der RESET bei Time-Out erfolgen, da diese Signalleitung auf demBus anliegt. Dieses Signal (GND schaltend) kann zudem für eine Meldeleitung Verwendung finden, oder angeschlosse-ne Geräte neu mitinitialisieren (save-mode für Wiederanlauf). Eine LED gibt Auskunft über die erfolgreiche Initialisierungder Karte. Ein kl. Piezo-Lautsprecher dient als akustisches Quitierungssignal und kann mit dem Befehl XPBELL inTonhöhe und Tonlänge variiert werden. Daneben gibt es den Befehl BEEP, welcher einen einfachen Ton erzeugt, sowieRINGBELL, welcher zusätzlich den Steuercode 07h (ASCII-Zeichen für BEL) auf COM1 überträgt. Ein im Sockel ange-brachter Sensor misst die Temperatur direkt am Chip-Gehäuse mittig unter der CPU. Die Impulsauswertung desSensors (TMP04) übernimmt dabei der CPLD-Baustein mit einer triggerbaren Statemachine in 50ms Abständen. ZurMessung sind daher nur wenige Codezeilen nötig, um die Temperatur in Grad-Celsius zu berechnen.

Einfaches Programmierbeispiel:

100 CLS : LOCATE 10,5110 PRINT „CPU-Temperatur = „; : XGETEMP

Die Programmierung der CPU-Karte erfolgt über die frontseitige V24-Schnittstelle, welche als Modem mittels 9pol. SUB-D 1:1 Kabel mit einem Terminal, PC oder Notebook verbunden wird. Ist am Rechner kein RS232- Anschluss vorhanden,kann ein USB-RS232-Adapter als vituelle COM-Schnittstelle eingesetzt werden. Über ent- sprechende PC-Terminal-Software wird die CPU-Karte direkt mit Advanced-BASIC programmiert. Dazu gibt es verschiedene Terminal-Software(z.T. auch kostenlos) im Internet. Zur seriellen Kommunikation dienen zwei zusätzliche Handshake-Leitungen: RTS undCTS. Mit DIP-Schalter 1+2 lässt sich die Baudrate der Konsole auf 1.200, 9.600, 19.200 oder 115.2 kBaud vor demBooten einstellen. Die parallele LPT-Schnittstelle (25pol. Buchse) dient als normale Druckerschnittstelle gemäßCentronics® nach IEEE1284. Sie arbeitet beispielsweise als Protokollschnittstelle (ua. mittels Print# -Befehl), womit sichauch das BASIC-Listing oder andere Bildschirmausgaben einfach ausdrucken lassen. Da sich hinter der LPT-Schnitt-stelle ein PPI-8255 verbirgt, können diese Anschlüsse auch für andere E/A-Aufgaben mit TTL-Pegel herangezogenwerden.

Seite 9KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

Stabilität

Um die Stabilität des Systems bereits im Vorfeld zu testen wurden harte Stressprüfungen unter extremenTemperaturen und CPU-Belastungen bei Übertaktung von 120% erfolgreich durchgeführt, denn mit dieserMethode lassen sich Schwächen im Schaltungsdesign oder in der Kommunikation sofort aufdecken. Diessoll jedoch nicht Anlass geben, das System oder die CPU-Karte von Anfang an zu übertakten. NähereAngaben zu den Belastungstests werden jedoch erst nach Freigabe und Abschluss aller Kartendesignserfolgen.

Betrieb mit Erweiterungen

Eine zweite Erweiterungskarte bietet neben einem WDC und RTC (für Datum und Uhrzeit), zusätzlich jeeinen COM- und LPT-Port, die der Nutzer frei programmieren kann.

Mit DIP-Schalter „4“ wird auf der CPU-Karte der interne 64k Memory-Bereich gesperrt (disabel), sodass derBus mit Steckverbinder gemäß DIN41612 extern über den gesamten Speicherbereich verfügen kann.Damit werden beispielsweise größere Programme (oder später CP/M?) über die externe 1MB Speicherkartewie eine virtuelle Floppy ladefähig. Diese Adressleitungen (A16..A19) werden durch ein Segmentregister +BANKEN-Signal auf OUT0 und Bit7 erzeugt. Wer gleich mehrere Programme in der EPROM-Bank ablegenmöchte, kann die Umschaltung über dieses Register selbst vornehmen und per Jump-Befehlanschließendaufrufen. Hierzu sind jedoch Fachkenntnisse in der speziellen Programmierung von Mikroelektronik erforder-lich. Die max. Speichergröße der Memory-Karte beträgt 512k x 8 (EPROM) + 512k x 8 (SRAM), sowiezusätzliche 32k bzw. 128k für das Boot-EPROM, welches nach dem Start ab Adresse 0100h wieder ausge-blendet wird. Diese Vorgehensweise ist für spätere Betriebsystem- änderungen (bsp. auf CP/M, ZDOS, K-DOS) notwendig. Wer diese Option nicht nutzen möchte, belässt den Schalter „4“ auf ON und verwendetden internen Speicher auf der CPU-Karte. Ein IDE-Interface ermöglicht den Zugriff auf Festplatten odermoderne Speichermedien (bsp. SSD, CF, SD...) gem. ATA Spezifikation, um z.B. eigene Programme abzu-speichern. Eine zusätzliche Ethernet-Netzwerkkarte mit PS/2 Tastatur- und serieller TTL-COM für LCD-Anschluss ermöglicht einen unabhängigen Host-Betrieb.

NEU: Boot-Manager

Das SEPIA-BASIC-ROM verfügt ab BIOS Version 4.0 über einen neuen Boot-Manager. Über das ersteBoot-Menue (n.d. Einschalten) kann künftig mit Taste „C“ ein weiterer Urlader auf der MEM-Karte gestartetwerden, falls ein min. 64 kB großes SRAM auf der Karte bestückt ist. Enthalten die im zweiten EPROMhinterlegten Daten den SEPIA IPL CP/M-loader, wird das Betriebssystem ab Adresse 0 neu gestartet. DerStart-Vector wird im CPLD der CPU-Karte auf I/O-Adresse 1Bh DATA-Bit 0 so lange zwischengespeichert,bis eine Spannungsunterbrechung (kompl. abschalten des Rechners) das Boot-Flag zurücksetzt oder einProgramm das Flag überschreibt. Verschiedene Utility-Programme (CP/M) können beispielsweise einenechten Hardware-Reset auslösen, oder den Boot-Vector neu beschreiben. So kann ein „fliegender Wechsel“zwischen SEPIA RT-ZBAS mit Boot-Menue und CP/M stattfinden. Einzig die im IDE-Schacht enthalteneCF-Karte gilt dabei auszutauschen, da beide Systeme mit verschiedenen Sektor-Speicherstrukturen arbei-ten. Während dieser Konfiguration können jedoch die im BASIC enthaltenen Speicherfunktionen wie XSEG,XPEEK und XPOKE nicht genutzt werden. Erwähnenswert ist, das alle Sektoren auf dem CP/M-Datenträgermit dem SEPIA-Debugger betrachtet und verändert werden können, sowie die Möglichkeit besteht, unterCP/M ein anderes BASIC, Turbo-Pascal, C, Fortran o.a. Programmiersprachen (bei entsprechendenLizenzen) zu nutzen.

Seite 10KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

Taster, Anschlüsse, DIP-Schalter und Jumper

CPU-Karte, SEPIA Rev. 3 mit Temperatursensor TMP04

RESET-Taster S1 offen > RUN defaultS1 close > RESET (manueller Taster - option)

DIP-Schalter 1 & 2 für Baudrate1 = OFF + 2 = OFF 19.2001 = ON + 2 = OFF 1.2001 = OFF + 2 = ON 9.6001 = ON + 2 = ON 115,2 kBd default

3 = OFF COM1 (Konsole) default3 = ON COM3 (COM1 jetzt für andere frei)4 = ON interne MEM-Speicher default **4 = OFF ext. Speicherkarte mit ROM & RAM (bis Rev. 4.0)4 = ON Dircet-RIO, startet sofort Remote-I/O-Betrieb4 = OFF Normal-Betrieb, Start über Boot-Manager default

Jumper SBC-Betrieb (ohne Bus)JCK1 PIN 1 + 2 int. Oszil.-Clock an CPLDJCK1 PIN 3 + 5 SBC-Betrieb mit int. ClockJCK1 PIN 7 + 8 offen

Bus-BetriebJCK1 PIN 1 + 2 int. Oszil.-Clock an CPLD default

(stromsparend)oder: PIN 2 + 4 ext. Clock an CPLD

(höherer Takt am CPLD)

JCK1 PIN 5 + 6 ext. Clock von Master-Clock-Karte default

JCK1 PIN 7 + 8 offen

Sondereinstellung bei Bus-Betrieb ohne Master-Clock-KarteJCK1 PIN 3 + 4 schaltet int. Oszillator auf den Bus.

VORSICHT: Fan-Out beachten (wird nicht empfohlen)

Sondereinstellung zur Messung der CPU-Temperatur über externe SchaltungJCK1 PIN 7 + 8 Temperatursensor auf den Bus schalten

Hinweise:SBC = Single-Board-Computer (Inbetriebnahme ohne Bus und ohne Master-Clock-Karte)CPLD = Logik-IC mit spez. Firmwareint. Clock = Quarzoszillator auf der CPU-KarteBaudrate = Transfergeschwindigkeit der seriellen Schnittstelle

Mit DIP-Schalter 3 kann die COM1 Schnittstelle auf COM3 umgeleitet werden, sodass andere Kartenmit COM1-Einstellung als Konsole betrieben werden können. Festlegung durch den Administrator.

ON

1 2 3 4

123123123

121212

121212

123123123

1

Seite 11KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

LPT

1

DIP-SchalterPIO8255

COM16C550

CPLD

Osz

illat

or

CO

M 1

o. 3

Tongeber

CPU RAMDC/DC-Wandler ROM

64 p

ol. A

/C B

us

S1RESET

LED

Jumper-Feld

JP4JP1

Bus-Treiber

JP2JP3

Jumper JP1 PIN 1 + 2 32 KB UV-EPROM 27256, Emulator defaultJP1 PIN 2 + 3 64 KB (27512) / FLASH-ROM / OTP

JP2 PIN 1 + 2 8 KB SRAMJP2 PIN 2 + 3 32 KB SRAM default

JP4 PIN 1 + 2 Disabel Data-Bus (nur SBC Betrieb)JP4 PIN 2 + 3 Enable Data-Bus permanent default

JP3

Mit Jumper JP3 kann eine Brücke von Sub-D 9pol. Steckverbinder Pin. 9 auf +5 Vcc oder +12 Voltvom DC/DC-Wandler gelegt werden, um eventuell externe Verbraucher zu versorgen. Dieser Anschlussist nicht abgesichert. Die Belegung ist dem Schaltplan zu entnehmen.

Der RESET-Taster auf S1 wird nur im SDB-Betrieb benötigt, da im Bus-Betrieb der RESET automatischerfolgt und zusätzlich über einen Taster auf der CLK-Karte ausgelöst werden kann.

Seite 12KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

oooo

ooooo

Pinbelegung von LPT- und COM-Schnittstelle

9pol. Sub-D Buchse

54321

9876

1 DCD2 TXD3 RXD4 DSR5 GND6 DTR7 CTS8 RTS9 n.c. / +5 / +12 Volt out (Jumper JP3)

oooooooooooo

ooooooooooooo

25pol. Sub-D Buchse

13121110987654321

252423222120191817161514

1 Strobe2 D03 D14 D25 D36 D47 D58 D69 D710 ACK11 BUSY12 PE13 n.c.19-25 GND

1

1

Achtung an Pin. 9

Seite 13KOLTER ELECTRONIC Tel.: 02235-76707 Fax.: 02235-72048

e-mail: [email protected] Internet: http://www.kolter.de

SEPIA-DOKUMENTATIONKomplexe Automation durch leichte Programmierung

Das SEPIA CPU-Bus-Interface besteht im wesentlichen aus den Leitungstreibern für Daten-, Adreß-und Steuerbus, sowie der Takterzeugung (4 MHz Oszillator für int. CPLD-Timing) und dem Eingangfür den Systemtakt (bis zu 20 MHz) quasi als Senke zur phasentreuen, synchronen Taktung mitweiteren ECB Bus-Karten. Das gesamte Timing ist insgesamt sehr straff mit dem Bus und weiterenKomponenten abgestimmt, so dass die Nutzung der CLK-Karte am Bus-Ende (rechter Steckplatz) mitden verwendeten Terminatoren (SCSI-Abschlusswiderstände) zwingend vorgeschrieben ist.

Möchte man eigene ECB-Karten für SEPIA entwickeln, müssen mögl. schnelle F/ABT-Halbleitereingesetzt werden, oder eine höhere Anzahl von Waitstates eingestellt werden (4er DIP-Schalter aufBus-Platine zuständig). Die maximale CPU-Bus-Frequenz beträgt 20 MHz. Daher sind auch schnelleEPROMs & RAMs unerlässlich, wie beispielsweise bei der ext. MEM-Karte verwendet.

Eine spezielle Schaltung veranlasst die MEM-Karte mit einem weiteren Boot-Loader (IPL) und 128 kBSRAM auszustatten. Wird der Ausbau in dieser From genutzt, kann CP/M 2.2 über den SEPIA Boot-Manager mit Taste „C“ manuell nachgeladen werden. Ein Flip-Flop im CPLD schaltet dazu dengesamten CPU-Speicher (EPROM + SRAM) ganz ab und mit der nächsten Takt-Flanke auf denexternen MEM-Speicher um. Daher können bei Verlassen von CP/M 2.2 (mit GOBAS.COM) auchbestehende Programme im CPU-SRAM wieder ausgeführt werden, ohne das der Speicher auf derMEM-Karte überschrieben wird. Mit Taste „C“ und GOBAS.COM ist daher zu jeder Zeit ein „fliegenderWechsel“ zwischen RT-ZBAS und CP/M (in beide Richtungen) möglich, ohne Speicherzuständebzw. geladene Programme zu verändern.

I/O-Adressen, welche auf der CPU-Karte direkt verwendet werden (bsp. COM, LPT, Temp.-Sensor),sind in der Adressierung zum Bus hin ausgeschlossen, so dass keine Konflikte durch Doppelvergabemit anderen Erweiterungen entstehen können. Die hier genzutzen I/O-Halbleiter arbeiten i.d.R. mitFrequenzen von 10 MHz oder 16 MHz. Ein Waitstate stellt sicher, dass diese Bauteile nur mit 10 MHzbetrieben werden und somit nicht „überfahren“ werden. Der hier eingestellte Waitstate gilt jedoch nurfür diese speziellen I/O-Adressen und nicht für das gesamte Bus-System. Damit werden unnötigeE/A-Verzögerungen in der Gesamtgeschwindigkeit vermieden. Zudem wird auf diese Weise imInterruptbetrieb eine echte Bus-Kompatibilität zum 20 MHz Z84C0020 Prozessor erreicht.

Die Ansteuerung externer l/O-Karten über den SEPIA-Bus erfolgt durch direkte INP und OUT Befehleohne Page-Segmentrierungen. Daher werden diese Zugriffe immer unmittelbar in Echtzeit ausge-führt. Alle Port I/O-Adressen liegen zwischen 0 - und - 255 (00h - FFh). Dies dürfte in den meistenAnwendungsfällen bei SPS, PAC, MSR... sowie für viele Automatisierungen mehr als ausreiched sein.

Das schnelle BIOS macht den Unterschied !Man glaubt fast, bei SEPIA handelt es sich um einen schnellen 386er DOS-Rechner.

Bus-Interface