|
Für das CP/M-Projekt CPD3 wurden mehrere Peripheriegeräte entwickelt und gebaut. Allen ist gemeinsam, dass sie über die ITP2-Schnittstelle an das CP/M-Board angeschlossen werden. Die erste Baugruppe ist eine einfache Tastaturschnittstelle. Funktionell konvertiert sie die PS2-Schnittstelle in die ITP2-Schnittstelle. Umgesetzt wurde dies mit einem ATMEGA8 und dem AVRco PASCAL-Compiler. |
Inhaltsverzeichnis1. Hardware2. Software 3. Lizenz (PASCAL-Quelltext) |
Der große Vorteil der CPD-CP/M-Projekte (CPD3, CPD5) ist die einfache und schnelle Erweiterung mit externen Baugruppen. Diese werden über den 10-pooligen Stecker und die ITP2-Schnittstelle angebunden. Das CP/M-BIOS erkennt nach dem Start diese Baugruppen und bindet sie in das BIOS ein.
Die erste und einfachste Baugruppe ist die "CPD-PS2-Tastatur".
Die Hardware ist recht einfach gehalten. Die zwei LEDs und der Lautsprecher dienen nur der Unterstützung bei der Fehlersuche. Für den Lautsprecher wurde ein alter Ohrhörer genutzt. Seine Lautstärke reicht für diese Zwecke voll aus. Die etwa 32 Ohm Innenwiderstand des Ohrhörers sind zu wenig für einen direkten Anschluss an den Ausgang PB0 des ATMEGA8. Daher wurde hier noch ein 100 Ohm Widerstand in Reihe geschaltet.
Für Testzwecke nutze ich gern ein oder 2 LEDs und teilweise auch einen Speaker (dafür wird meist ein alter Orhörer genutzt). Mit diesen "Debug-Tools" (oder Entwicklungs-Werkzeugen) kann man einfach im Programm Stellen markieren, die beim Durchlauf eine LED einschalten, oder eben einen Ton ausgeben lassen. So kommt gleich das Gefühl auf, dass das Projekt "Lebt".
Hinweis: Im Bild ist bereits der neue ISP-Programmer Anschluss für den mySmartUSB light während im Schaltplan noch der alte USBASP angegeben ist.
Schaltplan im PDF-Format: PS2_Keyboard.pdf
Schaltplan im Eagle-Format: PS2_Keyboard.zip
Die Software wurde mit dem AVRco PASCAL-Compiler der Firma E-LAB Computers geschreiben. Für den ATMEGA8 kann man sich kostenlos eine freie Version von der Internetseite herunterladen:
Grundlage für dieses Projekt ist ein Beispiel des AVRco PASCAL-Compilers, das sich im Beispiel-Verzeichnis:
C:\Programme\AVRmega8\AVRco\Demos\PS2_Keyboard\PS2KeyB.PAS
befindet. Es wurde angepasst und um die ITP2-Schnittstelle erweitert.
PASCAL-Quelltext: KBDPS2.zip
Diese(s)
Werk bzw. Inhalt von Ronald Daleske steht unter einer
Creative Commons Namensnennung-Nicht-kommerziell 3.0
Deutschland Lizenz.
keine Mängelgewähr
DIESE SOFTWARE WIRD VOM URHEBERRECHTSINHABER "OHNE MÄNGELGEWÄHR" BEREITGESTELLT. ALLE AUSDRÜCKLICHEN ODER STILLSCHWEIGENDEN GEWÄHRLEISTUNGEN, EINSCHLIESSLICH DER STILLSCHWEIGENDEN GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK (JEDOCH NICHT DARAUF BESCHRÄNKT), WERDEN AUSGESCHLOSSEN. DER URHEBERRECHTSINHABER IST IN KEINEM FALL UND NACH KEINER HAFTUNGSTHEORIE (SEI ES AUF VERTRAGSBASIS, AUF DER BASIS STRENGER HAFTUNG ODER UNERLAUBTER HANDLUNGEN, EINSCHLIESSLICH FAHRLÄSSIGKEIT) FÜR BELIEBIGE VERURSACHTE DIREKTE, INDIREKTE, ZUFÄLLIGE, BESONDERE, EXEMPLARISCHE SCHÄDEN ODER FOLGESCHÄDEN (EINSCHLIESSLICH, JEDOCH NICHT BESCHRÄNKT AUF BESCHAFFUNG VON ERSATZPRODUKTEN ODER -LEISTUNGEN, NUTZUNGSAUSFALL, DATEN- UND GEWINNVERLUST ODER GESCHÄFTSAUSFALL) HAFTBAR, DIE AUFGRUND DER VERWENDUNG DIESER SOFTWARE ENTSTEHEN KÖNNEN. DIES GILT AUCH, WENN AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WURDE.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.