Richi´s Lab

 

PCI-Karte

In der Zeit in der es Mode wurde Computer massenweise mit LEDs und Lüftern zu modifizieren wollte auch ich einem PC einen persönlichen Touch geben.
Ich dachte dabei an einen Mikrocontroller mit vielen LEDs, einem LCD mit RGB-Hintergrundbeleuchtung, einem Drehimpulsgeber zur Bedienung, einer IR-Fernbedienung, Temperaturfühlern und Lüftersteuerungen.

Die nächste Idee war den PCI-Bus als Stromversorgung und mechanische Befestigung zu nutzen.
Wenn aber eine Karte in einem PCI-Steckplatz steckt, dann musste mit dieser Schnittstelle auch etwas passieren. Ich dachte zuerst daran die POST-Fehlercodes des Mainboards auszulesen, was aber auf die Dauer nicht besonders interessant wäre. Dann fand ich einen PCI-RS232-Konverter (OX16PCI952). Mit einem solchen Chip könnte ich später über den PC auf den Mikrocontroller zugreifen.

 

Nach einem oberflächlichen Studium der 344-seitigen PCI-Bus-Spezifikation und des OX16PCI952-Datenblattes konnte ich den Schaltplan für die PCI-Karte entwerfen.

Der OX16PCI952 stellte mir zwei RS232-Schnittstellen zur Verfügung. Die eine Schnittstelle wollte ich zur Kommunikation mit dem Mikrocontroller nutzen, die andere Schnittstelle wollte ich über einen Pegelwandler als normal nutzbare RS-232-Schnittstelle nach außen führen.
Mittels eines EEPROM-Sockels wäre es später noch möglich den OX16PCI952 zu konfigurieren.

 Die anderen Schaltungsteile waren eher unspektakulär: ein Atmega256, ein paar Status-LEDs, einige Endstufen und Eingänge.

 

Bei dieser Platine war es verständlicherweise sehr wichtig, dass die Abmessungen genau stimmten.

 

 

Q-PCB fertigte die Platine.

Aber was war das...

 

Da hatte ich mich wohl mit dem Package getäuscht!
Damals wusste ich noch nicht, dass es unterschiedliche TQFP128-Gehäuse gibt und so hatte ich mich beim erstbesten TQFP128-Gehäuse in der Eagle-Bibliothek bedient.

Da half kein Jammern, ich passte das Layout an und ließ eine weitere Platine fertigen.

 

Dieses Layout sah schon plausibler aus.

 

Die kleinen Abstände der Pins waren neu für mich.
Ich richtete den IC auf der Platine aus, beschwerte ihn, trug Flussmittel auf und begann mit dem Löten.

 

Auch wenn es nicht besonders gut aussieht, man kann tatsächlich mit einem großen Lötkolben und viel Flussmittel massiv Lötzinn über alle Pins verteilen und dann mit einer Entlötsauglitzen und erneut viel Flussmittel das überflüssige Lötzinn entfernen.

 

Das Ergebnis sprach für sich.

 

Dagegen war das TQFP-100-Package des Atmel wieder sehr viel einfacher zu löten.
Das TQFP128-Package hat Pins mit einer Breite von 0,18mm, während die Pins des TQFP-100-Gehäuses immerhin 0,3mm breit sind.

 

Mit einem etwas mulmigen Gefühl testete ich die Karte, die bisher nur mit dem notwendigsten bestückt war in einem älteren Computer.

 

Und tatsächlich funktionierte die Karte sofort.

 

So konnte ich die Platine beruhigt fertig bestücken.

 

 

Die LCD-Platine ätzte wieder mein Kommilitone.

Die Platine diente hauptsächlich der mechanischen Fixierung. Ansonsten waren nur ein paar Kondensatoren für die Ladungspumpe und eine SMD-Stifleiste notwendig.

 

Um mit der Platine auch außerhalb des Computers arbeiten zu können, baute ich ein kleines 12V/5V/3,3V-Netzteil auf. Auf der Platine hatte ich eine Stiftleiste für eine Fremdversorgung vorgehalten.

 

Zur Inbetriebnahme und für Tests nutze ich die Platine mit dem falschen TQFP-128-Package.

 

Als erstes nahm ich das LCD und den Drehimpulsgeber in Betrieb.
Erste Funktion: Das Display zählte die Drehimpulsgeberumdrehungen.

 

Danach versuchte ich mich an der Anzeige von Grafiken. Dazu wandelte ich ein JPG mit Photoshop in ein Schwarz-Weiß-Bild um, reduzierte die Größe, speicherte es als Bitmap ab und wandelte es mit einer Freeware in eine Reihe Hex-Zahlen um. Diese Zahlen musste ich nur noch in den richtigen Zeilen des Displays ablegen.

Später programmierte ich eine Art Bildschirmschoner. Im Hintergrund lief eine Temperaturmessung: Video (3,9MB)

 

Das Fräsen des Slotblechs war eine langwierige Arbeit, da ich kein professionelles Werkzeug zur Hand hatte.

 

Fest verbaut wurde die PCI-Karte leider nie. Unter anderem auch weil ich das Interesse verloren hatte an Computern mit reichlich LEDs.
Dennoch ein sehr interessantes und lehrreiches Projekt.

 

zurück