Changeset 148 in t29-www for de/entwicklungsprojekte.shtm


Ignore:
Timestamp:
Feb 24, 2010, 1:42:04 AM (14 years ago)
Author:
sven
Message:
  • /de/entwicklungsprojekte.shtm: Text ueber das Punch-Card-Project geschrieben, soll erst in den nächsten Tagen veröffentlicht werden.

-- sven @ workstation7

File:
1 edited

Legend:

Unmodified
Added
Removed
  • de/entwicklungsprojekte.shtm

    r121 r148  
    2929Die nächsten Projekte:</p>
    3030<ul>
    31   <li>Lochkarten in einen PC einlesen und vom PC ausstanzen</li>
     31  <li>Lochkarten vom PC ausstanzen</li>
    3232  <li>Einen Anelex Drucker an einen Bull Gamma 10 Computer anschließen</li>
    3333  <li>Einen Lochkartenleser/stanzer "IBM 1442" an einen PC anschließen.</li>
    3434</ul>
    35 <br>
     35<br/>
    3636
    3737         
     
    5656Weitere Details zu diesem Projekt mit umfassenden Hintergrundinformationen gibt es auf der englischsprachigen Homepage, <a class="go" href="http://dev.technikum29.de/projekte/paper-tape-project/documentation/">The Paper Tape Project</a>. Alle Quelltexte wurden unter einer Open Source-Lizenz veröffentlicht und können im <a href="http://dev.technikum29.de/svn/listing.php?repname=paper-tape-project">technikum29.de Subversion-Repositorium</a> eingesehen werden.
    5757</p>
     58<br/>
     59
     60<h3>Einlesen von Lochkarten auf den PC</h3>
     61<p>Neben Lochstreifen gibt es vor allem ein weiteres Speichermedium der Frühzeit, was herrausragende Bedeutung erlangt hat und als Träger von Programmen und Daten auch attraktiv für die Verarbeitung mit heutigen Computern erscheint: Lochkarten. Auf den Erfahrungen des „Paper Tape Projects“ aufbauend haben wir das „Punch Card Project“ formuliert, mit dem Ziel, Lochkarten einlesen, „bearbeiten“ und später auch ausstanzen zu können.</p>
     62
     63<p>Bei der direkten Anbindung an Lochkartengeräte über den antiken Parallelport ist aufgefallen, dass heutige PCs mit der Geschwindigkeit des Lochkartengeräts oft nicht mithalten können. Wie kann das sein? Die Ursachen ist im Software-, aber auch Hardwaredesign heutiger PCs begründet. Zwar sind sie mittlerweile serienmäßig mit Gigaherzstarken Mehrkernprozessoren ausgerüstet, aber von der Architektur eher zur Verarbeitung großer Datenmengen, nicht geringer Latenzen ausgelegt. Desktop-Mikroprozessoren verhalten sich nichft mehr deterministisch. Hinzu kommt, dass moderne Betriebssysteme eine enorme Anzahl an Abstraktionsebenen aufweisen, die ein Echtzeitverhalten von Programmen quasi unmöglich machen.
     64<br/>Zwar gibt es sogenannte Echtzeitbetriebssysteme, mit denen sich diese „Mankos“ in vielerlei Hinsicht umgehen lassen, dafür ist der Computer aber dann quasi für die Kommunikation mit dem Lochkartengerät dediziert. An dieser Stelle springen Mikrocontroller ein, vergleichsweise schwachbrüstige, aber dafür völlig deterministisch arbeitende Low-Cost-Prozessoren, die auf einem einzigen Chip eine Vielzahl an Peripherie vereinen.</p>
     65
     66<p>Wir haben uns für einen Microcontroller der  ATmega-Familie von AVR entschieden, der mit seinen etwa 40 Digitalen I/O-Pins direkt mit den elektrischen Ein/Ausgängen unseres pneumatischen Lochkartengerätes „Documation M200“ verbunden ist, auf der anderen Seite über RS232 („serielle Schnittstelle“) mit dem Computer kommuniziert. Der Microcontroller kann mit seinen 8&nbsp;Mhz mühelos die harten Echtzeitanforderungen (300 Karten/Sekunde) erfüllen und puffert auf seinen 4kB RAM genügend Lochkarten ab, um dem Computer ohne Eile den Inhalt der Lochkarten zu schicken. Mit RS232 wählten wir einen ziemlich alten, aber immer noch sehr verbreiteten Industriestandard. Das zeitgemäße USB schied wegen seiner Komplexität und den im Handel verfügbaren RS232-zu-USB-Übersetzern aus.</p>
     67
     68<p>Wir haben also ein Treiberprogramm geschrieben, welches mit dem Lochkartengerät kommunizieren kann. Die Schnittstelle zum Computer haben wir auch schon elektrisch spezifiziert, können also binäre Daten an den Computer schicken. Wie genau soll nun die Kommunikation mit dem Computer aussehen, wie wollen wir überhaupt eine Lochkarte digital abspeichern?
     69<br/>Während die Frage der Modellierung beim 8-bit-Lochstreifen ziemlich trivial war, ist sie bei einer Lochkarte, 12 Zeilen mal 80 Spalten groß, unmittelbar relevant. Ergo haben wir ein <a href="http://dev.technikum29.de/projects/paper-tape-project/punch-card/protocols/documation-m200/protocol.htm" class="go">Übertragungsprotokoll</a> geschrieben, mit dem sich Computer und Mikrocontroller autonom unterhalten können sollen. Es legt etwa fest, dass zur Übertragung zwei Lochkartenspalten in drei Oktetts gepackt werden sollen, ein Format, welches der amerikanische Informatiker <a href="http://www.cs.uiowa.edu/~jones/">Douglas W. Jones</a>, vorgeschlagen hat.
     70<br/>Für den Computer haben wir den „Punch Card Editor“ geschrieben, ein grafisches Programm, welches die Lochkarten vom Mikrocontroller entgegennimmt und grafisch aufbereitet. Erst dieses Programm kann auch mit den einschlägigen Textkodierungen (IBMs H9-Code, Bull-Code) zwischen binären Lochkarten und ASCII-Text übersetzen. Auf diese Weise können eingelesene Kartenstapel bearbeitet und abgespeichert werden, um etwa ihren Empfänger per Mail auf der anderen Seite des Globus zu erreichen. Natürlich bietet das komfortable Programm auch die notwendige Infrastruktur, um Lochkarten später auszustanzen. An dieser Stelle können wir die Früchte des Einsatzes vom Mikrocontroller ernten – das Programm läuft auf allen verbreiteten Plattformen/Betriebssystemen (Microsoft Windows, GNU/Linux, Apple OS X, usw.).</p>
     71
     72<p>Für weitere Details zu diesem Projekt befasst sich die englischsprachige Homepage, <a class="go" href="http://dev.technikum29.de/projects/paper-tape-project/documentation/index.php/punch-card/README.htm">The Punch Card Project</a>. Alle Quelltexte wurden unter einer Open Source-Lizenz veröffentlicht und können im <a href="http://dev.technikum29.de/svn/listing.php?repname=projects&path=/punch-card-project/trunk/">technikum29.de Subversion-Repositorium</a> eingesehen werden.
     73<br/>Für technisch Interessierte haben wir die Publikation <a class="go" href="http://dev.technikum29.de/mails/archive/att-0174/Lochkartenverarbeitung_per_Computer.pdf">Lochkartenverarbeitung per Computer</a> (30 Seiten) geschrieben, die interessante Details der Implementierung, Modellierung von Lochkarten auf Mikrocontroller und Computern, Umsetzung des Protokolls, uvm. erläutert.</p>
    5874 
    5975
Note: See TracChangeset for help on using the changeset viewer.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License