Seite 1
MicroPC Technisches Handbuch MicroPC Technisches Handbuch...
Seite 2
Haftung übernehmen. Waren-, Marken- und Firmennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Kein Teil davon darf ohne ihre schriftliche Genehmigung in irgendeiner Form reproduziert, verarbeitet, vervielfältigt oder verbreitet werden. Copyright (C) taskit Rechnertechnik GmbH, Berlin. V2.26 (08.12.2005) - 2 -...
MicroPC Einführung 1. Einführung Der MicroPC kann überall dort eingesetzt werden, wo geringer Raum- und Strombedarf eine Rolle spielen und man sich dennoch wegen der leichten Programmierbarkeit eine PC-kompatible Lösung wünscht. Beispiele für Anwendungen: mobile oder nichtmobile Datenerfassungsgeräte LCD-Terminals Mess- und Prüfgeräte Alarmanlagen jede einfache oder weniger einfache Automatisierungsaufgabe.
MicroPC MicroPC Starterkit 3. MicroPC Starterkit 3.1. Inhalt des Starterkits Das MicroPC Starterkit besteht aus folgenden Bestandteilen : MicroPC (CPU-Modul) MicroPC-Base (Basis- und Prototyp-Platine) Steckernetzteil, Eingang AC 230V, Ausgang DC 9 bis 16V, mindestens 400 mA Verbindungskabel (serielles Nullmodem-Kabel mit zwei 9-poligen DSUB-Buchsen) Adapterkabel DSUB-9 auf 10polige Stiftleiste CD mit Firmware-Dateien zum Produkt (BIOS,Utilities,Libraries) sowie FreeDOS und ROMDOS (Extra-Lizensierung erforderlich)
MicroPC MicroPC Starterkit Der 10polige Wannen-Stecker COM1(X3) des MicroPC wird mit einer freien seriellen Schnittstelle (COM-Port) des PC mittels Adapterkabel und seriellem Verbindungskabel verbunden. Falls ein anderes Kabel als das mitgelieferte verwendet wird, muß dieses ein sogenanntes Nullmodem-Kabel sein ("gekreuztes Kabel"). Das mitgelieferte Kabel unterstützt nur TxD und RxD. Die Signale CTS und DCD sind auf der jeweils gleichen Seite mit RTS verbunden.
MicroPC Programmierung des MicroPC 4. Programmierung des MicroPC 4.1. Verwenden von PC-Compilern Als DOS-kompatible und weitgehend PC-kompatible CPU-Karte läßt sich der MicroPC grundsätzlich wie ein normaler DOS-PC programmieren. Das heißt, daß die üblichen Programmierwerkzeuge für den PC, so weit sie für DOS-Programme geeignet sind, auch für den MicroPC verwendet werden können.
MicroPC Hardware 5. Hardware 5.1. 386EX-Core Den CPU Kern des Intel 386EX bildet ein voll statischer 386SX. Dieser hat einen 16 Bit breiten Daten- und einen 26 Bit (386SX: 24 Bit) breiten Adressbus. Es wird ein Adressraum von 64 Mbyte Speicher und 64 kByte I/O bereitgestellt.
MicroPC Hardware sind eine Million Löschzyklen vom Hersteller garantiert). Dies bedeutet, daß der Flash-Speicher, insbesondere die Flashdisk, nicht für permanente Schreiboperationen eines Programms geeignet ist, da man mit einem entsprechenden Programm die zulässige Zahl von Löschzyklen pro Block in relativ kurzer Zeit überschreiten kann.
MicroPC Hardware 5.3. Real Time Clock Der Echtzeit-Uhrenbaustein (Real Time Clock, "RTC") stellt Anwendungen bei Bedarf Datum und Uhrzeit zur Verfügung. Schaltjahre werden ebenso berücksichtigt wie ein 24-Stunden-Modus. Die RTC kann wie beim PC einen Interrupt (IRQ 8) auslösen. Neben dem PC-üblichen terminierten Interrupt (Interrupt zu einer bestimmten Zeit) kann die RTC auch einen zyklischen Interrupt mit 4096 Hz, 1Hz sowie jede Minute, jede Stunde und jeden Tag auslösen.
MicroPC Hardware 5.4. TCU (Timer/Counter-Unit) Die TCU ist weitgehend kompatibel zum 8254 von Intel (und damit zum PC). Nähere Einzelheiten über die Timer findet man im Manual des 386EX-Prozessors von Intel. Eigenschaften des 8254: drei 16-Bit Zähler, sechs programmierbare Zählmodi, BCD oder Binäres Zählen, eigener Interrupt für jeden Zähler (IRQ 0, 10 und 11), Taktquelle intern (PSCLK) oder extern wählbar für Timer 0 und Timer 1,...
MicroPC Hardware 5.6. Interrupt Controller 5.6.1. Allgemeines 386EX Prozessor besitzt On-Chip zwei 8259-kompatible Interrupt-Controller ("PIC", Programmable Interrupt Controller) und entspricht damit dem PC. Hierdurch stehen wie beim PC 15 Interrupt-Requests (IRQs) zur Verfügung, die teilweise bereits durch Einheiten des MicroPC belegt sind.
MicroPC Hardware also durch Ausgabe des Byte 20h auf die I/O-Adresse 20h bzw. A0h. Bei den IRQs des PIC2 muß immer auch das In-Service-Bit des IRQ2 zurückgesetzt werden, man muß also beide der angegebenen Out-Befehle ausführen. Grundsätzlich ist zu beachten, daß die CPU beim Einsprung in eine Interrupt-Routine zunächst alle Interrupts sperrt durch Rücksetzen des Interrupt-Enable Flags.
MicroPC Hardware 5.7. Asynchrone serielle Schnittstellen Zwei zu dem bekannten 16C450 kompatible UARTs sind auf dem 386EX-Prozessor integriert. Im Gegensatz zu den heute auf PC-Mainboards integrierten UARTs (welche zum 16C550 kompatibel sind) besitzen sie daher auch keine FIFOs. Die erste serielle Schnittstelle (COM1) wird standardmäßig als Ein-/Ausgabeeinheit des MicroPC verwendet (Gerät "CON"...
MicroPC Hardware 5.7.4. Register der UARTs Divisor-Latch low (DLL, Adresse 0) Divisor-Latch high (DLH, Adresse 1) Interrupt Enable Register (IER, Adresse 1): Bit 0: Receive Interrupt Bit 1: Transmit Interrupt Bit 2: Line Status Interrupt Bit 3: Modem Status Interrupt Bit 4..7: 0 Line Control Register (LCR, Adresse 3): Bit 0: Word Length Bit 0...
MicroPC Hardware 5.8. Synchrone serielle Schnittstelle Der 386EX-Prozessor besitzt neben den beiden asynchronen auch eine synchrone serielle Schnittstelle (SSIO). Für Senden und Empfangen gibt es jeweils eine Daten- und eine Taktleitung. Diese vier Signale liegen auf dem X1-Stecker auf den gleichen Pins wie die Signale DTR, DSR, RI und RTS der COM2.
MicroPC Hardware 5.9.1. Prozessor-Ports Angesprochen werden diese digitalen I/O-Ports als Teil der 8-Bit Ports P1, P2 und P3 des 386EX- Prozessors. Jeder 8-Bit Port besitzt die Register PnPIN (Pin-Zustandsregister) zum Einlesen der aktuell anliegenden Pegel, PnLTC (Ausgangsregister, Latch-Register) zum Setzen der Ausgangszustände, PnDIR (Richtungsregister) zum Einstellen von Input- oder Output-Mode.
MicroPC Hardware Das Bit 7 des PIF-Konfigurations-Registers dient zur Aktivierung des Fast-PIF-Mode, der die Zahl der Waitstates bei PIF-Bus Zugriffen herabsetzt. Die Zustände der Pins –RD, –WR und READY können auch über das Toggle-Register 103h geändert werden. Die Ausgabe einer 1 auf das zugehörige Bit dieses Registers bewirkt die Invertierung des Signals, eine 0 läßt es unverändert.
Die PIF-Bus Signale liegen bei der MicroPC-Base Platine auf einer 50poligen, zweireihigen Stiftleiste im 2,54mm Raster. Die Pin-Belegung der ersten 26 Pins ist kompatibel zu der bei diversen CPU- Karten von taskit verwendeten 26-poligen Wannenstiftleiste. Dadurch können übliche Flachbandkabel mit Pfostenverbindern in Schneidklemmtechnik eingesetzt werden. Bei der Verwendung von...
MicroPC Hardware Flachbandkabeln sollte die Kabellänge 30 cm nicht überschreiten, um Störungen durch Übersprechen und Leitungsreflexionen gering zu halten. Entfernungen bis ca. 1,5m sind möglich, wenn zusätzliche GND-Leitungen verwendet werden. Insbesondere sollten dann die -RD und -WR Signale durch GND-Leitungen voneinander und von den anderen Signalen abgeschirmt werden.
MicroPC Hardware 5.11.7. Besonderheiten des PIF-Bus beim MicroPC Der Datenbus wird nur während Lese-Operationen hochohmig geschaltet. In der übrigen Zeit ist er niederohmig und hält das zuletzt geschriebene oder gelesene Byte. Die Adreßleitungen A0..A3 sowie die Signale –RD und –WR ändern ihren Pegel nur durch Zugriffe auf den PIF-Bus oder das ihnen zugeordnete Portregister 101h.
MicroPC Hardware 5.12. CompactFlash CompactFlash Cards (CF-Cards) sind weit verbreitete, international standardisierte Speicher-Module. Sie kommen u.a. in Digital-Kameras zum Einsatz. CF-Cards werden vom BIOS wie Festplatten angesprochen und lassen sich vom PC aus über PCMCIA-Slots (PC-Card Slots) auslesen und beschreiben (mit PCMCIA-Adapter). Die Medien fassen gegenwärtig (April 2005) maximal 8 GB. Daneben gibt es CompactFlash-kompatible 1-Zoll Festplatten von IBM bzw.
MicroPC Hardware 5.13. Power-Management Durch die Powermanagement-Funktionen des BIOS kann der Stromverbrauch in vielen Fällen drastisch reduziert werden. Das gilt immer dann, wenn die volle CPU-Leistung bei 25 MHz Takt nicht ständig benötigt wird. 5.13.1. Ändern des CPU-Taktes Der CPU-Takt kann per BIOS-Funktion auf 20 MHz, 8 MHz oder 4 MHz herabgesetzt werden. Die Teilerwerte für den Timer 0 werden vom BIOS angepasst.
MicroPC PC-Programme 6. PC-Programme 6.1. VTERM VTERM.EXE ist das Standard-Terminalprogramm für den MicroPC und damit die unentbehrliche Verbindung zur MicroPC während der Software-Entwicklung. 6.1.1. Kommandozeilen-Parameter VTERM lässt sich mit folgenden Kommandozeilen-Parametern aufrufen: : Kommandozeilen-Parameter Übersicht -b(baud): Übertragungsrate einstellen -c(1-4) : Seriellen Port auswählen : Schwarz/Weiß...
MicroPC PC-Programme 6.2. FLASHHDD Flashhdd.exe erlaubt die Erstellung einer Flash-Image-Datei basierend auf dem Inhalt eines beliebigen Verzeichnisses. Diese wird per BIOS-Setup als Laufwerk C: in den Flash-Speicher des MicroPC übertragen. Um DOS booten zu können, müssen sich je nach DOS-Version die folgenden Dateien in dem betreffenden Verzeichnis befinden: Datalight ROM-DOS: COMMAND.COM...
MicroPC MicroPC Programme 7. MicroPC Programme 7.1. Einbinden von Remote-Laufwerken mit RDRIVE, RMAP und RMCWD Dieses Programm ermöglicht das Einbinden der PC-Laufwerke als Laufwerke des MicroPC. Das Programm wird beim Aufruf resident geladen. Danach können Dateien vom und zum Host-PC wie in einem Netzwerk z.B.
MicroPC MicroPC Programme 7.4. ZTRANS Ztrans bietet gegenüber Xsend und Xload erweiterte Funktionalität, insbesondere die Übertragung des Dateinamens sowie die Übertragung mehrerer Dateien mit einem Befehl. Das zugrundeliegende Protokoll ist ZMODEM. Dieses wird von VTERM nicht unterstützt. Stattdessen muß ein ZMODEM- fähiges Terminalprogramm eingesetzt werden (z.B.
MicroPC BIOS-Setup 8. BIOS-Setup Das Setup des MicroPC bietet diverse Einstellungsmöglichkeiten, um ihn an die Bedürfnisse der Anwendung anzupassen. Um in das Setup zu gelangen, muß nach einem Neustart der Baugruppe am angeschlossenen Terminalprogramm während des Speichertests die Taste <S> gedrückt werden. Daraufhin wird der Speichertest abgebrochen und es erscheint das Setup-Hauptmenu.
MicroPC BIOS-Setup SRAM und Flash Waitstates: die Default-Einstellung sollte normalerweise nicht geändert werden. Falls jedoch nicht der maximale CPU-Takt verwendet wird, so kann auch ein anderer Wert eingestellt werden. Dieser errechnet sich wie folgt: n ≥ 0 n ≥ (t + 10ns) * f –...
MicroPC BIOS-Setup Im Flash Update Setup können verschiedene Bereiche des Flash-Speichers auf dem MicroPC neu programmiert werden. Dazu wird der aktuelle Inhalt gelöscht und mit den über die serielle Schnittstelle geladenen Daten neu programmiert. Das Laden neuer Daten erfolgt mit dem Übertragungsprotokoll XMODEM.
MicroPC BIOS - Referenz 9. BIOS - Referenz 9.1. INT 10h - Video Service 9.1.1. INT 10h Funktion 00h - Set Video Mode Aufruf: = 00h = Video Modus Rückgabe: keine Beschreibung: Da der MicroPC keine Video-Hardware besitzt, dient diese Funktion nur zum Löschen des Bildschirms.
MicroPC BIOS - Referenz 9.1.7. INT 10h Funktion 0Eh - Write Teletype to screen Aufruf: = 0Eh = Zeichen Rückgabe: keine Beschreibung: Das Zeichen in AL wird ausgegeben, wobei die Steuerzeichen 07h (Beep), 08h (Backspace), 0Ah (Linefeed) und 0Dh (Carriage Return) interpretiert werden. Dies ist die schnellste Ausgabemöglichkeit, da keine Escape Sequenzen gesendet werden müssen.
MicroPC BIOS - Referenz = Anzahl der gelesenen Sektoren = 0 Kein Fehler = 1 Fehler Beschreibung: Diese Funktion liest die angegebene Anzahl der Sektoren in einen Puffer ein. 9.4.3. INT 13h Funktion 03h - Write Disk Sectors Aufruf: = 03h = Anzahl der Sektoren = Track = Sector...
MicroPC BIOS - Referenz 9.5.4. INT 14h Funktion 03h – Status einer seriellen Schnittstelle abfragen Aufruf: = 03h = Nr. der seriellen Schnittstelle (0 - 3) Rückgabe: = Inhalt des Modem Status Registers = Line Status wie bei Funktion 2 Bemerkung: Bei Interrupt-Betrieb können Fehlerzustände (Line Status Bits 1 bis 4) nicht eindeutig bestimmten Bytes im Empfangspuffer zugeordnet werden.
MicroPC BIOS - Referenz 9.7.4. INT 15h Funktion C311h – Prozessortakt setzen Aufruf: = C3h = 11h = Takt wie bei Funktion C310h Rückgabe: Bemerkung : Der Vorteiler (CLKPRS) für den Eingangstakt von Timer 0 wird bei der Taktumschaltung angepasst. 9.7.5.
MicroPC BIOS - Referenz 9.7.15. INT 15h Funktion C326h - I2C-Bus anfordern Aufruf: = C3h = 26h Rückgabe : Carry-Flag = 0: I2C-Bus erfolgreich angefordert Carry-Flag = 1: I2C-Bus war besetzt Beschreibung: Da I2C-Bus Zyklen sich beim MicroPC nicht überlappen dürfen, sollte der Bus vor jeder Übertragung angefordert werden.
MicroPC BIOS - Referenz 9.8. INT 16h - Keyboard Service 9.8.1. INT 16h Funktion 00h - Read Keyboard Input Aufruf: = 00h Rückgabe: = Scancode erweiterte Tasten = Tastenwert Beschreibung: Diese Funktion liest eine Taste ein. Nur einige erweiterte Tasten werden unterstützt, da hierzu ANSI Escape Sequenzen verwendet werden (siehe Kap.
MicroPC BIOS - Referenz 9.9. INT 17h - Parallel Service 9.9.1. INT 17h Funktion 00h - Print Character Aufruf: = 00h = Zeichen = LPT Port (0 - 2) Rückgabe: = Drucker Status Bit 7 = 1 Drucker nicht besetzt Bit 6 = 1 Acknowledgment Bit 5...
MicroPC BIOS - Referenz 9.10. INT 18h - Boot Failure Beschreibung: Diese Funktion wird nach erfolglosen Bootversuchen angesprungen. 9.11. INT 19h - Boot System Beschreibung: Diese Funktion wird nach vollständiger Initialisierung des BIOS angesprungen. Sie wird vom ROM-DOS auf eine eigene Routine gesetzt. Ist kein ROM-DOS vorhanden, oder ist dies deaktiviert, versucht der BIOS-Default-Handler, das Betriebssystem von der Flash- oder ROM-Disk zu laden.
MicroPC BIOS - Referenz 9.12. INT 1Ah - Uhren- und Timer-Funktionen 9.12.1. INT 1Ah Funktion 00h - Read System timer Aufruf: = 00h Rückgabe: = 00h = 24h Überlauf Flag CX:DX = System Ticks seit Mitternacht Beschreibung: Diese Funktion liest den System Timer aus. Dieser wird 18,2 mal in der Sekunde erhöht.
MicroPC BIOS - Referenz 9.12.6. INT 1Ah Funktion 05h – Set RTC Date Aufruf: =05h =Jahrhundert (19 oder 20) =Jahr =Monat =Tag Rückgabe: CF = 0: OK CF = 1: Fehler Beschreibung: Diese Funktion setzt das Datum der RTC. 9.12.7. INT 1Ah Funktion 06h – Set / Enable RTC Interrupt Aufruf: = 06h = Stunde...
MicroPC BIOS - Referenz 9.13. INT 1Bh bis 1Fh Diese Interruptvektoren zeigen nicht auf eine ausführbare Funktion, sondern auf verschiedene BIOS- Tabellen. 9.14. INT 5Fh - Flash Services 9.14.1. INT 5Fh Funktion 00h - Flash Erase Block Aufruf : = 00h DX:DI = 32-Bit Flash-Startadresse + 10000h * Block-Nr.
MicroPC Tabellen 10.4. Vom BIOS verwendete ANSI Escape Sequenzen Folgende Escape Sequenzen werden vom Video BIOS (INT 10h) verwendet : Escape Sequenz Bedeutung INT 10h ESC[ # ; # H Set cursor position ESC[ 6 n Status request ESC[ s Save cursor position 09h, 0Ah ESC[ u...
MicroPC Tabellen 10.5. Elektrische Daten Umgebungstemperatur 25°C, soweit nicht anders angegeben. Symbol Beschreibung Parameter min. typ. max. Einheit Betriebsspannung Vres Reset-Schwelle tres Dauer des Reset-Impulses High-Level Input Voltage PD0..PD7, PA0..PA3, PIF-RD, PIF-WR, PIF-RDY, High-Level Input Voltage alle anderen digitalen Vcc+ Signale Low-Level Input Voltage Betriebsstrom...
MicroPC Schaltplan MicroPC Starterkit-Platine 11.2. RS232-Treiber Die beiden RS232-Treiber ICs IC1 und IC2 können bei Bedarf per Digital-Port Ausgang in den Standby-Mode geschaltet werden, in welchem sie nur noch einige µA Strom verbrauchen. Hierzu dient der Port –CS2 im Zusammenhang mit R35. Falls –CS2 als PIF-Bus Chip-Select verwendet wird, sollte R36 bestückt sein.
MicroPC Schaltplan MicroPC Starterkit-Platine 11.3. Keyboard, LCD Der Steckverbinder X7 ist vorgesehen für den Anschluß eines LCDs mit dem Controller KS0108 von Samsung (neuerdings auch unter der Bezeichnung: S6B0108) oder dem HD61202 von Hitachi. Da der Bus dieser Controller nicht direkt zum PIF-Bus kompatibel ist, wird er mittels eines Inverters und durch Verwendung zusätzlicher I/O-Adressen (getrennt zum Lesen und Schreiben) angepaßt.
Seite 64
MicroPC Schaltplan MicroPC CompactFlash Anschluß 12. Schaltplan MicroPC CompactFlash Anschluß Gemäß dem folgenden Schaltplan kann ein Adapter für zwei CompactFlash Cards aufgebaut werden. Obwohl es möglich ist, einen rein passiven Adapter zu implementieren unter Einsatz von zwei Chip- Selects des PIF-Bus, wird hier ein IC (74HC139, oder 74LCX139) zur Adreßdekodierung verwendet. Dadurch belegen die CompactFlash Cards nur 10 statt 20 I/O-Adressen.